Buscar

Unidade II Camada de Aplicação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Arquitetura de Redes de Computadores
Unidade II – Camada de Aplicação
Prof Sergio Cardoso
ssilva@unicarioca.edu.br
2Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 2
3Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 3
Camada de aplicação
� Nossos objetivos: 
� Entender os aspectos conceituais e de implementação de protocolos 
de aplicação de redes
� Entender sobre as arquiteturas de aplicação
� Paradigma cliente-servidor
� Paradigma peer-to-peer
� Entender como definir os modelos de serviço da camada de 
transporte
� Aprender sobre protocolos de camada de aplicação examinando 
protocolos usuais
o HTTP
o FTP
o SMTP/ POP3/ IMAP
o DNS
4Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 4
Criando uma nova aplicação de rede
� Escrever programas que
� Executem em diferentes sistemas 
finais e
� Se comuniquem através de uma 
rede.
� Ex.: Web – software de servidor 
Web se comunicando com 
software do browser.
� Não é preciso escrever software para 
dispositivos do núcleo da rede
� dispositivos do núcleo da rede não 
executam aplicações do usuário
� as aplicações nos sistemas finais 
permitem rápido desenvolvimento e 
propagação
5
Camada de aplicação
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 5 6
Protocolos de camada de aplicação TCP/IP
Protocolo de serviço de nome de domínio (DNS) - utilizado para 
resolver nomes de Internet a endereços IP.
Telnet - um protocolo de simulação de terminal que é utilizado para 
fornecer acesso remoto a servidores e dispositivos de rede.
Protocolo bootstrap (BOOTP) - um precursor do protocolo DHCP, um 
protocolo de rede usado para obter informações de endereço IP durante 
a inicialização
Protocolo de Controle Dinâmico de Host (DHCP) - usado para atribuir 
um endereço IP, a máscara de sub-rede, o gateway padrão e o servidor 
DNS a um host
Protocolo HTTP - usado para transferir arquivos que compõem as 
páginas Web da World Wide Web.
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 6
7
Protocolos de camada de aplicação TCP/IP
File Transfer Protocol (FTP) - usado para transferência interativa de 
arquivos entre sistemas
Protocolo de Transferência Trivial de Arquivo (TFTP) - usado para a 
transferência sem conexão de arquivo ativo
Protocolo SMTP - usado para transferência de mensagens e anexos de 
e-mail.
Protocolo POP - usado por clientes de e-mail para recuperar e-mail de um 
servidor remoto
Protocolo de acesso a mensagens de Internet (IMAP) - outro protocolo 
para a recuperação do e-mail
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 7 8
Definições de protocolo
da camada de aplicação
� Devem definir
� tipos de mensagens trocadas
� Por exemplo, mensagens de requisição e de resposta
� sintaxe da mensagem:
� que campos nas mensagens e como os campos são delineados
� semântica da mensagem 
� significado da informação nos campos
� regras de quando e como os processos enviam e respondem a 
mensagens
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 8
9
Arquiteturas de aplicação
� Cliente-servidor
� Incluindo centros de dados/cloud computing
� Peer-to-peer (P2P)
� Híbrida de cliente-servidor e P2P
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 9 10Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 10
Arquitetura cliente-servidor
� Servidor: 
� Hospedeiro sempre ligado
� Endereço IP permanente
� Fornece serviços solicitados pelo 
cliente
� Server farms por expansão
� Clientes:
� Comunicam-se com o servidor
� Pode ser conectado 
intermitentemente
� Podem ter endereço IP 
dinâmicos
� Não se comunicam diretamente 
entre si
11Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 11
Modelo Cliente Servidor
12
Arquitetura cliente-servidor
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 12
13
Arquitetura cliente-servidor
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 13 14Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 14
Cliente-Servidor
� Vantagens
� Segurança
� Controle central de arquivos
� Servidores dedicados e 
otimizados 
� Os usuários não se preocupam 
com a administração
� Desvantagens
� Custo
� Hardware
� Software
� É necessário um administrador
� Baixa escalabilidade
� Baixa disponibilidade
15Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 15
Arquitetura P2P pura
� Nenhum servidor está sempre 
ligado
� Sistemas finais arbitrários se 
comunicam diretamente
� Pares são conectados 
intermitentemente e mudam 
endereços IP
Altamente escaláveis mas difíceis 
de administrar
16
Redes Ponto-a-Ponto (P2P)
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 16
Ambos os dispositivos são considerados iguais em comunicação
As funções de cliente e servidor são definidas de acordo com a solicitação.
17
Redes Ponto-a-Ponto (P2P)
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 17
Cliente e servidor na mesma comunicação
Ambos podem iniciar uma comunicação e são considerados iguais no processo de 
comunicação.
18Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 18
Peer-to-Peer
� Vantagens
� Sem investimento extra com 
servidores
� Alta escalabilidade
� Alta disponibilidade
� Sem administrador
� Desvantagens
� Sem organização central
� Difícil localização de arquivos
� Duplicações desnecessárias 
� Os usuários são os 
administradores
� Sem segurança
19Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 19
Híbrida de cliente-servidor e P2P
� Integra os conceitos da arquitetura cliente servidor com P2P
� Cliente Servidor
� Normalmente um servidor para autenticação e localização 
� P2P
� Depois de localizado, troca direta entre os pares
� Exemplo
� Skype
� aplicação P2P voice-over-IP P2P
� servidor centralizado: achando endereço da parte remota: 
� conexão cliente-cliente: direta (não através de servidor) 
� Mensagem instantânea
� bate-papo entre dois usuários é P2P
� serviço centralizado: detecção/localização da presença do cliente
o usuário registra seu endereço IP com servidor central quando entra on-line
o usuário contata servidor central para descobrir endereços IP dos parceiros
20Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 20
Comunicação de processos
� Processo: programa executando num hospedeiro
� Dentro do mesmo hospedeiro: 
� dois processos se comunicam usando comunicação interprocesso (definido 
pelo SO)
� Processos em diferentes hospedeiros se comunicam por meio de troca 
de mensagens
� Processo cliente:
o processo que inicia a comunicação
� Processo servidor:
o processo que espera para ser contatado
Nota: aplicações com arquiteturas P2P possuem processos cliente e processos servidor
21Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 21
Sockets
� Um processo envia/recebe 
mensagens para/de seu socket
� É a interface de comunicação entre 
a camada de aplicação e camada de 
transporte
� O socket é análogo 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 recepção.
22
Endereçando processos
� Para receber mensagens, processo deve ter identificador
� Dispositivo hospedeiro tem endereço IP exclusivo de 32 bits
� exercício: use ipconfig do comando prompt para obter seu 
endereço IP (Windows)
� P:Basta o endereço IP do hospedeiro em que o processo é 
executado para identificar o processo?
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 22
23
Endereçando processos
� R: Não, muitos processos podem estar rodando no mesmo 
hospedeiro
� Identificador inclui endereço IP e números de porta associados ao processo no 
hospedeiro.
� Exemplos de número de porta:
� servidor HTTP: 80
� servidor de correio: 25
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 23 24Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 24
De qual serviço de transporte uma aplicação 
necessita?
� Perda de dados
� Algumas aplicações (ex.: áudio) podem tolerar alguma perda 
� Outras aplicações (ex.: transferência de arquivos, telnet) exigem 
transferência de dados 100% confiável 
� Temporização
� Algumas aplicações (ex.: telefonia Internet, jogos interativos) 
exigem baixos atrasos para serem “efetivos”
� Banda passante / Vazão
� Algumas aplicações (ex.: multimídia) exigem uma banda mínima 
para serem “efetivas”
� Outras aplicações (“aplicações elásticas”) melhoram quando a 
banda disponível aumenta” 
� Segurança
� criptografia, integridade de dados,…
25Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 25
Serviços dos protocolos de transporte da 
Internet
� Serviço TCP:
� Orientado à conexão: 
� conexão requerida entre processos cliente e servidor
� Transporte confiável entre os processor de envio e recepção
� Controle de fluxo: 
� o transmissor não sobrecarrega o receptor 
� Controle de congestionamento: 
� protege a rede do excesso de tráfego 
� Não oferece: 
� garantias de temporização e de banda mínima 
� Serviço UDP:
� Transferência de dados não confiável entre os processos transmissor e receptor
� Não oferece: 
� estabelecimento de conexão, confiabilidade, controle de fluxo e de congestionamento, 
garantia de temporização e de banda mínima.
P.: Por que ambos? Por que existe o UDP?
26Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 26
Aplicação
transf. arquivos
e-mail
documentos Web
áudio/vídeo 
tempo real
áudio/vídeo 
armazenado
jogos interativos
Mensagem
instantânea
Perda de dados
sem perda
sem perda
sem perda
tolerante a perda
tolerante a perda
tolerante a perda
sem perda
Vazão
elástica
elástica
elástica
áudio: 5 kbps-1 Mbps
vídeo:10 kbps-5 Mbps
o mesmo que antes 
poucos kbps ou mais
elástica
Sensível ao tempo
não
não
não
sim, centenas de ms
sim, alguns seg
sim, centenas de ms
sim e não
Requisitos de serviço de transporte das 
aplicações comuns
27Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 27
Aplicação
e-mail
acesso remoto
Web 
transf. arquivos
multimídia com
fluxo contínuo
telefonia da
Internet
Protocolo da camada
de aplicação
SMTP [RFC 2821]
Telnet [RFC 854]
HTTP [RFC 2616]
FTP [RFC 959]
HTTP (p. e., Youtube), 
RTP [RFC 1889]
SIP, RTP, proprietário
(p. e., Skype)
Protocolo de 
transporte básico
TCP
TCP
TCP
TCP
TCP ou UDP
normalmente UDP
Aplicações da Internet: aplicação,
protocolos de transporte
28Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 28
Protocolos de aplicação 
e transporte
Serviço Web e 
Protocolo HTTP
30Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 30
Serviço World Wide Web
� Serviço World Wide Web
� É um serviço de rede de documentos em hipermídia que são interligados, através 
dos links, e executados na Internet.
� Documentos hipermídia são as páginas web
� Utiliza o protocolo http (hypertext transfer protocolo)
� Transporta apenas texto, qualquer arquivo que não seja texto deve ser transformado em 
texto
� Orgão regulamentador W3C Consortium – www.w3.org
� Serviço cliente – servidor
� Cliente
o Navegador (browser) – Internet Explorer, Firefox, Opera, Safari, etc...
� Servidor
o Servidor Web – Apache, IIS, etc...
� Evolução: web services
� solução utilizada na integração de sistemas e na comunicação entre aplicações 
diferentes
31Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 31
Web e HTTP
� Página Web formada por objetos
� Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de 
áudio,…
� A página Web consiste de arquivo-HTML base que inclui vários objetos 
referenciados
� Cada objeto é endereçado por uma URL
� Estrutura de URL
� protocolo://máquina:porta/caminho/recurso 
� Exemplo de URL:
http://www.resultado.com.br:80/final/2010/aprovados.htm
Protocolo Máquina Porta Caminho Recurso
32Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 32
Visão geral do HTTP
� HTTP: hypertext transfer protocol
� Protocolo da camada de 
aplicação 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
� Versões
� HTTP 1.0: RFC 1945
� HTTP 1.1: RFC 2616
33Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 33
Visão geral do HTTP
• Funcionamento básico do http
1. Cliente inicia conexão TCP (via socket) para o servidor na porta 80
2. Servidor aceita uma conexão TCP do cliente
3. Cliente envia mensagens HTTP de requisição(mensagens do protocolo 
de camada de aplicação) através do browser (cliente HTTP) para o 
servidor Web (servidor HTTP). O servidor envia o objeto solicitado 
através de mensagens de resposta.
4. A conexão TCP é fechada 
� HTTP é “stateless”
� O servidor não mantém informação sobre os pedidos passados pelos 
clientes
� Protocolos que mantêm informações de “estado” são complexos!
34Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 34
Conexões HTTP
� HTTP não persistente
� No máximo, um objeto é enviado sobre uma conexão TCP
� Cada objeto é solicitado e enviado através de uma única conexão TCP
� O HTTP/1.0 utiliza HTTP não persistente
� HTTP persistente
� Múltiplos objetos podem ser enviados sobre uma conexão TCP entre o cliente e o 
servidor
� O HTTP/1.1 utiliza conexões persistentes em seu modo padrão 
� O HTTP persistente tem duas variantes
� Persistente sem pipelining:
o O cliente emite novas requisições apenas quando a resposta anterior for recebida
� Persistente com pipelining:
o O cliente envia requisições assim que encontra um objeto referenciado, respeitando o limite 
configurado no browser
o O servidor pode estar configurado para responder a um limite máximo de conexões de uma 
mesma origem
� Para verificar no Firefox
� Na barra de endereços digite about:config
� Procurar a opção network.http.pipelining e colocar como true
35Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 35
HTTP não persistente
1a. Cliente HTTP inicia conexão 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 
requisição (contendo a URL) para o 
socket da conexão TCP 
1b. Servidor HTTP no hospedeiro 
www.unicarioca.edu.br esperando pela 
conexão TCP na porta 80. “Aceita” 
conexão, 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
(contém texto,referências a 10 imagens jpeg)
Usuário entra com a URL: www.unicarioca.edu.br/graduacao/index.html
36Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 36
HTTP não persistente
5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o conteúdo 
html. Analisando o arquivo html, encontra10 objetos jpeg referenciados
6. Passos 1-5 são repetidos para cada um 
dos 10 objetos jpeg.
4. Servidor HTTP fecha conexão TCP. 
Tempo
37Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 37
Carriage return, 
line feed 
indica fim da mensagem
� Dois tipos de mensagens HTTP: Requisição (request), Resposta (response)
� HTTP request message:
� ASCII (formato de texto legível)
GET /somedir/page.html HTTP/1.0 
Host: www.umsite.com.br
User-agent: Mozilla/4.0 
Accept: text/html, image/gif,image/jpeg 
Accept-language:pt-br
(extra carriage return, line feed) 
Linha de pedido / requisição
(comandos GET, POST, 
HEAD )
Linhas de
cabeçalho
Mensagem HTTP request
38
Mensagem de requisição 
HTTP: formato geral
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 38
39Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 39
Tipos de métodos
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 métodos: 
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
40
Entrada de formulário
� Método Post:
� Página Web frequentemente inclui entrada de formulário
� A entrada é enviada para o servidor no corpo da entidade
� Método GET:
� A entrada é enviada no campo de URL da linha de requisição:
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 40
www.carioca.br/procuraaluno.php?matricula=1234&nome=jose
41Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 41
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
<html>dados dados dados</html>
Linha de status
(protocolo código de 
status frase de status)
Linhas de
cabeçalho
Dados, ex.: 
arquivo html
Mensagem HTTP response
42Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 42
Códigos de status das respostas
� Séries de código existentes:
� 100: Informational (Informação)
� Utilizada para enviar informações para o cliente de que sua requisição foi recebida e está sendo 
processada 
� 200 - Requisição bem sucedida
� 200 OK
� Sucesso: Requisição bem-sucedida, objeto requisitado a seguir nesta mensagem
� 300 - Redirecionamento
� 301 Moved permanently
o Redirecionamento: Objeto requisitado foi movido, nova localização especificada a seguir nesta mensagem 
(Location:)
� 400 – Erro lado cliente
� 400 Bad request
o Erro no cliente: Mensagem de requisição não compreendida pelo servidor
� 404 Not Found
o Documento requisitado não encontrado neste servidor
� 500 – Erro lado servidor
� 505 HTTP version not supported
o Erro no servidor: ocorreu um erro no servidor ao cumprir uma requisição válida. 
� Mas exemplos em http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6
43Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 43
HTTP Request
Cabeçalho
Corpo da mensagem
Campos de informações com seus 
valores
44Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 44
HTTP Reply 200 ok
Cabeçalho
Corpo da mensagem
45Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 45
HTTP Reply 304 Not Modified
Cabeçalho
Corpo da mensagem
46Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 46
HTTP Request – Envio Informações
Cabeçalho
Corpo da mensagem
Envio de informações pelo método Get
GET /cert/hit.dll?sitio_id=20607&path=/capa/-&referer=&size=1280&colors=32&java=true&flash=9
47
Estado usuário-servidor: cookies
Muitos sites importantes usam 
cookies
Quatro componentes:
1) linha de cabeçalho de cookie da 
mensagem de resposta HTTP
2) linha de cabeçalho de cookie na 
mensagem de requisição HTTP
3) arquivo de cookie na máquina 
do usuário, controlado pelo 
navegador do usuário
4) banco de dados de apoio no site 
Web
Exemplo:
� Usuário sempre acessa a 
Internet pelo PC
� visita um site de comércio 
eletrônico pela primeira vez
� quando as primeiras 
requisições 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 47 48
cliente servidor
resposta http normal
resposta http normal
arq. de cookie
uma semana depois:
requisição http normal
cookie: 1678 ação
específica
do cookie
acessa
ebay 8734
requisição http normal servidor Amazon
cria ID 1678
para usuário cria entrada
resposta http normal 
Set-cookie: 1678 
ebay 8734
amazon 1678
requisição http normal
cookie: 1678 ação
específica
do cookie
acessa
ebay 8734
amazon 1678
banco de
dados de
apoio
Estado usuário-servidor: cookies
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 48
49
Estado usuário-servidor: cookies
O que os cookies podem ter:
� autorização
� carrinhos de compras
� recomendações
� estado da sessão do usuário 
(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: mantêm estado no 
emissor/receptor por múltiplas transações
❒ cookies: mensagens HTTP transportam estado
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 49 50
Caches Web (servidor proxy)
� Objetivo:
� Satisfazer a requisição do 
cliente sem envolver servidor de 
origem
� usuário prepara navegador: 
acessos à Web via cache
� navegador envia todas as 
requisições HTTP ao cache
� objeto no cache: cache retorna 
objeto 
� ou cache requisita objeto do 
servidor de origem, depois 
retorna objeto ao cliente
cliente
servidor
proxy
cliente
servidor
de origem
servidor
de origem
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 50
51
Mais sobre cachingWeb
� cache atua como cliente e 
servidor
� normalmente, cache é 
instalado por ISP (da 
universidade, empresa, 
residencial)
Por que caching Web?
� reduz tempo de resposta à 
requisição do cliente
� reduz tráfego no enlace de 
acesso de uma instituição
� Internet densa com caches: 
permite que provedores de 
conteúdo “fracos” remetam 
conteúdo efetivamente (mas o 
mesmo ocorre com 
compartilhamento de arquivos 
P2P)
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 51 52
GET condicional
� Objetivo:
� não enviar objeto 
se o cache tiver versão atualizada
� cache: especifica data da cópia em 
cache na requisição HTTP
If-modified-since: <data>
� servidor: resposta não contém 
objeto se a cópia em cache estiver 
atualizada: 
HTTP/1.0 304 Not Modified
cache servidor
msg requisição HTTP
If-modified-since: 
<data>
resposta HTTP
HTTP/1.0 
304 Not Modified
objeto 
não
modificado
msg requisição HTTP
If-modified-since: 
<data>
resposta HTTP
HTTP/1.0 200 OK
<dados>
objeto 
modificado
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 52
53Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 53
Hyper Text Transfer Protocol over SSL (HTTPS)
� Protocolo de aplicação da web que utiliza criptografia
� Garante privacidade (criptografia)
� Garante a identidade das partes envolvidas em uma 
transferência
� Porta 443/TCP
https://nome_máquina/recurso
Transferência de arquivos e protocolo FTP
55Prof Sergio Cardoso - Arquitetura de Redes de Computadores- Unidade II 55
FTP: o protocolo de transferência de arquivos
� Transferência de arquivos de e para o computador remoto
� Modelo cliente servidor
� Cliente: lado que inicia a transferência (seja de ou para o lado remoto)
� Servidor: hospedeiro remoto
� FTP: RFC 959
� FTP servidor: porta 21
56
FTP: controle separado, conexões de 
dados
� Cliente FTP contata o servidor FTP na porta 21, especificando o TCP 
como protocolo de transporte
� Cliente obtém autorização pela conexão de controle
� Cliente navega por diretório remoto enviando comandos por conexão 
de controle
� Quando servidor recebe comando de transferência de arquivo, abre 2a
conexão TCP (para arquivo) com cliente – conexão de dados
� Após transferir um arquivo, servidor fecha conexão de dados
� Servidor abre outra conexão de dados TCP para transferir outro arquivo
� Conexão de controle: “fora da banda”
� Servidor FTP mantém “estado”: diretório atual, autenticação anterior
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 56
57
Comandos e respostas FTP
exemplos de comandos:
� enviado como texto ASCII pelo canal 
de controle
� USER nome-usuário
� PASS senha
� LIST retorna lista de arquivos no 
diretório atual
� RETR nome-arquivo recupera
(apanha) arquivo
� STOR nome-arquivo armazena
(coloca) arquivo no hospedeiro 
remoto
exemplos de códigos de retorno
� código e frase de estado (como no
HTTP)
� 331 Username OK, password 
required
� 125 data connection already 
open; transfer starting
� 425 Can’t open data 
connection
� 452 Error writing file
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 57
Serviço de correio eletrônico e protocolos SMTP, POP3 e 
IMAP
59Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 59
Correio eletrônico
Três componentes principais:
� Agentes de usuário 
� Servidores de correio
� Simple mail transfer protocol: 
SMTP
Agente de usuário
� “leitor de correio”
� Composição, edição, leitura de 
mensagens de correio
� Ex.: Eudora, Outlook, elm, 
Netscape Messenger
� Mensagens de entrada e de saída 
são armazenadas no servidor
caixa de entrada
do usuário
fila de
msg. de saída
mail
server
agente
usuário
serv.
correio
serv.
correio
SMTP
SMTP
agente
usuário
agente
usuário
agente
usuário
agente
usuário
agente
usuário
60Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 60
Correio eletrônico: servidores de correio
Servidores de correio
� Caixa postal contém mensagens que 
chegaram (ainda não lidas) para o 
usuário
� Fila de mensagens contém 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 entrada
do usuário
fila de
msg. de saída
mail
server
agente
usuário
serv.
correio
serv.
correio
SMTP
SMTP
agente
usuário
agente
usuário
agente
usuário
agente
usuário
agente
usuário
61Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 61
Correio eletrônico: SMTP
� Usa TCP para transferência confiável de mensagens de 
correio do cliente ao servidor, porta 25
� Transferência direta: servidor envia direto para o servidor 
de destino
� Três fases de transferência
� Handshaking (apresentação)
� Transferência de mensagens
� Fechamento
� Interação comando/resposta
� Comandos: texto ASCII
� Resposta: código de status e frase
62
Cenário: Alice envia mensagem para Bob
� Alice usa o agente de usuário (UA) para compor a mensagem e “para” 
bob@provedor.com
� O agente de usuário dela envia a mensagem para o seu servidor de 
correio; a mensagem é colocada na fila de mensagens.
� O lado cliente do SMTP abre uma conexão TCP com o servidor de 
correio do Bob.
� O cliente SMTP envia a mensagem de Alice pela conexão TCP.
� O servidor de correio de Bob coloca a mensagem na caixa de correio de 
Bob.
� Bob invoca seu agente de usuário para ler a mensagem.
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 62
agente
usuário
serv.
correio
serv.
correio agente
usuário
1
2 3 4 5
6
63Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 63
Exemplo de interação SMTP
� S: 220 provedor1.com 
� C: HELO provedor2.com 
� S: 250 Ola provedor2.com, prazer em conhecer
� C: MAIL FROM: <alice@provedor2.com> 
� S: 250 alice@provedor2.com... Remetente ok 
� C: RCPT TO: <bob@provedor1.com> 
� S: 250 bob@provedor1.com ... Destinatário 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 conexão
64Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 64
Formato da mensagem de correio
� Correio eletrônico formado por
� Envelope
� Encapsula uma mensagem
� Contém as informações necessárias para o transporte da mensagem
o Como no correio comum
� Mensagem
� Composta por cabeçalho e corpo
65Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 65
Formato da mensagem de correio
� Linhas de cabeçalho, ex.:
� To:
� From:
� Subject:
diferente dos comandos HTTP
� corpo
� a “mensagem”, ASCII somente com 
caracteres
header
body
linha 
em branco
66Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 66
Exemplo de mensagem
Received: from cliente.br by servidor.br; 16 Jul 06 10:30:01 GMT
Received: from maquina.cliente.br by cliente.br; 16 Jul 06 10:29:58 GMT
From: usuario@cliente.br
To: usuario@servidor.br
Subject: Teste
Teste de envio de correio.
67Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 67
Formato das mensagens: extensões multimídia
� MIME: multimedia mail extension
� Permite transmitir os arquivos que não são texto pelo serviço de correio eletrônico
� Ex: imagens, vídeos, documentos do MS Office, etc...
� Linhas adicionais no cabeçalho declaram o tipo de conteúdo MIME
From: alice@provedor2.com 
To: bob@provedor1.com 
Subject: Picture of yummy crepe. 
MIME-Version: 1.0 
Content-Transfer-Encoding: base64 
Content-Type: image/jpeg
base64 encoded data ..... 
......................... 
......base64 encoded data 
Dados multimídia
tipo, subtipo, 
declaração de parâmetro
Método usado
para codificar dados
Versão da MIME
Dados codificados
68Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 68
Protocolos de acesso ao correio
� SMTP: entrega e armazena no servidor do destino
� Protocolo de acesso: recupera mensagens do servidor 
� POP: Post Office Protocol [RFC 1939]
� Autorização (agente <-->servidor) e download 
� IMAP: Internet Mail Access Protocol [RFC 1730]
� Maiores recursos (mais complexo)
� Manipulação de mensagens armazenadas no servidor
� HTTP: Hotmail , Yahoo! Mail etc.
69
Protocolo POP3
fase de autorização
� comandos do cliente: 
� user: declare “username”
� pass: senha
� respostas do servidor
� +OK
� -ERR
fase de transação, cliente:
� list: lista números de msg.
� retr: recupera mensagem por 
número
� dele: exclui
� quit
C: list 
S: 1 498 
S: 2 912 
S: . 
C: retr 1 
S: <message 1 contents>
S: . 
C: dele 1 
C: retr 2 
S: <message 1 contents>
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 usuário logado com sucesso
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 69
Serviço de nomes
Protocolo DNS71
DNS (Domain Name System)
� O DNS (Domain Name System – Sistema de nomes de domínio) é (Kurose, 
2005):
1. Um banco de dados distribuído implementado em uma hierarquia de 
servidores de nome (Servidores DNS), e
2. Um protocolo de camada de aplicação que permite que hospedeiros 
consultem o banco de dados distribuídos.
� Função Principal:
� Traduz um nome de domínio em um endereço IP
� O uso de nomes facilita a memorização do usuário ao invés de decorar números 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 71 72Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 72
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 endereço IP para 
www.unicarioca.br
Base de dados distribuída, hierárquica
73Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 73
Base de dados distribuída, hierárquica
74Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 74
Componentes do serviço DNS
� Composto de
� Servidores DNS locais
� Três tipos (classes) de servidores de nomes
� Raiz
� De domínio de alto nível (Top-Level Domain – TLD)
� Com autoridade
75Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 75
DNS: servidores de nomes raiz
� São contatados pelos servidores de nomes locais que não podem resolver um nome
� Ponto de entrada no serviço
� a.root-servers.net,…,m.root-servers.net
� Servidores de nomes raiz:
� Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido 
� Conseguem o mapeamento
� Retornam o mapeamento para o servidor de nomes local
Existem 13 servidores de 
nomes raiz no mundo
76Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 76
Servidores TLD e autoritários
� Servidores top-level domain (TLD): 
� Responsáveis pelos domínios genéricos .com, .org, .net, .edu, etc e 
todos os domínios top-level nacionais .uk, .fr, .ca, .jp, .br, etc.
� Network Solutions mantém servidores para o TLD “.com”
� Educause para o TLD “.edu”
� Servidores DNS autoritários: 
� Servidores DNS de organizações, provêm nome de hospedeiro 
autorizado para mapeamentos IP para servidores de organizações 
(ex.: Web e mail).
� Podem ser mantidos por uma organização ou provedor de 
serviços
77Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 77
Servidor de nomes local
� Não pertence estritamente a uma hierarquia
� Cada ISP (ISP residencial, companhia, universidade) possui um
� Também 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
78Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 78
hospedeiro
solicitante
cis.poly.edu
gaia.umass.edu
servidor DNS raiz
serv. DNS local
dns.poly.edu
1
2
3
4
5
6
serv. DNS com autoridade
dns.umass.edu
78
servidor DNS TLD
Exemplo de resolução de nome DNS (1)
� hospedeiro em cis.poly.edu 
quer endereço IP para 
gaia.umass.edu
� consulta iterativa ou repetida:
� servidor contactado
responde com nome do 
servidor a contactar
� “não conheço esse nome, 
mas pergunte a este 
servidor”
79Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 79
hospedeiro
solicitante
cis.poly.edu
gaia.umass.edu
serv. DNS raiz
serv. DNS local
dns.poly.edu
1
2
45
6
serv. DNS com autoridade
dns.umass.edu
7
8
serv. DNS TLD
3
Exemplo de resolução de nome DNS (2)
� consulta recursiva:
� Transfere a resolução de nome 
para o servidor de nomes 
contactado
80Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 80
Tipos de Zonas e Pesquisas
� Zona de Pesquisa Direta
� Cliente informa um nome e a resposta é o endereço IP
� Podem ser
� Primárias
o Zona autoritativa para um domínio
� Secundárias
o Zona “espelho” de uma zona primária
o Precisa ser atualizada frequentemente para manter a consistências entre zonas
� Zona de Pesquisa Reversa
� Cliente informa um IP e a resposta é o nome
� Podem ser
� Primárias
o Zona autoritativa para um domínio
� Secundárias
o Zona “espelho” de uma zona primária
o Precisa ser atualizada frequentemente para manter a consistências entre zonas
81Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 81
Zona de Pesquisa Reversa
� Uma pesquisa inversa assume a forma de pergunta, como "Pode 
me informar o nome DNS do computador que usa o endereço IP 
192.168.1.20"? 
� Utiliza-se o domínio in-addr.arpa
� Para criar o espaço para nome inverso, os subdomínios dentro do 
domínio in-addr.arpa são formados usando a ordem inversa dos 
números na notação decimal com pontos dos endereços IP.
� 1.168.192. in-addr.arpa
82Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 82
Tipos de registros
� Os registros de recursos SOA e NS ocupam uma função especial na 
configuração da zona. 
� Eles são registros obrigatórios para qualquer zona e são normalmente o 
primeiro dos registros de recursos listados nos arquivos.
� SOA - Inicio de Autoridade
� Identifica o servidor de nomes DNS primário da Zona. 
� Possui informações necessárias a replicação dos registros.
� NS - Servidor de Nomes de Delegação
� Permite a delegação, identificando servidores de DNS para cada Zona. 
� Sempre que um servidor DNS precisa enviar uma consulta a um domínio 
delegado, ele se refere ao registro de recurso NS dos servidores de DNS da 
zona de destino.
83
Tipos de Registros
� Após criar uma zona, os registros de recursos (RRs) adicionais 
necessários precisam ser adicionados a ela. 
� Host(A)
� Para mapear um nome de domínio DNS para um endereço IP usado por um 
computador.
� Alias (CNAME)
� Para mapear um nome de domínio DNS alias para outro nome primário ou 
canônico.
� Servidor de Mensagens (MX)
� Para mapear um nome de domínio DNS para o nome de um computador 
que troca ou encaminha mensagens.
� Ponteiro (PTR)
� Para mapear um nome de domínio DNS inverso com base no endereço IP de 
um computador que aponta para o nome de domínio DNS encaminhado 
desse computador.
� Outros registros de recursos conforme necessário.
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 83 84Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II 84
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 são tipicamente armazenados em cache nos servidores 
de nome locais
� Mecanismos de atualização e notificação estão sendo projetados pelo IETF
� RFC 2136
� http://www.ietf.org/html.charters/dnsind-charter.html

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes