Noções básicas de rede
13. Tarefas da camada de ligação de dados
O papel principal e essencial da camada de ligação de dados é fornecer camadas superiores com acesso ao meio de transmissão. Os dados que descem pela pilha à medida que passam pelas camadas devem, a dada altura, ser entregues ao meio através do qual chegam ao seu destino, o hospedeiro receptor. Esta é a função principal da camada de ligação de dados: armazena dados das camadas mais altas no meio.
A camada de rede discutida na secção anterior deste curso incluía segmentos
com endereços IP recebidos da camada de transporte durante o processo de encapsulamento para formar os pacotes. Estes pacotes chegam à camada de ligação de dados antes de serem enviados para o hospedeiro de destino, e depois passam através da camada de ligação de dados para o meio de transmissão. Antes disso, porém, os pacotes receberam mais informação de controlo, desta vez o endereço físico do dispositivo, o endereço MAC de 48 bits.
Os pacotes tornam-se então quadros e são estes quadros que vão para a portadora para posterior transmissão para o anfitrião de destino. O endereço MAC é atribuído durante o fabrico do cartão e armazenado na ROM. A ROM é apenas de leitura, pelo que não é possível alterar os endereços atribuídos a nível de cartão ou hardware. Contudo, tais endereços podem ser alterados ao nível do sistema do dispositivo, por exemplo, no sistema operativo. Por vezes, os administradores fazem tais alterações ao nível do sistema, por exemplo, quando não querem reconfigurar o hardware da rede, como por exemplo quando um novo computador entra na rede.
A própria camada de ligação de dados é o intermediário entre o meio de transmissão e o software de rede. No caso de dispositivos terminais, ou seja, computadores, servidores ou telefones, é a única camada implementada não só no domínio do software, mas também no domínio do hardware. A representação física da camada de ligação de dados é a placa de rede que instalamos no nosso computador. Estas placas são a interface entre o software de rede e o meio de transmissão. Uma vez que a camada de ligação de dados funciona a dois níveis, a nível do hardware e do software, as suas funções e as tarefas estão também divididas em duas subcamadas mais pequenas:
· LLC (Logical Link Control),
· MAC (controlo de acesso aos meios de comunicação social).
A subcamada LLC enquadra informação sobre o protocolo da camada de rede em uso, de modo que diferentes protocolos da camada de rede, tais como IPv4, IPv6 ou IPX, podem utilizar o mesmo meio de transmissão e placa de rede, e as suas funções no computador são executadas pelo controlador da placa de rede. Por outro lado, o subcamada MAC define as regras de acesso ao meio e executa as funções de endereçamento. O método MAC foi discutido no primeiro episódio desta série.
Em resumo - a camada de ligação de dados:
· receber dados da camada de rede,
· criar molduras que possam ser transmitidas através do meio,
· dá o endereço físico da moldura,
· Responsável pelo controlo do acesso ao meio.
Esta camada é implementada em dispositivos finais como computadores, mas também em routers e switches.
Quadro e comunicação da camada de ligação de dados.
Existem muitas soluções e muitas normas de rede para implementar a funcionalidade de Camada 2. Temos normas Ethernet, temos redes sem fios, e finalmente temos muitos protocolos de rede que funcionam sobre WANs, tais como Frame Relay. Portanto, não existe um frame universal. Cada padrão de rede tem a sua própria estrutura, específica para uma solução particular. Para resumir o tópico, podemos assumir que uma estrutura típica de segundo nível consiste em 3 partes principais:
Manchete |
Dados |
Rodapé |
endereços MAC de origem e destino sinal de arranque da moldura |
pacotes de rede/camada da Internet |
soma de verificação do sinal de fim de quadro |
Vamos agora seguir o processo de comunicação entre dispositivos, centrando-nos nas funções da camada de ligação de dados. Suponhamos que o nosso computador envia um pedido a um servidor web numa rede remota.
Os dados para enviar tal pedido já estão encapsulados num único pacote com o número de porta e endereço lógico da aplicação, ou seja, o endereço IP do computador e do servidor.
Antes de um pacote entrar no meio de transmissão, a camada de ligação de dados deve construir uma moldura com os endereços MAC correspondentes do emissor e receptor da moldura. No caso do endereço MAC do remetente, a coisa é óbvia, é apenas o endereço MAC do computador, mas e o endereço do anfitrião de destino? Se o computador e o servidor web não estiverem na mesma rede e o endereço MAC da sua placa de rede não puder ser determinado, isto é tecnicamente impossível. Porquê? Porque os endereços MAC só são utilizados para comunicação dentro de uma rede e nunca fora da rede. Portanto, o endereço MAC da interface do router ao q1u2al.oTnaosrseofcaosmpduatacdaormesatdá aligdadeo será armazenado no campo da moldura que contém o endereço MAC de destino.
A moldura é enviada através do meio de transmissão para o primeiro router. Este último, ao receber o frame, descapsula-o para que possa ler o endereço IP do dispositivo para o qual o pacote está a ir. Os endereços IP não podem ser lidos diretamente dos fotogramas de Camada 2, pelo que é necessária a decapsulação. Uma vez lido o endereço IP do pacote (uma vez decapsulado o frame, os dados tornam-se novamente um pacote), compare-o com a entrada na tabela de encaminhamento e encontre a entrada que indica que a rede do servidor é encaminhada através de outros routers.
Criará então um novo frame no qual o endereço de origem será o endereço MAC da interface que se liga ao outro router, e o endereço MAC de destino desse router.
O frame passa então através do meio para o segundo router, que encapsula novamente o frame para ler o endereço IP do pacote. Descobre que o destinatário dos dados é um dispositivo que opera na rede, diretamente ligado a ele, pelo que o processo de encapsulamento realizado pelo segundo router volta a acontecer, desta vez introduz o endereço MAC do seu segundo router no campo de endereço MAC. A interface é utilizada como endereço de origem e o endereço MAC do servidor de endereços é utilizado como endereço de destino.
Os quadros preparados desta forma vão para o servidor, que também os decapsula. Desta vez, porém, é o dispositivo para o qual os dados apontam, pelo que os descapsula completamente, ou seja, lê adicionalmente o número da porta da aplicação a fim de enviar os dados para a aplicação específica correspondente, neste caso um serviço web.
O serviço de rede prepara então os dados de resposta. Os dados vão primeiro para a camada de transporte, onde o número da porta de aplicação é atribuído, depois para a camada de rede, formando um pacote com o endereço IP correspondente, e finalmente para a camada de ligação de dados, onde um frame é preparado a partir do pacote, marcado com os endereços MAC do servidor e router para o servidor ligado.
A resposta é então transmitida aos meios de comunicação social, que são então enviados para o cliente. Durante este processo, passa por dois routers, que realizam um processo de decapsulação e recapsulação, e como têm de ler o endereço IP, podem transmitir a resposta. Finalmente, a resposta pertence ao cliente. Isto desempacota os dados, permitindo ao navegador exibir a página web.