Anda di halaman 1dari 34

Redes e Segurana de

Sistemas de Informao
Faculdade Impacta Tecnologia FIT

Prof Andr Koide da Silva


andre@aksilva.com

2013

Prof Andr Koide da Silva

Parte 2: Camada de Aplicao

Objetivos:
Aspectos conceituais e de Protocolos especficos
implementao dos HTTP
protocolos de aplicao em
FTP
redes
TELNET
Aprender sobre protocolos
atravs do estudo de SNMP
protocolos populares do DHCP
nvel da aplicao SMTP
POP
DNS

Prof Andr Koide da Silva


Aplicaes e protocolos da
camada de aplicao
Aplicao: processos
aplicao
distribudos em comunicao transporte
rede
executam em hospedeiros no enlace
fsica
espao de usurio
trocam mensagens para
implementar a aplicao
Protocolo da camada de
aplicao
uma parte da aplicao
aplicao
aplicao
define mensagens trocadas por transporte
transporte
rede
rede
aplicaes e aes tomadas enlace
enlace
fsica
fsica
usa servios providos por
protocolos de camadas
inferiores
Prof Andr Koide da Silva

Aplicaes de rede:
algum jargo

Um processo um Um agente de usurio (UA)


programa executado num uma interface entre o
hospedeiro usurio e a aplicao de
2 processos no mesmo rede
hospedeiro se comunicam WWW: browser
usando as regras de Correio:
comunicao entre leitor/compositor de
processos definidas pelo mensagens
sistema operacional (SO) Streaming udio/vdeo:
2 processos em hospedeiros tocador de mdia
distintos se comunicam
usando um protocolo da
camada de aplicao

Prof Andr Koide da Silva


Paradigma
cliente-servidor (C-S)
Cliente:
aplicao
Inicia contato com o servidor (fala transporte
rede resposta
primeiro) enlace
fsica
Tipicamente solicita um servio
Para WWW, cliente implementado
no browser; para correio, no leitor
de mensagens
Servidor:
pedido
Prov ao cliente o servio
requisitado aplicao
transporte
Por exemplo, servidor WWW envia rede
enlace
pgina solicitada; servidor de fsica

correio entrega mensagens

Prof Andr Koide da Silva

Protocolos da camada
de aplicao
API: interface de Como um processo pode
programao de aplicaes identificar o outro com o
Define interface entre qual quer se comunicar?
aplicao e camada de endereo IP do
transporte hospedeiro do outro
Socket (tomada): API da processo
Internet nmero de porta -
2 processos se permite que o
comunicam enviando hospedeiro receptor
dados para um socket determine a qual
ou lendo dados de processo deve ser
um socket entregue a mensagem
protocolo de transporte
Prof Andr Koide da Silva
De que servio de transporte
uma aplicao precisa?

Perda de dados Largura de banda


Algumas aplicaes (por Algumas aplicaes (por
exemplo, udio) podem tolerar exemplo, multimdia) requerem
algumas perdas quantia mnima de banda para
Outras (por exemplo, serem viveis
transferncia de arquivos ou
telnet), requerem transferncia Outras aplicaes (aplicaes
100% confivel elsticas) conseguem usar
qualquer quantia de banda
disponvel
Temporizao
Algumas aplicaes (por
exemplo, telefonia IP e jogos
interativos) requerem baixo
retardo para serem viveis

Prof Andr Koide da Silva

Requisitos do servio de
transporte de aplicaes comuns

Sensibilidade
Aplicao Perdas Banda temporal

FTP Sem perdas Elstica No


Correio Sem perdas Elstica No
WWW Sem perdas Elstica No
udio/vdeo de Tolerante 5 kbps a Sim, 150 ms
tempo real 5 Mbps
udio/vdeo gravado Tolerante Como anterior Sim, alguns segs
Jogos interativos Tolerante > Alguns kbps Sim, 100 ms
Aplicaes financeiras Sem perdas Elstica Sim e no

