Beruflich Dokumente
Kultur Dokumente
Camada de aplicao
o Paradigma cliente-servidor
o Paradigma peer-to-peer
HTTP
FTP
Telnet/SSH
SMTP/ POP3/ IMAP
DNS
Nossos objetivos:
o
o
o
o
o
Definies de protocolo
da camada de aplicao
e-mail
web
mensagem instantnea
login remoto
compartilhamento de
arquivos P2P
jogos em rede
multiusurios
clipes de vdeo
armazenados em fluxo
contnuo
sintaxe da mensagem:
que campos nas mensagens & como os campos so delineados
semntica da mensagem
significado da informao nos campos
protocolos proprietrios:
p. e., Skype, ppstream
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II
redes sociais
VoIP (voice over IP)
videoconferncia em
tempo real
computao em grade
Arquiteturas de aplicao
Arquitetura cliente-servidor
Servidor:
Hospedeiro sempre ligado
Endereo IP permanente
Fornece servios solicitados pelo
cliente
Cliente-servidor
Incluindo centros de dados/cloud computing
Peer-to-peer (P2P)
Hbrida de cliente-servidor e P2P
Clientes:
Comunicam-se com o servidor
Pode ser conectado
intermitentemente
Pode ter endereo IP dinmico
No se comunicam diretamente
uns com os outros
Cliente-Servidor
Vantagens
Segurana
Controle central de arquivos
Servidores dedicados e
otimizados
Os usurios no se preocupam
com a administrao
Desvantagens
Custo
Hardware
Software
necessrio um administrador
Baixa escalabilidade
Baixa disponibilidade
10
10
12
12
11
11
Peer-to-Peer
Vantagens
Sem investimento extra com
servidores
Alta escalabilidade
Alta disponibilidade
Sem administrador
Desvantagens
Sem organizao central
P2P
Os usurios so os
administradores
Sem segurana
Exemplo
Skype
aplicao P2P voice-over-IP P2P
servidor centralizado: achando endereo da parte remota:
conexo cliente-cliente: direta (no atravs de servidor)
Mensagem instantnea
bate-papo entre dois usurios P2P
servio centralizado: deteco/localizao da presena do cliente
o usurio registra seu endereo IP com servidor central quando entra on-line
o usurio contata servidor central para descobrir endereos IP dos parceiros
13
13
Comunicao de processos
14
14
16
16
Sockets
Processo servidor:
o processo que espera para ser contatado
Um processo envia/recebe
mensagens para/de seu socket
a interface de comunicao entre
a camada de aplicao e camada de
transporte
O socket anlogo 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 recepo.
Nota: aplicaes com arquiteturas P2P possuem processos cliente e processos servidor
15
15
Perda de dados
Algumas aplicaes (ex.: udio) podem tolerar alguma perda
Outras aplicaes (ex.: transferncia de arquivos, telnet) exigem
transferncia de dados 100% confivel
Temporizao
Controle de congestionamento:
No oferece:
garantias de temporizao e de banda mnima
Servio UDP:
Transferncia de dados no confivel entre os processos transmissor e receptor
No oferece:
Segurana
17
17
Aplicao
Perda de dados
Vazo
Sensvel ao tempo
transf. arquivos
e-mail
documentos Web
udio/vdeo
tempo real
udio/vdeo
armazenado
jogos interativos
Mensagem
instantnea
sem perda
sem perda
sem perda
tolerante a perda
no
no
no
sim, centenas de ms
tolerante a perda
elstica
elstica
elstica
udio: 5 kbps-1 Mbps
vdeo:10 kbps-5 Mbps
o mesmo que antes
tolerante a perda
sem perda
sim, centenas de ms
sim e no
19
18
20
20
18
19
Aplicao
Protocolo da camada
de aplicao
Protocolo de
transporte bsico
e-mail
acesso remoto
Web
transf. arquivos
multimdia com
fluxo contnuo
telefonia da
Internet
TCP
TCP
TCP
TCP
TCP ou UDP
normalmente UDP
Protocolos de aplicao
e transporte
Servio Web e
Protocolo HTTP
21
21
Web e HTTP
Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de
udio,
Estrutura de URL
Cliente
protocolo://mquina:porta/caminho/recurso
Exemplo de URL:
Servidor
o Servidor Web Apache, IIS, etc...
http://www.resultado.com.br:80/final/2010/aprovados.htm
Protocolo
23
23
Mquina
Porta
Caminho
Recurso
24
24
Protocolo da camada de
aplicao da Web
1.
3.
2.
Modelo cliente/servidor
Cliente: browser que solicita,
recebe e apresenta objetos da
Web
4.
HTTP stateless
O servidor no mantm informao sobre os pedidos passados pelos
clientes
Protocolos que mantm informaes de estado so complexos!
Verses
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2616
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II
25
25
Conexes HTTP
26
26
HTTP no persistente
HTTP no persistente
No mximo, um objeto enviado sobre uma conexo TCP
o O cliente emite novas requisies apenas quando a resposta anterior for recebida
Tempo
27
27
28
28
HTTP no persistente
5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o contedo
html. Analisando o arquivo html, encontra 10 objetos jpeg referenciados
Tempo
Carriage return,
(extra carriage return, line feed)
line feed
indica fim da mensagem
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II
29
29
Mensagem de requisio
HTTP: formato geral
30
30
Tipos de mtodos
HTTP/1.0
GET
POST
HEAD
Pede para o servidor deixar o objeto requisitado fora da resposta
HTTP/1.1
GET, POST, HEAD
PUT
Envia o arquivo no corpo da entidade para o caminho especificado
no campo de URL
DELETE
Apaga o arquivo especificado no campo de URL
31
31
32
32
Entrada de formulrio
Mtodo Post:
Linha de status
(protocolo cdigo de
status frase de status)
Mtodo GET:
A entrada enviada no campo de URL da linha de requisio:
Linhas de
cabealho
www.carioca.br/procuraaluno.php?matricula=1234&nome=jose
33
HTTP/1.0 200 OK
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 ...
Content-Length: 6821
Content-Type: text/html
Dados, ex.:
arquivo html
33
34
34
36
36
HTTP Request
Utilizada para enviar informaes para o cliente de que sua requisio foi recebida e est sendo
processada
200 - Requisio bem sucedida
200 OK
Sucesso: Requisio bem-sucedida, objeto requisitado a seguir nesta mensagem
Cabealho
300 - Redirecionamento
301 Moved permanently
o Redirecionamento: Objeto requisitado foi movido, nova localizao especificada a seguir nesta mensagem
(Location:)
Corpo da mensagem
35
35
Cabealho
Cabealho
Corpo da mensagem
Corpo da mensagem
37
37
38
38
Exemplo:
Usurio sempre acessa a
Internet pelo PC
visita um site de comrcio
eletrnico pela primeira vez
quando as primeiras
requisies HTTP chegam ao
site, este cria:
ID exclusivo
entrada no banco de dados de
apoio para o ID
Corpo da mensagem
39
39
40
40
arq. de cookie
servidor
requisio http normal
resposta http normal
Set-cookie: 1678
ebay 8734
amazon 1678
cookie: 1678
uma semana depois:
ebay 8734
amazon 1678
servidor Amazon
cria ID 1678
para usurio cria
entrada
ao
acessa
especfica
do cookie
acessa
cookie: 1678
resposta http normal
banco de
dados de
apoio
ao
especfica
do cookie
41
41
servidor
de origem
servidor
proxy
cliente
cliente
42
42
Objetivo:
Satisfazer a requisio do
cliente sem envolver servidor de
origem
aparte
Cookies e privacidade:
cookies permitem que os sites
descubram muito sobre voc
voc pode fornecer nome e e-mail
aos sites
servidor
de origem
43
43
44
44
GET condicional
servidor
cache
Objetivo:
no enviar objeto
resposta HTTP
objeto
no
modificado
HTTP/1.0
304 Not Modified
objeto
modificado
resposta HTTP
HTTP/1.0 200 OK
<dados>
45
45
46
46
48
48
49
49
exemplos de comandos:
enviado como texto ASCII pelo canal
de controle
USER nome-usurio
PASS senha
LIST retorna lista de arquivos no
diretrio atual
RETR nome-arquivo recupera
(apanha) arquivo
50
50
Terminal remoto
Acesso Remoto
52
52
Exemplo de Telnet
53
53
Correio eletrnico
Trs componentes principais:
Agentes de usurio
Servidores de correio
Simple mail transfer protocol:
SMTP
agente
usurio
SMTP
SMTP
serv.
correio
agente
usurio
agente
usurio
agente
usurio
agente
usurio
agente
usurio
SMTP
55
agente
usurio
mail
server
SMTP
serv.
correio
agente
usurio
agente
usurio
agente
usurio
55
fila de
msg. de sada
caixa de entrada
do usurio
serv.
correio
agente
usurio
mail
server
Servidores de correio
Caixa postal contm mensagens que
chegaram (ainda no lidas) para o
usurio
fila de
msg. de sada
caixa de entrada
do usurio
serv.
correio
Agente de usurio
leitor de correio
Composio, edio, leitura de
mensagens de correio
agente
usurio
56
56
Handshaking (apresentao)
Transferncia de mensagens
Fechamento
Interao comando/resposta
agente
usurio
57
57
serv.
correio
3
agente
usurio
58
58
S: 220 provedor1.com
C: HELO provedor2.com
S: 250 Ola provedor2.com, prazer em conhecer
C: MAIL FROM: <alice@provedor2.com>
S: 250 alice@provedor2.com... Remetente ok
C: RCPT TO: <bob@provedor1.com>
S: 250 bob@provedor1.com ... Destinatrio ok
C: DATA
S: 354 Entre com o email e termine com "." em uma linha
C: Voc gosta da aula de Arquitetura de Redes?
C: Ser que conseguiremos passar?
C: .
S: 250 Mensagem aceita para entrega
C: QUIT
S: 221 provedor1.com fechando conexo
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II
serv.
correio
Mensagem
Composta por cabealho e corpo
59
59
60
60
Exemplo de mensagem
header
corpo
linha
em branco
body
61
61
Verso da MIME
Mtodo usado
para codificar dados
Dados multimdia
tipo, subtipo,
declarao de parmetro
64
64
From: alice@provedor2.com
To: bob@provedor1.com
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
Dados codificados
62
62
63
63
Protocolo POP3
fase de autorizao
comandos do cliente:
user: declare username
pass: senha
respostas do servidor
+OK
-ERR
S:
C:
S:
C:
S:
Servio de nomes
Protocolo DNS
C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: <message 1 contents>
S: .
C: dele 1
C: retr 2
S: <message 1 contents>
S: .
C: dele 2
C: quit
S: +OK serv. POP3 desconectando
65
65
Funo Principal:
Traduz um nome de domnio em um endereo IP
O uso de nomes facilita a memorizao do usurio ao invs de decorar nmeros IPs ou
MAC address
67
67
68
68
69
69
70
70
a.root-servers.net,,m.root-servers.net
Existem 13 servidores de
nomes raiz no mundo
71
71
72
72
hospedeiro em cis.poly.edu
quer endereo IP para
gaia.umass.edu
3
4
5
serv. DNS local
dns.poly.edu
hospedeiro
solicitante
cis.poly.edu
gaia.umass.edu
73
73
74
74
consulta recursiva:
Transfere a resoluo de nome
para o servidor de nomes
contactado
3
7
Primrias
Secundrias
Primrias
hospedeiro
solicitante
Secundrias
o Zona espelho de uma zona primria
o Precisa ser atualizada frequentemente para manter a consistncias entre zonas
cis.poly.edu
gaia.umass.edu
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade II
75
75
76
76
Tipos de registros
77
77
Tipos de Registros
78
78
80
80
Host(A)
Alias (CNAME)
Para mapear um nome de domnio DNS alias para outro nome primrio ou
cannico.
Ponteiro (PTR)
Para mapear um nome de domnio DNS inverso com base no endereo IP de
um computador que aponta para o nome de domnio DNS encaminhado
desse computador.
79
79
81
81