camadadeaplicação

Upload: carlos-andre

Post on 18-Oct-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/28/2018 CamadadeAplica o

    1/37

    Captulo 2

    Redes de computadores e a Internet

    Camada

    de

    aplicao

  • 5/28/2018 CamadadeAplica o

    2/37

    2

    2005 by Pearson Education-

    E-mail

    Web

    Mensagem instantnea

    Login remoto

    P2P file sharingJogos de rede multi-usurio

    Telefonia via Internet

    Videoconferncia em tempo real

    Algumas aplicaes de rede

  • 5/28/2018 CamadadeAplica o

    3/37

    2

    2005 by Pearson Education-

    Escrever programas queExecutem sobre diferentes sistemas

    finais e

    Se comuniquem atravs de uma rede.

    Ex.: Web software de servidor Web

    se comunicando com software dobrowser.

    Nenhum software escrito paradispositivos no ncleo da rede

    Dispositivos do ncleo da rede no

    trabalham na camada de aplicaoEsta estrutura permite um rpido

    desenvolvimento de aplicao

    Criando uma nova aplicao de rede

  • 5/28/2018 CamadadeAplica o

    4/37

    2

    2005 by Pearson Education-

    2.1 Princpios de aplicaes de rede

    2.2 Web e HTTP

    2.3 FTP

    2.4 Correio electrnico SMTP, POP3, IMAP

    2.5 DNS

    2.6 Compartilhamento de arquivos P2P

    2.7 Programao de socket com TCP

    2.8 Programao de socket com UDP

    2.9 Construindo um servidor Web

    Camada de aplicao

  • 5/28/2018 CamadadeAplica o

    5/37

    2

    2005 by Pearson Education-

    Cliente-servidor

    Peer-to-peer(P2P)

    Hbrida de cliente-servidor e P2P

    Arquiteturas de aplicao

  • 5/28/2018 CamadadeAplica o

    6/37

    2

    2005 by Pearson Education-

    Arquitetura cliente-servidor

    Clientes:Comunicam-se com o servidorPode ser conectado

    intermitentementePode ter endereo IP dinmicoNo se comunicam diretamente

    uns com os outros

    Servidor:Hospedeiro sempre ativoEndereo IP permanenteFornece servios

    solicitados pelo cliente

  • 5/28/2018 CamadadeAplica o

    7/37

    2

    2005 by Pearson Education-

    Nem sempre no servidor

    Sistemas finais arbitrrioscomunicam-se diretamente

    Pares so intermitentementeconectados e trocam endereos IP

    Ex.: Gnutella

    Altamente escalveis mas difceis

    de gerenciar

    Arquitetura P2P pura

  • 5/28/2018 CamadadeAplica o

    8/37

    2

    2005 by Pearson Education-

    NapsterTransferncia de arquivo P2P

    Busca centralizada de arquivos:

    Contedo de registro dos pares no servidor central

    Consulta de pares no mesmo servidor central para localizar o contedo

    Instant messaging

    Bate-papo entre dois usurios P2P

    Deteco/localizao centralizada de presena:

    Usurio registra seu endereo IP com o servidor central quando fica on-line

    Usurio contata o servidor central para encontrar endereos IP dosvizinhos

    Hbrida de cliente-servidor e P2P

  • 5/28/2018 CamadadeAplica o

    9/37

    2

    2005 by Pearson Education-

    Um processo envia/recebemensagens para/de seu socket

    O socket anlogo a umaporta

    O processo de envio empurraa mensagem para

    fora da porta

    O processo de envio confiana infra-

    estrutura de

    transporte no outrolado da porta queleva a mensagem

    para o socket noprocesso derecepo.

    Sockets

  • 5/28/2018 CamadadeAplica o

    10/37

    2

    2005 by Pearson Education-

    Para um processo receber mensagens, ele deve ter um identificadorUm hospedeiro possui um nico endereo IP de 32 bits

    P.:O endereo IP do hospedeiro onde o processo est executando suficientepara identificar o processo?

    R.:No, muitos processos podem estar em execuo no mesmo hospedeiro.

    O identificador inclui o endereo IP e o nmero da portaassociada ao processono hospedeiro

    Exemplos de nmeros de porta:Servidor HTTP: 80Servidor de Correio: 25

    Processos de endereamento

  • 5/28/2018 CamadadeAplica o

    11/37

    2

    2005 by Pearson Education-

    Tipo das mensagens trocadas, mensagens de requisio e respostaSintaxe dos tipos de mensagem: os campos nas mensagens e como so

    delineados

    Semntica dos campos, ou seja, significado da informao nos campos

    Regras para quando e como os processos enviam e respondem s mensagens

    Protocolos de domnio pblico:

    Definidos nas RFCs

    Recomendados para interoperabilidade

    Ex.: HTTP, SMTP

    O protocolo da camada de aplicao define

    2

  • 5/28/2018 CamadadeAplica o

    12/37

    2

    2005 by Pearson Education-

    Perda de dadosAlgumas aplicaes (ex.: udio) podem tolerar alguma perda

    Outras aplicaes (ex.: transferncia de arquivos, telnet) exigemtransferncia de dados 100% confivel

    Temporizao

    Algumas aplicaes (ex.: telefonia Internet, jogos interativos) exigembaixos atrasos para serem efetivos

    Banda passante

    Algumas aplicaes (ex.: multimdia) exigem uma banda mnima paraserem efetivas

    Outras aplicaes (aplicaes elsticas) melhoram quando a bandadisponvel aumenta

    De qual servio de transporte uma aplicao necessita?

    2

  • 5/28/2018 CamadadeAplica o

    13/37

    2

    2005 by Pearson Education-

    Aplicao

    file transfer

    e-mail

    Web documents

    real-time udio/vdeo

    stored udio/video

    jogos interativos

    e-business

    Perdas

    sem perdas

    sem perdas

    tolerante

    tolerante

    tolerante

    tolerante

    sem perda

    Banda

    elstica

    elstica

    elstica

    adio: 5 Kb-1 Mbvdeo:10 Kb-5 Mb

    igual anterior

    kbps

    elstica

    Sensvel ao atraso

    no

    no

    no

    sim,

    sim,

    sim,

    sim

    Requisitos de transporte de aplicao comuns

    2

  • 5/28/2018 CamadadeAplica o

    14/37

    2

    2005 by Pearson Education-

    Servio TCP:Orientado conexo:conexo requerida entre processos cliente e servidor

    Transporte confivelentre os processor de envio e recepoControle de fluxo:o transmissor no sobrecarrega o receptor

    Controle de congestionamento:protege a rede do excesso de trfego

    No oferece:garantias de temporizao e de banda mnimaServio UDP:

    Transferncia de dados no confivel entre os processos transmissor e receptor

    No oferece: estabelecimento de conexo, confiabilidade, controle de fluxo e

    de congestionamento, garantia de temporizao e de banda mnima.

    Servios dos protocolos de transporte da Internet

    2

  • 5/28/2018 CamadadeAplica o

    15/37

    2

    2005 by Pearson Education-

    Aplicao

    e-mail

    acesso de terminais remotos

    Web

    transferncia de arquivosstreaming multimdia

    servidor de arquivos remoto

    telefonia Internet

    Protocolo deaplicao

    smtp [RFC 821]

    telnet [RFC 854]

    http [RFC 2068]

    ftp [RFC 959]RTP ou proprietrio

    (ex.: RealNetworks)

    NSF

    RTP ou proprietrio

    (ex.: Vocaltec)

    Protocolo detransporte

    TCP

    TCP

    TCP

    TCPTCP ou UDP

    TCP ou UDP

    tipicamente UDP

    Aplicao e protocolos de transporte da Internet

    2

  • 5/28/2018 CamadadeAplica o

    16/37

    2

    2005 by Pearson Education-

    2.1 Princpios de aplicaes de rede

    2.2 Web e HTTP

    2.3 FTP

    2.4 Correio electrnico

    SMTP, POP3, IMAP2.5 DNS

    2.6 Compartilhamento de arquivos P2P

    2.7 Programao de socket com TCP

    2.8 Programao de socket com UDP

    2.9 Construindo um servidor Web

    Camada de aplicao

    2

  • 5/28/2018 CamadadeAplica o

    17/37

    2

    2005 by Pearson Education-

    Primeiro alguns jarges

    Pgina Webconsiste de objetos

    Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivode udio,

    A pgina Web consiste de arquivo-HTML baseque inclui vrios

    objetos referenciadosCada objeto endereado por uma URL

    Exemplo de URL:

    www.someschool.edu/someDept/pic.gif

    Nome do hospedeiro Nome do caminho

    Web e HTTP

    2

  • 5/28/2018 CamadadeAplica o

    18/37

    2

    2005 by Pearson Education-

    HTTP: hypertext transfer protocol

    Protocolo da camada de aplicaoda Web

    Modelo cliente/servidorCliente:browser que solicita,recebe e apresenta objetos da Web

    Servidor:envia objetos emresposta a pedidos

    HTTP 1.0: RFC 1945

    HTTP 1.1: RFC 2068

    Viso geral do HTTP

    2

  • 5/28/2018 CamadadeAplica o

    19/37

    2

    2005 by Pearson Education-

    Utiliza TCP:Cliente inicia conexo TCP (cria socket) para o servidor na porta 80

    Servidor aceita uma conexo TCP do cliente

    mensagens HTTP (mensagens do protocolo de camada de aplicao) sotrocadas entre o browser (cliente HTTP) e o servidor Web (servidor HTTP)

    A conexo TCP fechada

    Viso geral do HTTP

    2

  • 5/28/2018 CamadadeAplica o

    20/37

    2

    2005 by Pearson Education-

    Usurio entra com a URL:www.someSchool.edu/someDepartment/home.index

    1a.Cliente HTTP inicia conexoTCP ao servidor HTTP(processo) emwww.someSchool.edu. Porta80 a default para o servidor

    HTTP.

    2.Cliente HTTP envia HTTP request

    message(contendo a URL) para

    o socket da conexo TCP

    1b.Servidor HTTP no hospedeiro

    www.someSchool.edu esperando

    pela conexo TCP na porta 80.

    Aceita conexo, notificando ocliente

    3.Servidor HTTP recebe mensagem

    de pedido, forma response

    messagecontendo o objeto

    solicitado

    (someDepartment/home.index),

    envia mensagem para o socketTempo

    (contm texto,referncias a 10 imagens jpeg

    HTTP no persistente

    2

  • 5/28/2018 CamadadeAplica o

    21/37

    2

    2005 by Pearson Education-

    5.Cliente HTTP recebemensagem de respostacontendo o arquivo html,apresenta o contedo html.Analisando o arquivo html,

    encontra 10 objetos jpegreferenciados

    6.Passos 1-5 so repetidos para

    cada um dos 10 objetos jpeg.

    4.Servidor HTTP fecha conexoTCP.

    Tempo

    HTTP no persistente

    2 FTP t l d t f i d i

  • 5/28/2018 CamadadeAplica o

    22/37

    2

    2005 by Pearson Education-

    Transferncia de arquivos de e para o computador remoto

    Modelo cliente servidorCliente:lado que inicia a transferncia (seja de ou para o lado remoto)Servidor:hospedeiro remoto

    FTP: RFC 959

    FTP servidor: porta 21

    FTP: o protocolo de transferncia de arquivos

    2

  • 5/28/2018 CamadadeAplica o

    23/37

    2

    2005 by Pearson Education-

    Cliente FTP contata o servidor FTP na porta 21 especificando o TCP comoprotocolo de transporte

    Cliente obtm autorizao pela conexo de controleCliente procura o diretrio remoto enviando comandos pela conexo de controle

    Quando o servidor recebe um comando para uma transferncia de arquivo, eleabre uma conexo de dados TCP para o cliente

    Aps a transferncia de um arquivo, o servidor fecha a conexo

    Servidor abre uma segunda conexo de dados TCP para transferir outro arquivoConexo de controle: fora da banda

    FTP: controle separado, conexes de dados

    2 FTP d t

  • 5/28/2018 CamadadeAplica o

    24/37

    2

    2005 by Pearson Education-

    Exemplos de comandos:

    Envie um texto ASCII sobre canal de controleUSER username

    PASSpassword

    LISTretorna listagem do arquivo no diretrio atual

    RETR filenamerecupera (obtm) o arquivo

    STOR filenamearmazena o arquivo no hospedeiro remoto

    Exemplos de cdigos de retornoCdigo de status e frase (como no HTTP)

    331 Username OK, password required

    125 data connection already open; transfer starting

    425 Cant open data connection

    452 Error writing file

    FTP comandos, respostas

    2 C i l t i

  • 5/28/2018 CamadadeAplica o

    25/37

    2

    2005 by Pearson Education-

    Trs componentes principais:Agentes de usurioServidores de correioSimple mail transfer protocol: SMTP

    Agente de usurioleitor de correioComposio, edio, leitura de

    mensagens de correioEx.: Eudora, Outlook, elm, Netscape

    MessengerMensagens de entrada e de sada so

    armazenadas no servidor

    Correio eletrnico

    2 C i l t i id d i

  • 5/28/2018 CamadadeAplica o

    26/37

    2

    2005 by Pearson Education-

    Servidores de correioCaixa postalcontm mensagens

    que chegaram (ainda no lidas)para o usurio

    Fila de mensagenscontm asmensagens de correio a seremenviadas

    Protocolo SMTPpermite aosservidores de correio trocaremmensagens entre siCliente: servidor de correio

    que enviaservidor: servidor de

    correio que recebe

    Correio eletrnico: servidores de correio

    2 Correio eletrnico: SMTP [RFC 821]

  • 5/28/2018 CamadadeAplica o

    27/37

    2

    2005 by Pearson Education-

    Correio eletrnico: SMTP [RFC 821]

    Usa TCP para transferncia confivel de mensagens de correio docliente ao servidor, porta 25

    Transferncia direta: servidor que envia para o servidor que recebe

    Trs fases de transfernciaHandshaking (apresentao)

    Transferncia de mensagensFechamento

    Interao comando/respostaComandos:texto ASCIIResposta:cdigo de status e frase

    Mensagens devem ser formatadas em cdigo ASCII de 7 bits

    2 Cenrio: Alice envia mensagem para Bob

  • 5/28/2018 CamadadeAplica o

    28/37

    2

    2005 by Pearson Education-

    1) Alice usa o agente de usurio (UA) para compor a mensagem e [email protected]

    2) O agente de usurio dela envia a mensagem para o seu servidor de correio; amensagem colocada na fila de mensagens.

    3) O lado cliente do SMTP abre uma conexo TCP com o servidor de correio do Bob.

    4) O cliente SMTP envia a mensagem de Alice pela conexo TCP.

    5) O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob.

    6) Bob invoca seu agente de usurio para ler a mensagem.

    Cenrio: Alice envia mensagem para Bob

    2 Protocolos de acesso ao correio

  • 5/28/2018 CamadadeAplica o

    29/37

    2

    2005 by Pearson Education-

    SMTP: entrega e armazena no servidor do destinoProtocolo de acesso: recupera mensagens do servidorPOP: Post Office Protocol [RFC 1939]Autorizao (agente servidor) e download

    IMAP: Internet Mail Access Protocol [RFC 1730]Maiores recursos (mais complexo)

    Manipulao de mensagens armazenadas no servidorHTTP: Hotmail , Yahoo! Mail etc.

    Protocolos de acesso ao correio

    2 POP3 (mais) e IMAP

  • 5/28/2018 CamadadeAplica o

    30/37

    2

    2005 by Pearson Education-

    Mais sobre POP3O exemplo anterior usa o modo download-and-delete

    Bob no pode reler o e-mail se ele trocar o cliente

    download-and-keep: cpias das mensagens em clientes diferentes

    IMAP

    Mantm todas as mensagens em um lugar: o servidor

    Permite que o usurio organize as mensagens em pastas

    IMAP mantm o estado do usurio atravs das sesses:

    POP3 (mais) e IMAP

    2 Camada de aplicao

  • 5/28/2018 CamadadeAplica o

    31/37

    2

    2005 by Pearson Education-

    2.1 Princpios de aplicaes de rede2.2 Web e HTTP

    2.3 FTP

    2.4 Correio electrnico

    SMTP, POP3, IMAP

    2.5 DNS

    2.6 Compartilhamento de arquivos P2P

    2.7 Programao de socket com TCP

    2.8 Programao de socket com UDP

    2.9 Construindo um servidor Web

    Camada de aplicao

    2 DNS: Dominain Name System

  • 5/28/2018 CamadadeAplica o

    32/37

    2

    2005 by Pearson Education-

    Pessoas:muitos identificadores:

    RG, nome, passaporteInternet hospedeiros, roteadores:Endereos IP (32 bits) - usados para enderear datagramasnome, ex.: gaia.cs.umass.edu - usados por humanos

    P.:Relacionar nomes com endereos IP?

    Domain Name System:Base de dados distribudaimplementada numa hierarquia de muitos

    servidores de nomes

    Protocolo de camada de aplicaohospedeiro, roteadores se comunicamcom servidores de nomes para resolvernomes (translaonome/endereo)

    Nota: funo interna da Internet, implementada como protocoloda camada de aplicaoComplexidade na borda da rede

    DNS: Dominain Name System

    2 DNS

  • 5/28/2018 CamadadeAplica o

    33/37

    2

    2005 by Pearson Education-

    DNS

    DNS servicesNome do hospedeiro para traduo de endereo IP Hospedeiro aliasingNomes cannicos e alias

    mail server aliasingdistribuio de carga

    Servidores Web replicados: estabelece o endereo IP para um nome cannico

    Por que no centralizar o DNS?Ponto nico de falhaVolume de trfegoBase centralizada de dados distanteManuteno

    No escalvel!

    2 Base de dados distribuda hierrquica

  • 5/28/2018 CamadadeAplica o

    34/37

    2

    2005 by Pearson Education-

    Cliente quer o IP para www.amazon.com; 1aaprox.:Cliente consulta um servidor de raiz para encontrar o servidor DNS com

    Cliente consulta o servidor DNS com para obter o servidor DNS amazon.comCliente consulta o servidor DNS amazon.com para obter o endereo IP para

    www.amazon.com

    Base de dados distribuda, hierrquica

    2 DNS: servidores de nomes raiz

  • 5/28/2018 CamadadeAplica o

    35/37

    2

    2005 by Pearson Education-

    So contatados pelos servidores de nomes locais que no podem resolverum nome

    Servidores de nomes raiz:Buscam servidores de nomes autorizados se o mapeamento do nome no

    for conhecidoConseguem o mapeamentoRetornam o mapeamento para o servidor de nomes local

    Existem 13 servidoresde nomes raiz no

    mundo

    DNS: servidores de nomes raiz

    2 Servidor de nomes local

  • 5/28/2018 CamadadeAplica o

    36/37

    2

    2005 by Pearson Education-

    No pertence estritamente a uma hierarquia

    Cada ISP (ISP residencial, companhia, universidade) possui um

    Tambm chamado de servidor de nomes default

    Quando um hospedeiro faz uma pergunta a um DNS, a pergunta enviada para seu servidor DNS local

    Age como um proxy, encaminhando as perguntas para dentro dahierarquia

    Servidor de nomes local

    2 Consultas recursivas

  • 5/28/2018 CamadadeAplica o

    37/37

    2

    2005 by Pearson Education-

    Consulta recursiva:Transfere a tarefa de

    resoluo do nome para oservidor de nomesconsultado

    Consulta encadeada:Servidor contatado

    responde com o nome deoutro servidor de nomespara contato

    eu no sei isto, mas

    pergunte a este servidor

    Consultas recursivas