Sunteți pe pagina 1din 36

FPROT HTTP(s), FTP, DHCP,

SQUID e SAMBA
Aula 1
SENAC TI
Fernando Costa
2
Camada de Aplicao
Objetivos:
aspectos conceituais
dos protocolos de
aplicao em redes
modelos de servio da
camada de transporte
paradigma cliente
servidor
paradigma peer-to-
peer
Estudo de alguns
protocolos populares
da camada de
aplicao:
HTTP(s)
FTP
DHCP
3
Algumas aplicaes de rede
E-mail
Web
Instant messaging
Login remoto
Compartilhamento de
arquivos P2P
Jogos em rede multi-
usurios
Vdeo-clipes
armazenados
Voz sobre IP
Vdeo conferncia em
tempo real
Computao paralela
em larga escala
...
4
O que uma aplicao de rede
Programas que
Executam em diferentes sistemas
finais
Comunicam-se atravs da rede
p.ex., Web: servidor Web se
comunica com o navegador
Programas no relacionados
ao ncleo da rede
Dispositivos do ncleo da rede
no executam aplicaes de
usurios
Aplicaes nos sistemas finais
permite rpido desenvolvimento e
disseminao
aplicao
transporte
rede
enlace
fsica
aplicao
transporte
rede
enlace
fsica
aplicao
transporte
rede
enlace
fsica
5
Arquiteturas das aplicaes
Cliente-servidor
Par-a-par (peer-to-peer) (P2P)
6
Arquitetura
cliente-servidor
Servidor:
Sempre ligado
Endereo IP permanente
Cliente:
Comunica-se com o servidor
Pode estar conectado
intermitentemente
Pode ter endereos IP
dinmicos
No se comunica diretamente
com outros clientes
7
Arquitetura P2P
No h servidor sempre
ligado
Sistemas finais arbitrrios
se comunicam
diretamente
Pares esto conectados
intermitentemente e
mudam endereos IP
Exemplo: Gnutella
Altamente escalvel
Porm, difcil de gerenciar
8
Hbrido de cliente-servidor e P2P
Napster
Transferncia de arquivos P2P
Busca de arquivos centralizada:
Pares registram contedo no servidor central
Pares consultam o mesmo servidor central para
localizar contedo
Instant messaging
Conversa entre usurios P2P
Localizao e deteco de presena centralizadas:
Usurios registram o seu endereo IP junto ao
servidor central quando ficam online
Usurios consultam o servidor central para
encontrar endereos IP dos contatos
9
Comunicao de processos
Processo: programa que executa
num hospedeiro
processos no mesmo
hospedeiro se comunicam
usando comunicao entre
processos definida pelo
sistema operacional (SO)
processos em hospedeiros
distintos se comunicam
trocando mensagens atravs
da rede
Nota: aplicaes com
arquiteturas P2P possuem
processos clientes e processos
servidores
Processo cliente: processo que inicia
a comunicao
Processo servidor: processo que
espera para ser contatado
10
Sockets
Os processos enviam/
recebem mensagens
para/dos seus sockets
Um socket anlogo a
uma porta
Processo transmissor envia
a mensagem atravs da
porta
O processo transmissor
assume a existncia da
infra-estrutura de transporte
no outro lado da porta que
faz com que a mensagem
chegue ao socket do
processo receptor
processo
TCP com
buffers,
variveis
socket
host ou
servidor
processo
TCP com
buffers,
variveis
socket
host ou
servidor
Internet
controlado
pelo SO
controlado pelo
desenvolvedor da
aplicao
11
Endereando os processos
Para que um processo receba
mensagens, ele deve possuir
um identificador
Cada host possui um
endereo IP nico de 32 bits
Pergunta: O endereo IP do
host no qual o processo est
sendo executado suficiente
para identificar o processo?
Resposta: No, muitos
processos podem estar
executando no mesmo host.
O identificador inclui tanto o
endereo IP quanto os
nmeros das portas
associadas com o processo
no host.
Exemplo de nmeros de
portas:
Servidor HTTP: 80
Servidor de Correio: 25
12
Os protocolos da camada de aplicao
definem
Tipos de mensagens
trocadas, ex. mensagens de
pedido e resposta
Sintaxe dos tipos das
mensagens: campos
presentes nas mensagens e
como so identificados
Semntica dos campos, i.e.,
significado da informao
nos campos
Regras para quando os
processos enviam e
respondem s mensagens
Protocolos de domnio
pblico:
definidos em RFCs
Permitem a
interoperao
ex, HTTP e SMTP
Protocolos proprietrios:
Ex., KaZaA
13
De que servio de transporte uma aplicao
precisa?
Perda de dados
algumas apls (p.ex. udio)
podem tolerar algumas
perdas
outras (p.ex., transf. de
arquivos, telnet) requerem
transferncia 100% confivel
Temporizao
algumas apls (p.ex.,
telefonia Internet, jogos
interativos) requerem baixo
retardo para serem viveis
Largura de banda
algumas apls (p.ex.,
multimdia) requerem
quantia mnima de banda
para serem viveis
outras apls (apls elsticas)
conseguem usar qq quantia
de banda disponvel
14
Requisitos do servio de transporte de apls
comuns
Aplicao
transferncia de arqs
correio
documentos WWW
udio/vdeo de
tempo real
udio/vdeo gravado
jogos interativos
apls financeiras
Perdas
sem perdas
sem perdas
sem perdas
tolerante
tolerante
tolerante
sem perdas
Banda
elstica
elstica
elstica
udio: 5Kb-1Mb
vdeo:10Kb-5Mb
como anterior
> alguns Kbps
elstica
Sensibilidade
temporal
no
no
no
sim, 100s mseg
sim, alguns segs
sim, 100s mseg
sim e no
15
Servios providos por protocolos de transporte
Internet
Servio TCP:
orientado a 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
confivel entre processos
remetente e receptor
no prov: estabelecimento
da conexo, confiabilidade,
controle de fluxo, controle de
congestionamento, garantias
temporais ou de banda
mnima
16
Apls Internet: seus protocolos e seus
protocolos de transporte
Aplicao
correio eletrnico
acesso terminal remoto
WWW
transferncia de arquivos
streaming multimdia
telefonia Internet
Protocolo da
camada de apl
SMTP [RFC 2821]
telnet [RFC 854]
HTTP [RFC 2616]
ftp [RFC 959]
proprietrio
(p.ex. RealNetworks)
proprietrio
(p.ex., Dialpad)
Protocolo de
transporte usado
TCP
TCP
TCP
TCP
TCP ou UDP
tipicamente UDP
17
Web e HTTP
Pginas Web consistem de objetos
Objeto pode ser um arquivo HTML, uma imagem
JPEG, um applet Java, um arquivo de udio,
Pginas Web consistem de um arquivo HTML base
que inclui vrios objetos referenciados
Cada objeto enderevel por uma URL
Exemplo de URL:
www.someschool.edu/someDept/pic.gif
nome do hospedeiro nome do caminho
18
Protocolo HTTP
HTTP: hypertext transfer
protocol
protocolo da camada de
aplicao da Web
modelo cliente/servidor
cliente: browser que
pede, recebe, visualiza
objetos Web
servidor: servidor Web
envia objetos em
resposta a pedidos
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2068
PC executa
Explorer
Servidor
executando
servidor
WWW
do NCSA
Mac executa
Navigator
p
e
d
i
d
o