Prof Andr Koide da Silva


Servios providos por protocolos
de transporte Internet

Servio TCP: Servio UDP:


Orientado a conexo: setup Transferncia de dados no
requerido entre cliente e confivel entre processos
servidor remetente e receptor
Transporte confivel: entre No prov: setup da conexo,
processos remetente e confiabilidade, controle de
receptor
fluxo, controle de
Controle de fluxo: remetente congestionamento, garantias
no vai afogar receptor
temporais ou de banda
Controle de mnima
congestionamento: quando a
rede est carregada
No prov: garantias Qual o interesse em ter um
temporais ou de banda mnima UDP?
Prof Andr Koide da Silva

Aplicaes da Internet: protocolos


de transporte e aplicao

Protocolo da Protocolo de
Aplicao camada de aplicao transporte usado

Correio eletrnico SMTP [RFC 821] TCP


Acesso terminal remoto Telnet [RFC 854] TCP
WWW HTTP [RFC 2068] TCP
Transferncia de arquivos FTP [RFC 959] TCP
Streaming multimdia Proprietrio (exemplo: TCP ou UDP
RealNetworks)
Servidor de arquivo remoto NFS TCP ou UDP
Telefonia IP Proprietrio Tipicamente UDP
(exemplo: Vocaltec)

Prof Andr Koide da Silva


WWW: Algum jargo

Pgina WWW Agente de usurio para


consiste de objetos WWW se chama browser
endereada por uma URL MS Internet Explorer
Netscape Communicator
Quase todas as pginas
WWW consistem de: Firefox
pgina base HTML Servidor para WWW se
vrios objetos referenciados chama servidor WWW
Apache (domnio pblico)
URL tem duas partes: nome
de hospedeiro e nome de MS Internet Information
Server (IIS)
caminho
www.univ.br/algum-depto/pic.gif

Prof Andr Koide da Silva

WWW: O protocolo HTTP

HTTP: Hypertext Transfer


Protocol
protocolo da camada de
PC executa
aplicao para WWW
Explorer
modelo cliente-servidor
cliente: browser que
solicita, recebe,
visualiza objetos WWW Servidor
servidor: servidor executando
WWW envia objetos servidor
WWW
em resposta aos
pedidos
http 1.0: RFC 1945 Mac executa
Navigator
http 1.1: RFC 2068

Prof Andr Koide da Silva


Mais sobre o protocolo HTTP

HTTP: servio de transporte HTTP sem estado


TCP servidor no mantm
cliente inicia conexo TCP informao sobre
(cria socket) ao servidor, pedidos anteriores do
porta 80 cliente
servidor aceita conexo TCP Nota
do cliente Protocolos que mantm estado
mensagens HTTP (camada de so complexos!
aplicao) so trocadas entre Histria passada (estado) tem
browser (cliente HTTP) e que ser guardada
servidor WWW (servidor Caso caia servidor/cliente,
HTTP) suas vises do estado podem
encerra conexo TCP ser inconsistentes, devendo
ser reconciliadas

Prof Andr Koide da Silva

Exemplo de HTTP

URL digitada: www.algumaUniv.br/algumDepartmento/inicial.index


1a. Cliente HTTP inicia conexo TCP a
servidor HTTP (processo)
responsvel por 1b. Servidor HTTP no hospedeiro
www.algumaUniv.br; www.algumaUniv.br espera por
conexo TCP na porta 80 e aceita a
porta 80 padro para servidor
conexo, avisando ao cliente
HTTP
2. Cliente HTTP envia
mensagem de pedido de
HTTP (contendo URL) 3. Servidor HTTP recebe mensagem de
atravs do socket da pedido, formula mensagem de
conexo TCP resposta contendo objeto solicitado
(algumDepartmento/inicial.index),
envia mensagem via socket

tempo
Prof Andr Koide da Silva
Exemplo de HTTP

4. Servidor HTTP encerra conexo TCP


