Vous êtes sur la page 1sur 74

Camada

de Aplicao

Abril de 2009

Aplicaes de rede
As

rede de computadores existem por causa das aplicaes. jargo de sistema operacional, as entidades que se comunicam so denominados processos. pode ser entendido como sendo um programa em execuo em um host. rodando em sistemas diferentes se comunicam um com outro enviando mensagens atravs da rede.

No

Processo

Processos

Aplicaes de rede
Cada

processo identificado por :

Um endereo IP e Um nmero de porta de protocolo ( numero lgico)


Cada

aplicao de rede define um protocolo da camada de aplicao.

Aplicaes de rede

Protocolo da camada de aplicao define: Os tipos de mensagens trocadas entre os processos; O formato das mensagens, isto , os campos das mensagens; As semnticas dos campos, isto , os significados de cada campo. Regras para determinar quando e como um processo envia mensagens e responde s mensagens.

Cliente e servidor

Um protocolo da camada de aplicao possui tipicamente dois lados : O lado cliente e o lado servidor

O lado cliente aquele que toma a iniciativa de se comunicar com o lado servidor. Numa aplicao web, por exemplo, o browser implementa o lado cliente de HTTP e o servidor web implementa o lado servidor de HTTP. Muitas aplicaes implementam os dois lados do protocolo.

User Agents

User Agent um programa que serve de interface entre o usurio e a aplicao de rede. Os browsers Netscape e Internet Explorer so exemplos de user agents: Permitem que o usurio visualize as pginas Web, naveguem pela Web, interajam com applets Java, etc.

Servios de rede

A camada de transporte fornece dois protocolos: UDP e TCP. Ao se desenvolver uma aplicao de rede, deve-se escolher um dos protocolos de transporte. A escolha feita baseando-se nos servios que cada um dos protocolos de transporte fornece, isto , utiliza-se aquele que mais se casa com as necessidades da aplicao.

Servios fornecidos pelos protocolos da camada de transporte

TCP Orientado a conexo Transporte confivel Possui reconhecimento e retransmisso Possui mecanismo de controle de congestionamento No garante taxa mnima de transmisso No fornece nenhuma garantia de atraso

Servios fornecidos pelos protocolos da camada de transporte

UDP No orientado a conexo Transferncia no confivel No possui reconhecimento nem retransmisso No possui mecanismo de controle congestionamento No garante taxa mnima de transmisso No fornece nenhuma garantia de atraso

FTP ( File Transfer Protocol )


Protocolo O O

para transferir arquivos de um sistema para outro.

usurio chama um programa cliente FTP

usurio especifica o computador remoto onde reside o arquivo desejado e, normalmente, uma senha para obter o acesso. programa cliente estabelece uma conexo TCP com o servidor FTP e solicita uma cpia do arquivo.

FTP ( File Transfer Protocol )


Cliente User Agent Controle FTP Transferncia de dados Sistema de arquivos Conexo de controle Comandos e respostas Conexo de dados Transferncia de dados Sistema de arquivos Controle
21

Servidor

FTP

Transferncia
20

de dados

SMTP ( Simple Mail Transfer Protocol )


Protocolo para servio de entrega de correio eletrnico. Quando um usurio envia uma mensagem, o sistema coloca uma cpia numa rea de armazenamento ( fila de sada ), contendo: Identificao do destinatrio. Endereo da mquina destinatria onde est o servidor SMTP.

SMTP ( Simple Mail Transfer Protocol )

O sistema inicia a transferncia como uma atividade de background: Estabelece uma conexo TCP ao servidor de correio na mquina destinatria. Passa a mensagem ao servidor remoto, que armazena numa caixa postal.

POP ( Post Office Protocol )

Protocolo para acessar um mail box localizado numa mquina remota. Quando o usurio quiser acessar o seu mail box, deve-se estabelecer uma conexo TCP com servidor POP na mquina onde est localizada o seu mail box. Usa um protocolo semelhante ao SMTP.

POP ( Post Office Protocol )