h
t
t
p
p
e
d
i
d
o

h
t
t
p
r
e
s
p
o
s
t
a

h
t
t
p
r
e
s
p
o
s
t
a

h
t
t
p
19
Mais sobre o protocolo HTTP
Usa servio de transporte
TCP:
cliente inicia conexo TCP
(cria socket) ao servidor, porta
80
servidor aceita conexo TCP
do cliente
mensagens HTTP
(mensagens do protocolo da
camada de apl) trocadas entre
browser (cliente HTTP) e
servidor Web (servidor HTTP)
encerra conexo TCP
HTTP sem estado
servidor no mantm
informao sobre
pedidos anteriores do
cliente
20
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
21
Formato de mensagem HTTP: pedido
Dois tipos de mensagem HTTP: pedido, resposta
mensagem de pedido HTTP:
ASCII (formato legvel por pessoas)
GET /somedir/page.html HTTP/1.0
Host: www.someschool.edu
User-agent: Mozilla/4.0
Connection: close
Accept-language:fr
(carriage return (CR), line feed(LF) adicionais)
linha do pedido
(comandos GET,
POST, HEAD)
linhas do
cabealho
Carriage return,
line feed
indicam fim
de mensagem
22
Mensagem de pedido
HTTP: formato geral
23
Formato de
mensagem HTTP:
resposta
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
Content-Type: text/html
dados dados dados dados ...
linha de status
(protocolo,
cdigo de status,
frase de status)
linhas de
cabealho
dados, p.ex.,
arquivo html
solicitado
24
cdigos de status da resposta HTTP
200 OK
sucesso, objeto pedido segue mais adiante nesta mensagem
301 Moved Permanently
objeto pedido mudou de lugar, nova localizao especificado
mais adiante nesta mensagem (Location:)
400 Bad Request
mensagem de pedido no entendida pelo servidor
404 Not Found
documento pedido no se encontra neste servidor
505 HTTP Version Not Supported
verso de http do pedido no usada por este servidor
Na primeira linha da mensagem de resposta
servidor->cliente. Alguns cdigos tpicos:
Tipos de requisies HTTP
GET
Parmetros so enviados na url da solicitao
http://localhost:8080/sirius/processaForm.jsp?firstnam
e=Carlos&lastname=Bazilio&senha=abcdefg
Envio de parmetros firstname e lastname e senha
para um recurso no servidor (neste caso, uma pgina
jsp processaForm.jsp)
Estas urls podem ser armazenadas como favoritos
Tipo padro (default)
No recomendado para o envio de informaes
sigilosas
Tipos de requisies HTTP
POST
Parmetros so enviados de maneira invisvel para o
cliente (no cabealho da solicitao e no na url)
Com isso, a url no pode ser armazenada
Interessante para o envio de informaes sigilosas
HEAD
Solicitar apenas o cabealho da solicitao
Interessante quando se deseja saber o tamanho ou
data da atualizao de um recurso
Tipos de requisies HTTP
Pouco Utilizados
PUT
Colocar um documento diretamente no servidor
DELETE
Remover um documento do servidor
TRACE
Efetuar um debug da solicitao. Retorna para o
cliente o contedo exato da solicitao
OPTIONS
Perguntar ao servidor que mtodos ele suporta ou
que opes esto disponveis para algum recurso
particular
28
Cache Web (servidor
proxy)
usurio configura browser:
acessos Web via proxy
cliente envia todos pedidos
HTTP ao proxy
se objeto no cache do
proxy, este o devolve
imediatamente na
resposta HTTP
seno, solicita objeto do
servidor de origem,
depois devolve resposta
HTTP ao cliente
Meta: atender pedido do cliente sem envolver servidor de origem
cliente
Servidor
proxy
cliente
p
e
d
i
d
o