5. Cliente HTTP recebe mensagem de
resposta contendo arquivo HTML;
analisando, encontra 10 objetos
JPEG referenciados

6. Passos 1 a 5 repetidos para cada


um dos 10 objetos JPEG

tempo

Prof Andr Koide da Silva

Conexes no persistentes e
persistentes
No persistente: Persistente:
HTTP 1.0 Default para HTTP 1.1
Servidor analisa pedido, Na mesma conexo TCP:
responde e encerra conexo servidor analisa pedido,
TCP responde, analisa novo
2 RTTs para trazer cada pedido e assim
objeto sucessivamente
(RTT = round trip time) Cliente envia pedidos para
Transferncia de cada objeto todos objetos referenciados
sofre de partida lenta assim que recebe o HTML
base
A maioria de browsers 1.0
Menos RTTs e menor partida
usa conexes TCP paralelas!
lenta

Prof Andr Koide da Silva


Formato de mensagem HTTP:
pedido

Dois tipos de mensagem HTTP: pedido e resposta


Mensagem de pedido HTTP
ASCII (formato legvel por pessoas)
linha do pedido
(comandos GET,
POST, HEAD) GET /somedir/page.html HTTP/1.0
User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg
linhas do Accept-language:fr
cabealho

carriage return e (carriage return (CR),


line feed line feed(LF) adicionais)
indicam fim
de mensagem
Prof Andr Koide da Silva

Mensagem de pedido HTTP:


formato geral

Prof Andr Koide da Silva


Formato de mensagem HTTP:
resposta
linha de status
(protocolo,
cdigo, HTTP/1.0 200 OK
frase de status) Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 ...
linhas de
cabealho Content-Length: 6821
Content-Type: text/html

dados dados dados dados ...


dados, por exemplo,
arquivo HTML
solicitado

Prof Andr Koide da Silva

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 especificada
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 suportada por este servidor

Prof Andr Koide da Silva


Experimente voc!

1. Use o cliente telnet para seu servidor WWW favorito:


telnet www.ic.uff.br 80
Abre conexo TCP para a porta 80 (porta padro do servidor HTTP) a
www.ic.uff.br; qualquer coisa digitada enviada para a porta 80 do
www.ic.uff.br

2. Digite um pedido GET http:


GET /~michael/index.html HTTP/1.0
Ao digitar este comando (deve-se teclar ENTER duas vezes), ser enviado
o pedido GET mnimo (porm completo) ao servidor HTTP

3. Examine a mensagem de resposta enviado pelo servidor


HTTP

Prof Andr Koide da Silva

Formulrios e interao
bidirecional

Formulrios transmitem Formulrios processados usando


informao do cliente ao scripts CGI (programas que
servidor executam no servidor WWW)
HTTP permite enviar CGI - Common Gateway
formulrios ao servidor Interface
Resposta enviada como scripts CGI escondem acesso
pgina HTML dinmica a diferentes servios
servidor WWW atua como
gateway universal
GET/POST
cliente formulrio servidor Sistema de
WWW resposta WWW informao
HTML

Prof Andr Koide da Silva


Interao usurio-servidor:
autenticao
Meta da autenticao: controle de cliente servidor
acesso aos documentos do servidor
msg de pedido http comum
sem estado: cliente deve apresentar
autorizao com cada pedido 401: authorization req.
WWW authenticate:
autorizao: tipicamente nome e
senha
authorization: linha de cabealho msg de pedido http comum
no pedido + Authorization:line
se no for apresentada a
msg de resposta http comum
autorizao, servidor nega acesso e
coloca no cabealho da resposta
WWW authenticate:
msg de pedido http comum
Browser guarda nome e senha para + Authorization:line
evitar que sejam pedidos ao usurio
em cada acesso msg de resposta http comum

Prof Andr Koide da Silva

