Sei sulla pagina 1di 27

Universidade Federal do Rio Grande do Norte

Redes de Computadores - Camada de Aplicao


Curso de Engenharia de Software
Prof. Marcos Cesar Madruga/Thiago P. da Silva
Material basedado em [Kurose&oss !""#$

Agenda

%b&etivos da disci'lina

(ista de E)erc*cios

+ntrodu,-o

.r/uitetura de .'lica,0es de ede

Servi,os de Trans'orte

Protocolos de Camada de .'lica,-o

12CP 3Dynamic Host Configuration Protocol4

DNS (Domain Name System)

!!" (Hypertext Transfer Protocol) e #e$ "ro%&

5TP 3File Transfer Protocol4

SMTP 3Simple Mail Transfer Protocol4

P%P 3Post Office Protocol4

+M.P 3Internet Message Access Protocol4



"rotocolos de Camada de Aplicao

1efinem como 'rocessos6 obviamente distribu*dos6 de uma a'lica,-o


'assam mensagem entre si. 1efinem7

Ti'os de mensagens trocadas

Sinta)e dos v8rios ti'os de mensagens

Sem9ntica dos cam'os das mensagens

egras 'ara determinar /uando e como enviar mensagens



DC" (Dynamic Host Configuration Protocol)

DC" (Dynamic Host Configuration Protocol)

DC" (Dynamic Host Configuration Protocol)

DC" Rela&ing

edes /ue 'ossuem um :nico servidor 12CP /ue fornece endere,os +P


'ara v'rias su$redes

;uando um roteador 'ara tal subrede recebe um broadcast 12CP6 ele o


converte em um unicast 3com um endere,o de destino M.C/+P do servidor
12CP configurado6 M.C/+P fonte do roteador em si4

% cam'o <+.11 desta re/uisi,-o modificada = 'reenchido com o


endere,o +P da interface do roteador no /ual ele recebeu a re/uisi,-o 12CP
original.

% servidor 12CP usa o cam'o <+.11 'ara identificar a subrede do


dis'ositivo originador com o ob&etivo de selecionar um endere,o +P do 'ool
correto. Ent-o6 o servidor 12CP retorna o 12CP %55E 'ara o roteador via
unicast.

% roteador converte ent-o o DC" (FF)R de volta 'ara um broadcast6


enviado 'ela interface do dis'ositivo original.

DC" (Dynamic Host Configuration Protocol)

DC" Rela&ing

DNS

Como somos identificados 'ela eceita 5ederal>

Pelo nome 3?o-o da Silva4>

%u 'or n:meros de identifica,-o 3CP56 id6 etc4>

Endere,o +P = constitu*do de @ bAtes 3B! bits4. E). CBD.!C.EB.CD@ CBD.!C.EB.CD@

1if*cil de memoriFar

2osts e roteadores na +nternet utiliFam endere,os +P

Gomes e a'elidos6 e).6 dima'.ufrn.br dima'.ufrn.br H s-o usados 'or humanos

Como relacionar nomes com endere,os +P>

Solu,-o7 Domain Name System 3Sistema de nomes de dom*nio4

base de dados distribu*da im'lementada numa hierar/uia de muitos


servidores de nomes

'rotocolo de camada de a'lica,-o7 host e roteadores se comunicam com


servidores de nomes 'ara resolver nomes 3tradu,-o nome/endere,o4

DNS

ItiliFa 'rotocolo de trans'orte I1P na 'orta EB

E)em'lo 3alto n*vel47 browser abrir a '8gina www.dima'.ufrn.br

Cliente e)ecuta um 'rocesso cliente do 1GSJ

rowser re'assa o endere,o www.dima'.ufrn.br ao 'rocesso cliente 1GSJ

Processo cliente 1GS envia uma consulta a um servidor 1GSJ

Servidor 1GS res'onde a consulta ao 'rocesso cliente 1GSJ

Processo cliente 1GS res'onde ao browser!

Servi,os oferecidos 'elos 1GS

esolu,-o de a'elidos

relaAC.westKcoast.enter'rise.com 3nome canLnico4 M enter'rise.com ou


www.enter'rise.com

Correio de email

fulanoNgmail.com M server.mail.gmail.com 3nome canLnico4

1istribui,-o de carga

DNS

Por/ue n-o centraliFar o 1GS6 manter uma :nica base de dados>

'onto :nico de falha

volume de tr8fego imenso H todas as consultas da +nternet

