Академический Документы
Профессиональный Документы
Культура Документы
Redes de Computadores:
Camada de Aplicao
Prof. Rafael Marrocos Magalhes
rafael@dce.ufpb.br
28 de Fevereiro de 2012 UFPB - CCAE - DCE
Esta apresentao contm partes, ou mesmo slides inteiros, da apresentao original disponibilizada por J.F Kurose e K.W. Ross, com permisso para utilizao como material de apoio instrucional. E, conforme solicitao do original, inclu aqui a nota de direito autoral.
sexta-feira, 2 de maro de 12 1
Motivao
Como usamos a Internet?
sexta-feira, 2 de maro de 12
Sumrio
Aplicaes Princpios de aplicaes em redes A Web e o Protocolo HTTP FTP - transferncia de arquivos Correio Eletrnico (STMP, POP3, IMAP) DNS - Nomes X IPs Aplicaes P2P
sexta-feira, 2 de maro de 12
sexta-feira, 2 de maro de 12
Outras aplicaes
! redes sociais ! voice over IP ! vdeoconferncia em
arquivos P2P ! jogos em rede multiusurios ! clipes de vdeo armazenados em fluxo contnuo
sexta-feira, 2 de maro de 12
Objetivos
Aspectos conceituais sobre protocolos de aplicao modelos de servio de transporte paradigma cliente-servidor paradigma peer-to-peer Exemplos na prtica HTTP, FTP, STMP/POP3/IMAP, DNS, etc...
sexta-feira, 2 de maro de 12
Criar Aplicaes!?
Criando uma aplicao de rede
Escreva programas que
" " "
executem em (diferentes) No preciso escrever software para dispositivos do ncleo da sistemas finais rede " dispositivos do ncleo da rede se comuniquem pela rede no executam aplicaes do p. e., software usurio de servidor Web " as aplicaes nos sistemas finais se comunica com software de permitem rpido desenvolvimento e propagao navegador Web
"
executem em (diferentes) sistemas finais se comuniquem pela rede Criando uma aplicao p. e., software servidor Web dede rede se comunica com software de Escreva programas que navegador Web " executem em (diferentes)
sistemas finais se comuniquem pela rede p. e., software de servidor Web se comunica com software de navegador Web
Criar Aplicaes!?
aplicao transporte rede enlace fsica
No preciso escrever software parancleo dispositivos ncleo da " dispositivos do dado rede rede
"
no executam"aplicaes do dispositivos do ncleo da rede no executam aplicaes do usurio usurio as aplicaes " nos sistemas finais as aplicaes nos sistemas finais permitem rpido permitem rpido desenvolvimento e propagao desenvolvimento e propagao
sexta-feira, 2 de maro de 12
Arquitetura de Aplicaes
Cliente-servidor
Incluindo centros de dados/cloud computing
sexta-feira, 2 de maro de 12
cliente-servidor
servidor:
Arquitetura cliente-ser
rvidor
ser
rvidor: " hospedeiro sempre ligado " endereo IP permanente " server farms por expanso entes:
" " " "
clie
cliente/servidor
comunicam-se com o servidor podem estar conectados intermitentemente podem ter endereos IP dinmicos no se comunicam diretamente entre si
sexta-feira, 2 de maro de 12
10
ervidor
ervidor: " hospedeiro sempre ligado " endereo IP permanente " server farms por expanso cliente: ientes:
" " " "
se
comunicam-se com o servidor podem estar conectados intermitentemente podem ter endereos IP cliente/servidor dinmicos no se comunicam diretamente entre si
cl
sexta-feira, 2 de maro de 12
11
sexta-feira, 2 de maro de 12
12
P2P pura
enhum servidor sempre ! nenhum servidor sempre gado ligado stemas finais arbitrrios ! sistemas finais arbitrrios se comunicam diretamente e comunicam diretamente ! pares so conectados ares so conectados intermitentemente termitentemente e e mudam endereos IP udam endereos IP peer-peer
peer-peer
altamente escalonvel, altamente escalvel, mas mente escalvel, mas mas difcil de administrar difcil de administrar
sexta-feira, 2 de maro de 12 13
fcil de administrar
Hbrido: cliente-servidor-P2P
" aplicao P2P voice-over-IP P2P Skype " aplicao servidor centralizado: achando " P2P voice-over-IP P2Pendereo da parte remota: " servidor centralizado: achando endereo da parte " remota: conexo cliente-cliente: direta (no atravs de servidor) " conexo cliente-cliente: direta (no atravs de Mensagem instantnea servidor) " bate-papo entre dois usurios P2P Mensagem instantnea " bate-papo servio centralizado: deteco/localizao da entre dois usurios P2P presena do cliente " servio centralizado: deteco/localizao da usurio registra presena do cliente seu endereo IP com servidor central registra quando entra on-line IP com servidor usurio seu endereo central usurio quando contacta servidor central para descobrir entra on-line endereos IP dosservidor parceiros usurio contacta central para descobrir endereos IP dos parceiros
sexta-feira, 2 de maro de 12
14
Processos se comunicando
Processos e comunicao
processo cliente: processo que inicia a comunicao processo servidor: processo cliente: processo que espera processo que inicia para ser contactado
ocessos se comunicando
processo: programa rodando dentro de um hospedeiro ! no mesmo hospedeiro, nicando cesso: programa dois processos se comunicam usando a odando dentro de um processo cliente: comunicao entre ospedeiro processo(definida que iniciapelo a processos comunicao SO). o mesmo hospedeiro, processo servidor: ! processos em ois processos se processo que espera hospedeiros diferentes omunicam usando a para ser contactado se comunicam trocando omunicao entre mensagens lo rocessos pelo ! Nota: (definida aplicaes com O). arquiteturas P2P tm s processos clientes & rocessos em o processos servidores
comunicao ! Nota: aplicaes com processo servidor: arquiteturas P2P tm processo que processos clientes & espera processos para servidores ser contactado
! Nota: aplicaes com
Sockets
! processo envia/recebe
hospedeiro ou servidor
Sockets
hospedeiro ou servidor
controlado pelo desenvolvedor processo da aplicao " processo enviando empurra hospedeiro socket processo envia/recebe mensagem pela porta ou servidor TCP com mensagens de/para seu " processo enviando conta com Internet buffers, socket infraestrutura de controlado pelo variveis desenvolvedor transporte no outro lado da socket semelhante porta processo da aplicao porta, que leva a mensagem controlado "ao processo enviando empurra socket no processo socket pelo OS mensagem pela porta receptor TCP com " processo enviando conta com Internet buffers, API: (1) escolha do protocolo de transporte; (2) infraestrutura de variveis
processo
hospedeiro socket ou servidor TCP com buffers, variveis processo socket TCP com buffers, variveis
capacidade de consertar parmetros (muito transporte no outro lado alguns da porta, que levaadiante) a mensagem mais sobre isso
ao socket no processo receptor
controlado pelo OS
sexta-feira, 2 de maro de 12
16
Endereando processos
Endereo X Processo
sexta-feira, 2 de maro de 12
" R: No, muitos processos processo deve ter estar rodando no mesmo identificador hospedeiro para receber mensagens, ! dispositivo hospedeiro tem " R: No, muitos processos podem processo deve ter ! Identificador inclui endere endereo IP exclusivo de 32 estar rodando no mesmo identificador nmeros de porta associados bits hospedeiro dispositivo hospedeiro tem processo no hospedeiro. ! exerccio: use ipconfig do ! Identificador inclui endereo IP e endereo IP exclusivo de 32 ! Exemplos de nmero de port comando prompt para obter seu nmeros de porta associados ao bits " hospedeiro. servidor HTTP: 80 endereo IP (Windows) processo no exerccio: use ipconfig do " servidor deporta: correio: 25 ! Exemplos de nmero de ! P: Basta o endereo IP do comando prompt para obter seu hospedeiro em que o processo " servidor HTTP: 80 endereo IP (Windows) executado para identificar o " servidor de correio: 25 P: Basta o endereo IP do processo? hospedeiro em que o processo executado para identificar o
17
Definies de protocolo da camadade deprotocolo aplicao Definies da camada de aplicao ! tipos de mensagens
trocadas, ! tipos de mensagens " p. e., requisio, resposta trocadas, ! sintaxe da mensagem: 2
"
Denio de Protocolo
protocolos de domnio pblico: protocolos de domnio
! definidos em RFCs
p. e., requisio, resposta " que campos nas mensagens & ! sintaxe da os mensagem: como campos so " que campos nas mensagens & delineados como os campos so ! semntica da mensagem 3 delineados " significado da informao ! semntica da mensagem nos campos " significado da informao ! regras de quando e como 4 nos campos
! prov interoperabilidade
pblico:
BitTorrent ! p. e., HTTP, SMTP, protocolos BitTorrent proprietrios: ! p. e., Skype, ppstream protocolos proprietrios:
processos enviam & ! regras de quando e como respondem a mensagens processos enviam & respondem a mensagens
sexta-feira, 2 de maro de 12
18
Quais requisitos sua aplicao exige? 1. 2. 3. 4. perda de dados? temporizao? vazo (banda)? segurana?
sexta-feira, 2 de maro de 12
19
sexta-feira, 2 de maro de 12
vazo perda de dados ! algumas apls. (p. e., udio) ! algumas podem tolerar alguma perda multim mnimo ! outras apls. (p. e., transferncia de arquivos, serem telnet) exigem ! outras transferncia de dados elstica 100% confivel qualque temporizao receber ! algumas apls. (p. e., segurana telefonia na Internet ! criptog jogos interativos) de dado
20
transferncia arquivos, Caractersticas de de transporte telnet) exigem transferncia de dados 100% confivel
temporizao ! algumas apls. (p. e., telefonia na Internet jogos interativos) exigem pouco atraso para serem eficazes
sexta-feira, 2 de maro de 12
21
o de transporte o precisa?
Caractersticas de transporte
vazo s s. (p. e., udio) ! algumas apls. (p. e., ar alguma perda multimdia) exigem um mnimo de vazo para (p. e., ia de arquivos, serem eficazes em ! outras apls. (apls. ia de dados elsticas) utilizam vel qualquer vazo que receberem s. (p. e., segurana Internet ! criptografia, integridade tivos)
sexta-feira, 2 de maro de 12
22
serem eficazes ! outras apls. (apls. dados Caractersticas de transporte elsticas) utilizam qualquer vazo que receberem , segurana net ! criptografia, integridade de dados, so zes
rquivos,
sexta-feira, 2 de maro de 12
23
sexta-feira, 2 de maro de 12
24
! ! !
!
! !
sexta-feira, 2 de maro de 12
Caractersticas de transporte
Protocolo da camada de aplicao SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (p. e., Youtube), RTP [RFC 1889] SIP, RTP, proprietrio (p. e., Skype) Protocolo de transporte bsico TCP TCP TCP TCP TCP ou UDP normalmente UDP
sexta-feira, 2 de maro de 12
26
A Web e o HTTP
sexta-feira, 2 de maro de 12
27
Inovao
1870 Telefone 1920 Rdio/TV 1990 WEB por demanda, no merc da operadora! vrias interfaces
sexta-feira, 2 de maro de 12 28
Web e HTTP
Conceitos
primeiro, algum jargo ! pgina Web consiste em objetos ! objeto pode ser arquivo HTML, imagem JPEG, applet Java, arquivo de udio, ! pgina Web consiste em arquivo HTML bsico que inclui vrios objetos referenciados ! cada objeto enderevel por um URL ! exemplo de URL: www.someschool.edu/someDept/pic.gif nome do hospedeiro nome do caminho
sexta-feira, 2 de maro de 12
29
Explorer
Servidor rodando servidor Web Servid Apache rodan Mac rodando Navigator
servidor Apach
sexta-feira, 2 de maro de 12
Funcionamento
usa TCP:
a TCP:
(cria socket) com servidor, porta 80 ! servidor aceita conexo TCP do cliente cliente inicia conexo ! mensagens HTTP (doTCP protocolo da camada de (cria socket) com servidor, aplicao) trocadas entre porta 80 navegador (cliente HTTP) e servidor Web (servidor TCP servidor aceita conexo HTTP) do cliente ! conexo TCP fechada
! servidor no guarda Protocolos que mantm informaes estado so complexos! sobre requisies passadas do ! histria passada (estado) cliente deve ser mantida ! se servidor/cliente falhar, suas vises do estado aparte podem ser incoerentes, Protocolos que mantm devem ser reconciliadas
31
Tipos de HTTP
Conexes HTTP
HTTP no persistente ! no mximo um objeto enviado por uma conexo TCP. HTTP persistente ! mltiplos objetos podem ser enviados por uma nica conexo TCP entre cliente e servidor.
sexta-feira, 2 de maro de 12
32
tempo
de requisio, forma mensagem de resposta contendo objeto requisitado e envia mensagem para seu socket
sexta-feira, 2 de maro de 12
33
HTTP no persistente
4. Servidor HTTP fecha conexo 5. Cliente HTTP recebe
TCP. mensagem de resposta contendo arquivo html, exibe html. Analisando arquivo html, acha 10 objetos JPEG referenciados.
sexta-feira, 2 de maro de 12
34
HTTP no persistente
definio de RTT: tempo para um pequeno pacote trafegar do cliente ao servidor e inicia retornar. conexo TCP tempo de resposta: RTT ! um RTT para iniciar a conexo requisita arquivo TCP RTT ! um RTT para a requisio arquivo HTTP e primeiros bytes da recebido resposta HTTP retornarem ! tempo de transmisso de tempo arquivo
total = 2RTT + tempo de transmisso
sexta-feira, 2 de maro de 12
tempo
35
sexta-feira, 2 de maro de 12
36
Mensagens do HTTP
requisio, resposta
GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 linhas de Connection: close cabealho Accept-language:fr (carriage return, line feed extras)
sexta-feira, 2 de maro de 12
37
HTTP
sexta-feira, 2 de maro de 12
38
www.umsite.com/buscaanimal?macacos&banana
sexta-feira, 2 de maro de 12
39
sexta-feira, 2 de maro de 12
40
Tipos de mtodo
HTTP/1.0 ! GET ! POST ! HEAD
"
Tipos de mtodos
HTTP/1.1 ! GET, POST, HEAD ! PUT
"
sexta-feira, 2 de maro de 12
41
Mensagem de reposta
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 dados ...
sexta-feira, 2 de maro de 12
42
Cdigos de estado
requisio bem-sucedida, objeto requisitado mais adiante objeto requisitado movido, novo local especificado mais adiante na mensagem (Location:) mensagem de requisio no entendida pelo servidor documento requisitado no localizado neste servidor
sexta-feira, 2 de maro de 12
44
Muitos sites importantes Exemplo: usam cookies ! Susana sempre acessa a Quatro componentes: Internet pelo PC 1) linha de cabealho de cookie da mensagem de ! visita um site de comrcio resposta HTTP eletrnico pela primeira vez 2) linha de cabealho de cookie na mensagem de ! quando as primeiras requisio HTTP requisies HTTP chegam ao 3) arquivo de cookie na site, este cria:
mquina do usurio, controlado pelo navegador do usurio 4) banco de dados de apoio no site Web
" "
cookies
sexta-feira, 2 de maro de 12
45
cliente cliente
ebay 8734
cookies
servidor
servidor
arq. de cookie
ebay 8734 amazon 1678
Set-cookie: 1678
cookie: 1678
cookie: 1678
ao especfica do cookie
sexta-feira, 2 de maro de 12
46
cookies
cookies podem ter: OO que os cookies podem ter: aparte que os cookies podem ter: aparte Cookies e privacidade: ! autorizao Cookies e privacidade: ! autorizao O que os cookies podem ter: aparte ! cookies permitem que ! carrinhos de compras ! cookies permitem que Cookies e privacidade: ! carrinhos de compras ! autorizao os sites descubram ! recomendaes os sites descubram ! cookies permitem que muito sobre voc ! carrinhos de compras ! recomendaes ! estado da sesso do muito sobre voc os sites descubram ! voc pode fornecer ! estado da sesso do ! recomendaes usurio (e-mail da Web) muito sobre voc ! voc pode fornecer nome e e-mail aos sites usurio (e-mail da Web) ! estado da sesso do Como manter o estado: nome e fornecer e-mail aos sites ! voc pode (e-mail Web) mantm Como manter o da estado: ! usurio extremidades do protocolo: nome e e-mail aos sites mantendo o emissor/receptor estado: estado no por mantm Como manter o estado: ! extremidades do protocolo: mltiplas transaes estado no emissor/receptor por ! extremidades do protocolo: mantm !estado cookies: mensagens HTTP mltiplas transaes no emissor/receptor por transportam estado mltiplas transaes ! cookies: mensagens HTTP transportam estado ! cookies: mensagens HTTP transportam estado
sexta-feira, 2 de maro de 12 47
objeto no cache: cache retorna objeto ou cache requisita objeto do servidor de origem, depois retorna objeto ao cliente
cliente
servidor de origem
sexta-feira, 2 de maro de 12
48
sexta-feira, 2 de maro de 12
49
1.000.000 bits ! taxa de requisio mdia dos navegadores da instituio aos servidores de origem = 15/s ! atraso do roteador institucional a qualquer servidor de origem e de volta ao roteador = 2 s
servidores de origem
Internet pblica
consequncias
! utilizao na LAN = 15% ! utilizao no enlace de acesso = 100% ! atraso total = atraso da Internet +
rede institucional
cache institucional
sexta-feira, 2 de maro de 12
50
exemplo caching
soluo possvel
! aumentar largura de banda do
servidores de origem
Internet pblica
consequncia
! utilizao na LAN = 15% ! utilizao no enlace de acesso = 15% ! atraso total = atraso da Internet +
rede institucional
cache institucional
sexta-feira, 2 de maro de 12
51
exemplo caching
possvel soluo: instalar cache
! suponha que ndice de acerto
servidores de origem
Internet pblica
consequncia
0,4
satisfeitas imediatamente ! 60% de requisies satisfeitas pelo servidor de origem ! utilizao do enlace de acesso reduzida para 60%, resultando em atrasos insignificantes (digamos, 10 ms) ! atraso mdio total = atraso da Internet + atraso de acesso + atraso da LAN = 0,6*(2,01) s + 0,4*milissegundos < 1,4 s
rede institucional
cache institucional
sexta-feira, 2 de maro de 12
52
FTP (arquivos)
sexta-feira, 2 de maro de 12
53
usurio no hospedeiro
cliente: lado que inicia transferncia (de/para remoto) " servidor: hospedeiro remoto ! ftp: RFC 959 ! servidor ftp: porta 21
"
sexta-feira, 2 de maro de 12
54
conexo de controle TCP conexo de controle porta 21recebe ! cliente FTP contacta servidor ! quando servidor para controle e dados FTP na porta 21, TCP comando de transferncia de conexo de controle TCP protocolo de transporte arquivo, abre 2a conexo TCP conexo de dados TCP porta 21 ! cliente FTP contacta servidor (para arquivo) com cliente ! cliente autorizado por conexo cliente servidor porta 20 FTP na porta 21, TCP de controle ! aps transferir um arquivo, FTP FTP protocolo de transporte servidor fecha conexo de conexo de dados TCP ! cliente navega por diretrio ! cliente autorizado por conexo cliente servidor porta 20 dados remoto enviando comandos por ! servidor abre outra conexo de controle FTP FTP conexo de controle de dados TCP para transferir paradas ! cliente navega por diretrio ! quando servidor recebe arquivo remoto enviando comandos por ! outro servidor abre outra conexo ados comando dede transferncia de conexo controle de dados TCP para transferir ! conexo de controle: fora da a conexo de controle TCP arquivo, abre 2 conexo TCP ! quando servidor recebe outro arquivo banda porta 21 dor (para arquivo) cliente de comando de com transferncia ! servidor conexo FTP de controle: fora da a ! mantm arquivo, abre um 2 conexo ! aps transferir arquivo,TCP banda conexo de dados TCP estado: diretrio atual, (para arquivo) com cliente servidor fecha conexo de exo cliente servidor porta 20 ! autenticao servidor FTP anterior mantm dados ! aps transferir umFTP arquivo, FTP
!
FTP: conexes separadas de controle ! cliente navega por diretrio para controle e dados remoto enviando comandos por
o por
sexta-feira, 2 de maro de 12 de
55
FTP - comandos
exemplos de cdigos de retorno
! cdigo e frase de estado ! !
arquivos no diretrio atual recupera (apanha) arquivo armazena (coloca) arquivo no hospedeiro remoto
! !
(como no HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Cant open data connection 452 Error writing file
sexta-feira, 2 de maro de 12
56
sexta-feira, 2 de maro de 12
57
sexta-feira, 2 de maro de 12
58
sexta-feira, 2 de maro de 12
59
! agentes do usurio SMTP ! servidores de correio Agente doTransfer usurio ! Simple Mail Protocol: ! tambm chamado leitor de SMTP correio ! redigir, editar, ler mensagens Agente do usurio de correio eletrnico ! tambm chamado leitor de ! p. e., Eudora, Outlook, elm, correio Mozilla Thunderbird ! mensagens entrando e saindo ! redigir, editar, ler mensagens armazenadas no servidor de correio eletrnico ! p. e., Eudora, Outlook, elm,
usurio
SMTP
serv. correio
SMTP
msg. de sada
SMTP
serv. correio
SMTP
SMTP
mail server
SMTP
agente usurio
usurio
Mozilla Thunderbird
sexta-feira, 2 de maro de 12
agente
agente usurio
60
! agentes do usurio
! servidores de correio
SMTP
SMTP
agente fila de Trs componentes principais: usurio Agente do usurio msg. de sada mail SMTP ! agentes do usurio server caixa de entrada ! tambm chamado leitor de serv. ! servidores de correio agen do usurio correio SMTP correio usur ! Simple Mail Transfer Protocol: serv. SMTP SMTP ! redigir, editar, ler mensagens agente correio usurio de correio eletrnico Agente do usurio mail SMTP agente ! p. e., Eudora, Outlook, elm, server ! tambm chamado leitor de usurio agente Mozilla Thunderbird SMTP correio usurio agente serv. ! redigir, editar, ler mensagens usurio ! mensagens entrando e saindo correio agente de correio eletrnico armazenadas no servidor usurio
age usu
agente usurio
agente usurio
agente usurio
sexta-feira, 2 de maro de 12
61
Conceitos
agente agente usurio serv. serv. correio
usurio
mensagens que chegam para agente correio ! Simple Mail Transfer Protocol: usurio o usurio SMTP SMTP agente SMTP serv. usurio ! fila de mensagens com mensagens de correio a agente correio Agente do usurio mail SMTP serem enviadas usurio server ! tambm chamado leitor de SMTP agente ! protocolo SMTP entre SMTP correio usurio servidores de correio para serv. SMTP ! redigir, editar, ler mensagens correio enviar mensagens de e-mail agente serv. de correio eletrnico usurio correio " cliente: servidor de envio agente ! p. e., Eudora, Outlook, elm, usurio de correio Mozilla Thunderbird agente agente " servidor: servidor de usurio ! mensagens entrando e saindo usurio agente recepo de correio armazenadas no servidor
usurio agente
usurio
62
sexta-feira, 2 de maro de 12
Correio eletrnico: Correio eletrnico: SMTP [RFC 2821] SMTP [RFC 2821]
! usa TCP !para transferir de modo confivel a mensagem
sexta-feira, 2 de maro de 12
usa TCP para transferir de modo con de e-mail do cliente ao servidor, porta 25 de e-mail do cliente ao servidor, port ! transferncia direta: servidor de envio ao servidor de recepo ! transferncia direta: servidor de env ! trs fases da transferncia recepo " handshaking (saudao) ! trs fases da transferncia " transferncia de mensagens " fechamento " handshaking (saudao) ! interao comando/resposta "texto transferncia de mensagens " comandos: ASCII " resposta: cdigo e frase de estado " fechamento ! mensagens devem estar em ASCII de 7 bits ! interao comando/resposta " comandos: texto ASCII
63
1 agente usurio 2
serv. correio 3
serv. correio 4 5 6
agente usurio
sexta-feira, 2 de maro de 12
64
sexta-feira, 2 de maro de 12
65
comentrios
Comparao com HTTP:
! HTTP: puxa ! SMTP: empurra ! ambos tm interao de
persistentes ! SMTP requer que a mensagem (cabealho e corpo) esteja em ASCII de 7 bits ! servidor SMTP usa CRLF.CRLF para determinar fim da mensagem
encapsulado em sua prpria mensagem de resposta ! SMTP: mltiplos objetos enviados na mensagem multiparte
sexta-feira, 2 de maro de 12
66
cabealho
linha em branco
corpo
! corpo
"
sexta-feira, 2 de maro de 12
67
"
"
POP: Post Office Protocol [RFC 1939] autorizao (agente <--> servidor) e download IMAP: Internet Mail Access Protocol [RFC 1730] mais recursos (mais complexo) manipulao de msgs armazenadas no servidor HTTP: gmail, Hotmail, Yahoo! Mail etc.
68
sexta-feira, 2 de maro de 12
Protocolo POP3
fase de autorizao
! comandos do cliente:
S: C: S: C: S: +OK POP3 server ready user bob +OK pass hungry +OK usurio logado com sucesso
user: declare username " pass: senha ! respostas do servidor " +OK " -ERR
"
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
sexta-feira, 2 de maro de 12
69
sexta-feira, 2 de maro de 12
70
E-mail e HTTP
Hotmail Gmail
sexta-feira, 2 de maro de 12
71
DNS
sexta-feira, 2 de maro de 12
72
pessoas: muitos Domain Name System: muitos Domain N identificadores: pessoas: ! banco de dados distribudo
"
identificadores: implementado na hierarquia ! banco d CPF, nome, passaporte muitos servidores deimplem nome " CPF, nome, passaporte hospedeiros da Internet, muitos ! protocolo em nvel de aplica hospedeiros da Internet, roteadores: ! protoco hospedeiro, roteadores, roteadores: hosped " endereo IP (32 bits) servidores de nomesservido se " endereo IP (32 bits) usado para enderear usado para comunicam para resolver no enderear comunic datagramas (traduo endereo/nome) datagramas (tradu " nome, p. e., " nome, p. " e., Nota: funo bsica da " Not usado implementada ww.yahoo.com usado ww.yahoo.com Inte Internet, pelos humanos pelos humanos com como protocolo em nve apli aplicao P: Como mapear entre P: Como mapear entre " com endereo IP e nome? " complexidade na borda endereo IP e nome? red rede
sexta-feira, 2 de maro de 12 73
Conceitos Iniciais
Domain Name System:
banco de dados distribudo implementado na hierarquia de muitos servidores de nomes ! protocolo em nvel de aplicao hospedeiro, roteadores, servidores de nomes se comunicam para resolver nomes (traduo endereo/nome) " Nota: funo bsica da Internet, implementada como protocolo em nvel de aplicao " complexidade na borda da rede
74
me, passaporte
itos dores:
da Internet, es:
DNS DNS
DNS
Por que no centralizar Por que no centralizar o o Serviosde deDNS DNS Servios DNS? DNS? ! traduo de ! traduonome nome de hospedeiro endereo nico ponto de de falha hospedeiro-> -> endereo ! ! nico ponto falha IP IP ! ! volume dede trfego volume trfego ! apelidos ! apelidosde dehospedeiro hospedeiro ! banco de dados ! banco de dados " nomes cannicos " nomes cannicos centralizado distante centralizado distante ! apelidos de servidor de ! apelidos de servidor de ! manuteno correio ! manuteno correio ! distribuio de carga ! distribuio de carga
"
servidores Web " servidores Web replicados: conjunto de replicados: endereos IPconjunto para um de endereos IP para um nome cannico
No escalvel!
No escalvel!
nome cannico
sexta-feira, 2 de maro de 12
75
Cliente quer IP para www.amazon.com; 1a aprox: ! cliente consulta serv. raiz para achar servidor DNS com ! cliente consulta serv. DNS com para obter serv. DNS amazon.com ! cliente consulta serv. DNS amazon.com para obter endereo IP para www.amazon.com
sexta-feira, 2 de maro de 12 76
nome ! servidores de nomes raiz: " contacta servidor de nomes com autoridade se o mapeamento no for conhecido " obtm mapeamento " retorna mapeamento ao servidor de nomes local
sexta-feira, 2 de maro de 12
77
! servidores DNS com autoridade: " servidores DNS da organizao, provendo nome de hospedeiro com autoridade a mapeamentos IP para os servidores da organizao (p. e., Web, correio). " podem ser mantidos pela organizao ou provedor de servios
sexta-feira, 2 de maro de 12
78
sexta-feira, 2 de maro de 12
79
Funcionamento Exemplo Exemplo de de resoluo resoluo na prtica de nome de nome DNS DNS
! hospedeiro ! hospedeiro em
cis.poly.edu cis.poly.edu quer endereo endereo IP IP para gaia.cs.umass.edu gaia.cs.umass.edu consulta repetida: repetida: consulta
responde com com nome nome responde doservidor servidor a a do contactar contactar ! no conheo esse ! no conheo esse nome, mas pergunte a nome, mas pergunte a este servidor este servidor
sexta-feira, 2 de maro de 12
11
88
77
66
serv. DNS com autoridade serv. DNS com autoridade dns.cs.umass.edu dns.cs.umass.edu
cis.poly.edu cis.poly.edu
gaia.cs.umass.edu gaia.cs.umass.edu
80
Funcionamento na prtica
consulta recursiva:
! coloca peso da
2 7 6
8
serv. DNS com autoridade dns.cs.umass.edu
hospedeiro solicitante
cis.poly.edu gaia.cs.umass.edu
sexta-feira, 2 de maro de 12
81
o mapeamento, ele o mantm em cache " entradas de cache esgotam um tempo limite (desaparecem) aps algum tempo " servidores TLD normalmente so mantidos em caches nos servidores de nomes locais
Assim, os servidores de nomes raiz no so consultados com frequncia
! mecanismos de atualizao/notificao em
projeto na IETF
"
"
RFC 2136
http://www.ietf.org/html.charters/dnsext-charter.html
82
sexta-feira, 2 de maro de 12
Registros de DNS
DNS: b.d. distribudo contendo registros de recursos (RR)
! Tipo = A ! Tipo = CNAME " nome o hostname " nome apelido para algum nome cannico (real) " valor o endereo IP www.ibm.com na realidade ! Tipo = NS servereast.backup2.ibm.com " nome o domnio (p. e. " valor o nome cannico foo.com) " valor o hostname do ! Tipo = MX servidor de nomes com " valor o nome do servidor autoridade para este de correio associado ao nome domnio
sexta-feira, 2 de maro de 12 83
bits para consulta; resposta usa mesmo # ! flags: " consulta ou resposta " recurso desejada " recurso disponvel " resposta com autoridade
sexta-feira, 2 de maro de 12 84
sexta-feira, 2 de maro de 12
85
oferece nomes, endereos IP do servidor de nomes com autoridade (primrio e secundrio) entidade insere dois RRs no servidor TLD com:
www.networkuptopia.com; registro Tipo MX para networkutopia.com ! Como as pessoas obtm o endereo IP do seu site?
sexta-feira, 2 de maro de 12
86
P2P (peer-to-peer)
sexta-feira, 2 de maro de 12
87
sexta-feira, 2 de maro de 12
88
us: largura de banda de upload do servidor ui: largura de banda de upload do par i di: largura de banda de download do par i
arquivo, tamanho F
us dN uN
sexta-feira, 2 de maro de 12
89
servidor us dN uN u1 d1 u2 d2
sequencialmente:
" tempo
NF/us
tempo para distribuir F a N clientes usando = dcs = max { NF/us, F/min(di) } i tcnica cliente/servidor
aumenta linearmente em N (para N grande)
sexta-feira, 2 de maro de 12
90
Server u1 d1 u2
d2 uma cpia: tempo F/us us ! cliente i leva tempo F/di rede (com largura de dN para o download banda abundante) uN ! NF bits devem ser baixados (agregados) ! taxa de upload mais rpida possvel: us + !ui
sexta-feira, 2 de maro de 12
91
sexta-feira, 2 de maro de 12
92
par
sexta-feira, 2 de maro de 12
93
BitTorrent
! arquivo dividido em !
! ! !
pedaos de 256 KB. torrent de ajuntamento de pares: " no tem pedaos, mas os acumular com o tempo " registra com rastreador para obter lista de pares, conecta a subconjunto de pares (vizinhos) ao fazer download, par faz upload de pedaos para outros pares pares podem ir e vir quando par tem arquivo inteiro, ele pode (de forma egosta) sair ou (de forma altrusta) permanecer
sexta-feira, 2 de maro de 12
94
Exemplos
Napster Gnutella Kazaa
sexta-feira, 2 de maro de 12
95
pares de usurios se comunicam. ! protocolo prprio da camada de aplicao (deduzido por engenharia reversa) ! sobreposio hierrquica com SNs ! ndice compara usernames com endereos IP; distribudo por SNs
sexta-feira, 2 de maro de 12
supern (SN)
96
! soluo: " usando os SNs de Alice e de Bob, o retransmissor escolhido " cada par inicia a sesso com retransmisso. " pares agora podem se comunicar atravs de NATs com retransmisso
NAT impede que um par de fora inicie uma chamada para um par de dentro da rede
sexta-feira, 2 de maro de 12
97
Recapitulando
Conceitos iniciais (arquitetura, host, aplicao, etc...) WEB (HTTP) FTP (transferncia de arquivos) Email (SMTP, POP3, IMAP) DNS (Domain Name Service) P2P (compartilhamento par a par)
sexta-feira, 2 de maro de 12 98
Dvidas
?
sexta-feira, 2 de maro de 12 99
Referncias
sexta-feira, 2 de maro de 12
100