O que são Hierarquias de protocolos?

O que são Hierarquias de protocolos?

Para melhor entendimento, antes de ler sobre O que são Hierarquias de protocolos, veja primeiro os artigos sobre:
O que são Redes locais?
O que é uma Rede Metropolitana?

O que são Redes Geograficamente distribuídas?,
 
Como funcionam as Redes sem fio?
e
O que são Redes domésticas?

Para reduzir a complexidade do projeto, a maioria das redes é organizada como uma pilha de camadas ou níveis, colocadas umas sobre as outras. O número de camadas, o nome, o conteúdo e a função de cada camada diferem de uma rede para outra. No entanto, em todas as redes o objetivo de cada camada é oferecer determinados serviços às camadas superiores, isolando essas camadas dos detalhes de implementação desses recursos. Em certo sentido, cada camada é uma espécie de máquina virtual, oferecendo determinados serviços à camada situada acima dela.

Na realidade, esse conceito é familiar e é utilizado em toda a ciência da computação, na qual é conhecido por nomes diferentes, como ocultação de informações, tipos de dados abstratos, encapsulamento de dados e programação orientada a objetos. A ideia fundamental é que um determinado item de software (ou hardware) fornece um serviço a seus usuários, mas mantém ocultos os detalhes de seu estado interno e de seus algoritmos.

A camada n de uma máquina se comunica com a camada n de outra máquina. Coletivamente, as regras e convenções usadas nesse diálogo são conhecidas como o protocolo da camada n.

Basicamente, um protocolo é um acordo entre as partes que se comunicam, estabelecendo como se dará a comunicação. Como uma analogia, quando uma mulher é apresentada a um homem, ela pode estender a mão para ele que, por sua vez, pode apertá-la ou beijá-la, dependendo, por exemplo, do fato de ela ser uma advogada americana que esteja participando de uma reunião de negócios ou uma princesa europeia presente a um baile de gala. A violação do protocolo dificultará a comunicação, se não a tornar completamente impossível. A Figura 1 ilustra uma rede de cinco camadas. As entidades que ocupam as camadas correspondentes em diferentes máquinas são chamadas pares (peers). Os pares podem ser processos, dispositivos de hardware ou mesmo seres humanos. Em outras palavras, são os pares que se comunicam utilizando o protocolo.
Figura 1 Camadas, protocolos e interfaces

Figura 1 Camadas, protocolos e interfaces

Na realidade, os dados não são transferidos diretamente da camada n de uma máquina para a camada n de outra máquina. Em vez disso, cada camada transfere os dados e as informações de controle para a camada imediatamente abaixo dela, até ser alcançada a camada mais baixa.

Abaixo da camada 1 encontra-se o meio físico através do qual se dá a comunicação propriamente dita. Na Figura 1, a comunicação virtual é mostrada por linhas pontilhadas e a comunicação física por linhas contínuas.

Entre cada par de camadas adjacentes existe uma interface. A interface define as operações e os serviços que a camada inferior tem a oferecer à camada que se encontra acima dela. Quando os projetis tas de rede decidem a quantidade de camadas que será incluída em uma rede e o que cada uma delas deve fazer, uma das considerações mais importantes é a definição de interfaces claras entre as camadas. Por sua vez, isso exige que cada camada execute um conjunto específico de funções bem definidas. Além de reduzir o volume de informações que deve ser passado de uma camada para outra, as interfaces bem definidas simplificam a substituição da implementação de uma camada por uma implementação completamente diferente (por exemplo, a substituição de todas as linhas telefônicas por canais de satélite), pois a nova implementação só precisa oferecer exatamente o mesmo conjunto de serviços à sua vizinha de cima, assim como era feito na implementação anterior. De fato, é comum hosts diferentes utilizarem implementações distintas.

Um conjunto de camadas e protocolos é chamado arquitetura de rede. A especificação de uma arquitetura deve conter informações suficientes para permitir que um implementador desenvolva o programa ou construa o hardware de cada camada, de forma que ela obedeça corretamente ao protocolo adequado. Nem os detalhes da implementação nem a especificação das interfaces pertencem à arquitetura, pois tudo fica oculto dentro das máquinas e não é visível do exterior. Não é nem mesmo necessário que as interfaces de todas as máquinas de uma rede sejam iguais, desde que cada um a delas possa usar todos os protocolos de maneira correta. Uma lista de protocolos usados por um determinado sistema, um protocolo por camada, é chamada pilha de protocolos.

Os principais assuntos deste livro serão as arquiteturas de rede, as pilhas de protocolos e os protocolos propriamente ditos. Uma analogia pode ajudar a explicar a ideia de uma comunicação em vários níveis. Imagine dois filósofos (processos pares da camada 3), um dos quais fala urdu e inglês e o outro fala chinês e francês. Como não falam um idioma comum, eles contratam tradutores (processos pares da camada 2), que por sua vez têm cada qual uma secretária (processos pares da camada 1).