Interao usurio-servidor:
cookies
cliente servidor
Servidor envia cookie ao
cliente na mensagem de msg de pedido http comum
resposta resposta http comum+
Set-cookie: 1678453 Set-cookie: #
Cliente apresenta cookie
nos pedidos posteriores msg de pedido http comum
Ao
Cookie: 1678453 cookie: # especfica
Servidor casa cookie- msg de resposta http comum do cookie
apresentado com a
informao guardada no
servidor msg de pedido http comum
Ao
autenticao cookie: #
especfica
preferncias do usurio msg de resposta http comum do cookie
e opes anteriores
Prof Andr Koide da Silva
Interao usurio-servidor:
GET condicional
cliente servidor
Meta: no enviar objeto
se cliente j tem (no msg de pedido http
If-modified-since: <date> objeto
cache) verso atual
no
Cliente: especifica data da Resposta http modificado
cpia no cache no pedido HTTP/1.0
HTTP 304 Not Modified
If-modified-since: <date>
Servidor: resposta no
contm objeto se cpia no msg de pedido http
If-modified-since: <date> objeto
cache atual:
modificado
HTTP/1.0 304 Not resposta http
HTTP/1.1 200 OK
Modified
<data>

Prof Andr Koide da Silva

Cache WWW
(servidor-procurador)
Meta: atender pedido do cliente sem envolver servidor
de origem
servidor
Usurio configura no de origem
browser acesso WWW via cliente servidor-
procurador procurador
Cliente envia todos pedidos
HTTP ao procurador
se objeto no cache do
procurador, este o
devolve imediatamente
na resposta HTTP
seno, solicita objeto do
servidor de origem, cliente servidor
depois devolve resposta
de origem
HTTP ao cliente

Prof Andr Koide da Silva


Cache WWW
(servidor-procurador)

Suposio: cache est Servidores


prximo do cliente (por de origem
exemplo, na mesma rede)
Internet
tempo de resposta
menor
diminui trfego aos enlace de acesso
servidores distantes 2 Mbps
podem existir gargalos rede da
instituio LAN 100 Mbps
na rede
cache da
instituio

Prof Andr Koide da Silva

FTP: Transferncia de arquivos

transferncia
Interface cliente do arquivo FTP
do FTP servidor
usurio
usurio sistema de
na sistema de
arquivos
estao arquivos
remoto
local

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 - porta 21
Prof Andr Koide da Silva
FTP: Conexes separadas

Cliente FTP contata servidor


FTP na porta 21,
especificando TCP como
protocolo de transporte conexo de controle
So abertas duas conexes TCP porta 21
TCP paralelas:
controle: troca comandos, conexo de dados
respostas entre cliente e cliente servidor
servidor (controle fora da FTP FTP
banda)
dados: dados de/para servidor
Servidor FTP mantm estado:
diretrio corrente,
autenticao realizada

Prof Andr Koide da Silva

FTP: Modos de conexo

Ativa Passiva

Prof Andr Koide da Silva


FTP: Comandos e respostas

Comandos tpicos: Cdigos de retorno tpicos:


Enviados em texto ASCII Cdigos e frases de status
pelo canal de controle (como para HTTP)
USER nome 331 Username OK,
PASS senha password required
LS devolve lista de arquivos 125 data connection
no diretrio corrente already open;
transfer starting
GET arquivo recupera
(l) arquivos remotos 425 Cant open data
connection
PUT arquivo armazena
(escreve) arquivos em 452 Error writing
hospedeiros remotos file
Bye

Prof Andr Koide da Silva

Telnet: acesso terminal remoto

Estabelece uma conexo TCP e passa as teclas digitadas pelo


usurio diretamente para o computador remoto

Carrega a sada da mquina remota na tela do usurio

Servio transparente: o teclado e a tela do usurio parecem


estar diretamente conectados mquina remota

Software cliente TELNET permite ao usurio especificar uma


mquina remota determinando o nome do domnio ou o
endereo IP
Prof Andr Koide da Silva
Telnet: acesso terminal remoto

Utilizado para gerenciamento de servidores e