base de dados distante H nunca estar8 'rO)ima de todos os clientes

manuten,-o H atualiFado constantemente

n-o seria escal8vel H n-o cresce na mesma ta)a /ue a +nternet

1GS n-o centraliFa6 usa v8rios servidores organiFados de maneira


hierar/uica e distribu*da

E)istem B classes de servidores7

Servidores de nomes raiF 3root4

Servidores de alto n*vel 3top"le#el $omain H T(14

Servidores de com autoridade 3autoritativos4

Servidores de nomes local 3$efault4PPP M na sua rede6 vem 'elo 12CP



DNS

Servidores de nomes rai* (root)

S-o 'oucos 3CB6 em !""#4

busca servidores de nomes autoritativos ou T(1 se o ma'eamento do nome


n-o for conhecido

obt=m o ma'eamento

retorna o ma'eamento 'ara o servidor de nomes /ue re/uisitou

Servidores de nomes de dom+nio de alto n+vel - !,D

1om*nios de alto n*vel. E). com com6 org org6 net net6 edu edu6 gov gov6 br br6 fr fr6 ca ca6 &' &'6 etc.

Gormalmente uma em'resa = re'ons8vel 'or um dom*nio. E). EducaseM edu edu

DNS

Servidores de nomes autoritativos

1GS 'ertencentes a uma organiFa,-o6 'rovendo ma'eamentos de nome de


%ost 'ara endere,o +P de forma autoritativa 'ara %osts 3e).6 servidores4
'ertencentes Q organiFa,-o.

mantidos 'ela 'rO'ria organiFa,-o ou 'or um +SP

Servidores de nomes locais

Cliente faF consulta diretamente a ele.

.ge com 'ro)A e retransmite a consulta 'ara a hierar/uia 1GS


oot 1GS Servers
com 1GS servers
org 1GS servers edu 1GS servers
'olA.edu
1GS servers
umass.edu
1GS servers
Aahoo.com
1GS servers
amaFon.com
1GS servers
'bs.org
1GS servers

DNS
cis.'olA.edu /uer o endere,o de gaia.cs.umass.edu

C K cis.'olA.edu envia uma mensagem ao 1GS local


3dns.'olA.edu4

! H servidor local 3dns.'olA.edu4 transmite a mensagem


'ara um servidor raiF

B H servidor raiF retorna uma lista +'s de servidores T(1


res'ons8veis 'or edu edu

@ H servidor local 3dns.'olA.edu4 retransmite a mensagem


'ara um servidor T(1

E H servidor T(1 verifica o sufi)o umass.edu umass.edu e retorna o


+P do servidor com autoridade 3dns.cs.umass.edu4

R H servidor local 3dns.'olA.edu4 envia a consulta


diretamente 'ara o servidor com autoridade
3dns.cs.umass.edu4

S H servidor com autoridade 3dns.cs.umass.edu4 res'onde


com o +P de gaia.cs..umass.edu

D K servidor local 3dns.'olA.edu4 retransmite o resultado


'ara o %ost re/uisitante
Host requisitante
cis.poly.edu
gaia.cs.umass.edu
Servidor DNS raiz
C
!
B
@
E
R
Servidor com autoridade
dns.cs.umass.edu
S
D
Servidor TLD
Servidor local
dns.poly.edu

DNS

Gem sem're o servidor T(1 conhece o servidor com autoridadeJ

Ele 'ode conhecer um servidor intermedi8rio /ue6 'or sua veF6 conhece o
destinoJ

E)istem consultas do ti'o recursivas e iterativas

ecursiva K cis.poly.edu dns.poly.edu

+terativa H demais

Servidores 1GS tambm=m faFem cache

.rmaFenam ma'eamento 'or um 'er*odo de tem'o

Servidore T(1 ti'icamente s-o guardados na cache dos servidores locais

1iminui a /uantidade de consultas aos servidores raiF

.gora /ue &8 sabemos traduFir o endere,o dimap.ufrn.br 'ara um


endere,o +P como faFemos 'ara re/uisitar uma '8gina web>

es'osta nos 'rO)imos slides



!!" e #e$ "ro%&

Teb surgiu na academia

+nterligava algumas institui,0es e tinha 'oucos recursos

Protocolo 'ara TTT 3&orl$ &i$e &eb4

1efine a estrutura das mensagens e como cliente e servidor trocam


essas mensagens

