( ! o modelos de serviço da camada de transporte o paradigma clienteservidor o paradigma P2P o o o o + # HTTP FTP SMTP / POP3 / IMAP DNS - ) . $ % & ' % .( ) ! , " ) * + ( - + ' . +) /0+ 12 , 5 3 . 6 ( ' +) + 4 4 6 ' +) . 4 7) . 8 o Transferência de arquivos é P2P o Busca de arquivos centralizada: • Pares registram o conteúdo em servidor central • Pares consultam o mesmo servidor central para localizar conteúdo 6 , " /, $ % 4 $ 2 o Convesa (chatting) entre dois usuários é P2P o Detecção de presença e localização é centralizada: • Usuário registra seu endereço IP em um servidor central quando fica em-linha • Usuário contata o servidor central para encontrar o endereço IP dos parceiros / + + % ( 24 $ 9 o definem um protocolo de aplicação 8 : 1 , + , < 0 + / 1 % = + % , + % + o Endereço IP do computador no qual roda o processo remoto o “número de porta” - permite ao computador receptor determinar o processo local para o qual a mensagem deve ser entregue. ; 2 , o dois processos se comunicam enviando dados para o soquete e lendo dados do soquete ( ) o rodam nos hospedeiros da rede no “espaço do usuário” o trocam mensagens para realização da aplicação o e.x., email, ftp, Web ) ' o fazem parte das aplicações o definem as mensagens trocadas e as ações tomadas o usam serviços de comunicação das camadas inferiores (TCP, UDP) ! # % > o defined in RFCs o allows for interoperability o Ex., HTTP, SMTP o Ex., KaZaA ! B / 4 4 ' + - ?@ @ A + - / 4 4 ) / 4 4 % 2 2 ) /0 ' +' ! 2 12 * + Aplicação transf. de arquivos correio-e documentos Web áudio/vídeo tempo-real áudio/vídeo armazenado jogos interativos mensagens instantâneas * / 4 4 Perdas Banda Sensível ao Atraso sem perdas sem perdas tolerante tolerante elástica elástica elástica áudio: 5Kb-1Mb vídeo:10Kb-5Mb igual à anterior Kbps elástica não não não sim, 100’s ms tolerante tolerante sem perda sim, segundos sim, 100’s ms sim e não + , 2 ( ! , ! CD ! + % +' Aplicação +' + + * + + '+ + * ) * ) e-mail acesso a terminal remotos Web transferência de arquivos streaming multimídia servidor de arquivos remoto telefonia Internet , Protocolo de Aplicação Protocolo de Transporte smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] RTP ou proprietário (e.g. RealNetworks) NFS RTP ou proprietário (e.g., Vocaltec) TCP TCP TCP TCP TCP ou UDP TCP ou UDP tipicamente UDP 4 2 7 !! 7 !! ' % & 7 !6 E G % % ' % ) ' ' + % $ . F .7 ! 6 E + 9 C #E F $H $ & F5 I o cliente: navegador que solicita, recebe e apresenta objetos da Web o servidor: envia objetos em resposta a pedidos $ ?4@ # J ?K L M $ ?4? # J @NO C #E www.someschool.edu/someDept/pic.gif $ $ $ ( $ % 8 ( 6 8 $ 7 !! 7 !! $ $ ! 9 ! / % O@ 8 0 + / % 9 + P $ / 9+ ! 2 $ $ 2 Q / R% S R S ' #!! / T T. / 2 C #E ! 2 ? 4 4 / (contém referência a 10 imagens jpeg) www.someSchool.edu/someDepartment/home.index $ $ / www.someSchool.edu. 7 !6 E ' 4 24 ' 7 !! ' ? 4 + I 7 !! C ! 2 ! $ I?4? ' #!! o conexão TCP o solicitação e transferência do objeto + + ! 2 $ $ ! + % / + I?4@ 9 2 $ . $ 2 1/ $ $ www.someSchool.edu esperando pela conexão ! O@4 0 1 + L4 M4 42 $ + $ ! 4 $ % $ > % $ 4 $ ?@ + 4 $ % $ 9 / % % C # E2 ! % someDepartment/home.index 4 U4 N4 $ % + ?.M ?@ 4 /someDepartment/home.index2 9 % 3 7 !! J 7!! # % ( #!! ! 6 C ! + % + % #!! $ + 7!! + Q 6 7 !! % 7 ! ! I?4? % $ %V 7 !! 5 F! (! 7 F D 2 $ $ #! ! + # % $ o ASCII (formato legível para humanos) / + % 7 !! + * % $ 6 GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed) + + + + ' 69 + F C #E C F ' 9 9 9 5 F! C #E $ % www.somesite.com/animalsearch?monkeys&banana # 69 7 ! ! I?4@ 5 F! (! 7F D o Pede ao servidor para não incluir o objeto solicitado na resposta 7 ! ! I?4? 5 F! (! 7 F D C! 7 !! $ / Q + 2 $ o Carrega arquivo no corpo da entidade para o caminho especificado na URL $ D F EF ! F o Apaga o arquivo especificado na URL % 4 4 $ 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 data data data data data ... 4 Q 7 !! 200 OK + - P ?4 ! o request succeeded, requested object later in this message ! telnet www.eurecom.fr 80 301 Moved Permanently / < o requested object moved, new location specified later in this message (Location:) + 9 TTT4 O@ 400 Bad Request 4D o request message not understood by server D o requested document not found on this server 0 P $ 1 $ $ ebay: 8734 ,D W Set-cookie: 1678 ?N X O + % + en d ' + Y Cookie file $ amazon: 1678 ebay: 8734 % ; . + cookie: 1678 ; $ Cookie file % ; . + cookie: 1678 amazon: 1678 ebay: 8734 $ $ % $ 0 / = 2 $ $ % o se o objeto existe no web cache: web cache retorna o objeto o senão web cache solicita o objeto do servidor original, então envia o objeto ao cliente. $ # * ' , * > * 4 $ + $ 7!! If-modified-since: <date> ?4M 6 % If-modified-since: <date> + '+ % $ T $ * * $ H $ 5 F! 1 4 $ H $ ( % 9 9 ss acce ce ss $ + ac T % en da t r y i tab n b as ac e k H2 / + * Cookie file 2 $ U4 F $ 6 4+ / * 2 5 F! ) / 7 !! 505 HTTP Version Not Supported ; 4+ 4 5 F! $ GET /~ross/index.html HTTP/1.0 404 Not Found O@ 2 TTT4 $ % HTTP/1.0 304 Not Modified 9 o links externos podem ser caros e facilmente congestionáveis ?@ 6 E 8 $ Q 9 * HTTP/1.0 304 Not Modified $ % If-modified-since: <date> + $ HTTP/1.1 200 OK <data> 5 + + - + % + + + ' J! J! C $ - + ! ( % J! ? + ! ' ? ! % % + - % o cliente: lado que inicia a transferência (seja de ou para o lado remoto) o servidor: hospedeiro remoto + #J KMK + ? o controle: troca de comandos e respostas entre cliente e servidor. “controle fora da banda” o dados: dados do arquivo do/para o servidor + 9 0 1 Q + ! J! F + ) ! F F J! @ ' ' Q ( ,, LIST % + / $ 2 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection Q RETR filename / 9 2 % STOR filename % $ * ' + Q USER username PASS password (6 ! ' ' (6 ! 0 1 (6 ! ' 4 F ; 8 452 Error writing file 6 ' ) * ' F Z# J O ?[ ' ( ! 9 % $ / 2 ' ' + ' (6 ! (6 ! ' o cliente: servidor de correio que envia o “servidor”: servidor de correio que recebe + (6 ! 9 ' + - +' M % - % o o o + + handshaking (apresentação) transferência de mensagens fechamento I o comandos: texto ASCII o resposta: código de status e frase + Q ( ,, X ' 6 F S: C: S: C: S: C: S: C: S: C: C: C: S: C: S: (6 ! ! (6 ! 220 hamburger.edu HELO crepes.fr 250 Hello crepes.fr, pleased to meet you MAIL FROM: <[email protected]> 250 [email protected]... Sender ok RCPT TO: <[email protected]> 250 [email protected] ... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Do you like ketchup? How about pickles? . 250 Message accepted for delivery QUIT 221 hamburger.edu closing connection (6 ! J ! ! 6 $ % $ ( ,, #J $ 2 J Q Q ) #J 6 ,6 F 9 + ) " + @LM 4 4 . o a “mensagem”, ASCII somente com caracteres > $ $ o To: o From: o Subject: diferente dos comandos SMTP! $ 6 6 ,6 F $ 6 ,6 F $ ( ,, I 4 $ O X / CRLF.CRLF24 9 - % + / 0 .N L 1 0% 12 ( (6 ! CRLF.CRLF + $ . $ %V- \ telnet <nome do servidor> 25 @ 7 F E 6 ,E J # 6 # D ! < C ,! %V' + (6 ! (6 ! / - ! 6 ,6 F Content-Type: tipo/subtipo; parâmetros @MN > From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data ! \ plain, html mpeg, quicktime , jpeg, gif / + O. 32kadpcm / ; 2 % + basic µ. T 2 U 0 1 msword, octet-stream 7 ! 6 From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 (6 ! --98766789 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain (6 ! Dear Bob, Please find a picture of a crepe. --98766789 Content-Transfer-Encoding: base64 Content-Type: image/jpeg U * o user: declara nome do usuário o pass: password o +OK o -ERR + list: retr: > dele: quit $ S: C: S: C: S: +OK POP3 server ready user alice +OK pass hungry +OK user successfully logged 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 2 contents> . dele 2 quit +OK POP3 server signing off D8 ( D 8 8 D , / 8 (H ) $ o RG, nome, passporte % $ , $ o endereços IP (32 bit) usados para endereçar datagramas o “nome”, ex., gaia.cs.umass.edu - usados por humanos / < , I 2 o nota: função interna da Internet, implementada como protocolo da camada de aplicação o complexidade na “borda” da rede = 8 D8 ( (H * + $ > D8 ( ! (H + on % ( ' * ( D8 ( D U ,6 7 !! o POP: Post Office Protocol [RFC 1939] • autorização (agente <-->servidor) e descarga (download) o IMAP: Internet Mail Access Protocol [RFC 1730] • mais recursos (mais complexo) • manipulação de mensagens armazenadas no servidor o HTTP: Hotmail , Yahoo! Mail, etc. base64 encoded data ..... ......................... ......base64 encoded data --98766789-- + (6 ! ' , $ o Nomes canônicos e apelidos P 8 D o Servidores Web replicados: conjunto de endereços IP para um nome canônico $ '+ $ 2 D8 (= / 90 ' 12 o cada ISP ou empresa tem um servidor de nomes local (default) o Consultas dos computadores locais ao DNS vão primeiro para o servidor de nomes local o para um computador: armazena o nome e o endereço IP daquele computador o pode mapear nomes para endereços para aquele nome de computador 8 B $ ) D8 ( ( ' % 8 # * % * o buscam servidores de nomes com autoridade se o mapeamento do nome não for conhecido o conseguem o mapeamento o retornam o mapeamento para o servidor de nomes local Root DNS Servers org DNS servers com DNS servers yahoo.com DNS servers edu DNS servers poly.edu umass.edu DNS servers DNS servers pbs.org DNS servers amazon.com DNS servers a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD k RIPE London i NORDUnet Stockholm m WIDE Tokyo j NSI (TBD) Herndon, VA e NASA Mt View, CA f Internet Software C. Palo Alto, CA ?U * b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA ( ! ED ! . ) ; + / ( ( /! ED 2 ) 24 ) ) 2 J * * / Y$ ) $ / D8 ( 4 * $ , ,( 7 3 4 4 H4 , 4 4 $ + * o Funciona como um proxy, re-encaminha a consulta na hierarquia # D8 ( 2 % 4 < $ D8 ( 9 D8 ( 24 F /,( 2 o Também chamado de “servidor de nomes default” 4 o Podem ser mantidos pela organização ou por um provedor de serviços % E ' D8 ( D8 ( 8 D8 ( 2 ! ED D 8 ( 5 4 = dns.poly.edu 8 7 6 D8 ( dns.poly.edu ( 1 $ 0F cis.poly.edu gaia.cs.umass.edu $ % 1 5 4 8 $ D8( dns.cs.umass.edu % 6 ! ED D 8 ( D8 ( 1 3 7 $ $ D8( dns.cs.umass.edu cis.poly.edu gaia.cs.umass.edu 9 D8 ( * * D8 ( D 8 ( BD % ) % * + * $ !H o registros do cache tornam-se obsoletos (desaparecem) depois de um certo tempo * + ,F ! J ## /# # 2 (name, value, type,ttl) ] !H o name é o nome do hospedeiro o value é o endereço IP !H ]8 ( o http://www.ietf.org/html.charters/dnsind-charter.html D8 ( 6 F servereast.backup2.ibm.com o name é um domínio (ex. foo.com) o value é o nome do servidor de nomes com autoridade para este domínio o RFC 2136 ] 8 o name é um “apelido” para algum nome “canônico” (o nome real) www.ibm.com é realmente o value é o nome canônico !H ]6 ^ o value é o nome canônico do servidor de correio associado com name D8 ( D8 ( + $ + > ?N ## > + o o o o consulta ou resposta recursão desejada recursão disponível resposta com autoridade + % , > D8( $ % $ F # / 4 4 8 08 T ;( T 2 ; T ;C B 1 % F 4 o Deve-se fornecer ao registro os nomes e endereõs IP dos servidores de nomes com autoridade (primários e secundarios) o O registro insere dois RRs no servidor TLD com: T TTT4 ; T ; 4 4 ! 6^ 9 ; B 7!! ; , F % / T . Y, 3 2 / ' 2 , (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) ! 4 4 9 07 H & % 07 H & 14 1 Q 4 ! ] ' P 10 Q * Q B 8 ?2 % & U2 > ? 1 B % % * 5 > 9 9 * $ \ U ? 07 H * + $ ? o IP o conteúdo 2 + * H + * Q / H $ 2 ? % 5 , ! 5 + % 7 !! 9 ) T o não há servidor central ;2 9 _ ! ) > $ + 9 +) 5 ?4 2 ^ . Y QueryHit $ y er Qu it yH er Qu Query ` Y Qu er y F , F a b $ ^ 9 9 5 4 ^ ! 9 _ U4 ^ _ 3_ 4 % L4 ! M4 ^ ) ) %V . $ Qu ery QueryHit $ H * $ Query Y 9 . C . H / ' ?@ ! H ^ 9 5 + / 4 o conexão TCP entre o par e o líder do grupo. o conexões TCP entre alguns lideres de grupos. ) $ ' 4F > + $ ordinary peer 4 group-leader peer neighoring relationships in overlay network ! 11 a b a * % $ Q $ % E > " E) / $ 0 2 J 1 o Para cada casamento: metadados, hash, IP ( ) 2 % D $ ) / 4 % o requisições HTTP usando o identificador de hash enviado pelos pares que têm o arquivo desejado ) ( ' % o Cliente-servidor o P2P o híbrida # % o confiabilidade, largura de banda, retardo ) 6 6 , o Orientado a conexões, confiável: TCP o Não confiável, datagramas: UDP )+ o o o o ( HTTP FTP SMTP, POP, IMAP DNS ' * ! ) % 6 I o cliente requisita informação ou serviço o Servidor responde com dados ou código de status J o cabeçalhos: campos contendo informação sobre os dados o dados: informação sendo comunicada 4 o dentro / fora da banda (in-band, out-of-band) * 4 * 4 / 4 + 2 ! + +' 4 +' 0 1 12