equipamentos de rede, tais como roteadores e switches
Sintaxe
telnet <IP-ADDRESS ou NOME> [PORTA]
[PORTA] opcional,
por default,
utiliza porta TCP 23

Prof Andr Koide da Silva

SNMP: Simple Network


Management Protocol
Tem por objetivo disponibilizar uma forma simples e prtica
de realizar o controle de equipamentos em uma rede de
computadores
Protocolo de gerncia definido no nvel de aplicao,
utilizado para obter informaes de servidores SNMP

Prof Andr Koide da Silva


SNMP: Simple Network
Management Protocol
Os dados so obtidos atravs de requisies de um gerente
a um ou mais agentes utilizando os servios do protocolo de
transporte UDP (User Datagram Protocol), porta 161, para
enviar e receber suas mensagens atravs da rede
Dentre as variveis que podem ser requisitadas, sero
utilizadas as MIBs, podendo fazer parte da MIB II, da
experimental ou da privada
O gerenciamento da rede atravs do SNMP permite o
acompanhamento simples e fcil do estado, em tempo real,
da rede, podendo ser utilizado para gerenciar diferentes
tipos de sistemas

Prof Andr Koide da Silva

MIB: Management
Information Base
Um objeto gerenciado a viso abstrata de um recurso real
do sistema
Assim, todos os recursos da rede que devem ser
gerenciados so modelados, e as estruturas dos dados
resultantes so os objetos gerenciados
Dessa forma, a MIB o conjunto dos objetos gerenciados,
que procura abranger todas as informaes necessrias para
a gerncia da rede
Basicamente so definidos trs tipos de MIBs: MIB II, MIB
experimental, MIB privada

Prof Andr Koide da Silva


MIB: Management
Information Base
Estrutura
A rvore hierrquica a seguir foi definida pela ISO e
representa a estrutura lgica da MIB

Prof Andr Koide da Silva

MIB: Management
Information Base
Abaixo da sub-rvore MIB II esto os objetos usados para
obter informaes especficas dos dispositivos da rede

Prof Andr Koide da Silva


MIB: Management
Information Base
Por exemplo, o objeto ipInReceives:

ipInReceives Object Type


Object Identifier: 1.3.6.1.2.1.4.3
Access: read-only
Syntax: Counter32
Description: O nmero total de datagramas que
chegam nas interfaces, incluindo aqueles com erro

Prof Andr Koide da Silva

Exemplo de aplicao: MRTG

O Multi Router Traffic Grapher MRTG uma das


aplicaes mais conhecidas para gerenciar a rede por ser
gratuita e de distribuio aberta

Prof Andr Koide da Silva


DHCP: Dynamic Host
Configuration Protocol
Protocolo de configurao dinmica de mquinas
Mecanismo de endereamento IP automtico para
mquinas em uma rede TCP/IP
Dentre as configuraes de servios que podem ser
passadas ao host cliente por DHCP so:
Endereamento IP, mscara de subrede, gateway, servidores
DNS, nome do host e/ou de domnio
Servidores WINS (para redes Microsoft)
Servidores NTP (hora)
Imagens de boot para terminal

Prof Andr Koide da Silva

Funcionamento do
protocolo DHCP
DHCP Discover Quando uma mquina ligada, ela tem um
servio cliente do DHCP configurado para localizar o servidor
Este cliente DHCP envia um pacote UDP com destino porta 67 do
servidor chamado DHCP Discover
Este pacote tem
o endereo IP de
destino
255.255.255.255
e MAC address
de destino
ff:ff:ff:ff:ff:ff

Prof Andr Koide da Silva


Funcionamento do
protocolo DHCP
DHCP Offer O servidor ao receber o referido pacote em sua
porta ethernet, ir analis-lo e, em sua tabela de IPs, reservar um
endereo e preparar um pacote de resposta ao cliente solicitante
Este pacote de resposta chama-se DHCP Offer (UDP 68)

Prof Andr Koide da Silva