h
t
t
p
p
e
d
i
d
o

h
t
t
p
r
e
s
p
o
s
t
a

h
t
t
p
r
e
s
p
o
s
t
a

h
t
t
p
p
e
d
i
d
o

h
t
t
p
r
e
s
p
o
s
t
a

h
t
t
p
Servidor
de origem
Servidor
de origem
29
FTP: o protocolo de
transferncia de
arquivos
transferir arquivo de/para hospedeiro remoto
modelo cliente/servidor
cliente: lado que inicia transferncia (pode ser de ou para
o sistema remoto)
servidor: hospedeiro remoto
ftp: RFC 959
servidor ftp: porta 21
transferncia
do arquivo
FTP
servidor
Interface
do usurio
FTP
cliente
FTP
sistema de
arquivos
local
sistema de
arquivos
remoto
usurio
na
estao
30
FTP: conexes separadas
p/ controle, dados
cliente FTP contata servidor FTP
na porta 21, especificando o TCP
como protocolo de transporte
O cliente obtm autorizao
atravs da conexo de controle
O cliente consulta o diretrio
remoto enviando comandos
atravs da conexo de controle
Quando o servidor recebe um
comando para a transferncia de
um arquivo, ele abre uma
conexo de dados TCP para o
cliente
Aps a transmisso de um
arquivo o servidor fecha a
conexo
O servidor abre uma segunda
conexo TCP para transferir outro
arquivo
Conexo de controle: fora da faixa
Servidor FTP mantm o estado:
diretrio atual, autenticao anterior
cliente
FTP
servidor
FTP
conexo de controle
TCP, porta 21
conexo de dados
TCP, porta 20
31
FTP: comandos,
respostas
Comandos tpicos:
enviados em texto ASCII
pelo canal de controle
USER nome
PASS senha
LIST devolve lista de
arquivos no diretrio atual
RETR arquivo recupera
(l) arquivo remoto
STOR arquivo armazena
(escreve) arquivo no
hospedeiro remoto
Cdigos de retorno tpicos
cdigo e frase de status (como
para http)
331 Username OK, password
required
125 data connection
already open; transfer
starting
425 Cant open data
connection
452 Error writing file
32
Correio Eletrnico
Trs grandes componentes:
agentes de usurio (UA)
servidores de correio
simple mail transfer protocol: SMTP
Agente de Usurio
leitor de correio
compor, editar, ler mensagens de
correio
p.ex., Eudora, Outlook, elm,
Netscape Messenger
mensagens de sada e chegando so
armazenadas no servidor
caixa de
correio do usurio
fila de
mensagens
de sada
agente
de
usurio
servidor
de correio
agente
de
usurio
SMTP
SMTP
SMTP
agente
de
usurio
agente
de
usurio
agente
de
usurio
agente
de
usurio
servidor
de correio
servidor
de correio
33
Servidores de
correio
Servidores de correio
caixa de correio contm
mensagens de chegada
(ainda no lidas) p/ usurio
fila de mensagens contm
mensagens de sada (a
serem enviadas)
protocolo SMTP entre
servidores de correio para
transferir mensagens de
correio
cliente: servidor de correio
que envia
servidor: servidor de
correio que recebe
servidor
de correio
agente
de
usurio
SMTP
SMTP
SMTP
agente
de
usurio
agente
de
usurio
agente
de
usurio
agente
de
usurio
servidor
de correio
servidor
de correio
34
Correio Eletrnico:
SMTP [RFC 2821]
usa TCP para a transferncia confivel de msgs
do correio do cliente ao servidor, porta 25
transferncia direta: servidor remetente ao
servidor receptor
trs fases da transferncia
handshaking (cumprimento)
transferncia das mensagens
encerramento
interao comando/resposta
comandos: texto ASCII
resposta: cdigo e frase de status
35
Protocolos de acesso ao correio
SMTP: entrega/armazenamento no servidor do
receptor
protocolo de acesso ao correio: recupera do servidor
POP: Post Office Protocol [RFC 1939]
autorizao (agente <-->servidor) e
transferncia
IMAP: Internet Mail Access Protocol [RFC 1730]
mais comandos (mais complexo)
manuseio de msgs armazenadas no
servidor
HTTP: Hotmail , Yahoo! Mail, Webmail, etc.
servidor de correio
do remetente
SMTP SMTP
POP3 ou
IMAP
servidor de correio
do receptor
agente
de
usurio
agente
de
usurio
Fernando Costa
www.fernandocosta.com.br
fernandocosta@gmail.com

S-ar putea să vă placă și