User Agent Programa que interfaceia com o usurio para editar e enviar mensagens, assim como para recuperar mensagens das suas caixas postais. Implementa os protocolos SMTP e POP.

SMTP e POP3
Programa E-mail User-Agent SMTP ( UA ) Servidor do provedor Fila de Cliente SMTP sada ( MTA ) Internet MTA = Message Transfer Agent SMTP

Programa E-mail User-Agent POP3 ( UA )

Servidor POP

Caixa postal

Porta 25 Servidor SMTP

Arquitetura de um sistema de E-mail

Sistema de e-mail composto por 2 partes: Mail User Agent (MUA) Cliente de e-mail Interao com usurio composio e leitura de mensagens Transferncia de mensagens entre o usurio e o MTA Diferentes protocolos entre MUA e MTA (POP, SMTP, IMAP) Mail Transfer Agent (MTA) Servidor de e-mail Transferncia de mensagens entre MTAs Protocolo utilizado: SMTP

Arquitetura de um sistema de Email


SMTP POP/IMAP MUA SMTP larc.usp.br Internet MTA SMTP MTA POP/ IMAP Ufabc.edu.br MUA

Arquitetura de um servidor de e-mail

Como um MTA ( Mail Transfer Agent) estruturado internamente ? Mensagens dos usurios ficam armazenadas em caixas postais (mailboxes)
SMTP SMTP SMTP MTA

MUA

fernando

skovach

gbressan

Caixas postais dos usurios

POP/IMAP

POP/ IMAP

MTA

Formato da mensagem de e-mail

RFC 822: formato para mensagens de texto

Mensagens codificadas em 7 bits ASCII

header

Linhas de cabealho (Header), ex.: To: From: Subject: CC: BCC: Corpo (Body) Apenas os caracteres ASCII da mensagem

Linha em branco

body

MIME

E-mail originalmente transmite apenas arquivos texto Como transmitir udio, vdeo e outros tipos de arquivos mais complexos ? Multiporpose Internet Mail Extension - MIME RFC 2045, 2056 Idia Bsica: Transformar arquivo binrio em arquivotexto
Codificao

Formato de Mensagens com MIME

Linhas adicionais no cabealho declaram o tipo de contedo MIME


Verso MIME mtodo usado Para codificar
From: fernando@larc.usp.br To: mario@ig.com.br Subject: Foto da festa. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data

Tipo de dado multimdia, Subtipo, declarao de parmetros Dado codificado

Protocolo POP3

POP3 - Post Office Protocol version 3 RFC 1939 TCP Porta 110 Utilizado para leitura das mensagens armazenadas no servidor de E-mail Download das mensagens inteiras do servidor Permite a leitura das mensagens em offline (ou seja, sem estar conectado na rede)

Como o POP3 funciona ?

Funcionamento Usual 1 Cliente de e-mail se conecta no servidor, autenticando-se 2 Servidor POP3 transfere para o cliente todas as mensagens na caixa postal 3 Mensagens da caixa postal so apagadas no servidor (fase opcional, porm alguns servidores fazem isto automaticamente) 4 Conexo encerrada

POP3 e leitura offline

Leitura Offline As mensagens so carregadas para a mquina cliente, atravs do POP3 Por isso, aps o download a mquina no precisa estar conectada na rede para a leitura das mesmas Vantagens para usurios remotos (ex.: dial-up) e mveis (notebooks) Armazenamento das mensagens no cliente Organizao das mensagens em pastas feita no cliente POP3

Problemas com POP3

Mensagens so trazidas integralmente para o cliente Mensagens grandes tm que ser completamente baixadas antes que se possa verificar se o seu contedo desejado Ruim para usurios que recebem muito lixo no e-mail Usurio que l mensagens de dois lugares diferentes (ex.: casa e trabalho) Mensagens no forem apagadas do servidor 2 cpias das mensagens, armazenadas em pastas diferentes em cada cliente, com status diferente Mensagens forem apagadas do servidor cada cliente conter diferentes mensagens

Protocolo IMAP4