Funcionamento do
protocolo DHCP
DHCP Request O cliente ao receber o pacote do servidor, decide
se aceita a configurao oferecida
Em caso positivo, retorna um novo pacote ao servidor, comunicando
o aceitamento da oferta (DHCP Request)

Prof Andr Koide da Silva


Funcionamento do
protocolo DHCP
DHCP ACK Para finalizar a conversao entre cliente e servidor
DHCP, este finaliza (efetiva) o aluguel (lease) do endereo ao
cliente em sua tabela de IPs, e envia um pacote DHCP ACK

Prof Andr Koide da Silva

Correio Eletrnico
fila de
mensagens
Trs grandes componentes: agente de sada
de
Agentes de usurio (UA) usurio caixa de
Servidores de correio correio do usurio
servidor
Simple mail transfer protocol (SMTP) de correio

SMTP
Agente de Usurio: servidor
de correio agente
Leitor de mensagens de
SMTP usurio
Compor, editar, ler mensagens de
correio SMTP
Exemplos: Eudora, Outlook, agente
servidor de
Netscape Messenger usurio
de correio
Mensagens de sada e entrada so
armazenadas no servidor agente
de
usurio
Prof Andr Koide da Silva
Correio Eletrnico: servidores

Servidores de correio: agente


de
Caixa de correio contm usurio
mensagens de chegada (ainda servidor agente
no lidas) para usurio de correio de
usurio
Fila de mensagens contm
mensagens de sada (a serem SMTP
servidor
enviadas) de correio
Protocolo SMTP entre SMTP
servidores de correio para
transferir mensagens SMTP
agente
cliente: servidor de correio de
servidor
que envia de correio usurio
servidor: servidor de correio
que recebe agente
de
usurio

Prof Andr Koide da Silva

Correio Eletrnico:
SMTP [RFC 821]
Usa TCP para transferncia confivel de mensagens de
correio do cliente ao servidor, porta 25
Transferncia direta: servidor remetente ao servidor
receptor
Trs fases da transferncia:
handshaking
transferncia das mensagens
encerramento
Interao comando/resposta:
comando: texto ASCII de 7-bits
resposta: cdigo e frase de status

Prof Andr Koide da Silva


Interao SMTP tpica

S: 220 doces.br
C: HELO consumidor.br
S: 250 Hello consumidor.br, pleased to meet you
C: MAIL FROM:<ana@consumidor.br>
S: 250 ana@consumidor.br... Sender ok
C: RCPT TO:<bernardo@doces.br>
S: 250 bernardo@doces.br ... Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by itself
C: Voce gosta de chocolate?
C: Que tal sorvete?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 doces.br closing connection

Prof Andr Koide da Silva

SMTP: ltimas palavras

SMTP usa conexes Comparao com HTTP:


persistentes HTTP: pull (puxar)
SMTP requer que a mensagem Email: push (empurrar)
(cabealho e corpo) seja em Ambos tem interao
ASCII de 7-bits comando/resposta, cdigos
Algumas cadeias de caracteres de status em ASCII
no so permitidas nas HTTP: cada objeto
mensagens (por exemplo, encapsulado em sua prpria
CRLF.CRLF) mensagem de resposta
Logo, a mensagem pode SMTP: mltiplos objetos de
precisar ser codificada mensagem enviados numa
Servidor SMTP usa CRLF.CRLF mensagem de mltiplas
para reconhecer o final da partes
mensagem

Prof Andr Koide da Silva


Formato de uma
mensagem SMTP
RFC 822: padro para
formato da mensagem de
texto
linhas de cabealho: cabealho
To: linha em
From: corpo branco
Subject:
Diferentes dos comandos
de SMTP!
Corpo:
somente com
caracteres ASCII

Prof Andr Koide da Silva

Formato de uma mensagem:


