Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelo Cliente-Servidor
Acesso
a rede
1
Aplicações
Interface de
ARP hardware RARP Acesso a rede
meio físico 3
Correio eletrônico
• É uma das aplicações mais utilizadas.
• Foi projetado para suportar falhas temporárias de comunicação entre os
sistemas através de uma técnica conhecida como spooling.
• As mensagens são transmitidas atráves de MTAs (Message Transfer
Agents) ou agentes de transferência de mensagens.
• Usuários utilizam o sistema atráves de UAs (User Agents) ou agentes
de usuário.
• Fundamentalmente são utilizados dois protocolos em um sistema de
correio eletrônico: SMTP (Simple Mail Transfer Protocol) para
transferência das mensagens e POP3 (Post Office Protocol) para
acesso remoto a caixas postais.
• O MIME define extensões ao sistema de correio eletrônico permitindo
a troca de mensagens multimídia.
• O endereço de e-mail possui um identificador para o nome do usuário
e um para o domínio separados por @: wzucchi@lps.usp.br
2
Correio eletrônico - Visão geral
agente de
agente de fila de espera
usuário transferência cliente
usuário de saída de mensagem
remetente
conexão TCP
agente de
agente de caixas postais
usuário transferência servidor
usuário de usuário de mensagem
destinatário
Correio eletrônico
Sistema com MTAs repetidores
remetente
usuário
agente de
fila de saída
usuário
organização A
MTA MTA MTA
local local local
fila de MTA
correio repetidor
via Internet
fila de MTA
correio repetidor
usuário
destinatário 6
3
SMTP (Simple Mail Transfer
Protocol)
• É especificado pela RFC 821.
• É utilizado na troca de mensagens de correio eletrônico entre MTAs e
na entrega de mensagens do UA para o MTA.
• Implementações mínimas do protocolo implementam 8 funções:
4
RFC 822
• Especifica o formato (cabeçalho e corpo) da mensagem de
correio eletrônico que é transmitida pelo protocolo SMTP.
• O cabeçalho das mensagens é utilizado pelos agentes de
usuário:
Oi Wagner! 9
5
Respostas do SMTP
Numéricas de 3 dígitos
From: bill@acollege.edu
To: john@somewhere.com
MIME-Version: 1.0
Content-Type: image/gif
Content-Transfer-Encoding: base64
...dados da imagem...
12
6
POP 3
Post Office Protocol Version 3
• Permite comunicação entre um host simples que não
suportaria SMTP e um Post Office;
13
7
Exemplo de Interação POP (1)
(Conexão TCP estabelecida do Cliente para o Servidor)
TRANSACTION C: STAT
S: + OK 2 320 (nº de mensagens e tamanho total)
C: LIST
S: 1 120
S: 2 200
S: .
15
UPDATE C: QUIT
S: +OK (mensagem é eliminada)
16
8
Extensões POP 3
17
9
Web e HTTP
Primeiro alguns jargões
• Página Web consiste de objetos
• Objeto pode ser arquivo HTML, imagem JPEG,
Java applet, arquivo de audio,…
• A página Web consiste de arquivo-HTML base
que inclui vários objetos referenciados
• Cada objeto é endereçado por uma URL
• Example URL:
www.someschool.edu/someDept/pic.gif
20
10
Visão geral do HTTP (cont.)
Utiliza TCP: HTTP é “stateless”
• cliente inicia conexão TCP • o servidor não
(cria socket) para o mantém informação
servidor na porta 80 sobre os pedidos
• servidor aceita uma passados pelos
conexão TCP do cliente clientes
• mensagens http Protocolos que mantêm
(mensagens do protocolo informações de “estado” são
de camada de aplicação)
são trocadas entre o complexos!
browser (cliente http) e o • histórico do passado (estado)
servidor Web (servidor deve ser mantido
http) • se o servidor/cliente quebra,
• A conexão TCP é fechada suas visões de “estado”
podem ser inconsistentes,
devendo ser reconciliadas
21
Conexões HTTP
22
11
HTTP não-persistente
Usuário entra com a URL:
www.someSchool.edu/someDepartment/home.index
(contém texto,
referências a 10
1a. cliente http inicia conexão imagens jpeg)
TCP ao servidor http
(processo) em 1b. servidor http no host
www.someSchool.edu. Porta www.someSchool.edu
80 é a default para o esperando pela conexão TCP
servidor http . na porta 80. “aceita” conexão,
notificando o cliente
2. cliente http client envia http
request message (contendo a
URL) para o socket da conexão 3. servidor http recebe
TCP mensagem de pedido, forma
response message contendo o
objeto solicitado
(someDepartment/home.index
), envia mensagem para o
tempo socket
23
24
12
Modelagem do Tempo de Resposta
25
13
mensagem HTTP request: formato geral
27
Entrada de formulário
Método Post: Método URL:
• Página Web • Utiliza o método GET
frequentemente • A entrada é enviada no
inclui entrada de campo de URL da
formulário linha de requisição:
• A entrada é enviada
para o servidor no
corpo da entidade
www.somesite.com/animalsearch?monkeys&banana
28
14
Tipos de métodos
HTTP/1.0 HTTP/1.1
• GET • GET, POST, HEAD
• POST • PUT
• HEAD – envia o arquivo no corpo
da entidade para o
– pede para o servidor
caminho especificado no
deixar o objeto
campo de URL
requisitado fora da
resposta • DELETE
– apaga o arquivo
especificado no campo
de URL
29
30
15
Có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 servidor
505 HTTP Version Not Supported
31
16
Estado usuário-servidor: cookies
A maioria dos grandes Exemplo:
Web sites utilizam – Susan acessa a Internet
cookies sempre do mesmo PC
Quatro componentes: – Ela visita um site
específico de e-
1) linha de cabeçalho do commerce pela primeira
cookie na mensagem vez
HTTP response
– Quando a requisição
2) linha de cabeçalho de HTTP inicial chega no
cookie na mensagem site, este cria um ID
HTTP request único e uma entrada no
3) arquivo de cookie banco de dados backend
mantido no host do para este ID
usuário e manipulado
pelo browser do usuário
4) banco de dados back-
end no Web site
33
cliente servidor
Cookie file usual http request msg servidor de ntrad
e
34
17
Cookies (cont.)
À parte
O que os cookies podem Cookies e privacidade:
trazer: • cookies permitem que sites
saibam muito sobre você
• autorização • você pode fornecer nome e e-
• cartões de compra mail para os sites
• recomendações • mecanismos de busca usam
redirecionamento e cookies
• estado de sessão do para saberem mais sobre
usuário (Web e-mail) você
• companhias de advertising
obtêm informações através
dos sites
35
18
Mais sobre Web caching
• O cache atua tanto Porque Web caching?
no servidor como no • Reduz o tempo de
cliente resposta para a
requisição do cliente.
• Tipicamente o cache
• Reduz o tráfego num
é instalado pelo ISP enlace de acesso de uma
(universidade, instituição.
companhia, ISP • A densidade de caches na
residencial) Internet habilita os
“fracos” provedores de
conteúdo a efetivamente
entregarem o conteúdo
(mas fazendo P2P file
sharing)
37
Exemplo de Caching
Suponha: servidores
• tamanho médio objeto = de origem
100,000 bits
Internet
• taxa média de requisições dos pública
browsers da instituição para os
servidores de origem = 15/sec
• atraso do roteador institucional
para ir a qualquer servidor de 1.5 Mbps
origem e retornar ao roteador link de acesso
= 2 seg.
rede
Consequências: institucional
10 Mbps LAN
• utilização da LAN = 15%
• utilização do link de acesso =
100%
• atraso total = atraso da cache
Internet + atraso de acesso + institucional
atraso da LAN = 2 seg + minutos
+ milisegundos 38
19
Exemplo de Caching (cont.)
servidores
Solução Possível de origem
• aumentar a largura de banda
do enlace de acesso, como, 10 Internet
Mbps pública
Conseqüências
• utilização da LAN = 15%
• utilização do enlace de acesso 10 Mbps
link de acesso
= 15%
• atraso total = atraso da rede
institucional
Internet + atraso de acesso + 10 Mbps LAN
atraso da LAN = 2 seg + msegs
+ msegs
• frequentemente é um upgrade
caro cache
institucional
39
40
20
GET condicional
servidor
• Razão: não enviar objeto cliente
se a versão que o cliente já http request msg
possui está atualizada. If-modified-since:
objeto
<date>
• cliente: especifica data da não
versão armazenada no http response modificado
pedido HTTP HTTP/1.0
If-modified-since: 304 Not Modified
<date>
• servidor: resposta não http request msg
contém objeto se a cópia é If-modified-since:
<date> objeto
atualizada: modificado
HTTP/1.0 304 Not http response
Modified HTTP/1.1 200 OK
<data>
41
21
DNS
22
DNS: Servidores de Nomes Raiz
• são contatados pelos servidores de nomes locais que não podem
resolver um nome
• servidores de nomes raiz::
– buscam servidores de nomes autoritativos se o mapeamento do
nome não for conhecido
– conseguem o mapeamento
– returnam o mapeamento para o servidor de nomes local
a NSI Herndon, VA
c PSInet Herndon, VA k RIPE London
d U Maryland College Park, MD i NORDUnet Stockholm
g DISA Vienna, VA
h ARL Aberdeen, MD
j NSI (TBD) Herndon, VA m WIDE Tokyo
e NASA Mt View, CA
f Internet Software C. Palo Alto,
CA
existem 13
servidores de
b USC-ISI Marina del Rey, CA
nomes raiz no
l ICANN Marina del Rey, CA mundo
45
23
Servidor de nomes local
47
Exemplo
servidor DNS de raíz
• O host em
cis.poly.edu quer o
endereço IP para
2
3
servidor DNS
gaia.cs.umass.edu 4 TLD
5
24
Consultas recursivas
servidor DNS de
consulta recursiva: raíz
• transfere a tarefa de
resolução do nome
2
para o servidor de 3
nomes consultado 6 servidor
7
• carga pesada? DNS TLD
consulta encadeada:
• servidor contactado servidor DNS local 4
5
responde com o nome
dns.poly.edu
de outro servidor de 1 8
nomes para contato
• “Eu não sei isto ,mas servidor DNS autoritativo
pergunte a este dns.cs.umass.edu
host requisitante
servidor” cis.poly.edu
49
gaia.cs.umass.edu
50
25
Registros do DNS
DNS: base de dados distribuída que armazena registros de
recursos (RR)
formato dos RR: (name, value,
type,ttl)
• Type=A • Type=CNAME
– name é o nome do – name é um “apelido” para
computador algum nome “canônico” (o
– value é o endereço IP nome real)
www.ibm.com é realmente
• Type=NS servereast.backup2.ibm.com
– name é um domínio (ex.
– value é o nome canônico
foo.com)
• Type=MX
– value é o endereço IP do
servidor de nomes – value é o nome do servidor
autoritativo para este de correio associado com
domínio name
51
52
26
DNS: protocolo e mensagens
RRs de resposta
a uma consulta
registros para
servidores autoritativos
informação adicional
que pode ser útil
53
54
27
DNS Dinâmico
• Permite associar um endereço IP variável a
um nome fixo de host
• Ideal para trabalhar com equipamentos que
recebem endereços IP diferentes ao longo
do tempo, tais como computadores em redes
corporativas ou residenciais
• Existem empresas que oferem serviços
publicamente disponíveis de DNS dinâmico
55
56
28
NAT: Network Address Translation
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
58
29
NAT: Network Address Translation
59
30
NAT: Network Address Translation
61
NAT Traversal
• Refere-se ao problema de estabelecimento de
conexões TCP em redes que utilizam NAT
• Problema comum em aplicações peer-to-peer e
VoIP onde é preciso conhecer o endereço IP de
estações de trabalho
• Várias soluções são propostas mas nenhuma
funciona em todas as topologias possíveis
• Soluções transparentes x soluções com controle da
operação do NAT
62
31
Padrões para NAT Traversal
• Padrão H.460.17/18/19 (verão de 2005)
• Trata de tráfego H.225 / H.245 (sinalização)
e de tráfego de dados (RTP)
• Baseado em contribuições de fabricantes
63
64
32
Instalação: NEAR END NAT
65
66
33
Operação do STUN
Servidor Servidor
STUN de Sinalização
conexão STUN
conexão de controle
conexão de dados
Parceiro
Fim-a-Fim
67
Tipos de NAT
a) Full Cone: é o tipo de NAT onde todos as mensagens provenientes do mesmo endereço interno
e da mesma porta são mapeados no mesmo endereço IP externo e porta. Além disso, qualquer
computador externo pode enviar um pacote para um computador interno enviando o pacote
para o endereço externo mapeado;
b) Cone Restrito: Os endereços internos são mapeados como no caso do full cone, mas um
computador externo (com endereço IP X) pode enviar um pacote para um computador interno
somente se o computador interno previamente enviou algum pacote para o endereço X;
c) Cone Restrito por Porta: a operação é semelhante à do tipo Cone Restrito, mas a restrição
inclui os números das portas. Especificamente um computador externo, com endereço IP X e
porta P, pode enviar um pacote para um computador interno somente se o computador interno
previamente enviou um pacote para o endereço X e para a porta P;
d) Simétrico: todos os pedidos de uma mesmo endereço IP interno e porta e que são destinam a
um específico endereço IP externo e porta são mapeados para o mesmo endereço IP externo e
porta. No entanto, se uma mensagem vinda do mesmo endereço IP interno e da mesma porta
for enviada para um outro computador externo, é usado um mapeamento diferente. Além disso,
somente o computador externo que recebeu um pacote pode enviar um pacote UDP de volta
para o computador interno.
68
34