Академический Документы
Профессиональный Документы
Культура Документы
de implementao de
protocolos de aplicao
em redes
modelos de servio da
camada de transporte
Arquitetura clienteservidor
atravs do estudo de
protocolos populares da
camada de aplicao:
HTTP
FTP
DNS
Arquitetura peer-to-peer
(P2P)
2a: Camada de Aplicao
Captulo 2: Roteiro
2.1 Princpios dos protocolos da camada de aplicao
2.2 A Web e o HTTP
2.3 Transferncia de Arquivo (File Transfer)
FTP
Voz sobre IP
Web
Vdeo conferncia em
Instant messaging
Login remoto
Compartilhamento de
arquivos P2P
Jogos de rede multiusurios
Vdeo-clipes
armazenados
tempo real
Computao paralela
em larga escala
?
?
?
aplicao
transporte
rede
enlace
fsica
aplicao
transporte
rede
enlace
fsica
aplicao
transporte
rede
enlace
fsica
Arquitetura cliente-servidor
Servidor:
Sempre ligado
Endereo IP permanente
Prov servios pedidos pelo cliente
Escalabilidade com server farms - conjunto
de servidores que formam um servidor
virtual nico infra-estrutura intensa
(Google,Amazon,YouTube, YahooMail)
Cliente:
Comunica-se com o servidor (fala primeiro)
Pede servios ao servidor
Pode estar conectado intermitentemente
Pode ter endereos IP dinmicos
No se comunica diretamente com outros
clientes
comunicam diretamente
chamados pares (peers)
No passam por servidores
dedicados, so controlados por
usurios
Pares esto conectados
intermitentemente e mudam
endereos IP
Exemplo: BitTorrent (distribuio
arquivos), eMule (compartilhamento
arquivos), Skype (telefonia)
Alta escalabilidade
Porm, difcil de gerenciar
2a: Camada de Aplicao
Processos em comunicao
Processo: programa que
executado em um hospedeiro
processos no mesmo
hospedeiro se comunicam
usando comunicao entre
processos definida pelo
sistema operacional (SO)
processos em hospedeiros
distintos se comunicam por
protocolo da camada de
aplicao, trocando mensagens
atravs da rede
Processo servidor: processo
que espera para ser
contactado
10
Sockets (Portas)
Os processos enviam/
recebem mensagens
para/dos seus sockets
Um socket anlogo a uma
porta
Cliente
Servidor
controlado pelo
desenvolvedor da
aplicao (Browser)
processo
processo
socket
socket
TCP com
buffers,
variveis
Internet
TCP com
buffers,
variveis
controlado
pelo SO
11
Endereando os processos
Para que um processo receba
Cada
host no
qual o processo est sendo
executado suficiente para
identificar o processo?
P: o endereo IP do
posteriormente.
12
Os protocolos da camada de
aplicao definem
Tipos de mensagens
Protocolos de domnio
pblico:
definidos em RFCs
Permitem a
interoperao
ex, HTTP e SMTP
Protocolos proprietrios:
Ex., KaZaA, Skype
13
Perda de dados
multimdia) requerem
quantia mnima de banda
para serem viveis
outras aplicaes (apls
elsticas) conseguem usar
qualquer quantia de banda
disponvel
Segurana
Temporizao
garantir confidenciabilidade
Autenticidade
TCP-enhanced with SSL
(Capt. 8)
14
Perdas
Banda
Sensibilidade
temporal
transferncia de arqs
sem
perdas
elstica
no
elstica
no
sem
perdas
elstica
no
sem
perdas
udio: 5Kb-1Mb
correio
documentos WWW
udio/vdeo de
tempo real
videoconferncia
udio/vdeo gravado
jogos interativos
Mensagem
instantnea
tolerante
tolerante
vdeo:10Kb-5Mb
como anterior
elstica
sim e no
tolerante
A Internet de hoje ainda no
prov garantia de Banda e Sensibilidade Temporal
2a: Camada de Aplicao
15
sem
Orientado conexo:
inicializao requerida entre
cliente e servidor
transporte confivel entre
processos remetente e
receptor
controle de fluxo: remetente
no vai afogar receptor
controle de
congestionamento:
estrangular remetente quando
a rede estiver carregada
no prov: garantias
temporais ou de banda mnima
Servio UDP:
transferncia de dados no
16
Protocolo da
camada de apl
Protocolo de
transporte usado
TCP
TCP
TCP
TCP
17
Captulo 2: Roteiro
2.1 Princpios dos protocolos da camada de
aplicao
2.5 DNS
2.6 Compartilhamento de arquivos P2P
2a: Camada de Aplicao
18
Web e HTTP
Pginas Web consistem de objetos
Objeto pode ser um arquivo HTML, uma imagem
www.someschool.edu/someDept/pic.gif
nome do hospedeiro servidor
URL = Uniform Resource Locator
nome do caminho
2a: Camada de Aplicao
19
Protocolo HTTP
HTTP: HyperText Transfer
Protocol protocolo de
transferncia de hipertexto
protocolo da camada de
aplicao da Web
arquitetura cliente/servidor
cliente: browser que pede,
recebe, mostra objetos
Web
servidor: servidor Web
envia objetos em resposta
a pedidos
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2068
PC executa
Explorer
ped
ido
res
pos
htt
p
ta
htt
p
ttp
h
Servidor
ido
tp
d
t
e
h
p
rodando um
sta
o
p
servidor Web
res
(ex. UnB)
Mac executa
Navigator
20
Nota
21
Conexes HTTP
HTTP no persistente
No mximo um objeto
enviado numa
conexo TCP
HTTP/1.0 usa o HTTP
no persistente
HTTP persistente
Mltiplos objetos
podem ser enviados
sobre uma nica
conexo TCP entre
cliente e servidor
HTTP/1.1 usa conexes
persistentes no seu
modo default
22
tempo
23
tempo
2a: Camada de Aplicao
24
Inicia a conexo
TCP
RTT
solicita
arquivo
tempo para
transmitir
o arquivo
RTT
arquivo
recebido
tempo
tempo
25
os browser freqentemente
abrem conexes TCP paralelas
para recuperar os objetos
referenciados
HTTP persistente
26
pedido, resposta
27
Linhas do
Cabealho
Linha em branco
Corpo da
mensagem
28
linhas de
cabealho
Nmero de bytes
do objeto
dados, p.ex.,
arquivo html
solicitado
HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 ...
Content-Length: 6821
Quando o objeto
Content-Type: text/html
foi criado
ou modificado
31
32
2.
Set-cookie: 1678
Exemplo:
Cookie: 1678
3.
4.
33
arquivo de
Cookies
amazon: 1678
ebay: 8734
servidor
Set-cookie: 1678
msg usual pedido http
cookie: 1678
resposta usual http
cookie: 1678
resposta usual http
en
servidor apo trada
cria a ID 1678 io no
para o usurio
ao
especfica
do cookie
BD
de
so
aces
ac
es
so
arquivo de
Cookies
Host - ID
ebay: 8734
cliente
ao
especfica
do cookie
2a: Camada de Aplicao
34
Cookies (continuao)
O que os cookies podem fazer:
Autorizao aps
armazenamento do registro
da pessoa
Registro da lista de
compras no Ecommerce
Sugestes -recomendar
produtos
estado da sesso do usurio
(Web email) identificao
do usurio
Eles armazenam coisas que
voc acessou, sites que
voc viu
nota
Cookies e privacidade:
cookies permitem que os sites
para os sites
mecanismos de busca usam
35
cliente
Servidor
de origem
Servidor
proxy
ped
ido
htt
res
p
pos
ta
htt
p
ttp
h
ido
tt p
d
h
e
p
s ta
o
p
res
cliente
ttp
h
o
t tp
did
e
h
p
sta
o
p
res
Servidor
de origem
2a: Camada de Aplicao
36
Tipicamente o cache
Reduo do trfego no
37
Servidores
de origem
Hipteses
Internet
pblica
Utilizao da LAN =
(100kx15)bps/10Mbps=15%
enlace de acesso
1,5 Mbps
rede da
instituio
LAN 10 Mbps
38
Servidores
de origem
Soluo em potencial
Aumento da largura de banda do
Internet
pblica
Conseqncias
Utilizao da LAN = 15%
Utilizao do canal de acesso = 15%
Atraso total = atraso da Internet +
enlace de acesso
10 Mbps
rede da
instituio
LAN 10 Mbps
ampliao cara
2a: Camada de Aplicao
39
Servidores
de origem
de 0,4
Conseqncias
Internet
pblica
enlace de acesso
1,5 Mbps
rede da
instituio
LAN 10 Mbps
cache
institucional
2a: Camada de Aplicao
40
GET condicional
Servidor
de origem
cache
Meta: no enviar objeto se
resposta http
HTTP/1.0
304 Not Modified
objeto
no
modificado
resposta http
objeto
modificado
HTTP/1.1 200 OK
<data>
41
42
43
Captulo 2: Roteiro
2.1 Princpios dos protocolos da camada de aplicao
2.2 Web e HTTP
2.3 FTP
2.4 Correio Eletrnico
2.5 DNS
2.6 Compartilhamento de arquivos P2P
44
usurio
na
estao
Interface cliente
do usurio FTP
FTP
transferncia
do arquivo
FTP
servidor
sistema de
arquivos
remoto
sistema de
arquivos
local
45
conexo de controle
TCP, porta 21
cliente
FTP
conexo de dados
TCP, porta 20
servidor
FTP
46
para http)
331 Username OK, password
required
125 data connection
already open; transfer
starting
425 Cant open data
connection
452 Error writing file
47
48
Captulo 2: Roteiro
2.1 Princpios dos protocolos da camada de aplicao
2.2 Web e HTTP
2.3 FTP
2.4 Correio Eletrnico
2.5 DNS
2.6 Compartilhamento de arquivos P2P
49
Correio Eletrnico
Trs grandes componentes:
Agentes dos usurios
Servidores de mensagens
Protocolo de transferncia de
Servidor de
mensagens
SMTP
SMTP
Messenger
mensagens enviadas e recebidas so
agente
de
usurio
SMTP
Servidor de
mensagens
armazenadas no servidor
agente
de
usurio
fila de
mensagens
de sada
caixa de
correio do usurio
agente
de
usurio
Servidor de
mensagens
agente
de
usurio
agente
de
usurio
agente
de
usurio
2a: Camada de Aplicao
50
servidor de
mensagens
SMTP
agente
de
usurio
SMTP
SMTP
Servidor de
mensagens
agente
de
usurio
agente
de
usurio
Servidor de
mensagens
agente
de
usurio
agente
de
usurio
2a: Camada de Aplicao
51
servidor receptor
handshaking (cumprimento)
trmino
interao comando/respostas
52
mail
server
3
SMTP
Cliente SMTP
mail
server
5
user
agent
Servidor SMTP
2a: Camada de Aplicao
53
220 doces.br
HELO consumidor.br
250 Hello consumidor.br, pleased to meet you
MAIL FROM: <ana@consumidor.br>
250 ana@consumidor.br... Sender ok
RCPT TO: <bernardo@doces.br>
250 bernardo@doces.br ... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Voce gosta de chocolate?
Que tal sorvete?
.
250 Message accepted for delivery
QUIT
221 doces.br closing connection
54
SMTP: resumo
Comparao com HTTP
SMTP usa conexes
persistentes
SMTP requer que a mensagem
(cabealho e corpo) seja em
ASCII de 7-bits
Por exemplo: uma imagem deve
ser convertida para ASCII
antes de ser enviada
receptor deve decodificar
servidor SMTP usa
CRLF.CRLF para reconhecer o
final da mensagem
CR- Carriage return
LF- Line Feed
ambos tm interao
comando/resposta, cdigos
de status em ASCII
55
cabealho
linha em
branco
corpo
corpo
a mensagem, somente de
caracteres ASCII
2a: Camada de Aplicao
56
bits
MIME (Multipurpose Internet Mail Extensions)
57
verso MIME
mtodo usado
para codificar dados
Dados multimdia
tipo, subtipo,
parmetros
Dados codificados
From: ana@consumidor.br
To: bernardo@doces.br
Subject: Imagem de uma bela torta
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
58
Tipos MIME
Content-Type: tipo/subtipo; parmetros
Text
Audio
html
charset=iso-8859-1,
ascii
Application
Image
subtipos exemplos : jpeg,
gif
Video
adpcm (codificao 32
kbps)
quicktime
2a: Camada de Aplicao
59
Tipo Multiparte
From: alice@crepes.fr
To: bob@hamburger.edu
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=98766789
--98766789
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain
Dear Bob,
Please find a picture of a crepe.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--98766789--
60
SMTP
SMTP
servidor de e-mail
do remetente
Protocolo de acesso
POP3 ou
IMAP
agente
de
usurio
servidor de e-mail
do receptor
61
Protocolo POP3
Conexo na porta 110
Baixa e-mails para mquina atual
fase de autorizao
comandos do cliente:
S:
C:
S:
C:
S:
C:
S:
S:
S:
C:
S:
S:
C:
C:
S:
S:
C:
C:
S:
list
1 498
2 912
.
retr 1
<message 1 contents>
.
dele 1
retr 2
<message 1 contents>
.
dele 2
quit
+OK POP3 server signing off
2a: Camada de Aplicao
62
on
POP3 e IMAP
Mais sobre o POP3
O exemplo anterior usa
o modo download e
delete.
Bob no pode reler as
mensagens se mudar
de cliente
Download-emantenha: copia as
mensagens em clientes
diferentes
POP3 no mantm
estado entre conexes
IMAP
Mantm todas as
mensagens num nico
lugar: o servidor
Permite ao usurio
organizar as mensagens
em pastas
O IMAP mantm o estado
do usurio entre sesses:
63