Escolar Documentos
Profissional Documentos
Cultura Documentos
CAMADA DE APLICAÇÃO
CAMADA DE APLICAÇÃO TEORIA DE REDES
CAMADA DE APLICAÇÃO
Objetivos:
2
CAMADA DE APLICAÇÃO TEORIA DE REDES
SUMÁRIO
3
CAMADA DE APLICAÇÃO TEORIA DE REDES
CAMADA DE APLICAÇÃO
• E-mail
• Web
• Mensagem instantânea
• Login remoto
• Compartilhamento de arquivo P2P
• Jogos de rede multiusuário
• Streaming stored videoclipes
• Telefonia via Internet
• Videoconferência em tempo real
• Computação paralela massiva
4
CAMADA DE APLICAÇÃO TEORIA DE REDES
5
CAMADA DE APLICAÇÃO TEORIA DE REDES
6
CAMADA DE APLICAÇÃO TEORIA DE REDES
ARQUITETURAS DE APLICAÇÃO
• Cliente-servidor
• Peer-to-peer (P2P)
• Híbrida de cliente-servidor e P2P
7
CAMADA DE APLICAÇÃO TEORIA DE REDES
ARQUITETURA CLIENTE-SERVIDOR
Servidor:
• Hospedeiro sempre ativo
• Endereço IP permanente
• Fornece serviços solicitados pelo
cliente
Obs.: Server farm: conjunto de
hospedeiros, servidor virtual, para
atender à demanda dos clientes.
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
• Peer-to-peer, par-a-par
• Não há um servidor sempre funcionando
no centro da aplicação
• Sistemas finais arbitrários comunicam-se
diretamente
• Pares são intermitentemente conectados e
trocam endereços IP
• Ex.: BitTorrent, Skype, IPTV.
Instant messaging
10
CAMADA DE APLICAÇÃO TEORIA DE REDES
COMUNICAÇÃO DE PROCESSOS
11
CAMADA DE APLICAÇÃO TEORIA DE REDES
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.
PROCESSOS DE ENDEREÇAMENTO
13
CAMADA DE APLICAÇÃO TEORIA DE REDES
14
CAMADA DE APLICAÇÃO TEORIA DE REDES
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”
Vazão (largura de banda)
• Algumas aplicações (ex.: multimídia) exigem uma vazão r bits/s para serem
“efetivas”
• Outras aplicações (“aplicações elásticas”), quanto maior a vazão melhor,
mas aceitam o que estiver disponível.
15
CAMADA DE APLICAÇÃO TEORIA DE REDES
* e-business: sim
16
CAMADA DE APLICAÇÃO TEORIA DE REDES
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.
17
CAMADA DE APLICAÇÃO TEORIA DE REDES
18
CAMADA DE APLICAÇÃO TEORIA DE REDES
SUMÁRIO
19
CAMADA DE APLICAÇÃO TEORIA DE REDES
WEB E HTTP
Alguns jargões:
WEB E HTTP
Atividade Classroom
21
CAMADA DE APLICAÇÃO TEORIA DE REDES
22
CAMADA DE APLICAÇÃO TEORIA DE REDES
Utiliza TCP:
• Cliente inicia conexão TCP (cria um socket) com 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);
• A conexão TCP é fechada.
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 é a tarefa do TCP e dos protocolos das camadas mais inferiores da pilha de
protocolos.
23
CAMADA DE APLICAÇÃO TEORIA DE REDES
24
CAMADA DE APLICAÇÃO TEORIA DE REDES
CONEXÕES HTTP
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.
25
CAMADA DE APLICAÇÃO TEORIA DE REDES
26
CAMADA DE APLICAÇÃO TEORIA DE REDES
27
CAMADA DE APLICAÇÃO TEORIA DE REDES
HTTP PERSISTENTE
▪ Primeiro, uma nova conexão deve ser estabelecida e mantida para cada objeto
solicitado. Para cada conexão, devem ser alocados buffers TCP e conservadas
variáveis TCP tanto no cliente quanto no servidor. Isso pode sobrecarregar
seriamente o servidor Web (OS), que poderá estar processando requisições de
centenas de diferentes clientes ao mesmo tempo.
▪ Obs.: os browsers frequentemente abrem conexões TCP paralelas para buscar
objetos referenciados
▪ Segundo, cada objeto sofre 2 RTTs: um para estabelecer a conexão TCP e outro
para solicitar e receber um objeto.
HTTP persistente
HTTP PERSISTENTE
• Padrão no HTTP/1.1
• O cliente envia requisições assim que encontra um objeto referenciado.
• O servidor envia os objetos sequencialmente.
• Gasta-se apenas um RTT para todos os objetos referenciados.
30
CAMADA DE APLICAÇÃO TEORIA DE REDES
MENSAGEM HTTP
31
CAMADA DE APLICAÇÃO TEORIA DE REDES
Corpo da entidade
• Fica vazio com o método GET.
• Método POST: quando um usuário preenche um formulário (palavras de busca a um site
buscador). O conteúdo específico de retorno depende do que o usuário escreveu.
33
CAMADA DE APLICAÇÃO TEORIA DE REDES
• 200 OK
Requisição bem-sucedida, objeto requisitado a seguir nesta mensagem.
3) Pressione duas vezes a tecla “Enter” (cariage return) após digitar a última
linha. Está sendo enviado este pedido HTTP GET mínimo (mas completo) ao
servidor HTTP.
Essa sequência de comandos abre uma conexão TCP para a porta número 80
do hospedeiro cis.poly.edu e, em seguida, envia a mensagem de requisição
HTTP.
Deverá aparecer uma mensagem de resposta que inclui o arquivo-base HTML
da homepage em questão.
35
CAMADA DE APLICAÇÃO TEORIA DE REDES
1) Para apenas ver as linhas da mensagem HTTP e não receber o objeto em si,
substitua GET por HEAD.
3)
telnet ucl.br 80
GET /~historico/ HTTP/1.1
Host: ucl.br
Obs.:
SUMÁRIO
37
CAMADA DE APLICAÇÃO TEORIA DE REDES
38
CAMADA DE APLICAÇÃO TEORIA DE REDES
41
CAMADA DE APLICAÇÃO TEORIA DE REDES
SUMÁRIO
42
CAMADA DE APLICAÇÃO TEORIA DE REDES
CORREIO ELETRÔNICO
Agente de usuário
•“leitor de correio”
• Composição, edição, leitura de
mensagens de correio
• Ex.: MS Outlook, Apple Mail
• Mensagens de entrada e de
saída são armazenadas no
servidor
43
CAMADA DE APLICAÇÃO TEORIA DE REDES
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
• Cuidam das falhas: se o servidor
de correio do remetente não
puder fazer a entrega, manterá
a mensagem em uma fila e
tentará transferi-la mais tarde.
Normalmente novas tentativas
são feitas aprox. a cada 30
minutos. Se não obtiver sucesso
após alguns dias, o servidor
removerá a mensagem e
notificará o remetente. 44
CAMADA DE APLICAÇÃO TEORIA DE REDES
Protocolo SMTP
45
CAMADA DE APLICAÇÃO TEORIA DE REDES
• Interação comando/resposta
• Comandos: texto ASCII
• Resposta: código de status e frase
46
CAMADA DE APLICAÇÃO TEORIA DE REDES
47
CAMADA DE APLICAÇÃO TEORIA DE REDES
48
CAMADA DE APLICAÇÃO TEORIA DE REDES
POP3
• Configurações: “ler-e-apagar” e “ler-e-guardar”.
• “ler-e-apagar”: não se pode reler o e-mail se trocar o cliente.
• “ler-e-guadar”: cópias das mensagens em clientes diferentes.
• POP3 é stateless através das sessões.
IMAP
• Mantém todas as mensagens em um lugar: o servidor.
• Permite que o usuário organize as mensagens em pastas.
• IMAP mantém o estado do usuário através das sessões:
• Nomes das pastas e mapeamentos entre os IDs da mensagem e o
nome da pasta.
49
CAMADA DE APLICAÇÃO TEORIA DE REDES
SUMÁRIO
50
CAMADA DE APLICAÇÃO TEORIA DE REDES
51
CAMADA DE APLICAÇÃO TEORIA DE REDES
52
CAMADA DE APLICAÇÃO TEORIA DE REDES
Servidores de
nomes raiz
Servidores
TLD (top-
level domain)
Servidores DNS
com autoridade
53
CAMADA DE APLICAÇÃO TEORIA DE REDES
54
CAMADA DE APLICAÇÃO TEORIA DE REDES
EXEMPLO 1
• O hospedeiro em cis.poly.edu
quer o endereço IP para
gaia.cs.umass.edu
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”
55
CAMADA DE APLICAÇÃO TEORIA DE REDES
EXEMPLO 1
Este exemplo trata de consultas
recursivas e consultas iterativas.
EXEMPLO 2
57
CAMADA DE APLICAÇÃO TEORIA DE REDES
SUMÁRIO
58
CAMADA DE APLICAÇÃO TEORIA DE REDES
59
CAMADA DE APLICAÇÃO TEORIA DE REDES
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 “Hey Jude”
• a aplicação exibe outros pares que possuem uma cópia de Hey Jude
• 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!
60
CAMADA DE APLICAÇÃO TEORIA DE REDES
APLICAÇÕES P2P
61
CAMADA DE APLICAÇÃO TEORIA DE REDES
APLICAÇÕES P2P
Um problema ilustrativo de
distribuição de arquivo
u: upload
d: download
62
CAMADA DE APLICAÇÃO TEORIA DE REDES
APLICAÇÕES P2P
Tempo de distribuição
para arquiteturas P2P
e cliente-servidor
APLICAÇÕES P2P
64