Internet Message Access Protocol v.4 Outro protocolo para captura de mensagens com autenticao TCP, Porta 143 RFC 2060 Mudana na filosofia de tratamento das mensagens Mensagens so mantidas do servidor de email, mas acessadas como se estivessem localmente. Permite o download de parte da mensagem apenas (ex.: apenas o header, apenas um attachment, etc.)

IMAP4

Mensagens armazenadas no servidor As mensagens no servidor podem ser organizadas em pastas definidas pelo usurio De qualquer lugar que o usurio acessar ele sempre ter acesso s mesmas pastas Normalmente os clientes de e-mail baixam apenas os headers das mensagens As mensagens so transferidas apenas quando se quer l-las O mesmo vale para os attachments Se pelo header o usurio decidir apagar a mensagem, ele no precisa baix-la inteira

Webmail

Webmail Mapeia as funcionalidades de uma MUA, permitindo ao usurio interagir com sua caixa postal e enviar mensagens apenas com um browser

Webmail Acessa a caixa postal do usurio e formata as mensagens em pginas HTML Pginas HTML para composio de mensagens de texto Software de webmail pode estar na mesma mquina dos servidores POP/ IMAP e SMTP ou em mquinas distintas

Arquitetura de um servidor com Webmail

MTA
SMTP MUA POP/IMAP fernando skovach gbressan SMTP SMTP

POP/IMAP

POP/ IMAP

POP/IMAP

HTTP Webmail

WWW ou Web

uma aplicao que permite usurios ( browsers ) recuperarem documentos armazenados nos servidores Web. documentos, conhecidos tambm por pginas Web, so constitudos de objetos. objeto um simples arquivo como:

Os

Um

Um arquivo HTML Uma imagem JPEG ou GIF Um applet Java Um clip de udio ou vdeo

WWW ou Web
A

maioria das pginas Web so constitudas de um arquivo HTML de base contendo referncias a vrios objetos. pgina Web constitudo de um arquivo HTML e cinco imagens JPEG, contm seis objetos.

Uma

HyperText Markup Language ( HTML )


Documentos

HTML so arquivos de texto ASCII especialmente formatados, denominados hipertextos, que so interpretados pelos browsers Web. documentos contm textos a serem mostrados no display, e marcadores especiais que especificam as aes que devem ser tomadas pelo browser como formatar textos, buscar outros objetos, mostrar imagens na tela, etc.

Estes

HyperText Markup Language ( HTML )

Os marcadores especiais tem o formato <Marcador> Todo o marcador tem o correspondente marcador que indica o fim de uma ao. Seu formato < /Marcador > Um dos formatos do hipertexto o hiperlink que um ponteiro para algum tipo de recurso na Internet. Interpretando hiperlink, um browser sabe onde encontrar e como recuperar o recurso.

URL ( Universal Resource Locator )


Fornece

informaes sobre a localizao e o mtodo ( protocolo ) para recuperar um objeto. dos mtodos de acesso definidos para URL so ftp, http, telnet, etc. bsica de um URL:

Alguns

Sintaxe

<mtodo de acesso>:<parte especfica do mtodo>

URL ( Universal Resource Locator )


No

caso de http :

http : //<localizao do host> : <porta>/ <path> Se a porta no for especificada, subentende-se a porta default. No caso de http 80.
Exemplo

de URL:

http://www.ufabc.edu.br/algumDiretorio/ fig.gif

Hypertext Transfer Protocol ( HTTP )


Protocolo HTTP

usado na aplicao Web.

implementado em dois programas: cliente e servidor. define uma estrutura de mensagens e como elas so trocadas entre clientes e servidores. como clientes Web ( browsers ) solicitam pginas Web aos servidores e como os servidores transferem as pginas Web aos clientes

HTTP

Define

Hypertext Transfer Protocol ( HTTP )


Uma

transao HTTP consiste de 4 partes:

Conexo - O cliente estabelece uma conexo TCP na porta associada ao servidor HTTP (porta 80) no host remoto. Solicitao - O cliente envia uma solicitao ao servidor HTTP. Resposta - O servidor HTTP envia uma resposta. Fechamento - O cliente ou o servidor fecha a conexo TCP.