O filósofo 1 deseja transmitir sua predileção por oryctolagus cuniculus a seu par. Para tal, ele envia uma mensagem (em inglês) através da interface 2/3 a seu tradutor, na qual diz “I like rabbits”, como mostra a Figura 2 Como os tradutores resolveram usar um idioma neutro, o holandês, a mensagem foi convertida para “Ik vind konijnen leuk”. A escolha do idioma é o protocolo da camada 2, que deve ser processada pelos pares da camada 2.

O tradutor entrega a mensagem a uma secretária para ser transmitida, por exemplo, pelo fax (o protocolo da camada 1). Quando chega, a mensagem é traduzida para o francês e passada através da interface 2/3 para o filósofo 2. Observe que cada protocolo é totalmente independente dos demais, desde que as interfaces não sejam alteradas. Nada impede que os tradutores mudem do holandês para o finlandês, desde que ambos concordem com a modificação e que ela não afete sua interface com a cama da 1 ou com a camada 3. De modo semelhante, as secretárias também podem passar de fax para correio eletrônico ou telefone sem incomodar (ou mesmo in formar) as outras camadas. Cada processo só pode adicionar informações dirigidas a seu par. Essas informações não são enviadas à camada superior.

Vejamos agora um exemplo mais técnico: como oferecer comunicação à camada superior da rede de cinco camadas da Figura 3 Uma mensagem M é produzida por um processo de aplicação que funciona na camada 5 e é entregue à camada 4 para transmissão. A camada 4 coloca um cabeçalho no início da mensagem para identificá-la e envia o resultado à camada 3. O cabeçalho inclui informações de controle, como números de sequência, a fim de permitir à camada 4 da máquina de destino repassar as mensagens na ordem correta, caso as camadas inferiores não mantenham a sequência. Em algumas camadas, os cabeçalhos contêm ainda tamanho, hora e outros campos de controle.
Figura 2 A arquitetura filósofo-tradutor-secretária - protocolos
Figura 2 A arquitetura filósofo-tradutor-secretária

Em muitas redes, não há limite para o tamanho das mensagens transmitidas no protocolo da camada 4, mas quase sempre há um limite imposto pelo protocolo da camada 3. Consequentemente, a camada 3 deve dividir as mensagens recebidas em unidades menores, pacotes, anexando um cabeçalho da camada 3 a cada pacote. Nesse exemplo, M é dividido em duas partes, M1 e M2.

A camada 3 define as linhas de saída que serão usadas e transmite os pacotes à camada 2. A camada 2 acrescenta não apenas um cabeçalho à cada fragmento, mas também um final, e fornece a unidade resultante à camada 1 para transmissão física. Na máquina receptora, a mensagem se move de baixo para cima, de camada em camada, com os cabeçalhos sendo retirados durante o processo. Nenhum dos cabeçalhos das camadas abaixo de n é repassado à camada n.

Figura 3 Exemplo de fluxo de informações - protocolos
Figura 3 Exemplo de fluxo de informações que admite a comunicação virtual na camada 5

Para entender a Figura 3 é importante observar a relação entre a comunicação virtual e a comunicação real, e a diferença entre protocolos e interfaces. Por exemplo, para os processos pares da camada 4, sua comunicação é “horizontal”, utilizando o protocolo da camada 4. O procedimento de cada um deles tem um nome semelhante a EnviarParaOutroLado e ReceberDoOutroLado, muito embora esses procedimentos na realidade se comuniquem com camadas inferiores através da interface 3/4, e não com o outro lado.

A abstração de processos pares (peers) é fundamental para toda a estrutura da rede. Com sua utilização, a tarefa não gerenciável de projetar a rede completa pode ser dividida em diversos problema s de projeto menores e gerenciáveis, ou seja, o projeto das camadas individuais.

Vale a pena lembrar que as camadas inferiores de uma hierarquia de protocolos costumam ser implementadas no hardware ou no firmware. No entanto, algoritmos de protocolo muito complexos estão envolvidos no processo, muito embora estejam embutidos (parcial ou totalmente) no hardware.

Fonte: Livro Redes de computadores Quarta edição Andrew S. Tanenbaum

 

Se achou algum erro nesse post não deixe de nos informar, pois ficaremos muito agradecidos.

Perfil do Autor

Chefe de Redação
Chefe de RedaçãoAnalista de Sistemas
Nome Domingos, formado em Análise e Desenvolvimento de Sistemas, amante da tecnologia e trabalha com desenvolvimento de sites/blogs em wordpress Cidade: Rio de Janeiro

Chefe de Redação

Nome Domingos, formado em Análise e Desenvolvimento de Sistemas, amante da tecnologia e trabalha com desenvolvimento de sites/blogs em wordpress Cidade: Rio de Janeiro

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

dois + oito =