extenses para multimdia
MIME: Multimedia Mail Extension - RFCs 2045 e 2056
Linhas adicionais no cabealho da mensagem
declaram tipo do contedo MIME
From: ana@consumidor.br
verso MIME To: bernardo@doces.br
Subject: Imagem de uma bela torta
mtodo usado MIME-Version: 1.0
para codificar dados Content-Transfer-Encoding: base64
Content-Type: image/jpeg
tipo, subtipo de
dados multimdia, base64 encoded data .....
declarao parmetros .........................
......base64 encoded data
dados codificados

Prof Andr Koide da Silva


Tipos MIME

Text: Audio:
Plain, html Basic (8-bit codificado mu-
Charset=iso-8859-1, ascii law), 32kadpcm
(codificao 32 kbps)
Image:
JPEG, GIF Application:
Outros dados que
precisam ser processados
Video:
por um leitor para serem
MPEG, Quicktime visualizados
MSWORD, PDF

Prof Andr Koide da Silva

Tipo Multipart
From: ana@consumidor.br
To: bernardo@doces.br
Subject: Imagem de uma bela torta
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=98766789

--98766789
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain

caro Bernardo,
Anexa a imagem de uma torta deliciosa.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

base64 encoded data .....


.........................
......base64 encoded data
--98766789--

Prof Andr Koide da Silva


Protocolos de acesso ao correio

agente SMTP SMTP POP3 ou agente


de de
usurio IMAP usurio

servidor de correio servidor de correio


do remetente do receptor

SMTP: entrega/armazenamento no servidor do receptor


Protocolo de acesso ao correio: recupera mensagem
POP: Post Office Protocol [RFC 1939]
autorizao (agente <-> servidor) e transferncia
IMAP: Internet Mail Access Protocol [RFC 1730]
mais comandos (mais complexo)
manuseio de mensagens armazenadas no servidor
HTTP: Hotmail , Yahoo! Mail, Webmail, entre outros
Prof Andr Koide da Silva

Protocolo POP3

Fase de autorizao:
Comandos do cliente S: +OK POP3 server ready
C: user ana
user: declara nome S: +OK
pass: senha C: pass faminta
S: +OK
Servidor responde
+OK
-ERR

Prof Andr Koide da Silva


Protocolo POP3

Fase de transao: C: list


Cliente S: 1 498
S: 2 912
list:lista nmeros S: .
das mensagens C: retr 1
S: <message 1 contents>
retr:recupera
S: .
mensagem por nmero C: dele 1
dele:apaga a C: retr 2
mensagem S: <message 1 contents>
S: .
quit:sai da interface C: dele 2
C: quit
S: +OK POP3 server
signing off

Prof Andr Koide da Silva

DNS: Domain Name System

Pessoas: muitos Domain Name System:


identificadores Base de dados distribuda
CPF, Nome, RG implementada na hierarquia de muitos
servidores de nomes
Hospedeiros, roteadores
Protocolo de camada de aplicao
Internet permite que hospedeiros, roteadores e
endereo IP (32 bits) - usado servidores de nomes se comuniquem
para enderear datagramas para resolver nomes (traduo
nome, por exemplo, endereo/nome)
jambo.ic.uff.br note: funo imprescindvel da
Internet implementada como
protocolo de camada de aplicao
Como mapear entre nome
complexidade na borda da rede
e endereo IP?
Prof Andr Koide da Silva
DNS: Domain Name System

Roda sobre UDP e usa a Outros servios:


porta 53 (em casos apelidos para
especficos, utiliza a porta hospedeiros (aliasing)
TCP 53 tambm!) apelidos para o servidor
Especificado nas RFCs 1034 de e-mails
e 1035 e atualizado em distribuio da carga
outras RFCs

Prof Andr Koide da Silva

Servidores de nomes DNS

Por que no centralizar o Nenhum servidor mantm todos os