Hypertext Transfer Protocol ( HTTP )


Apresentao

das pginas Web pelo browser

As pginas Web no so transmitidas de uma vez. So construdas atravs de vrias transaes http. Transmite inicialmente, o arquivo HTML de base que contm o texto bsico e as localizaes dos grficos dentro da pgina. O browser, dessa forma, pode mostrar imediatamente a pgina bsica, e ento, buscar
os grficos.

Web Cache
Tambm

denominado de Proxy Server, web cache uma entidade de rede que efetua as solicitaes HTTP do cliente. seu prprio sistema de armazenamento em disco, mantendo cpias dos objetos solicitados mais recentes. usurio configura seus browsers de forma que todas as solicitaes HTTP sejam dirigidas aos web caches.

Possui

Web Cache
Nas

solicitaes, os web caches verificam inicialmente se existe uma cpia do objeto solicitado no seu disco. existir, envia o objeto ao cliente. Seno, o web cache estabelece uma conexo TCP com o servidor de origem, e solicita o objeto. receber o objeto solicitado, armazena uma cpia deste no seu disco e envia uma outra cpia ao browser dentro de uma mensagem de resposta HTTP.

Se

Ao

Web Cache

Cliente

Solicitao HTTP Solicitao HTTP Servidor de Resposta HTTP Origem

Resposta HTTP

Proxy

Solicitao HTTP Server Cliente Resposta HTTP Disco

Objetivos de Web Cache

Reduzir o tempo de resposta das solicitaes Se existir uma conexo de alta velocidade entre o cliente e o cache, como geralmente o caso, o cliente pode obter o objeto de forma mais rpida se existir uma cpia no cache.

Reduzir o trfego nos links de acesso Internet Em 1998, mais de 75% do trfego na Internet eram de Web.

Uma Internet cheia de caches constitui uma infra-estrutura para a distribuio rpida de contedos.

DNS ( Domain Name System )

DNS define uma estrutura hierrquica de nomes Estrutura que acomoda um conjunto grande de nomes. Descentraliza o mecanismo de nomeao. Delega autoridade para cada parte do nome . Distribui a responsabilidade no mapeamento de nomes em endereos. Semelhante a estrutura de numerao telefnica.

DNS na Internet
A

principal tarefa de DNS na Internet traduzir nomes de hosts em endereos IP. Especifica uma sintaxe de nomes e as regras para delegar autoridade sobre os nomes. Especifica um sistema distribudo de base de dados para traduzir nomes de hosts em endereos IP.

DNS na Internet
Especifica

uma sintaxe de nomes e as regras para delegar autoridade sobre os nomes. Usa um esquema hierrquico de nomes conhecido como nome de domnio, que Consiste de uma seqncia de ttulos separados por um ponto. Qualquer sufixo de um ttulo em um nome de domnio denominado de domnio.

Exemplo de um nome de domnio


larc.usp.br Nome de domnio para o LARC. o domnio de mais baixo nvel. usp.br Nome de domnio para a USP. o domnio de segundo nvel. br Nome de domnio para o Brasil. o domnio de mais alto nvel.

Domnios de mais alto nvel na Internet

Pode-se ter duas hierarquias de nomes: Geogrfica e Organizacional

com edu gov int mil org net arpa

- Organizaes comerciais. - Instituies educacionais. - Instituies governamentais. - Instituies internacionais - Instituies militares. - Organizao privada - Principais centros de suporte a rede - Domnio especial que mapeia endereos IP em nomes de domnio.

cdigo de pas - Padro ISO3166 . Ex.: br, us

Nomes de domnio da rede Internet


Raiz Domnios de mais alto nvel. Gerenciado pela interNIC arpa com edu ufabc xyz xyz.com nupro cs.ucla.edu xyz xyz.com.br gov mil org . . . br com usp larc larc.usp.br

Autoridades de domnio
Cada

autoridade pode criar ou alterar o que estiver dentro do seu domnio sem pedir permisso a ningum. que deve ser feito adicionar o novo nome numa base de dados que disponvel globalmente.

Tudo