ItiliFa TCP como 'rotocolo de trans'orte

Stateless 3Sem estado4

E). e/uisitar v8rias veFes a mesma '8gina

Modelo clienteKservidor

E)iste uma res'osta 'ara cada re/uisi,-o



!!" e #e$ "ro%&

Situa,-o7 Cone)-o clienteKservidor 3v8rias re/uisi,0es/res'ostas


trocadas4

Para cada re/uisi,-o/res'osta uma nova cone)-o TCP H n-o 'ersistenteJ

re/uisi,0es/res'ostas em uma mesma cone)-o TCP H 'ersistenteJ

Por 'adr-o o 2TTP utiliFa a cone,-o 'ersistente

Mensagens 2TTP

! ti'os7 re/uisi,-o e res'osta

Codificadas em .SC++

!!" e #e$ "ro%&

Cone%o no persistente

Padr-o 'ara vers0es anteriores ao 2TTP C.C

Cada cone)-o TCP trans'orta e)atamente uma re/uisi,-o e uma res'osta

O#er%ea$ do TCP

.locar buffers e vari8veis TCPJ 'ode sobrecarregar o servidor.

E). '8gina html com C" imagens M s-o necess8rioas CC cone)0es 3C 'ara o
ar/uivo html e C" 'ara as imagens4

Cone%o persistente

Padr-o 'ara 2TTP C.C

% servidor dei)a a cone)-o TCP aberta K 'or um 'er*odo de tem'o H a'Os


enviar a res'osta.

P/ o servidor n-o 'ode dei)ar a cone)-o sem're aberta>

e/uisi,0es/res'ostas subse/uentes utiliFam esta cone)-o

Go e)em'lo anterior os CC ob&etos 3htmlUC" imagens4 'odem ser enviados 'ela


mesma cone)-o

!!" e #e$ "ro%&

Re-uisio !!"
ItiliFado 'elo 'ro)A

!!" e #e$ "ro%&

./dotos !!"

!!" e #e$ "ro%&

Resposta !!"

!!" e #e$ "ro%&

C0digo de respostas 1 status code

233 (4 - re/uisi,-o bem sucedida6 ob&eto solicitado vem em seguida

536 .oved "ermanentl& - ob&eto re/uisitado foi movidoJ a nova localiFa,-o


= es'ecificada a seguir na mensagem

733 8ad Re-uest - mensagem de re/uisi,-o n-o entendida 'elo servidor

737 Not Found - documento re/uisitado n-o encontrado neste servidor

939 !!" :ersion Not Supported



!!" e #e$ "ro%&

Ca$eal;o !!"

!!" e #e$ "ro%&

TiresharV H ar/uivo htt'C.CWwiresharV



!!" e #e$ "ro%&

Cac;es #e$ ou servidores pro%&

Servidor Teb interm=di8rio entre os clientes e os servidores reais

Mant=m cO'ias de ob&etos recentemente re/uisitados

ignora conte:do marcado como nonKcacheable 3cabe,alho 2TTP4

5inalidades 'rinci'ais7

reduFir o tem'o de res'osta 'ara uma re/uisi,-o

reduFir o tr8fego no enlace de acesso Q +nternet

5uncionamemento b8sico7

Gavegador cliente conectaKse ao 'ro)A

Se 'ro)A tem o conte:do solicitado6 envia res'osta ao cliente imediatamente

Sen-o6 'ro)A conectaKse 3como clienteP4 ao servidor Teb real e solicita o ob&eto

Pro)A guarda o ob&eto em sua cache



!!" e #e$ "ro%&

!!" e #e$ "ro%&

Como manter o o$<eto em cac;e atuali*ado=

%b&eto mantido no cache 'ode ter sido modificado no servidor

Cliente faF uma re/uisi,-o 'ara o cache

<ET /ob&eto 2TTP/C.C

Cache 'ro)A envia uma re/uisi,-o ao servidor web7 es'ecifica data da


vers-o armaFenada no 'edido 2TTP

<ET /ob&eto 2TTP/C.C


2ost7 www.aa.com.br
+fKmodifiedKsince7 XdataY

Servidor web res'onde7 res'osta n-o cont=m ob&eto se a cO'ia do 'ro)A est8
atualiFada

2TTP/C." B"@ Got Modified


1ate7 XdataY

Cache envia sua cO'ia 'ara o cliente



"r0%ima aula

5TP 3File Transfer Protocol4