DNS? mapeamentos nome-para-endereo
ponto nico de falha IP
volume de trfego Servidor de nomes local:
base de dados cada provedor, empresa tem
centralizada e distante servidor de nomes local (default)
manuteno (da BD) pedidos DNS dos hospedeiros vo
primeiro ao servidor de nomes
No escalvel! local
Servidor de nomes oficial:
para hospedeiro: guarda nome,
endereo IP dele
pode realizar traduo
nome/endereo para este nome
Prof Andr Koide da Silva
DNS: Servidores raiz

Procurado por servidor local que no consegue resolver


o nome
Servidor raiz
procura servidor oficial se o mapeamento for
desconhecido
obtm traduo
devolve mapeamento ao servidor local
So treze servidores raiz no mundo: A at M, no formato
LETRA.root-servers.net

Prof Andr Koide da Silva

DNS: Servidores raiz

http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=103993808347197645891.0
0043a30b2657ea61ea33&ll=11.424429,26.178063&spn=142.883537,288.632813&z=2&om=1

Prof Andr Koide da Silva


Exemplo simples do DNS

servidor de nomes
Hospedeiro raiz
manga.ic.uff.br requer 2 4
endereo IP de 5 3
www.cs.columbia.edu
1. Contata servidor DNS
local, pitomba.ic.uff.br
servidor local servidor oficial
2. pitomba.ic.uff.br contata pitomba.ic.uff.br cs.columbia.edu
servidor raiz, se necessrio
1 6
3. Servidor raiz contata
servidor oficial
cs.columbia.edu, se
necessrio solicitante
www.cs.columbia.edu
manga.ic.uff.br

Prof Andr Koide da Silva

Exemplo de DNS

Servidor raiz servidor de nomes


raiz
Pode no conhecer 2 6
o servidor de 7 3
nomes oficial
Pode conhecer
servidor de nomes servidor intermedirio
intermedirio: a servidor local
saell.cc.columbia.edu
pitomba.ic.uff.br
quem contatar 4 5
1 8
para descobrir o
servidor de nomes
servidor oficial
oficial cs.columbia.edu
solicitante
manga.ic.uff.br

Prof Andr Koide da Silva


DNS: consultas interativas
servidor de
Consulta recursiva nomes raiz
Transfere a consulta
responsabilidade de 2
3 interativa
resoluo do nome para
o servidor de nomes 4
contatado
7
Carga pesada?
servidor local servidor intermedirio
Consulta interativa pitomba.ic.uff.br saell.cc.columbia.edu
Servidor consultado 5 6
1 8
responde com o nome de
um servidor de contato
No conheo este servidor oficial
nome, mas pergunte solicitante cs.columbia.edu
para esse servidor manga.ic.uff.br

Prof Andr Koide da Silva

DNS: Uso de cache e


atualizao de dados
Uma vez que um servidor qualquer aprende um
mapeamento, ele o coloca num cache local
futuras consultas so resolvidas usando dados do
cache
entradas no cache so sujeitas a temporizao
(desaparecem depois de um certo tempo)
ttl = time to live (sobrevida)
Esto sendo projetados pela IETF mecanismos de
atualizao/notificao dos dados
RFC 2136

Prof Andr Koide da Silva


Registros DNS

DNS: BD distribudo contendo registros de recursos (RR)

formato RR: (nome, valor, tipo, sobrevida)

Tipo=A Tipo=CNAME
- nome nome de hospedeiro - nome nome alternativo
- valor o seu endereo IP (alias) para algum nome
cannico (verdadeiro)
Tipo=NS - valor o nome cannico
- nome domnio (exemplo,
foo.com.br) Tipo=MX
- valor endereo IP de servidor - nome domnio
oficial de nomes para este
- valor nome do servidor de
domnio
correio para este domnio

Prof Andr Koide da Silva

Registros DNS

Comando nslookup:
- Server IP-ADDRESS
- Set type = TIPO
- A: Endereo IP
- CNAME: informaes
do domnio
- MX: Servidores de e-
mail
- NS: Servidores de
nome
- EXIT para sair

Prof Andr Koide da Silva

Anda mungkin juga menyukai