Consideraes sobre DNS


Cada

parte de um nome completo diz apenas quem responsvel pela manuteno do nome. No diz quem mantm o computador com esse nome e nem onde est localizado. Dois computadores pertencentes ao mesmo domnio de nomes podem estar em redes fsicas diferentes.

Uma

mquina pode ter vrios nomes:

caju.larc.usp.br pode representar o mesmo computador que ftp.larc.usp.br.

Traduo de nomes em endereos

DNS implementa um sistema distribudo de base de dados para traduzir nomes de hosts em endereos IP. A base distribuda de dados implementada atravs de uma uma hierarquia de servidores de nomes; e de um protocolo da camada de aplicao que permite hosts e servidores de nomes se comunicarem para fornecer servio de traduo. O protocolo DNS utiliza o protocolo UDP na porta 53.

Mapeamento de nomes em endereos

DNS normalmente utilizado pelos outros protocolos de aplicao como HTTP, SMTP e FTP, para traduzir nomes de host fornecidos pelos usurios. Um browser para buscar uma pgina web na URL www.larc.usp.br, deve antes de mais nada, obter o endereo IP correspondente. Para isso, o browser solicita ao programa cliente da aplicao DNS resolver o nome, isto , obter o endereo IP. O programa cliente reside na mesma mquina onde reside o browser.

Exemplo de traduo

O cliente DNS formula uma mensagem de solicitao e envia para um servidor de nomes. Quando o cliente DNS receber a mensagem de resposta do servidor de nomes, ele passa o endereo IP para o browser . O browser pode agora,estabelecer uma conexo TCP com o servidor web localizado neste endereo IP.

Organizao hierrquica de servidores

Arranjo conceitual de servidores de nomes Corresponde hierarquia de nomes. Teoricamente, cada servidor conhece os endereos de todos os servidores de nvel inferior dentro do domnio que ele manipula. A raiz da rvore um servidor que reconhece os domnios de mais alto nvel e sabe qual servidor resolve cada domnio. Dado um nome para resolver, a raiz pode escolher o servidor correto para este nome.

Organizao hierrquica de servidores

Organizao realstica de servidores de nomes Na rvore conceitual, existe um servidor para cada nvel na qual um ou mais sub-domnios foram criados. Na prtica, a rvore de servidores no corresponde hierarquia de nomes. Muitas vezes, as informaes de todos os seus subdomnios esto em um nico servidor.

Servidor local de nomes

Cada ISP, como uma universidade, uma empresa, um provedor residencial - possui um servidor local de nomes ( tambm denominado de default name server ). Quando um host envia uma mensagem DNS de solicitao, vai primeiro para o servidor local. O endereo IP deste servidor configurado no host.

Servidor local de nomes


O servidor local fica normalmente prximo ao cliente. Se um host solicitar a traduo do nome de uma mquina que faz parte do mesmo ISP, o servidor local ser capaz de fornecer imediatamente o endereo IP solicitado. o caso do host manga.larc.usp.br solicitar o endereo IP do melao.larc.usp.br.

Servidor raiz

Quando um servidor local no puder responder a uma solicitao de um host ( porque, ele no possui o registro para este nome de host ), passa a se comportar como um cliente DNS e repassa a solicitao para um dos servidores raiz. Os servidores raiz conhecem o endereo IP de um servidor autoritrio que sabe como fazer o mapeamento. Existem na Internet cerca de uma dzia de servidores raiz.

Servidor autoritrio de nomes

Todos os hosts de um domnio de nomes devem estar registrados em um servidor que tem autoridade sobre este domnio. Por exemplo, o host de nome www.larc.usp.br deve estar registrado no servidor de nomes que tem autoridade sobre o domnio larc.usp.br.

Servidor autoritrio de nomes

Por definio, um servidor de nomes autoritrio para um host se ele possuir um registro de DNS que traduz o nome deste host no seu endereo IP. Normalmente, o servidor autoritrio de um host um servidor local de nomes no ISP deste host. Na prtica, exige-se que cada host esteja registrado no mnimo em dois servidores de nome autoritrio.

