Sei sulla pagina 1di 5

14/03/2017 Redes de computadores/Camada de aplicao - Wikilivros

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).

https://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 1/5
14/03/2017 Redes de computadores/Camada de aplicao - Wikilivros

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.

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

https://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 2/5
14/03/2017 Redes de computadores/Camada de aplicao - Wikilivros

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.

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

https://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 3/5
14/03/2017 Redes de computadores/Camada de aplicao - Wikilivros

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, 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 "https://pt.wikibooks.org/w/index.php?title=Redes_de_computadores/Camada_de_aplicao&oldid=443130"

https://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 4/5
14/03/2017 Redes de computadores/Camada de aplicao - Wikilivros

Categoria: Livro/Redes de computadores

Esta pgina foi modificada pela ltima vez (s) 21h08min de 20 de fevereiro de 2017.
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.

https://pt.wikibooks.org/wiki/Redes_de_computadores/Camada_de_aplica%C3%A7%C3%A3o 5/5

Potrebbero piacerti anche