Sie sind auf Seite 1von 4

31/3/2014 Redes de computadores/Camada de aplicao - Wikilivros

http://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 1/4
Redes de computadores/Camada de aplicao
Origem: Wikilivros, livros abertos por um mundo aberto.
< Redes de computadores
Em um modelo de comunicao, como o TCP/IP, as camadas mais inferiores tm a funo de transmitir os dados enviados pela
camada de aplicao de maneira confivel, mas no fornecem servios diretos aos usurios. J a camada de aplicao, fornece
diretamente estes servios, sendo assim, a camada de aplicao a razo de ser de uma rede de computadores
[1]
. No modelo
TCP/IP no h as camadas de seo e apresentao, que na maioria das aplicaes so pouco usadas. Essas duas camadas esto
incluidas na camada de aplicao.
ndice
1 Arquiteturas de aplicao
1.1 Cliente e Servidor
1.2 Peer-to-Peer
1.3 Hbrida
2 A Comunicao entre os Processos
3 Protocolos de Camada de Aplicao
4 O protocolo de Transporte para uma Aplicao
5 Referncias
Arquiteturas de aplicao
Uma Arquitetura de Aplicao define a estrutura de comunicao entre os utilizadores da aplicao. Existem basicamente trs tipos de
arquitetura: Cliente-Servidor, Peer-to-Peer e uma arquitetura hbrida, que uma mescla das outros duas. Ao contrario de uma
arquitetura de rede, que fixa, ou seja, prov um conjunto especfico de servios as aplicaoes, a arquitetura de aplicao deve ser
escolhida pelo desenvolvedor da aplicao, determinando o modo que a aplicao vai se comportar nos sistemas finais em uma rede.
Com essa classificao segundo a arquitetura (cliente-servidor, P2P ou hbrida) pode-se entender melhor como se comportam as
aplicaes em uma rede. Em qualquer uma dessas arquiteturas, uma aplicao se comunica atravs de pares de processos, onde um
rotulado cliente e outro servidor. Mesmo em uma aplicao do tipo P2P, o par que solicita um arquivo de outra mquina,
denominado cliente, e o outro que fornece o servidor.
Cliente e Servidor
Este modelo praticamente ocupava a nica possibilidade e acabava assumindo como unanimidade o posto de arquitetura de aplicao,
isso ocorria devido a computadores poderosos, com muita memria, serem muito caros. Com isso, a tendncia era que existissem
computadores potentes que centralizassem esses efeitos, por isso MainFrames eram utilizados para armazenar dados de clientes para
fazer operaes remotas.
Na atualidade, apesar do avano da tecnologia, trazendo computadores pessoais com maior possibilidade de processamento e de
memria, com custo baixo, esse modelo ainda se apresenta com muita fora e aparentemente ter foras para continuar por muito
tempo ainda.
No modelo de arquitetura Cliente-Servidor, existem dois processos envolvidos, um no host cliente e um outro no host servidor. A
comunicao acontece quando um cliente envia uma solicitao pela rede ao processo servidor, e ento o processo servidor recebe a
mensagem, e executa o trabalho solicitado ou procura pelos dados requisitados e envia uma resposta de volta ao cliente, que estava
aguardando. Nesta arquitetura o servidor tem uma aplicao que fornece um determinado servio e os clientes tem aplicaes que
utilizam este servio. Uma caracterstica desta arquitetura, que um cliente no se comunica com outro cliente, e o servidor, que tem
um endereo fixo, esta sempre em funcionamento. Quase sempre um nico servidor incapaz de suportar as requisies de todos os
clientes, devido a isso, na maioria dos casos so utilizados vrios servidores que constituem um servidor virtual (server farm).
Um exemplo claro de aplicao Cliente-Sevidor a comunicao entre um browser, que usado para visualizar pginas da internet,
em um servidor web. Neste tipo de aplicao o cliente (browser) e o servidor (servidor web) comunicam-se trocando mensagens
atravs do protocolo HTTP.
31/3/2014 Redes de computadores/Camada de aplicao - Wikilivros
http://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 2/4
Peer-to-Peer
A arquitetura P2P (Peer-to-Peer) consiste em uma comunicao direta entre os clientes, no existe nenhuma diviso fixa entre cliente
e servidor. Cada par (peer) ativo requisita e fornece dados a rede, desta forma no existe a dependncia do servidor, isso aumenta
significativamente a largura de banda e a reduo de recursos. Esse tipo de arquitetura utilizado principalmente por aplicaes de
compartilhamento de contedo, como arquivos contendo udio, vdeo, dados ou qualquer coisa em formato digital. Outras aplicaes
orientadas a comunicaes de dados, como a telefonia digital, videotelefonia e rdio pela internet tambm utilizam esta arquitetura.
Como exemplo podemos citar o protocolo BitTorrent que utiliza a arquitetura peer-to-peer para compartilhamento de grandes
quantidades de dados. Neste exemplo um cliente capaz de preparar e transmitir qualquer tipo de ficheiro de dados atravs de uma
rede, utilizando o protocolo BitTorrent.
Um peer (par) qualquer computador que esteja executando uma instncia de um cliente. Para compartilhar um arquivo ou grupo de
arquivos, um n primeiro cria um pequeno arquivo chamado "torrent" (por exemplo, Meuarquivo.torrent). Este arquivo contm
metadados sobre os arquivos a serem compartilhados e sobre o tracker, que o computador que coordena a distribuio dos
arquivos. As pessoas que querem fazer o download do arquivo devem primeiro obter o arquivo torrent, e depois se conectar ao
tracker, que lhes diz a partir de quais outros pares que se pode baixar os pedaos do arquivo.
Hbrida
Com uma pesquisa realizada pela empresa Xerox, foi detectado que pelo menos 70% dos usurios de P2P no compartilhavam
arquivo, enquanto apenas 1% compartilhavam 50% destes, ou seja, a teoria que se tinha de diviso de trabalho pelos clientes, no
valia na prtica. Para isso ento, buscou-se uma soluo, e esta soluo, representou a utilizao da arquitetura do tipo hbrida.
31/3/2014 Redes de computadores/Camada de aplicao - Wikilivros
http://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 3/4
Uma hbrida, mescla das outras duas: cliente-servidor/P2P. Esta arquitetura utiliza, por exemplo, para transferncia de arquivos o P2P
e a arquitetura cliente/servidor para pesquisar quais peers contm o arquivo desejado. Uma aplicao muito utilizada neste tipo de
arquitetura a de mensagem instantnea. O Windows Live Messenger e o aMSN so bons exemplos, onde usurios podem bater
papo online instantaneamente em tempo real. A comunicao desta aplicao tipicamente P2P, no entanto, para iniciar uma
comunicao, um usurio registra-se em um servidor, e verifica quem da sua lista de contatos tambm est registrado, para a partir de
ento comear uma comunicao. Essas aplicaes tambm disponibilizam transferncia de arquivos, suporte a grupos, emoticons,
histrico de chat, suporte a conferncia, suporte a Proxy, e outras ferramentas.
A Comunicao entre os Processos
Na Internet, as aplicaes devem "conversar" entre si, ou seja, o que o usurio deseja deve ser entendido pela outra mquina e
respondido. Essa comunicao feita entre os processos, atravs da troca de mensagens. O remetente cria mensagens com seus
pedidos ao destinatrio, que recebe e gera as suas mensagens para responder (ou no) a solicitao.
Por exemplo, numa comunicao Web, o cliente solicita uma pgina da Internet, atravs de um determinado tipo de mensagem (no
caso, uma requisio HTTP). O servidor recebe a requisio, e envia uma mensagem com a pgina para o cliente (atravs de uma
resposta HTTP). Porm, se ocorre um erro, o servidor envia mensagens dizendo ao cliente que ouve algum erro.
Geralmente, a comunicao consiste em pares de processos, onde um processo em cada lado envia mensagens para o outro. Isso
ocorre na rede atravs dos sockets, que so os "porta-vozes" de cada host para uma determinada aplicao.
Para que haja essa comunicao, necessrio que os hosts se identifiquem. Para isso, usam o endereo IP. Porm, necessrio
tambm identificar qual processo naquela mquina ir levar as mensagens aplicao, e essa identificao chamada de nmero (ou
endereo) de porta.
Protocolos de Camada de Aplicao
Para que dois processos se comuniquem, eles devem trocar mensagens. Porm, necessrio haver regras que padronizem como
sero trocadas e tratadas essas mensagens. Por isso, existem os protocolos da camada de aplicao. Como em Tanenbaum
[2]
,
"mesmo na camada de aplicao existe a necessidade de protocolos de suporte, a fim de permitir que as aplicaes funcionem."
necessrio definir os tipos de mensagens a serem trocadas, a sintaxe dos vrios tipos de mensagens, a semntica dos campos que
compem as mensagens e as regras que determinam quando e como um processo envia e responde as mensagens. No entanto, como
explica Kurose, importante no confundir os protocolos de camada de aplicao com as aplicaes. So conceitos diferentes,
31/3/2014 Redes de computadores/Camada de aplicao - Wikilivros
http://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 4/4
apesar de os protocolos serem uma parcela significativa de uma aplicao. Uma aplicao a interface com o usurio, ou seja, aquilo
que realmente acessado. Os protocolos se responsabilizam por definir como os processos iro se comunicar e como iro tratar as
mensagens, para expor o que foi solicitado pelo usurio em sua aplicao. Por exemplo, para acessar uma pgina Web, um usurio
executa um programa Browser e solicita uma pgina. O Browser usa o protocolo HTTP para enviar o pedido da pgina, assim como
o servidor usa o mesmo protocolo para aceitar a requisio e devolver a pgina solicitada. O Browser interpreta a mensagem vinda
do servidor e apresenta a pgina.
Dentre os protocolos de aplicao, pode-se citar: HTTP (HyperText Transfer Protocol), HTTPS (HyperText Transfer Protocol over
Secure Socket Layer), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), Telnet, POP3 (Post Office Protocol
version 3), e muitos outros.
O protocolo de Transporte para uma Aplicao
Uma aplicao necessita escolher um tipo de protocolo da camada de transporte, para que as mensagens sejam entregues a aplicao
de destino. Uma vez feito essa escolha, a camada de transporte tem a responsabilidade de levar as mensagens pela rede. A internet
oferece dois protocolos para a camada de transporte, o TCP (Transmission Control Protocol) e o UDP (User Datagram Protocol).
Para efetuar uma boa escolha, o desenvolvedor da aplicao deve fazer uma escolha atentando-se a necessidade de sua aplicao.
Com relao ao transporte, podemos citar, por exemplo, a necessidade de transporte sem perdas, a necessidade de largura de banda
na comunicao, a temporizao, no que se refere a aplicaes interativas em tempo real, a necessidade de mecanismos de controle
de congestionamento e controle de fluxo (ou seja, compatibilidade de velocidades do remetente e do receptor), entre outras.
O protocolo TCP oferece um servio confivel de transferncia de dados, ou seja, ele garante a entrega do dados do socket emissor
ao socket receptor, na ordem e sem perdas, ou seja, ao iniciar a comunicao entre dois hosts com esse protocolo, feito uma
"conexo virtual" entre as portas dos hosts. O TCP utiliza o three-way-handshake para iniciar a comunicao. Portanto, aplicaes
que envolvem transferncia de arquivos, como correio eletrnico, aplicaes financeiras, visualizador de pginas da Web (browsers) e
ate mesmo conexes remotas a computadores e mensagens instantneas, que necessitam de confiabilidade na entrega dos dados, ou
seja, que no haja perdas, utilizam o protocolo TCP. O TCP tambm oferece um servio orientado para conexo, ou seja, ele faz
com que o cliente e o servidor troquem mensagens sobre informaes de controle da camada de transporte, antes da transferncia de
dados propriamente dita, e isso garante uma transferncia orientada para conexo.
O protocolo UDP oferece um transporte simples e menos confivel, pois no orientado para conexo, ou seja, no existem
procedimentos de verificao de envio e recebimento de dados. No entanto, pode haver checagem de integridade e se algum pacote
no for recebido, a aplicao do host de destino pode no fazer uma nova solicitao. Essa caracterstica de "bombear" os dados
para o destino velocidade que quiser, faz do protocolo UDP mais rpido e ideal para certos tipos de aplicaes. Existem aplicaes
que prefervel entregar os dados o mais rapidamente possvel, mesmo que algumas informaes se percam no caminho. o caso,
por exemplo, das transmisses de vdeo pela internet, onde a perda de um pacote de dados no interromper a transmisso. Por
outro lado, se os pacotes no chegarem ou demorarem a chegar, haver congelamentos na imagem, causando irritao ao usurio. O
mesmo acontece com aplicaes de videoconferncia, jogos em redes e telefonia pela internet.
Nem o TCP, nem o UDP oferecem garantia quanto a atrasos, ou seja, o TCP pode at garantir que os dados cheguem, porm no
garante um tempo mnimo para que isso ocorra. O UDP tambm: os dados podem ser aceitos mais rpido que TCP, porm atrasos
na rede podem tornar o servio intil.
Referncias
1. James F. Kurose e Keith W. Ross, Redes de Computadores e a Internet - Uma abordagem Top-Down
2. Andrew S. Tanenbaum, Redes de Computadores
Obtido em "http://pt.wikibooks.org/w/index.php?title=Redes_de_computadores/Camada_de_aplicao&oldid=269975"
Categoria: Livro/Redes de computadores
Esta pgina foi modificada pela ltima vez (s) 13h48min de 22 de maro de 2014.
Este texto disponibilizado nos termos da licena Creative Commons Atribuio-Compartilhamento pela mesma Licena 3.0
Unported; pode estar sujeito a condies adicionais. Consulte as Condies de Uso para mais detalhes.

Das könnte Ihnen auch gefallen