1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede...
Transcript of 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede...
![Page 1: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/1.jpg)
1
Redes de computadores e a Internet2-Camada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 2: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/2.jpg)
2
Redes de computadores e a InternetCamada de aplicação
Nossos objetivos:
Conceitual, aspectos de implementação de protocolos de aplicação de redes Modelos de serviço da camada de transporte Paradigma cliente-servidor Paradigma peer-to-peer Aprender sobre protocolos examinando protocolos da camada de aplicação
populares: HTTP FTP SMTP/POP3/IMAP
DNS
![Page 3: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/3.jpg)
3
Algumas aplicações de rede
Web (início da década de 1990)
Mensagem instantânea
Login remoto (Telnet)
Compartilhamento de arquivo (P2P)
Jogos de rede multiusuário
Rádio via Internet
TV sobre IP (IPTV)
Telefonia via Internet
Videoconferência em tempo real
2-Camada de aplicação
![Page 4: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/4.jpg)
4
Criando uma nova aplicação de rede
Escrever programas que Executem sobre diferentes sistemas
finais e Se comuniquem através de uma rede.
Ex.: Web – software de servidor Web se comunicando com software do browser
Nenhum software é escrito para dispositivos no núcleo da rede Dispositivos do núcleo da rede não
trabalham na camada de aplicação
Esta estrutura permite um rápido desenvolvimento de aplicação
2-Camada de aplicação
![Page 5: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/5.jpg)
5
Redes de computadores e a InternetCamada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 6: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/6.jpg)
6
Cliente-servidor
Peer-to-peer (P2P)
Híbrida de cliente-servidor e P2P
Arquiteturas de aplicação
•O Desenvolvedor aproveitará uma das três arquiteturas mais utilizadas em aplicações modernas de rede:
2-Camada de aplicação
![Page 7: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/7.jpg)
7
Arquitetura cliente-servidorServidor:
Hospedeiro sempre ativo Endereço IP permanente Fornece serviços solicitados
pelo cliente
Clientes: Comunicam-se com o servidor Podem ser conectados intermitentemente Podem ter endereço IP dinâmico Não se comunicam diretamente
uns com os outros
2-Camada de aplicação
![Page 8: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/8.jpg)
8
Arquitetura cliente-servidor
Exemplos de aplicações que utilizam arquitetura cliente-sevidor:
• WEB• Transferência de arquivos• Login remoto• Email• Blogs
Muitas vezes utiliza-se conjuntos de servidores para criar um SERVIDOR VIRTUAL.
2-Camada de aplicação
![Page 9: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/9.jpg)
9
Arquitetura P2P pura
Nem sempre há um servidor
Sistemas finais arbitrários comunicam-se diretamente
Pares são intermitentemente conectados e podem trocar seus endereços IP cada vez que forem ligados
Ex.: Emule, Gnutella
2-Camada de aplicação
![Page 10: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/10.jpg)
10
Arquitetura P2P pura Altamente escaláveis mas difíceis
de gerenciar :
Milhões de pares podem participar da comunidade de compartilhamento de arquivos, sendo que cada um deles funciona como um servidor e contribui com recursos para a comunidade.
Cada par adicional não apenas aumenta a demanda, mas também aumenta a capacidade de serviço.
2-Camada de aplicação
![Page 11: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/11.jpg)
11
Arquitetura P2P pura Apresentam 2 desafios:
A quase totalidade dos ISPs residenciais (DSL) foram dimensionados para uso de largura de banda assimétrica, ou seja, para muito mais tráfego de entrada do que de saída. As aplicações P2P precisam ser criadas para que sejam amigáveis aos ISPs.
Em razão de sua natureza altamente distribuída e exposta, as aplicações P2P podem ser um desafio para proteger.
2-Camada de aplicação
![Page 12: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/12.jpg)
12
Híbrida de cliente-servidor e P2PNapster – Extinto – Compartilhamento de arquivos MP3 Transferência de arquivo P2P - Arquivos eram trocados diretamente entre pares. Busca centralizada de arquivos: Um par consultava um servidor central para determinar quais pares que estavam em funcionamento tinham um arquivo MP3 desejado.
Conteúdo de registro dos pares no servidor central
Consulta de pares no mesmo servidor central para localizar o conteúdo
2-Camada de aplicação
![Page 13: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/13.jpg)
13
Híbrida de cliente-servidor e P2P
Instant messaging Bate-papo entre dois usuários é P2P - O texto enviado entre dois usuários não passa pelo servidor. Detecção/localização centralizada de presença:
Usuário registra seu endereço IP com o servidor central quando fica on-line
Usuário contata o servidor central para encontrar endereços IP dos amigos on-line.
2-Camada de aplicação
![Page 14: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/14.jpg)
14
Comunicação de processos
• Programas que rodam em vários sistemas finais comunicam-se por processos.
• Quando os processos comunicantes estão rodando no mesmo sistema final, eles comunicam-se entre si usando comunicação interprocessos, cujas regras são determinadas pelo sistema operacional.
2-Camada de aplicação
![Page 15: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/15.jpg)
15
Comunicação de processos
Processo: programa executando num hospedeiro
Dentro do mesmo hospedeiro: dois processos se comunicam usando comunicação interprocesso (definido pelo Sistema Operacional)
Processos em diferentes hospedeiros se comunicam por meio de troca de mensagens
Processo cliente: processo que inicia a comunicação
Processo servidor: processo que espera para ser contatado
2-Camada de aplicação
![Page 16: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/16.jpg)
16
Comunicação de processos
Processo: programa executando num hospedeiro Por exemplo, na aplicação Web, o processo browser de um cliente
troca mensagens com o processo de um servidor Web.
Em um sistema de compartilhamento de arquivos P2P, um arquivo é transferido de um processo que está em um par para outro que está em outro par.
2-Camada de aplicação
![Page 17: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/17.jpg)
17
Redes de computadores e a InternetCamada de aplicação - Sockets
Um processo envia/recebe mensagens para/de seu socket.
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. É também denominado API (Interface de Programação da
Aplicação): (1) escolha do protocolo de transporte; (2) habilidade para fixar poucos parâmetros (Tamanho do buffer e segmentos).
![Page 18: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/18.jpg)
18
Redes de computadores e a InternetCamada de aplicação - Sockets
É também denominado API (Interface de Programação da Aplicação):
Os únicos controles que o desenvolvedor da aplicação tem do lado da camada de transporte são:
(1) escolha do protocolo de transporte; (2) Talvez a habilidade para fixar poucos
parâmetros (Tamanho do buffer e segmentos).
![Page 19: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/19.jpg)
19
Redes de computadores e a InternetCamada de aplicação-Processos de endereçamento
Para um processo receber mensagens, ele deve ter um identificador.
Um hospedeiro possui um único endereço IP de 32 bits (IPV-4).
P.: O endereço IP do hospedeiro onde o processo está executando é suficiente para identificar o processo?
R.: Não, muitos processos podem estar em execução no mesmo hospedeiro.
O identificador inclui o endereço IP e o número da porta associada ao processo no hospedeiro
Exemplos de números de porta: Servidor HTTP: 80 Servidor de Correio (SMTP) : 25
• Lista do número de portas pode ser encontrada no site www.iana.org.
![Page 20: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/20.jpg)
20
O protocolo da camada de aplicação define
É importante distinguir aplicações de rede de protocolos de camada de aplicação. Um protocolo de camada de aplicação é apenas um pedaço (embora grande) de aplicação da rede.Exemplo:1- Aplicação WEB e o protocolo de aplicação WEB, HTTP. Este define o formato e a seqüência das mensagens que são passadas entre o browser e o servidor WEB.2- Correio eletrônico e o protocolo SMTP (RFC – 5321).
2-Camada de aplicação
![Page 21: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/21.jpg)
21
Um protocolo da camada de aplicação define:
Tipo das mensagens trocadas, mensagens de requisição e resposta. Sintaxe dos tipos de mensagem: os campos nas mensagens e como
são delineados. Semântica dos campos, ou seja, significado da informação nos
campos. Regras para quando e como os processos enviam e respondem às
mensagens.
Protocolos de domínio público: Definidos nas RFCs - IETF Recomendados para interoperabilidade Ex.: HTTP (RFC 2616), SMTP (5321)
Protocolos proprietários: Ex.: KaZaA
2-Camada de aplicação
![Page 22: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/22.jpg)
22
2-Camada de aplicação
De qual serviço de transporte uma aplicação necessita?
TCP UDP
![Page 23: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/23.jpg)
23
2-Camada de aplicação
Os serviços podem ser classificados segundo quatro dimenções:
• Transferência confiável de dados ( TCP IMPLEMENTA)
• Vazão (TCP e UDP não implementam)• Temporização (TCP e UDP não implementam)• Segurança (SSL (camada de sockets seguros
implementam))
![Page 24: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/24.jpg)
24
2-Camada de aplicaçãoDe qual serviço de transporte uma aplicação necessita?
Transferência confiável de dados: 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.
![Page 25: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/25.jpg)
25
2-Camada de aplicaçãoDe qual serviço de transporte uma aplicação necessita?
Temporização (TCP e UDP não implementam este serviço) Algumas aplicações (ex.: telefonia Internet, jogos interativos)
exigem baixos atrasos fim a fim para serem “efetivos”.
Como exemplo, se cada bit que o remetente insere no socket chega ao socket destinatário em menos de 100 milissegundos. Esse serviço seria atrativo para aplicações interativas em tempo real,como a telefonia por Internet.
![Page 26: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/26.jpg)
26
2-Camada de aplicaçãoDe qual serviço de transporte uma aplicação necessita?
Vazão : Banda passante (TCP e UDP não implementam este serviço) Algumas aplicações (ex.: multimídia) exigem uma banda mínima
para serem “efetivas”. Exemplo: Se uma aplicação de telefonia por Internet codifica
voz a 32 bits/s, ela precisa enviar dados para a rede e fazer com que sejam entregues na aplicação receptora a essa mesma taxa.
Outras aplicações (“aplicações elásticas- Correio eletrônico, transferência de arquivos”) melhoram quando a banda disponível aumenta.
![Page 27: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/27.jpg)
27
2-Camada de aplicaçãoDe qual serviço de transporte uma aplicação necessita?
Segurança (Fornecido pela camada de aplicação) Codificação e decodificação de dados Autenticação do ponto terminal.
• Aperfeiçoamento do TCP : SSL – Camada de Sockets Seguros• Oferece serviços de segurança processo a processo incluindo,
codificação, integridade dos dados e autenticação do ponto de chegada.
• salientamos que o SSL não é um terceiro protocolo, no mesmo nível do TCP e do UDP, mas um aperfeiçoamento do TCP implementado na camada de aplicação.
![Page 28: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/28.jpg)
28
2-Camada de aplicação
De qual serviço de transporte uma aplicação necessita?
TCP Serviço Orientado à conexão
• Apresentação• Envio full-duplex (simultânea)
Serviço confiável de transporte• Quando um lado da aplicação passa uma cadeia de bytes para dentro de um socket, pode contar com o TCP para entregar a mesma cadeiade dados ao socket receptor sem falta de bytesnem bytes duplicados.
![Page 29: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/29.jpg)
29
2-Camada de aplicação
De qual serviço de transporte uma aplicação necessita?
TCP • O TCP inclui um mecanismo de controle de
congestionamento,voltado ao bem-estar geral da Internet e não ao benefício direto dos processos comunicantes. Este mecanismo limita a capacidade de transmissão de um processo quando a rede está congestionada.
• A limitação da velocidade de transmissão pode ter um efeito muito prejudicial sobre aplicações de áudio e vídeo em tempo real que imponham uma limitação de largura de banda mínima.
![Page 30: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/30.jpg)
30
2-Camada de aplicaçãoRequisitos de transporte de aplicação comuns
2 - 30
Aplicação
Transferência de arquivose-mail
documentos WebTelefonia via Internet
áudio/vídeo Armazenadojogos interativos
Mensagem Instantânea
Perdas
sem perdassem perdastolerantetolerante
tolerantetolerante
sem perda
Largura de Banda
elásticaelásticaelásticaáudio: 5 Kbps-1 Mbpsvídeo:10 Kbps-5 Mbpsigual à anterior Alguns kbps – 10 mbps
elástica
Sensibilidade ao atraso
nãonãonãosim, décimos de segundosim, segundosSim,décimos de segundosim
Exemplo de requisitos de algumas aplicações:
![Page 31: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/31.jpg)
31
2-Camada de aplicaçãoServiços dos protocolos de transporte da
InternetServiço TCP:
Orientado à conexão: conexão requerida entre processos cliente e servidor Apresentação
Transporte confiável: entre os processos de envio e recepção Controle de congestionamento: protege a rede do excesso de
tráfego Não oferece: garantias de temporização e de banda mínima. Ou seja, o TCP garante a entrega de todos os dados, mas não dá nehuma garantia quanto à velocidade de entrega ou aos atrasos experimentados.
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 congestionamento, garantia de temporização e de banda mínima.
P.: Por que ambos? Por que existe o UDP?
![Page 32: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/32.jpg)
32
2-Camada de aplicaçãoAplicação e protocolos de transporte da Internet
Aplicação
acesso de terminais remotosWeb
transferência de arquivostelefonia Internet
Correio eletrônico
Protocolo de aplicação
Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]RTP ou proprietário(por exemplo, Skipe)
SMTP (RFC 5321)
Protocolo detransporte
TCPTCPTCPtipicamente UDP
TCP
![Page 33: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/33.jpg)
33
Redes de computadores e a InternetCamada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 34: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/34.jpg)
34
2-Camada de aplicação
• TELEFONE – década de 1870.• TELEVISÃO – 1920-1930• WEB - Início década de 1990.
• Funciona por demanda. Usuários recebem o que querem, quando querem.
Tecnologias de comunicação eletrônica que provocaram enormes impactos sociais.
![Page 35: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/35.jpg)
35
2-Camada de aplicaçãoWeb e HTTP
Primeiro alguns jargões
Página Web consiste de objetos
Objeto pode ser arquivo HTML, uma imagem JPEG, uma imagem GIF, applet Java, arquivo de áudio,…
A página Web consiste de arquivo- base HTML, que inclui vários objetos referenciados.
Cada objeto é endereçado por uma URL
Exemplo de URL:
www.someschool.edu/someDept/pic.gif
Nome do hospedeiro Nome do caminho
![Page 36: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/36.jpg)
36
2-Camada de aplicaçãoWeb e HTTP
• O protocolo da camada de aplicação HTTP define como cliente WEB os browsers (navegadores – Firefox – Microsoft Internet Explore) requisitam páginas Web aos servidores WEB (Apache, Microsoft Internet Information Server).•Portanto a aplicação WEB consiste em:
• Um padrão para o formato do documento – HTML.• Browsers Web - Firefox – Microsoft Internet Explore.• Servidores WEB- Apache, Microsoft Internet Information Server.• Protocolo da Camada de Aplicação – HTTP.
![Page 37: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/37.jpg)
37
2-Camada de aplicaçãoVisão geral do HTTP
HTTP: HyperText Transfer Protocol
Protocolo da camada de aplicação da Web. Define o formato e a sequência das mensagens que são passadas entre o browser e o servidor Web.
Modelo cliente/servidor Cliente: browser que solicita, recebe e apresenta objetos da Web
Servidor: envia objetos em resposta a pedidos
• HTTP define a estrutura de menagens e o modo como o cliente e o servidor as trocam.
HTTP 1.0: RFC 1945 até 1997
HTTP 1.1: RFC 2616 a partir de 1998
![Page 38: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/38.jpg)
38
2-Camada de aplicação
HTTP utiliza TCP: Cliente inicia conexão TCP (cria socket) para o servidor na porta 80.
Servidor aceita uma conexão TCP do cliente.
mensagens HTTP (mensagens do protocolo de camada de aplicação) são trocadas entre o browser (cliente HTTP) e o servidor Web (servidor HTTP).
Web e HTTP
![Page 39: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/39.jpg)
39
2-Camada de aplicação
HTTP utiliza TCP:
A conexão TCP é fechada.
Vantagem da arquitetura de camadas: O HTTP não precisa se preocupar com dados perdidos ou com detalhes de como o TCP recupera a perda de dados ou os reordena dentro da rede. Esta é tarefa do TCP e dos protocolos das camadas mais inferiores da pilha de protocolos.
Web e HTTP
![Page 40: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/40.jpg)
40
2-Camada de aplicação
HTTP é “um protocolo sem estado” O servidor não mantém informação sobre os pedidos
passados pelos clientes Se um cliente solicita o mesmo objeto duas vezes
em um intervalo de poucos segundos, o servidor não responde dizendo que acabou de enviar o objeto; em vez disso,envia novamente o objeto, pois não armazenou o estado do solicitação anterior.
Protocolos que mantêm informações de “estado” são complexos!
Histórico do passado (estado) deve ser mantido Se o servidor/cliente quebra, suas visões de “estado”
podem ser inconsistentes, devendo ser reconciliadas.
Web e HTTP
![Page 41: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/41.jpg)
41
2-Camada de aplicaçãoConexões HTTP
HTTP não persistente ( A conexão não persiste para outros objetos) No máximo, um objeto é enviado sobre uma 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
![Page 42: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/42.jpg)
42
2-Camada de aplicaçãoHTTP não persistente
1a. Cliente HTTP inicia conexão TCP ao servidor HTTP (processo) em www.someSchool.edu. Porta 80 é a default para o servidor HTTP
1b. Servidor HTTP no hospedeiro www.someSchool.edu esperando pela conexão TCP na porta 80. “Aceita” conexão, notificando o cliente
2. Cliente HTTP envia HTTP request message (contendo a URL) para o socket da conexão TCP
3. Servidor HTTP recebe mensagem de pedido, forma response message contendo o objeto solicitado (someDepartment/home.index), envia mensagem para o socketTempo
Usuário entra com a URL: www.someSchool.edu/someDepartment/home.index
(contém texto, referências a 10 imagens jpeg)
![Page 43: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/43.jpg)
43
2-Camada de aplicação
4. Servidor HTTP fecha conexão TCP
5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o conteúdo html. Analisando o arquivo html, encontra 10 objetos jpeg referenciados
6. Passos 1-5 são repetidos para cada um dos 10 objetos jpeg
Tempo
HTTP não persistente
Note que cada conexão TCP transporta exatamente uma mensagem de requisição e uma mensagem de resposta. Nesse exemplo, quando um usuário solicita a página Web, são geradas 11 conexões TCP.
![Page 44: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/44.jpg)
44
2-Camada de aplicaçãoHTTP não persistente
Façamos um cálculo para estimar o tempo que transcorre entre a requisição e o recebimento de um arquivo-base HTTP por um cliente.
Definimos (Round-Trip time – RTT ) como tempo de viagem de ida e volta.
![Page 45: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/45.jpg)
45
2-Camada de aplicaçãoModelagem do tempo de resposta
Definição de RRT (Round-Trip Time- Tempo de viagem de ida e volta: tempo para enviar um pequeno pacote que vai do cliente para o servidor e retorna
Tempo de resposta: Um RTT para iniciar a conexão TCP Um RTT para requisição HTTP e primeiros bytes da resposta HTTP para retorno Tempo de transmissão de arquivo
Total = 2RTT+ tempo de transmissão
![Page 46: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/46.jpg)
46
2-Camada de aplicação
Características do HTTP não-persistente: Requer 2 RTTs por objeto Os browsers freqüentemente abrem conexões TCP paralelas para buscar objetos referenciados.
HTTP persistente Servidor deixa a conexão aberta após enviar uma resposta
Mensagens HTTP subseqüentes entre o mesmo cliente/servidor são enviadas pela conexão.
![Page 47: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/47.jpg)
47
2-Camada de aplicaçãoMensagem HTTP request
Dois tipos de mensagens HTTP: request, response
HTTP request message:
GET /somedir/page.html HTTP/1.1Host: www.someschool.eduConection: close User-agent: Mozilla/4.0 Accept-language:fr
Linha de requisição (métodos)(comandos GET, POST,
HEAD )
Linhas decabeçalho
O usuário prefere receber uma versão em francês do objeto, se existir.Caso contrário receberá o default
O Browser esta dizendo ao servidor que não quer usar conexões persistentes: quer que o servidor feche a conexão após o envio do objeto requisitado.
![Page 48: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/48.jpg)
48
2-Camada de aplicaçãoMensagem HTTP request
Dois tipos de mensagens HTTP: request, response
HTTP request message:
GET /somedir/page.html HTTP/1.1Host: www.someschool.eduConection: open User-agent: Mozilla/4.0 Accept-language:fr
Linha de requisição (métodos)(comandos GET, POST,
HEAD )
Linhas decabeçalho
O usuário prefere receber uma versão em francês do objeto, se existir.Caso contrário receberá o default
![Page 49: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/49.jpg)
49
2-Camada de aplicaçãoMensagem HTTP request: formato
geral
![Page 50: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/50.jpg)
50
2-Camada de aplicação
Método Post: Página Web freqüentemente inclui entrada de formulário. O
usuário preenche um formulário.Pode-se usar o modo GET também.
A entrada é enviada para o servidor no corpo da entidade
Método URL – Utiliza o GET: Inclue os dados digitados(nos campos dos formulários)
no URL requisitado.Por exemplo, se um formulário usar tiver 2 campos e as entradas desses campos forem monkeys e bananas, então a estrutura do URL será:
Utiliza o método GET A entrada é enviada no campo de URL da linha de requisição:
Entrada de formulário
www.somesite.com/animalsearch?monkeys&banana
![Page 51: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/51.jpg)
51
2-Camada de aplicaçãoTipos de métodos
HTTP/1.0 GET POST HEAD (utilizado para depuração) Pede para o servidor deixar o objeto requisitado fora da resposta
HTTP/1.1 GET, POST, HEAD PUT (edição) O Cliente envia o arquivo no corpo da entidade para o caminho especificado no campo de URL.
DELETE (edição) O cliente apaga o arquivo especificado no campo de URL.
![Page 52: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/52.jpg)
52
2-Camada de aplicaçãoMensagem HTTP response
HTTP/1.1 200 OKConection:close (indica que o servidor encerrará a conexão)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 data data data data data ...
Linha de estado
Linhas decabeçalho
Dados, ex.: arquivo html
Data e hora em que foi feito o envio do arquivo
![Page 53: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/53.jpg)
53
2-Camada de aplicaçãoCódigos de status das respostas
Na primeira linha da mensagem de resposta servidor cliente.Alguns exemplos de códigos:
200 OK Requisição bem-sucedida, objeto requisitado a seguir nesta mensagem
301 Moved permanently Objeto requisitado foi movido, nova localização especificada a seguir
nesta mensagem (Location:)
400 Bad request Mensagem de requisição não compreendida pelo servidor
404 Not Found Documento requisitado não encontrado neste servidor505 HTTP version not supported
• a versão do protocolo HTTP requisitada não é suportada pelo servidor.
![Page 54: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/54.jpg)
54
2-Camada de aplicaçãoEstado usuário-servidor: cookies
Quatro componentes:1) Linha de cabeçalho do cookie na mensagem HTTP response2) Linha de cabeçalho de cookie na mensagem HTTP request3) Arquivo de cookie mantido no hospedeiro do usuário e manipulado pelo browser do usuário4) Banco de dados de apoio no site Web
A maioria dos grandes sites Web utiliza cookies (RFC 2965) para identificar e monitorar usuários.
Exemplo: Susan acessa a Internet sempre do mesmo PC Ela visita um site específico de e-commerce pela primeira vez Quando a requisição HTTP inicial chega ao site, este cria um ID único e uma entrada no banco de dados de apoio para este ID
![Page 55: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/55.jpg)
55
2-Camada de aplicaçãoCookies: mantendo “estado”
2 - 55
Cliente Servidor
usual HTTP request msg
usual HTTP response +
Set-cookie: 1678
usual HTTP request msg
cookie: 1678usual HTTP response msg
usual HTTP request msg
cookie: 1678usual HTTP response msg
especificaçãodo cookie
especificaçãodo cookie
servidorcria o ID 1678para o usuário
entrada no banco
de dados de apoio
acesso
aces
so
Cookie file
amazon: 1678ebay: 8734
Cookie file
ebay: 8734
Cookie file
amazon: 1678ebay: 8734
Uma semana depois:
![Page 56: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/56.jpg)
56
2-Camada de aplicaçãoCookies
O que os cookies podem trazer: Autorização Cartões de compra Recomendações
Cookies e privacidade: Cookies permitem que sites saibam muito sobre
você Você pode fornecer nome e e-mail para os sites Companhias de propaganda obtêm informações
por meio dos sites
![Page 57: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/57.jpg)
57
2-Camada de aplicaçãoCaches Web (Servidor Proxy - Proxy Server)
Objetivo: atender o cliente sem envolver o servidor Web originador da informação
Usuário configura o browser: acesso Web é feito por meio de um proxy
Cliente envia todos os pedidos HTTP para o Cache Web Se o objeto existe no Web cache: Web cache retorna o objeto
Ou o Cache Web solicita objeto do servidor
original e então envia o objeto ao cliente
![Page 58: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/58.jpg)
58
2-Camada de aplicaçãoWeb caches (proxy server)
O cache atua tanto no servidor como no cliente
Tipicamente, o cache é instalado pelo ISP (universidade, empresa, ISP residencial).
Por que Caching Web? Reduz o tempo de resposta para a requisição do cliente
Reduz o tráfego num enlace de acesso de uma instituição.
Reduz o custo e o tráfego de dados de uma instituição à Intenet.
![Page 59: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/59.jpg)
59
2-Camada de aplicaçãoExemplo de caching
Suponha: Tamanho médio objeto =
100.000 bits = 100 kb. Taxa média de requisições dos
browsers da instituição para os servidores de origem = 15/s.
Atraso do roteador da Internet para ir a qualquer servidor de origem e retornar ao roteador = 2 s.
![Page 60: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/60.jpg)
60
2-Camada de aplicação
Conseqüências: Utilização da LAN = 15%
(15 (requisições/segundo )* 100 kbps)/10 Mbps = 0,15
Utilização do link de acesso = 100%
(15 (requisições/segundo )* 100 kbps)/1,5 Mbps =1
Atraso total = atraso da Internet + atraso de acesso + atraso da LAN = 2 segundos + minutos + milissegundos
Exemplo de caching
![Page 61: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/61.jpg)
61
2-Camada de aplicação
Solução possível Aumentar a largura de banda do enlace de acesso, para, 10 Mbps.
Conseqüências Utilização da LAN = 15% Utilização do enlace de acesso
= 15% Atraso total = atraso da
Internet + atraso de acesso + atraso da LAN = 2 segundos + msegs + msegs
Freqüentemente é um upgrade caro
Exemplo de caching
![Page 62: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/62.jpg)
62
2-Camada de aplicaçãoExemplo de caching
Instalação do cache Suponha que a taxa de atendimento às requisições seja 0.4 ou 40%. Em geral ficam de 20 a 70%.
![Page 63: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/63.jpg)
63
2-Camada de aplicaçãoExemplo de caching
Conseqüências: 40% das requisições serão satisfeitas quase que imediatamente.
60% das requisições serão satisfeitas pelos servidores de origem.
Diminui o tráfego no enlace que conecta à Internet. Embora possa reduzir os tempos de repostas do ponto de vista do usuário, fazer cache introduz um novo problema
A cópia de um objeto existente no cache pode estar desatualizada.
![Page 64: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/64.jpg)
64
2-Camada de aplicaçãoGET condicional
• O GET condicional permite que um cache verifique se seus objetos estão atualizados.
• Suponha que um cliente peça um objeto do cache. Se uma semana depois este mesmo objeto for solicitado, o cache envia um GET condicional ao servidor de origem.
![Page 65: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/65.jpg)
65
2-Camada de aplicaçãoGET condicional
Razão: não enviar objeto se a versão que o cliente já possui está atualizada
Cliente: especifica data da versão armazenada no pedido HTTP If-modified-since: <date>
Servidor: resposta não contém objeto se a cópia é atualizada: HTTP/1.1 304 Not Modified
2 - 65
Cliente- Servidor cacheServidor de
origemHTTP request msgIf-modified-since:
<date>
HTTP responseHTTP/1.1
304 Not Modified
Objeto não
modificado
HTTP request msgIf-modified-since:
<date>
HTTP responseHTTP/1.1<data>
Objeto modificado
![Page 66: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/66.jpg)
66
Redes de computadores e a InternetCamada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 67: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/67.jpg)
67
2-Camada de aplicaçãoFTP: 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
![Page 68: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/68.jpg)
68
2-Camada de aplicaçãoFTP: controle separado, conexões de dados
Os protocolos FTP e HTTP utilizam o TCP. No entanto, o FTP usa duas conexões TCP paralelas para transferir um arquivo:
Uma Conexão de Controle Uma Conexão de Dados
![Page 69: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/69.jpg)
69
2-Camada de aplicaçãoFTP: 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 procura o diretório remoto enviando comandos pela conexão de controle.
![Page 70: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/70.jpg)
70
2-Camada de aplicação
Quando o servidor recebe um comando para uma transferência de arquivo, ele abre uma conexão de dados TCP para o cliente.
Após a transferência de um arquivo, o servidor fecha a conexão.
Servidor abre uma segunda 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.
FTP: controle separado, conexões de dados
![Page 71: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/71.jpg)
71
2-Camada de aplicação
Assim, com o FTP, a conexão de controle permanece aberta durante toda a sessão do usuário, mas uma nova conexão de dados é criada para cada arquivo tranferido dentro de uma sessão.
FTP: controle separado, conexões de dados
![Page 72: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/72.jpg)
72
2-Camada de aplicaçãoFTP comandos, respostas
Exemplos de comandos na conexão de controle: Envie um texto ASCII sobre canal de controle
USER username PASS password LIST retorna listagem do arquivo no diretório atual do servidor RETR filename extrai o arquivo do servidor.Ativa o servidor
para que abra uma conexão de dados e envie o arquivo requisitado por esta conexão.
STOR filename armazena o arquivo no hospedeiro remoto
![Page 73: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/73.jpg)
73
2-Camada de aplicação
Exemplos de códigos de retorno Código de status e frase (como no HTTP) 331 Username OK, password required 125 Conexão de dados já aberta; iniciando
transferência 425 Não é possível abrir a conexão de dados 452 Erro ao escrever o arquivo
FTP comandos, respostas
Cada comando é seguido de uma resposta, que é enviada do servidor ao cliente
![Page 74: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/74.jpg)
74
Redes de computadores e a InternetCamada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 75: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/75.jpg)
75
2-Camada de aplicaçãoCorreio eletrônico
Três componentes principais: Agentes de usuário Servidores de correio Simple mail transfer protocol:
SMTP
RFC 5321
Agente de usuário“leitor de correio” Composição, edição, leitura de
mensagens de correio Ex.: gmail
SMTP Transfere mensagens de servidores de correio remetentes para servidores de correio destinatários.
![Page 76: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/76.jpg)
76
2-Camada de aplicaçãoCorreio 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
![Page 77: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/77.jpg)
77
2-Camada de aplicaçãoCenário: Alice envia mensagem para Bob
1) Alice usa o agente de usuário (UA) para compor a mensagem e enviar “para” [email protected]
2) O agente de usuário dela envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens.
3) O lado cliente do SMTP abre uma conexão TCP com o servidor de correio do Bob.
4) O cliente SMTP envia a mensagem de Alice pela conexão TCP.5) O servidor de correio de Bob coloca a mensagem na caixa de correio de
Bob.6) Bob invoca seu agente de usuário para ler a mensagem.
HTTP
![Page 78: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/78.jpg)
78
2-Camada de aplicaçãoCenário: Alice envia mensagem para Bob
É importante observar que o STMP não usa servidores de correios intermediários para enviar a mensagem.
HTTP
![Page 79: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/79.jpg)
79
2-Camada de aplicaçãoCorreio eletrônico: SMTP [RFC 2821]
Usa TCP para transferência confiável de mensagens de correio do cliente ao servidor, porta 25
Transferência direta: servidor que envia para o servidor que recebe
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
Mensagens devem ser formatadas em código ASCII de 7 bits
SMTP é um protocolo de envio de informação (push), não servindo para obter dados.
![Page 80: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/80.jpg)
80
2-Camada de aplicaçãoExemplo de interação SMTP
S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Voce gosta de ketchup? C: Que tal pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection
“C”: linhas que o cliente envia para dentro de seu socket TCP.“S”: linhas que o servidor envia para dentro de seu socket TCP.
![Page 81: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/81.jpg)
81
2-Camada de aplicaçãoExemplo de interação SMTPQuando uma mensagem de email é enviada, um cabeçalho contendo informações periféricas pode ser anexado. Essas informações periféricas estão contidas em uma série de linhas cabeçalho definidas na RFC 5322-------Comandos MINE.Um cabeçalho típico é semelhante a:
From: [email protected] To: [email protected] Subject: envio de dados.
É importante notar que essas linhas de cabeçalho são diferentes dos comandos SMTP, ainda que contenham algumas palavras em comum.
Os comandos SMTP fazem parte do protocolo; as linhas de cabeçalho examinadas nesta seção fazem parte da própria mensagem.
![Page 82: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/82.jpg)
82
2-Camada de aplicaçãoProtocolos de acesso ao correio
SMTP: entrega e armazena no servidor do destino Protocolos de acesso: TRANSFEREM MENSAGENS DO SERVIDOR DE CORREIO PARA O PC LOCAL
POP3: Post Office Protocol [RFC 1939] Autorização (agente <-->servidor) e download Porta 110
IMAP: Internet Mail Access Protocol [RFC 3501] Mais recursos (mais complexo) Manipulação de mensagens armazenadas no servidor
HTTP: Hotmail, Yahoo! Mail etc.
HTTP
![Page 83: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/83.jpg)
83
2-Camada de aplicação
POP3 Usa o modo “ler e apgar” e “ler e guardar” Não permite manipular pastas no servidor de correio.IMAP Mantém todas as mensagens em um lugar: o servidorPermite que o usuário organize as mensagens em pastasHTTP• Meio de enviar e acessar email mais utilizado.• Lançado pelo Hotmail em meados da década de 1990.
POP3 e IMAP
![Page 84: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/84.jpg)
84
Redes de computadores e a InternetCamada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 85: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/85.jpg)
85
2-Camada de aplicaçãoDNS: Dominain Name System
Pessoas: muitos identificadores: RG, nome, passaporte
Internet hospedeiros, roteadores: Endereços IP (32 bits – 4 bytes) - usados para endereçar datagramas “nome”, ex.: sel.eesc.usp.br - usados por humanos
P.: Relacionar nomes com endereços IP?
Domain Name System:• RFC 1034 e RFC 1035 e atualizados em RFCs adicionais
![Page 86: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/86.jpg)
86
2-Camada de aplicação
Domain Name System: É uma “Base de dados Distribuída” implementada numa hierarquia de muitos servidores de nomes.
• É um “Protocolo de camada de aplicação” que permite que hospedeiros consultem o banco de dados distribuídos.
Servidores de nomes são frequentemente máquinas UNIX que executam o software BIND (Berkeley Internet Name Domain).
DNS: Dominain Name System
![Page 87: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/87.jpg)
87
2-Camada de aplicação
Domain Name System:
O Protocolo DNS utiliza UDP e a porta 53. Nota: função interna da Internet, implementada como protocolo da camada de aplicação
• Utilizado por HTTP, FTP, SMTP para traduzir nomes de hospedeiros em endereçoes IP.
DNS: Dominain Name System
![Page 88: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/88.jpg)
88
Redes de computadores e a InternetDNS: Dominain Name System
• A própria máquina do usuário executa o lado cliente da aplicação DNS.
• O browser extrai o nome de hospedeiro, www.uol.com.br, do URL e passa o nome para o lado do cliente da aplicação DNS.
• O cliente DNS envia uma consulta contendo o nome do hospedeiro para um servidor DNS.
Complexidade da Internet esta localizada na periferia da rede.
Procedimentos de consulta DNS
![Page 89: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/89.jpg)
89
Redes de computadores e a InternetDNS: Dominain Name System
• O cliente DNS finalmente recebe uma resposta, que inclui o endereço IP para o nome do hospedeiro.
• Tão logo o browser receba o endereço do DNS, pode abrir uma conexão TCP com o processo servidor HTTP localizado naquele endereço IP.
Complexidade da Internet esta localizada na periferia da rede
![Page 90: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/90.jpg)
90
Redes de computadores e a Internet Atraso provocado pelo DNS
• O DNS adiciona mais um atraso – às vezes substancial – às aplicações de Internet que o usam. Felizmente, como discutiremos mais adiante, o endereço IP procura frequentemente está no cache de um servidor DNS “próximo”, o que ajuda a reduzir o tráfego DNS na rede, bem como o atraso médio do DNS.
![Page 91: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/91.jpg)
91
Redes de computadores e a Internet Serviços DNS
O DNS provê outros serviços importantes além da tradução de nomes de hospedeiros para endereços IP.
•Obter o nome canônico para apelidos e finalmente o endereço IP.
• Ex: relayl.west-coast.enterprise.com é o nome canônico.• enterprise.com é o apelido
• Permite o servidor de email e o servidor de web de uma empresa tenham nomes idênticos.
• Ex: enterprise.com
![Page 92: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/92.jpg)
92
Redes de computadores e a InternetCamada de aplicação
• Distribuição de carga• Sites como cnn.com podem ser replicados em vários servidores com endereços IPs diferentes.• Um conjunto de endereços IPs fica associado ao nome canônico e contido no banco de dados do DNS.• Quando clientes consultam um nome mapeado para um conjunto de endereços, o DNS responde com um conjunto inteiro de endereços IP, mas faz um rodízio da ordem dos endereços dentro de cada resposta.• Como o HTTP envia sempre para o primeiro endereço IP há um balanceamento de carga.
![Page 93: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/93.jpg)
93
Redes de computadores e a InternetBase de dados distribuída, hierárquica
Por que não centralizar o DNS? Ponto único de falha Volume de tráfego Base centralizada de dados distante
Um único servidor de nomes não poderia estar “próximo” de todos os clientes que fazerm consultas.
Manutenção Banco de dados enorme e de difícil atualização.
Não é escalável!
![Page 94: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/94.jpg)
94
Redes de computadores e a InternetBase de dados distribuída, hierárquica
Servidores de alto-nível
Servidores comautoridade
Servidores Raiz
Servidores de alto-nível top-level domain (TLP)
![Page 95: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/95.jpg)
95
Redes de computadores e a Internet
São contatados pelos servidores de nomes locais que não podem resolver um nome.
Em 2006 haviam 13 Servidores de nomes raiz (A a M): ver www.root-servers.org
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
DNS: servidores de nomes raiz
![Page 96: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/96.jpg)
96
Redes de computadores e a InternetServidores TLD e autoritários
Servidores top-level domain (TLD): responsáveis pelos domínios com, org, net, edu, gov etc. e todos os domínios de alto nível de países uk, fr, br, jp.
Servidores DNS autorizados: servidores DNS de organizações, provêem 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.
![Page 97: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/97.jpg)
97
Redes de computadores e a InternetServidor 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
![Page 98: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/98.jpg)
98
Redes de computadores e a Internet
O hospedeiro em cis.poly.edu quer o endereço IP para gaia.cs.umass.edu
Exemplo
Envia uma lista de servidores edu
Reconhece o sufixo umass.edu
![Page 99: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/99.jpg)
99
Redes de computadores e a InternetConsultas recursivas
Consulta recursiva: Transfere a tarefa de
resolução do nome para o servidor de nomes consultado
Carga pesada?
Consulta encadeada: Servidor contatado
responde com o nome de outro servidor de nomes para contato
“Eu não sei isto, mas pergunte a este servidor”
![Page 100: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/100.jpg)
100
Redes de computadores e a Internet
Uma vez que um servidor de nomes apreende um mapeamento, ele armazena o mapeamento num registro do tipo cache.
Registros do cache tornam-se obsoletos (desaparecem) depois de um certo tempo (frequentemente 2 dias).
Servidores TLD são tipicamente armazenados em cache nos servidores de nome locais.
DNS: armazenando e atualizando registros
![Page 101: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/101.jpg)
101
Redes de computadores e a InternetRegistros do DNS
Servidores de DNS armazenam registros de recursos (RR) que fornecem mapeamentos de nomes de hospedeiros para endereços IP.
Um registro de recurso apresenta 4 elementos
(Name, Value, Type, TTL)
•TTL é o tempo de vida útil do registro, determinando quando um recurso deve ser removido de um cache.
![Page 102: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/102.jpg)
102
Redes de computadores e a InternetRegistros do DNS
DNS: base de dados distribuída que armazena registros de recursos (RR)
formato dos RR: (Name, Value, Type, TTl)
Os significados de Name e Value depende de Type
![Page 103: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/103.jpg)
103
Redes de computadores e a InternetRegistros do DNS
formato dos RR: (Name, Value, Type,TTl)
Type = A name é o nome do
computador value é o endereço IP
Um registro Type A fornece o mapeamento padrão de nomes hospedeiros para endereços IP.Como exemplo, (relayl.bar.foo.com, 145.37.93.126), A,TTL)
![Page 104: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/104.jpg)
104
Redes de computadores e a InternetRegistros do DNS
Type = NS name é um domínio (ex.: foo.com) value é o endereço IP do servidor de
nomes autorizados que sabe como obter os endereços para este domínio
formato dos RR: (Name, Value, Type,TTL)
Exemplo(foo.com, dns.foo.com, NS,TTL)
O servido DNS enviará também um registro Type A que mapeia o servidor de nome dns.foo.com para um endereço IP.(dns.foo.com, 128.119.40.111, A, TTL)
![Page 105: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/105.jpg)
105
Redes de computadores e a InternetRegistros do DNS
2 - 105
formato dos RR: (Name, Value, Type,TTL)
Type = CNAME name é um “apelido” para
algum nome “canônico” (o nome real)
www.ibm.com é realmente servereast.backup2.ibm.com value é o nome canônico
(ibm.com, servereast.backup2.ibm.com, CNAME,TTL)
![Page 106: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/106.jpg)
106
Redes de computadores e a InternetRegistros do DNS
2 - 106
formato dos RR: (Name, Value, Type,TTL)
Type = MX value é o nome do servidor
de correio associado com name(foo.com, mail.bar.foo.com, MX, TTL)
Usando MX uma empresa pode ter o mesmo apelido para seu servidor de arquivo e para um de seus outros servidores (tal como seu servidor WEB). Para obter o nome canônico do servidor de correio, um cliente DNS consultaria um registro MX; para obter o nome canônico do outro servidor, o cliente DNS consultaria o registro CNAME.
![Page 107: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/107.jpg)
107
Redes de computadores e a InternetInserindo registro no banco de dados do DNS
Exemplo: empresa recém-criada “Network Utopia”
Registrar o nome networkutopia.com em uma entidade registradora = FAPESP
Ver lista em www.internic.net
É necessário fornecer ao registrar os nomes e endereços IP do seu servidor nomes autorizados (DNS primário e secundário - 212.212.212.1 e 212.212.212.2 ) Registrar insere dois RRs no servidor TLD do domínio com, para cada servidor de DNS:
Exemplo do servidor primário
(networkutopia.com, dns1.networkutopia.com, NS)(dns1.networkutopia.com, 212.212.212.1, A)
![Page 108: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/108.jpg)
108
Redes de computadores e a InternetInserindo registro no banco de dados do DNS
No servidor autorizado, inserir um registro Tipo A para seu servidor de e WEB www.networkutopia.com e um registro Tipo MX para seu servidor de email mail.networkutopia.com
![Page 109: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/109.jpg)
109
Redes de computadores e a InternetCamada de aplicação
2.1 Princípios de aplicações de rede
2.2 Web e HTTP
2.3 FTP
2.4 Correio eletrônico SMTP, POP3, IMAP
2.5 DNS
2.6 Compartilhamento de arquivos P2P
![Page 110: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/110.jpg)
110
Redes de computadores e a InternetCompartilhamento de arquivos P2P
Exemplo Alice executa a aplicação cliente P2P em seu notebook. Intermitentemente, conecta-se à Internet; obtém novos endereços IP
para cada conexão. Pede por “Raça de Milton Nascimento”. A aplicação exibe outros pares que possuem uma cópia de Raça. Alice escolhe um dos pares, Bob. O arquivo é copiado do PC de Bob para o notebook de Alice: HTTP. Enquanto Alice faz o download, outros usuários fazem upload de
Alice. O par de Alice é tanto um cliente Web como um servidor Web
transiente.
Todos os pares são servidores = altamente escaláveis!
![Page 111: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/111.jpg)
111
Redes de computadores e a InternetP2P: diretório centralizado
Projeto original “Napster”
1) Quando um par se conecta, ele informa ao servidor central: Endereço IP Conteúdo
2)Servidor envia mensagens periódicas para verificar a conectividade.
3) Alice procura por “Raça”
4) Alice requisita o arquivo de Bob
![Page 112: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/112.jpg)
112
Redes de computadores e a InternetP2P: problemas com diretório centralizado
Ponto único de falhas: Servidor não pode falhar.
Gargalo de desempenho: Manutenção de Banco de Dados com muitas informações.
Infração de copyright
Transferência de arquivo é descentralizada, mas a localização de conteúdo é altamente centralizada
![Page 113: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/113.jpg)
113
Redes de computadores e a InternetInundação de Consultas: Gnutella
Totalmente distribuído Sem servidor central
Protocolo de domínio público Os pares formam uma rede abstrata, lógica, denominada rede de
sobreposição.
• REDE DE SOBREPOSIÇÃO.
Rede de cobertura: grafo Aresta entre o par X e o Y se há uma conexão TCP entre eles. Todos os pares ativos e arestas estão na rede de sobreposição Aresta não é um enlace físico Um determinado par será tipicamente conectado a <10
vizinhos na rede de sobreposição
![Page 114: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/114.jpg)
114
Redes de computadores e a Internet
Mensagem de consulta(query) é enviada pelasconexões TCP existentes
Os pares encaminhama mensagem de consulta
QueryHit (encontro)é enviado pelo caminho reverso
Requisição HTTP direta para BOB, isto é, sem passar pela rede.
Gnutella: protocolo
![Page 115: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/115.jpg)
115
Redes de computadores e a Internet
Como evitar a inundação da rede com pedidos de consultas?
Quando Alice envia seu pedido de consulta inicial, um campo de contagem de pares contido na mensagem é configurado para um certo limite (digamos 7). Toda vez que a mensagem de consulta chega a um novo par, este decrementa o campo de contagem de pares antes de retransmiti-la para seus vizinhos. QUANDO UM PAR RECEBE UMA CONSULTA CUJO CAMPO DE CONTAGEM DE PARES É IGUAL A 0, ELE PÁRA DE RETRANSMITI-LA.
Escalabilidade: inundação de alcance limitado
Gnutella: protocolo
![Page 116: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/116.jpg)
116
Redes de computadores e a InternetGnutella: conectando pares
1. Para conectar o par X, ele precisa encontrar algum outro par na rede Gnutella: utiliza a lista de pares candidatos
2. X, seqüencialmente, tenta fazer conexão TCP com os pares da lista até estabelecer conexão com Y
3. X envia mensagem de Ping para Y; Y encaminha a mensagem de Ping
4. Todos os pares que recebem a mensagem de Ping respondem com mensagens de Pong
5. X recebe várias mensagens de Pong. Ele pode então estabelecer conexões TCP adicionais
![Page 117: 1 Redes de computadores e a Internet 2-Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3,](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc0f8497959413d8b58a4/html5/thumbnails/117.jpg)
117
Redes de computadores e a InternetExplorando heterogeneidade: KaZaA
Cada par é ou um líder de grupo ou está atribuído a um líder de grupo Conexão TCP entre o par e
seu líder de grupo Conexões TCP entre alguns
pares de líderes de grupo
O líder de grupo acompanha o conteúdo em todos os seus “discípulos”
Cada líder de grupo transforma-se em um hub (distribuídor)
Em comparação com Gnutela, com a sobreposição plana a inundação de escopo limitado (só entre hubs), o projeto hierárquico permite a verificação de consultas em um número significativamente maior de pares sem criar tráfego de consultas excessivos.