Académique Documents
Professionnel Documents
Culture Documents
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
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.
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
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
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.
Servidor
FTP
Transferncia
20
de dados
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.
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.
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.
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
Servidor POP
Caixa postal
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
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
POP/IMAP
POP/ IMAP
MTA
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
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)
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
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
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
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
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
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.
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
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
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
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.
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
Resposta HTTP
Proxy
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 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.
- 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.
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
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
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.
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.
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 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.
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.
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.
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.
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.
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.
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 ).
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.
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.
1 8
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.
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.
Resolvedor de nomes
Cache
Cache
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.