Protocolos de camada de aplicação
Acabamos de aprender que processos de rede comunicam-se entre si enviando mensagens para dentro de sockets. Mas, como essas mensagens são estruturadas? O que significam os vários campos nas mensagens? Quando os processos enviam as mensagens? Essas perguntas nos transportam para o mundo dos protocolos de camada de aplicação. Um protocolo de camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes, passam mensagens entre si. Em particular, um protocolo de camada de aplicação define:
- os tipos de mensagens trocadas, por exemplo, de requisição e de resposta;
- a sintaxe dos vários tipos de mensagens, tais como os campos da mensagem e como os campos são delineados;
- a semântica dos campos, isto é, o significado da informação nos campos;
- regras para determinar quando e como um processo envia mensagens e responde a mensagens.
Alguns protocolos de camada de aplicação estão especificados em RFCs e, portanto, são de domínio público.
Por exemplo, o protocolo de camada de aplicação da Web, HTTP (HyperText Transfer Protocol [RFC 2616]), está
à disposição como um RFC. Se um desenvolvedor de browser seguir as regras do RFC do HTTP, seu browser estará habilitado a extrair páginas de qualquer servidor Web que também tenha seguido as regras do RFC do HTTP.
Muitos outros protocolos de camada de aplicação são proprietários e, intencionalmente, não estão disponíveis ao
público. Por exemplo, muitos dos sistemas de compartilhamento de arquivos P2P existentes usam protocolos de
camada de aplicação proprietários.
É importante distinguir aplicações de rede de protocolos de camada de aplicação. Um protocolo de camada
de aplicação é apenas um pedaço (embora grande) de aplicação de rede. Examinemos alguns exemplos. A Web
é uma aplicação cliente-servidor que permite aos usuários obter documentos de servidores Web por demanda.
A aplicação Web consiste em muitos componentes, entre eles um padrão para formato de documentos (isto é,
HTML), browsers Web (por exemplo, Firefox e Microsoft Internet Explorer), servidores Web (por exemplo,
servidores Apache e Microsoft) e um protocolo de camada de aplicação. O protocolo de camada de aplicação da
Web, HTTP, define o formato e a sequência das mensagens que são passadas entre o browser e o servidor Web.
Assim, ele é apenas um pedaço (embora importante) da aplicação Web.
Como outro exemplo, considere a aplicação correio eletrônico da Internet que também tem muitos componentes, entre eles servidores de correio que
armazenam caixas postais de usuários, leitores de correio que permitem aos usuários ler e criar mensagens, um
padrão que define como mensagens são passadas entre servidores e entre servidores e leitores de correio e como
o conteúdo de certas partes da mensagem de correio (por exemplo, um cabeçalho) deve ser interpretado. O principal protocolo de camada de aplicação para o correio eletrônico é o SMTP — Simple Mail Protocol [RFC 5321].
Assim, o SMTP é apenas um pedaço (embora importante) da aplicação correio eletrônico.
Comentários
Postar um comentário