Resoluo de nomes de domnio

Tipos de solicitao para resoluo de nomes Solicitao para uma resoluo completa ( resoluo recursiva ) Neste caso, o servidor contata o servidor que pode resolver o nome e passa a resposta ao cliente; Solicitao para uma resoluo no recursiva ( resoluo iterativa ) Neste caso, o servidor responde especificando o servidor de nomes que o cliente deve contatar para resolver o nome.

Resoluo de nomes de domnio

Para assegurar que um servidor de nomes possa alcanar outros, o sistema de domnio exige que cada servidor conhea: O endereo de pelo menos um servidor raiz. O endereo de um servidor para o domnio imediatamente acima dele ( domnio pai ).

Resoluo de nomes de domnio

Quando um servidor de nomes recebe uma solicitao, ele verifica se o nome pertence ao domnio para qual uma autoridade. Se for, faz a traduo do nome e manda a resposta ao cliente. Se o servidor no puder responder, ele verifica o tipo de resoluo especificada pelo cliente.

Resoluo de nomes de domnio

Se o cliente solicitou resoluo completa, o servidor contata um servidor de nome que pode resolver e retorna a resposta ao cliente. Se o cliente solicitou uma resoluo no recursiva, o servidor envia como resposta, o endereo IP do prximo servidor para resolver o nome.

Exemplo de resoluo de nomes


2 3 4 5 6 7 Servidor raiz Servidor do domnio .com Servidor do domnio .microsoft.com

1 8

Exemplo de resoluo de nomes


1. O resolvedor de nomes do host pera.larc.usp.br envia uma solicitao para a resoluo completa do nome www.microsoft.com ao seu servidor local de nomes. 2. O servidor local no autoridade para este nome e portanto, envia uma solicitao para uma resoluo interativa do nome www.microsoft.com a um servidor raiz. 3. O servidor raiz de nomes responde com o endereo IP do servidor autoritrio de nomes do domnio .com

Exemplo de resoluo de nomes


4. O servidor local envia uma solicitao para a resoluo interativa de www.microsoft.com ao servidor de .com 5. O servidor de .com responde com o endereo IP do servidor autoritrio de nomes do domnio .microsoft.com 6. O servidor local envia uma solicitao para a resoluo interativa de www.microsoft.com ao servidor de .microsoft.com

Exemplo de resoluo de nomes


7. O servidor de .microsoft.com responde com o endereo IP do host www.microsoft.com ( ou que este host no existe ). 8. O servidor local envia o endereo IP do www.microsoft.com ao resolvedor de nomes que fez a solicitao inicial.

Eficincia na resoluo de nomes

Os servidores da Internet usam cache para otimizar a procura e diminuir o trfego na Internet. Cada servidor mantm um cache com nomes utilizados recentemente, junto com as informaes de onde o seu endereo foi obtido. Quando um cliente pede ao servidor resolver um nome, o servidor verifica se tem autoridade pelo nome. Se no tiver, verifica no seu cache se o nome foi resolvido recentemente.

Eficincia na resoluo de nomes

O servidor envia a informao que est no cache ao cliente, mas marcada como sendo uma associao no autoritria. O servidor local envia tambm, o nome e o endereo IP do servidor autoritrio ( S ) de onde obteve a associao e outras informaes . O cliente pode contatar o servidor S e verificar se a associao entre o nome e o endereo ainda vlida.

Eficincia na resoluo de nomes


Cache

Usurio Pergunta Resposta Pergunta Resposta

Servidor de nome Base de dados Servidor de nome Base de dados

Resolvedor de nomes

Cache

Cache

Eficincia na resoluo de nomes

Para manter os caches corretos, os servidores temporizam cada entrada. Aps a temporizao a entrada correspondente do cache removida. Quando uma autoridade responde a uma solicitao, ele inclui um valor de temporizao ( TTL -Time to Live ) que especifica o tempo de garantia da associao.

bibliografia

Kurose, Ross: Redes de Computadores e a Internet, 5 Edio Stephan Kovach: Notas de aulas.

Vous aimerez peut-être aussi