Camada de Aplicação
Introdução
Funções
Os tópicos a serem examinados
podem ser encontrados nos seguintes capítulos de livros:
Computer
Networks, Tanenbaum, cap. 7
Redes de
Computadores, Soares et alii, cap. 15
Outros bons livros de redes de
computadores, nos capítulos sobre camada de aplicação
1. Introdução
Antes de falar da camada de aplicação
é preciso mencionar que entre essa camada e a de transporte
existem, no modelo OSI, outras duas camadas, responsáveis pelo
gerenciamento de uma sessão (a camada de sessão) e pelo
gerenciamento do perfil dessa sessão (a camada de
apresentação). A descrição dessas camadas
pode ser vista nos livros que tratam mais detalhadamente o protocolo
OSI. Aqui não as trataremos pois grande parte de seus serviços
podem ser anexados aos serviços das camadas de transporte e de
aplicação, como é feito no protocolo TCP/IP,
usado pela grande maioria das redes em funcionamento.
Assumindo-se essa falta, voltamos nossa
atenção à camada de aplicação, que é a responsável pela especificação dos
diferentes serviços de comunicação a serem
disponibilizados para o usuário da rede. As funções
a serem descritas a seguir resumem, na realidade, uma série de
aplicações em rede que permitem aos usuários
desses serviços a realização de tarefas diversas.
Não existem, portanto, serviços
na camada de aplicação que tenham a mesma
funcionalidade dos serviços presentes nas camadas anteriores.
Em cada aplicação são definidos protocolos específicos para a aplicação, tendo
em comum apenas a interface com a camada inferior (apresentação
no protocolo OSI ou transporte no TCP/IP). Dessa forma, o estudo da
camada de aplicação pode ser entendido (e assim
realizado) como o estudo de cada uma das aplicações
existentes. Isso, é claro, requer um esforço grande
demais para ser efetivo nesse ponto do curso. Assim, apenas
listaremos algumas das aplicações existentes, com suas
características principais, deixando apenas a aplicação
de segurança para ser discutida um pouco mais detalhadamente
no próximo capítulo.
2. Funções
Transferência de arquivos
O serviço de transferência de aquivos permite aos
usuários movimentar (carregar ou depositar) arquivos de uma máquina
para outra. Aplicativos dessa categoria incluem o ftp (ou sftp
por razões de segurança) e, hoje em dia,
navegadores web. O serviço oferecido consiste em
estabelecer a conexão entre duas máquinas, reconhecer
as permissões de acesso e transferir arquivos entre as
máquinas através de pacotes de mensagens;
Troca
de mensagens Esse serviço consiste em permitir que
usuários se comuniquem de forma assíncrona através
de mensagens de texto (com ou sem imagens ou outros arquivos
anexados). Esse serviço é provido por aplicativos como
e-mail, usenet news (muito tempo atrás) e twitter, entre outros.
Para e-mails o envio de uma mensagem
exige que as máquinas que representam os endereços
fonte e destino se conectem para que o envio da mensagem ocorra de
fato. O não estabelecimento da conexão implica em
colocar-se a mensagem numa fila e tentar-se o seu envio repetidas
vezes durante alguns dias.
No caso de serviços de news o envio de uma
mensagem não é feito para um usuário (ou lista
deles) específico e sim para um mural, que pode ser consultado por
quem desejar. Funciona como um quadro de avisos (bulletin board),
em que se afixam notas que são lidas apenas pelos
interessados. Essa é uma forma mais eficiente de se trabalhar
com listas de distribuição, embora exija a existência
de um servidor (e muitos espelhos) para o mural;
Temos ainda serviços de troca de
mensagem em tempo-real, tais como os chats da internet, mas
esses pouco se diferenciam dos mecanismos anteriores, exceto pelo
fato da troca ocorrer de modo mais instantâneo.
Acesso remoto Permite
aos usuários acessarem máquinas remotamente. Os
maiores problemas de acesso remoto estão ligados à
segurança e ao fornecimento de um ambiente de trabalho
confortável ao usuário. A segurança envolve
aspectos bastante específicos e não serão
tratados aqui e o ambiente de trabalho envolve o fornecimento de
características de conversão entre terminais gráficos,
que serão tratados no próximo item. Aplicativos desse tipo incluem
telnet (que deve ser evitado )e ssh, entre outros;
Terminal virtual Como
dito acima, o serviço de terminal virtual consiste em
fornecer ao usuário um ambiente em que ele possa fazer acesso
remoto à uma determinada máquina, através da
conversão de controles específicos de interface (tela,
teclado, mouse, etc.) da máquina em que está
fisicamente o usuário e a máquina que ele acessa
remotamente. Terminais virtuais incluem xterm, vt100,
etc.;
Execução remota
Serviços de execução remota são, na realidade, uma especialização
do serviço de acesso remoto em que o usuário apenas solicita que uma
determinada tarefa seja executada remotamente. Eles são uma das
características determinantes de sistemas distribuídos, sendo representados,
por exemplo, pelo serviço de RPC (Remote Procedure Call) ou de
RMI (Remote Method Invocation em Java);
Segurança Esse
serviço será tratado com mais detalhes no próximo
capítulo. Entretanto, para não deixar em falta o
mínimo de informação, é preciso dizer
aqui que segurança em redes de computadores significa
fornecer meios de controle de acesso aos serviços da rede.
Isso implica em controlar a autenticação dos usuários
e das permissões de acesso que esses usuários terão
aos conteúdos disponíveis na rede.
|