unidade ii - camada de aplicacao 2013.2
DESCRIPTION
redes tcpTRANSCRIPT
-
Arquitetura de Redes de Computadores
Unidade II Camada de AplicaoProf Sergio Cardoso
2Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 2
3Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 3
Camada de aplicao
Nossos objetivos: Aspectos conceituais, aspectos de implementao de protocolos de
aplicao de redes Modelos de servio da camada de transporte
o Paradigma cliente-servidoro Paradigma peer-to-peer
Aprender sobre protocolos de camada de aplicao examinando protocolos usuais
o HTTPo FTPo Telnet/SSHo SMTP/ POP3/ IMAPo DNS
4Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 4
Criando uma nova aplicao de rede
Escrever programas que Executem em diferentes sistemas
finais e Se comuniquem atravs de uma
rede. Ex.: Web software de servidor
Web se comunicando com software do browser.
No preciso escrever software para dispositivos do ncleo da rede dispositivos do ncleo da rede no
executam aplicaes do usurio as aplicaes nos sistemas finais
permitem rpido desenvolvimento e propagao
-
5Definies de protocoloda camada de aplicao
tipos de mensagens trocadas, p. e., requisio, resposta
sintaxe da mensagem: que campos nas mensagens & como os campos so delineados
semntica da mensagem significado da informao nos campos
regras de quando e como processos enviam & respondem a mensagens protocolos de domnio pblico:
definidos em RFCs prov interoperabilidade
p. e., HTTP, SMTP, BitTorrent
protocolos proprietrios: p. e., Skype, ppstream
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 5 6
Algumas aplicaes de rede
e-mail web mensagem instantnea login remoto compartilhamento de
arquivos P2P jogos em rede
multiusurios clipes de vdeo
armazenados em fluxo contnuo
redes sociais VoIP (voice over IP) videoconferncia em
tempo real computao em grade
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 6
7
Arquiteturas de aplicao
Cliente-servidor Incluindo centros de dados/cloud computing
Peer-to-peer (P2P) Hbrida de cliente-servidor e P2P
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 7 8Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 8
Arquitetura cliente-servidor
Servidor: Hospedeiro sempre ligado Endereo IP permanente Fornece servios solicitados pelo
cliente Server farms por expanso
Clientes: Comunicam-se com o servidor Pode ser conectado
intermitentemente Pode ter endereo IP dinmico No se comunicam diretamente
uns com os outros
-
9Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 9
Modelo Cliente Servidor
10Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 10
Cliente-Servidor
Vantagens
Segurana
Controle central de arquivos
Servidores dedicados e otimizados
Os usurios no se preocupam com a administrao
Desvantagens
Custo
Hardware
Software
necessrio um administrador
Baixa escalabilidade
Baixa disponibilidade
11
Centros de dados da Google
custo estimado do centro de dados: US$ 600 M Google gastou US$2,4Bi em 2007 em novos centros de dados cada centro de dados usa de 50 a 100 megawatts de potncia
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 11 12Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 12
Arquitetura P2P pura
Nenhum servidor est sempre ligado
Sistemas finais arbitrrios se comunicam diretamente
Pares so conectados intermitentemente e mudam endereos IP
Altamente escalveis mas difceis de administrar
-
13Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 13
Peer-to-Peer
Vantagens Sem investimento extra com
servidores Alta escalabilidade Alta disponibilidade Sem administrador
Desvantagens Sem organizao central
Difcil localizao de arquivos Duplicaes desnecessrias
Os usurios so os administradores
Sem segurana
14Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 14
Hbrida de cliente-servidor e P2P
Integra os conceitos da arquitetura cliente servidor com P2P Cliente Servidor
Normalmente um servidor para autenticao e localizao
P2P Depois de localizado, troca direta entre os pares
Exemplo Skype
aplicao P2P voice-over-IP P2P servidor centralizado: achando endereo da parte remota: conexo cliente-cliente: direta (no atravs de servidor)
Mensagem instantnea bate-papo entre dois usurios P2P servio centralizado: deteco/localizao da presena do cliente
o usurio registra seu endereo IP com servidor central quando entra on-lineo usurio contata servidor central para descobrir endereos IP dos parceiros
15Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 15
Comunicao de processos
Processo: programa executando num hospedeiro Dentro do mesmo hospedeiro:
dois processos se comunicam usando comunicao interprocesso (definido pelo SO)
Processos em diferentes hospedeiros se comunicam por meio de troca de mensagens
Processo cliente:
o processo que inicia a comunicao
Processo servidor:o processo que espera para ser contatado
Nota: aplicaes com arquiteturas P2P possuem processos cliente e processos servidor
16Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 16
Sockets
Um processo envia/recebe mensagens para/de seu socket
a interface de comunicao entre a camada de aplicao e camada de transporte
O socket anlogo a uma porta O processo de envio empurra a
mensagem para fora da porta O processo de envio confia na
infra-estrutura de transporte no outro lado da porta que leva a mensagem para o socket no processo de recepo.
-
17Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 17
De qual servio de transporte uma aplicao necessita?
Perda de dados Algumas aplicaes (ex.: udio) podem tolerar alguma perda Outras aplicaes (ex.: transferncia de arquivos, telnet) exigem
transferncia de dados 100% confivel
Temporizao Algumas aplicaes (ex.: telefonia Internet, jogos interativos)
exigem baixos atrasos para serem efetivos
Banda passante / Vazo Algumas aplicaes (ex.: multimdia) exigem uma banda mnima
para serem efetivas Outras aplicaes (aplicaes elsticas) melhoram quando a
banda disponvel aumenta Segurana
criptografia, integridade de dados,
18Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 18
Servios dos protocolos de transporte da Internet
Servio TCP: Orientado conexo:
conexo requerida entre processos cliente e servidor
Transporte confivel entre os processor de envio e recepo Controle de fluxo:
o transmissor no sobrecarrega o receptor
Controle de congestionamento: protege a rede do excesso de trfego
No oferece: garantias de temporizao e de banda mnima
Servio UDP: Transferncia de dados no confivel entre os processos transmissor e receptor No oferece:
estabelecimento de conexo, confiabilidade, controle de fluxo e de congestionamento, garantia de temporizao e de banda mnima.
P.: Por que ambos? Por que existe o UDP?
19Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 19
Aplicao
transf. arquivose-mail
documentos Webudio/vdeo
tempo realudio/vdeo armazenado
jogos interativosMensageminstantnea
Perda de dados
sem perdasem perdasem perdatolerante a perda
tolerante a perda
tolerante a perdasem perda
Vazo
elsticaelsticaelsticaudio: 5 kbps-1 Mbpsvdeo:10 kbps-5 Mbpso mesmo que antes
poucos kbps ou maiselstica
Sensvel ao tempo
nononosim, centenas de ms
sim, alguns seg
sim, centenas de mssim e no
Requisitos de servio de transporte das aplicaes comuns
20Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 20
Aplicao
e-mailacesso remoto
Web transf. arquivosmultimdia comfluxo contnuo
telefonia daInternet
Protocolo da camadade aplicao
SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]HTTP (p. e., Youtube), RTP [RFC 1889]SIP, RTP, proprietrio(p. e., Skype)
Protocolo de transporte bsico
TCPTCPTCPTCPTCP ou UDP
normalmente UDP
Aplicaes da Internet: aplicao,protocolos de transporte
-
21Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 21
Protocolos de aplicao e transporte
Servio Web e Protocolo HTTP
23Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 23
Servio World Wide Web
Servio World Wide Web
um servio de rede de documentos em hipermdia que so interligados, atravs dos links, e executados na Internet.
Documentos hipermdia so as pginas web
Utiliza o protocolo http (hypertext transfer protocolo)
Transporta apenas texto, qualquer arquivo que no seja texto deve ser transformado em texto
Orgo regulamentador W3C Consortium www.w3.org
Servio cliente servidor
Clienteo Navegador (browser) Internet Explorer, Firefox, Opera, Safari, etc...
Servidoro Servidor Web Apache, IIS, etc...
Evoluo: web services
soluo utilizada na integrao de sistemas e na comunicao entre aplicaes diferentes
24Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 24
Web e HTTP
Pgina Web formada por objetos
Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de udio,
A pgina Web consiste de arquivo-HTML base que inclui vrios objetos referenciados
Cada objeto endereado por uma URL
Estrutura de URL
protocolo://mquina:porta/caminho/recurso
Exemplo de URL:
http://www.resultado.com.br:80/final/2010/aprovados.htm
Protocolo Mquina Porta Caminho Recurso
-
25Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 25
Viso geral do HTTP
HTTP: hypertext transfer protocol
Protocolo da camada de aplicao da Web
Utiliza protocolo de transporte TCP
Modelo cliente/servidor
Cliente: browser que solicita, recebe e apresenta objetos da Web
Servidor: envia objetos em resposta a pedidos
Verses
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2616
26Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 26
Viso geral do HTTP
Funcionamento bsico do http1. Cliente inicia conexo TCP (via socket) para o servidor na porta 802. Servidor aceita uma conexo TCP do cliente3. Cliente envia mensagens HTTP de requisio(mensagens do protocolo
de camada de aplicao) atravs do browser (cliente HTTP) para o servidor Web (servidor HTTP). O servidor envia o objeto solicitado atravs de mensagens de resposta.
4. A conexo TCP fechada
HTTP stateless O servidor no mantm informao sobre os pedidos passados pelos
clientes Protocolos que mantm informaes de estado so complexos!
27Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 27
Conexes HTTP
HTTP no persistente No mximo, um objeto enviado sobre uma conexo TCP
Cada objeto solicitado e enviado atravs de uma nica conexo TCP
O HTTP/1.0 utiliza HTTP no persistente HTTP persistente
Mltiplos objetos podem ser enviados sobre uma conexo TCP entre o cliente e o servidor
O HTTP/1.1 utiliza conexes persistentes em seu modo padro O HTTP persistente tem duas variantes
Persistente sem pipelining:o O cliente emite novas requisies apenas quando a resposta anterior for recebida
Persistente com pipelining:o O cliente envia requisies assim que encontra um objeto referenciado, respeitando o limite
configurado no browsero O servidor pode estar configurado para responder a um limite mximo de conexes de uma
mesma origem
Para verificar no Firefox Na barra de endereos digite about:config Procurar a opo network.http.pipelining e colocar como true
28Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 28
HTTP no persistente
1a. Cliente HTTP inicia conexo TCP ao servidor HTTP (processo) em www.unicarioca.edu.br. Porta 80 a default para o servidor HTTP.
2. Cliente HTTP envia HTTP mensagem de requisio (contendo a URL) para o socket da conexo TCP
1b. Servidor HTTP no hospedeiro www.unicarioca.edu.br esperando pela conexo TCP na porta 80. Aceita conexo, notificando o cliente
3. Servidor HTTP recebe mensagem de pedido, forma uma mensagem de resposta contendo o objeto solicitado (graduacao/index.html), envia mensagem para o socket
Tempo
(contm texto,referncias a 10 imagens jpeg)Usurio entra com a URL: www.unicarioca.edu.br/graduacao/index.html
-
29Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 29
HTTP no persistente
5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o contedo html. Analisando o arquivo html, encontra 10 objetos jpeg referenciados
6. Passos 1-5 so repetidos para cada um dos 10 objetos jpeg.
4. Servidor HTTP fecha conexo TCP.
Tempo
30Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 30
Carriage return, line feed
indica fim da mensagem
Dois tipos de mensagens HTTP: Requisio (request), Resposta (response)
HTTP request message:
ASCII (formato de texto legvel)
GET /somedir/page.html HTTP/1.0 Host: www.umsite.com.brUser-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:pt-br
(extra carriage return, line feed)
Linha de pedido / requisio(comandos GET, POST,
HEAD )Linhas decabealho
Mensagem HTTP request
31
Mensagem de requisio HTTP: formato geral
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 31 32Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 32
Tipos de mtodos
HTTP/1.0 GET POST HEAD
Pede para o servidor deixar o objeto requisitado fora da resposta
HTTP/1.1 GET, POST, HEAD PUT
Envia o arquivo no corpo da entidade para o caminho especificado no campo de URL
DELETE Apaga o arquivo especificado no campo de URL
Mais sobre mtodos: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
-
33
Entrada de formulrio
Mtodo Post: Pgina Web frequentemente inclui entrada de formulrio A entrada enviada para o servidor no corpo da entidade
Mtodo GET: A entrada enviada no campo de URL da linha de requisio:
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 33
www.carioca.br/procuraaluno.php?matricula=1234&nome=jose
34Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 34
HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 ... Content-Length: 6821 Content-Type: text/html
dados dados dados
Linha de status(protocolo cdigo de
status frase de status)
Linhas decabealho
Dados, ex.: arquivo html
Mensagem HTTP response
35Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 35
Cdigos de status das respostas
Sries de cdigo existentes: 100: Informational (Informao)
Utilizada para enviar informaes para o cliente de que sua requisio foi recebida e est sendo processada
200 - Requisio bem sucedida 200 OK Sucesso: Requisio bem-sucedida, objeto requisitado a seguir nesta mensagem
300 - Redirecionamento 301 Moved permanently
o Redirecionamento: Objeto requisitado foi movido, nova localizao especificada a seguir nesta mensagem (Location:)
400 Erro lado cliente 400 Bad request
o Erro no cliente: Mensagem de requisio no compreendida pelo servidor 404 Not Found
o Documento requisitado no encontrado neste servidor
500 Erro lado servidor 505 HTTP version not supported
o Erro no servidor: ocorreu um erro no servidor ao cumprir uma requisio vlida.
Mas exemplos em http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6
36Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 36
HTTP Request
Cabealho
Corpo da mensagem
Campos de informaes com seus valores
-
37Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 37
HTTP Reply 200 ok
Cabealho
Corpo da mensagem
38Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 38
HTTP Reply 304 Not Modified
Cabealho
Corpo da mensagem
39Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 39
HTTP Request Envio Informaes
Cabealho
Corpo da mensagem
Envio de informaes pelo mtodo GetGET /cert/hit.dll?sitio_id=20607&path=/capa/-&referer=&size=1280&colors=32&java=true&flash=9
40
Estado usurio-servidor: cookies
Muitos sites importantes usam cookies
Quatro componentes:1) linha de cabealho de cookie da
mensagem de resposta HTTP2) linha de cabealho de cookie na
mensagem de requisio HTTP3) arquivo de cookie na mquina
do usurio, controlado pelo navegador do usurio
4) banco de dados de apoio no site Web
Exemplo: Usurio sempre acessa a
Internet pelo PC visita um site de comrcio
eletrnico pela primeira vez quando as primeiras
requisies HTTP chegam ao site, este cria: ID exclusivo entrada no banco de dados de
apoio para o ID
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 40
-
41
cliente servidor
resposta http normal
resposta http normal
arq. de cookie
uma semana depois:
requisio http normalcookie: 1678 ao
especficado cookie
acessa
ebay 8734requisio http normal servidor Amazon
cria ID 1678para usurio cria entrada
resposta http normal Set-cookie: 1678
ebay 8734amazon 1678
requisio http normalcookie: 1678 ao
especficado cookie
acessaebay 8734amazon 1678
banco dedados deapoio
Estado usurio-servidor: cookies
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 41 42
Estado usurio-servidor: cookies
O que os cookies podem ter: autorizao carrinhos de compras recomendaes estado da sesso do usurio
(e-mail da Web)
Cookies e privacidade: cookies permitem que os sites
descubram muito sobre voc voc pode fornecer nome e e-mail
aos sites
aparte
Como manter o estado: extremidades do protocolo: mantm estado no
emissor/receptor por mltiplas transaes cookies: mensagens HTTP transportam estado
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 42
43
Caches Web (servidor proxy)
Objetivo: Satisfazer a requisio do
cliente sem envolver servidor de origem
usurio prepara navegador: acessos Web via cache
navegador envia todas as requisies HTTP ao cache objeto no cache: cache retorna
objeto ou cache requisita objeto do
servidor de origem, depois retorna objeto ao cliente
cliente
servidorproxy
clienteservidor
de origem
servidorde origem
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 43 44
Mais sobre caching Web
cache atua como cliente e servidor
normalmente, cache instalado por ISP (da universidade, empresa, residencial)
Por que caching Web? reduz tempo de resposta
requisio do cliente reduz trfego no enlace de
acesso de uma instituio Internet densa com caches:
permite que provedores de contedo fracos remetam contedo efetivamente (mas o mesmo ocorre com compartilhamento de arquivos P2P)
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 44
-
45
GET condicional
Objetivo: no enviar objeto
se o cache tiver verso atualizada cache: especifica data da cpia em
cache na requisio HTTPIf-modified-since:
servidor: resposta no contm objeto se a cpia em cache estiver atualizada: HTTP/1.0 304 Not Modified
cache servidor
msg requisio HTTPIf-modified-since:
resposta HTTPHTTP/1.0
304 Not Modified
objeto no
modificado
msg requisio HTTPIf-modified-since:
resposta HTTPHTTP/1.0 200 OK
objeto modificado
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 45 46Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 46
Hyper Text Transfer Protocol over SSL (HTTPS)
Protocolo de aplicao da web que utiliza criptografia Garante privacidade (criptografia) Garante a identidade das partes envolvidas em uma
transferncia Porta 443/TCP
https://nome_mquina/recurso
Transferncia de arquivos e protocolo FTP
48Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 48
FTP: o protocolo de transferncia de arquivos
Transferncia de arquivos de e para o computador remoto
Modelo cliente servidor Cliente: lado que inicia a transferncia (seja de ou para o lado remoto) Servidor: hospedeiro remoto
FTP: RFC 959
FTP servidor: porta 21
-
49
FTP: controle separado, conexes de dados
Cliente FTP contata o servidor FTP na porta 21, especificando o TCP como protocolo de transporte
Cliente obtm autorizao pela conexo de controle Cliente navega por diretrio remoto enviando comandos por conexo
de controle Quando servidor recebe comando de transferncia de arquivo, abre 2a
conexo TCP (para arquivo) com cliente conexo de dados Aps transferir um arquivo, servidor fecha conexo de dados Servidor abre outra conexo de dados TCP para transferir outro arquivo Conexo de controle: fora da banda Servidor FTP mantm estado: diretrio atual, autenticao anterior
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 49 50
Comandos e respostas FTP
exemplos de comandos: enviado como texto ASCII pelo canal
de controle USER nome-usurio PASS senha
LIST retorna lista de arquivos no diretrio atual
RETR nome-arquivo recupera(apanha) arquivo
STOR nome-arquivo armazena(coloca) arquivo no hospedeiro remoto
exemplos de cdigos de retorno cdigo e frase de estado (como no
HTTP) 331 Username OK, password
required 125 data connection already
open; transfer starting 425 Cant open data
connection 452 Error writing file
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 50
Acesso Remoto
52Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 52
Terminal remoto
Telnet um protocolo cliente-servidor usado para permitir a comunicao entre computadores ligados numa rede (exemplos: rede local / LAN, Internet), Telnet um protocolo de login/acesso remoto
Utiliza o protocolo de transporte TCP Utiliza porta 23 Problema:
Os dados/comandos so trafegados em claro, inclusive a login/senha
O servio SSH a alternativa para acesso remoto que implementa criptografia Utiliza porta 22
-
53Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 53
Exemplo de Telnet
Servio de correio eletrnico e protocolos SMTP, POP3 e IMAP
55Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 55
Correio eletrnico
Trs componentes principais: Agentes de usurio Servidores de correio Simple mail transfer protocol:
SMTP
Agente de usurio leitor de correio Composio, edio, leitura de
mensagens de correio Ex.: Eudora, Outlook, elm,
Netscape Messenger Mensagens de entrada e de sada
so armazenadas no servidor
caixa de entradado usurio
fila demsg. de sada
mailserver
agenteusurio
serv.correio
serv.correio
SMTP
SMTP
agenteusurio
agenteusurio
agenteusurio
agenteusurio
agenteusurio
56Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 56
Correio eletrnico: servidores de correio
Servidores de correio
Caixa postal contm mensagens que chegaram (ainda no lidas) para o usurio
Fila de mensagens contm as mensagens de correio a serem enviadas
Protocolo SMTP permite aos servidores de correio trocarem mensagens entre si Cliente: servidor de correio que
envia servidor: servidor de correio que
recebe
caixa de entradado usurio
fila demsg. de sada
mailserver
agenteusurio
serv.correio
serv.correio
SMTP
SMTP
agenteusurio
agenteusurio
agenteusurio
agenteusurio
agenteusurio
-
57Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 57
Correio eletrnico: SMTP
Usa TCP para transferncia confivel de mensagens de correio do cliente ao servidor, porta 25
Transferncia direta: servidor envia direto para o servidor de destino
Trs fases de transferncia Handshaking (apresentao) Transferncia de mensagens Fechamento
Interao comando/resposta Comandos: texto ASCII Resposta: cdigo de status e frase
58
Cenrio: Alice envia mensagem para Bob
Alice usa o agente de usurio (UA) para compor a mensagem e para [email protected]
O agente de usurio dela envia a mensagem para o seu servidor de correio; a mensagem colocada na fila de mensagens.
O lado cliente do SMTP abre uma conexo TCP com o servidor de correio do Bob.
O cliente SMTP envia a mensagem de Alice pela conexo TCP. O servidor de correio de Bob coloca a mensagem na caixa de correio de
Bob. Bob invoca seu agente de usurio para ler a mensagem.
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 58
agenteusurio
serv.correio
serv.correio agente
usurio
1
2 3 4 56
59Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 59
Exemplo de interao SMTP
S: 220 provedor1.com
C: HELO provedor2.com
S: 250 Ola provedor2.com, prazer em conhecer
C: MAIL FROM:
S: 250 [email protected]... Remetente ok
C: RCPT TO:
S: 250 [email protected] ... Destinatrio ok
C: DATA
S: 354 Entre com o email e termine com "." em uma linha
C: Voc gosta da aula de Arquitetura de Redes?
C: Ser que conseguiremos passar?
C: .
S: 250 Mensagem aceita para entrega
C: QUIT
S: 221 provedor1.com fechando conexo
60Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 60
Formato da mensagem de correio
Correio eletrnico formado por Envelope
Encapsula uma mensagem Contm as informaes necessrias para o transporte da mensagem
o Como no correio comum
Mensagem Composta por cabealho e corpo
-
61Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 61
Formato da mensagem de correio
Linhas de cabealho, ex.: To: From: Subject:diferente dos comandos HTTP
corpo a mensagem, ASCII somente com
caracteres
header
body
linha em branco
62Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 62
Exemplo de mensagem
Received: from cliente.br by servidor.br; 16 Jul 06 10:30:01 GMTReceived: from maquina.cliente.br by cliente.br; 16 Jul 06 10:29:58 GMTFrom: [email protected]: [email protected]: Teste
Teste de envio de correio.
63Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 63
Formato das mensagens: extenses multimdia
MIME: multimedia mail extension Permite transmitir os arquivos que no so texto pelo servio de correio eletrnico
Ex: imagens, vdeos, documentos do MS Office, etc... Linhas adicionais no cabealho declaram o tipo de contedo MIME
From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg
base64 encoded data ..... .........................
......base64 encoded data
Dados multimdiatipo, subtipo,
declarao de parmetro
Mtodo usadopara codificar dados
Verso da MIME
Dados codificados
64Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 64
Protocolos de acesso ao correio
No possvel exibir esta imagem no momento.
SMTP: entrega e armazena no servidor do destino Protocolo de acesso: recupera mensagens do servidor
POP: Post Office Protocol [RFC 1939] Autorizao (agente servidor) e download
IMAP: Internet Mail Access Protocol [RFC 1730] Maiores recursos (mais complexo) Manipulao de mensagens armazenadas no servidor
HTTP: Hotmail , Yahoo! Mail etc.
-
65
Protocolo POP3
fase de autorizao comandos do cliente:
user: declare username pass: senha
respostas do servidor +OK -ERR
fase de transao, cliente: list: lista nmeros de msg. retr: recupera mensagem por
nmero dele: exclui quit
C: list S: 1 498 S: 2 912 S: . C: retr 1 S: S: . C: dele 1 C: retr 2 S: S: . C: dele 2 C: quit S: +OK serv. POP3 desconectando
S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK usurio logado com sucesso
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 65
Servio de nomesProtocolo DNS
67
DNS (Domain Name System)
O DNS (Domain Name System Sistema de nomes de domnio) (Kurose, 2005):
1. Um banco de dados distribudo implementado em uma hierarquia de servidores de nome (Servidores DNS), e
2. Um protocolo de camada de aplicao que permite que hospedeiros consultem o banco de dados distribudos.
Funo Principal: Traduz um nome de domnio em um endereo IP O uso de nomes facilita a memorizao do usurio ao invs de decorar nmeros IPs ou
MAC address O protocolo DNS utiliza o protocolo de transporte UDP e usa a porta 53
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 67 68Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 68
Cliente quer o IP para www.unicarioca.br; 1a aprox.: Cliente consulta um servidor de raiz para encontrar o servidor DNS .br Cliente consulta o servidor DNS .br para obter o servidor DNS unicarioca.br Cliente consulta o servidor DNS unicarioca.br para obter o endereo IP para
www.unicarioca.br
Base de dados distribuda, hierrquica
-
69Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 69
Base de dados distribuda, hierrquica
70Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 70
Componentes do servio DNS
Composto de Servidores DNS locais Trs tipos (classes) de servidores de nomes
Raiz De domnio de alto nvel (Top-Level Domain TLD) Com autoridade
71Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 71
DNS: servidores de nomes raiz
So contatados pelos servidores de nomes locais que no podem resolver um nome Ponto de entrada no servio
a.root-servers.net,,m.root-servers.net
Servidores de nomes raiz: Buscam servidores de nomes autorizados se o mapeamento do nome no for conhecido Conseguem o mapeamento Retornam o mapeamento para o servidor de nomes local
Existem 13 servidores de nomes raiz no mundo
72Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 72
Servidores TLD e autoritrios
Servidores top-level domain (TLD): Responsveis pelos domnios genricos .com, .org, .net, .edu, etc e
todos os domnios top-level nacionais .uk, .fr, .ca, .jp, .br, etc. Network Solutions mantm servidores para o TLD .com Educause para o TLD .edu
Servidores DNS autoritrios: Servidores DNS de organizaes, provm nome de hospedeiro
autorizado para mapeamentos IP para servidores de organizaes (ex.: Web e mail).
Podem ser mantidos por uma organizao ou provedor de servios
-
73Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 73
Servidor de nomes local
No pertence estritamente a uma hierarquia
Cada ISP (ISP residencial, companhia, universidade) possui um Tambm chamado de servidor de nomes default
Quando um hospedeiro faz uma pergunta a um DNS, a pergunta enviada para seu servidor DNS local
Age como um proxy, encaminhando as perguntas para dentro da hierarquia
74Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 74
hospedeirosolicitantecis.poly.edu
gaia.umass.edu
servidor DNS raiz
serv. DNS localdns.poly.edu
1
2
34
5
6
serv. DNS com autoridadedns.umass.edu
78
servidor DNS TLD
Exemplo de resoluo de nome DNS (1)
hospedeiro em cis.poly.edu quer endereo IP para gaia.umass.edu
consulta iterativa ou repetida: servidor contactado
responde com nome do servidor a contactar
no conheo esse nome, mas pergunte a este servidor
75Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 75
hospedeirosolicitantecis.poly.edu
gaia.umass.edu
serv. DNS raiz
serv. DNS localdns.poly.edu
1
2
45
6
serv. DNS com autoridadedns.umass.edu
7
8
serv. DNS TLD
3
Exemplo de resoluo de nome DNS (2)
consulta recursiva: Transfere a resoluo de nome
para o servidor de nomes contactado
76Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 76
Tipos de Zonas e Pesquisas
Zona de Pesquisa Direta Cliente informa um nome e a resposta o endereo IP Podem ser
Primriaso Zona autoritativa para um domnio
Secundriaso Zona espelho de uma zona primriao Precisa ser atualizada frequentemente para manter a consistncias entre zonas
Zona de Pesquisa Reversa Cliente informa um IP e a resposta o nome Podem ser
Primriaso Zona autoritativa para um domnio
Secundriaso Zona espelho de uma zona primriao Precisa ser atualizada frequentemente para manter a consistncias entre zonas
-
77Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 77
Zona de Pesquisa Reversa
Uma pesquisa inversa assume a forma de pergunta, como "Pode me informar o nome DNS do computador que usa o endereo IP 192.168.1.20"? Utiliza-se o domnio in-addr.arpa Para criar o espao para nome inverso, os subdomnios dentro do
domnio in-addr.arpa so formados usando a ordem inversa dos nmeros na notao decimal com pontos dos endereos IP.
1.168.192. in-addr.arpa
78Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 78
Tipos de registros
Os registros de recursos SOA e NS ocupam uma funo especial na configurao da zona. Eles so registros obrigatrios para qualquer zona e so normalmente o
primeiro dos registros de recursos listados nos arquivos. SOA - Inicio de Autoridade
Identifica o servidor de nomes DNS primrio da Zona. Possui informaes necessrias a replicao dos registros.
NS - Servidor de Nomes de Delegao Permite a delegao, identificando servidores de DNS para cada Zona. Sempre que um servidor DNS precisa enviar uma consulta a um domnio
delegado, ele se refere ao registro de recurso NS dos servidores de DNS da zona de destino.
79
Tipos de Registros
Aps criar uma zona, os registros de recursos (RRs) adicionais necessrios precisam ser adicionados a ela. Host(A)
Para mapear um nome de domnio DNS para um endereo IP usado por um computador.
Alias (CNAME) Para mapear um nome de domnio DNS alias para outro nome primrio ou
cannico. Servidor de Mensagens (MX)
Para mapear um nome de domnio DNS para o nome de um computador que troca ou encaminha mensagens.
Ponteiro (PTR) Para mapear um nome de domnio DNS inverso com base no endereo IP de
um computador que aponta para o nome de domnio DNS encaminhado desse computador.
Outros registros de recursos conforme necessrio.
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 79 80Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 80
DNS - registros de recursos
Formato (Name, Value, Type, TTL) (cont.) TTL
Tempo de vida til do registro Determina quando o registro deve ser removido de um cache
-
81Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 81
DNS: armazenando e atualizando registros
Uma vez que um servidor de nomes apreende um mapeamento, ele armazena o mapeamento num registro do tipo cache Registro do cache tornam-se obsoletos (desaparecem) depois de um
certo tempo Servidores TLD so tipicamente armazenados em cache nos servidores
de nome locais
Mecanismos de atualizao e notificao esto sendo projetados pelo IETF RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html