Buscar

Aula 8 - Estudo e depuração de protocolos da camada de rede e de enlace


Prévia do material em texto

Gerência e Análise de Redes
Aula 8 - Estudo e depuração de protocolos da camada de
rede e de enlace
INTRODUÇÃO
Nesta aula, aplicaremos o conceito de modelagem em camadas de redes para estudarmos a análise e depuração do processo de repasse de
pacotes da camada de rede, juntamente com os protocolos de camada de enlace necessários para que o repasse da camada de rede funcione.
Para a análise de cada um dos protocolos, será usado o software Wireshark. Com ele, capturaremos PDUs (packet data units), IP, Ethernet e ARP
(glossário), e realizaremos uma depuração passo a passo do signi�cado de cada PDU, bem como de sua relação com o processo de repasse de
pacotes para um destino localizado na mesma rede que o remetente e para um destino localizado em uma rede diferente da rede do remetente.
Bons estudos!
OBJETIVOS
Aplicar a depuração do protocolo ARP para repasse de pacotes para destinos que se encontram na mesma rede que o remetente;
Aplicar a depuração do protocolo ARP para repasse de pacotes para destinos que não se encontram na mesma rede que o remetente.
DEPURAÇÃO DO PROTOCOLO ARP PARA REPASSE DE PACOTES PARA DESTINOS QUE
SE ENCONTRAM NA MESMA REDE QUE O REMETENTE
O primeiro objetivo desta aula consiste em depurar a interação entre a camada de rede e a camada de enlace, e seus respectivos protocolos em um
cenário, como o descrito na �gura abaixo; onde o host 10.0.2.15 deseja enviar um pacote destinado ao host 10.0.2.10, localizado na mesma rede IP
que o remetente.
Fonte: Figura 1: Primeiro cenário proposto – Envio de pacote para destino na mesma rede
Atenção
, Antes de continuarmos, é importante que você se acostume com a ideia de que sempre que um pacote vai ser transmitido, a tabela de roteamento local é
necessariamente consultada.
Portanto, seu laptop possui uma tabela de roteamento e seu desktop também. Até mesmo seu smartphone possui uma tabela roteamento. Na verdade, todo
equipamento conectado à Internet necessariamente possui uma tabela de roteamento, já que ela tem que ser consultada sempre que um pacote precisar ser
transmitido.
Abaixo listamos um exemplo de uma tabela de roteamento em um Desktop Windows 10. O comando route print imprime a tabela de roteamento.
Como a da Figura 2, onde cada linha da tabela de roteamento representa uma rota.
Fonte: Figura 2: Tabela de Roteamento do host 10.0.2.15
Fonte da Imagem:
Podemos observar no exemplo anterior que:
A coluna “Endereço de Rede” indica qual é a rede destino (A) para a qual a rota em questão aponta.
A coluna “Máscara” indica qual é a máscara de rede da rede destino (B) indicada na coluna “Endereço de Rede”.
Por �m, a coluna “Ender. Gateway” indica qual é o endereço IP do próximo salto (C) para o qual o pacote deve ser repassado para que chegue até o
destino apontado por “Endereço de Rede”.
Exemplo
, Recorde que, no cenário apresentado na Figura 1, estamos supondo que o host 10.0.2.15 deseja enviar um pacote de dados destinado ao host 10.0.2.3 (ambos
estão na mesma rede/LAN).
Ao gerar um pacote, a aplicação informa ao S.O. que o endereço IP destino do pacote é 10.0.2.3.
A camada de rede, localizada no S.O., deve olhar para a tabela de roteamento (Figura 2) para consultar se alguma de suas rotas (linhas) gerará um
match (equivalência) com o endereço de destino do pacote.
O S.O. do host cliente tentará encontrar um match (explicado em detalhes logo abaixo) para todas as rotas (linhas) da tabela de roteamento.
Entretanto, em nosso exemplo, a única rota que gerará um match com o endereço IP de destino do pacote (10.0.2.3) é a rota para a rede 10.0.2.0 (D)
(Figura 2).
A máscara de uma rota (255.255.255.0 para a rota 10.0.2.0) pode ser vista como uma instrução de como realizar a comparação entre o endereço IP
de destino do pacote e o endereço de rede da rota, com o objetivo de testar se há um match.
Veja, a seguir, como é feita a tentativa de obter um match.
Passo 1
O roteador realiza um AND Lógico bit-a-bit entre o endereço IP de destino do pacote (10.0.2.3) e a máscara da rota
que está sendo testada (255.255.255.0):
Passo 2
O roteador compara o resultado obtido (10.0.2.0) com o endereço de rede destino (D) da rota que está sendo testada
na tabela de roteamento (10.0.2.0).
Passo 3
O roteador percebe que ambos são iguais, ou seja, ocorreu um match. Então, o roteador lê a coluna “Ender. de
Gateway” (C), apontada pela rota (D). No caso em questão, o valor é “No vínculo”.
Isso quer dizer que o destino se encontra na própria rede do remetente. Portanto, o pacote destinado ao IP (10.0.2.3)
pode ser encapsulado em um quadro da camada de enlace que será entregue diretamente à interface de rede do
destino.
Esse quadro terá que ter o endereço MAC da interface de rede de 10.0.2.3 preenchido no campo de cabeçalho End.
Mac Destino.
Qual é o endereço MAC de destino que o S.O. deve preencher no cabeçalho do quadro de camada de enlace a ser gerado?
Agora o S.O. tem um novo problema em mãos, mas, em princípio, ele não sabe essa resposta. Então, ele usa o protocolo ARP (Address Resolution
Protocol, Protocolo de Resolução de Endereço) para enviar uma consulta ARP a todas as interfaces da LAN perguntando qual é o endereço MAC da
interface de rede que está con�gurada com o endereço IP 10.0.2.3. Essa solicitação é denominada consulta ARP (ARP Request), conforme indicado
na Figura 3.
Na Figura 3, o pacote de Número 1, em destaque, capturado pelo Wireshark, mostra a consulta ARP enviada pelo host 10.0.2.15 no exemplo em
questão.
Figura 3: Host 10.0.2.15 envia consulta ARP a todas as interfaces da LAN
Na parte inferior da �gura, é possível depurar a consulta ARP, extraindo todas as informações necessárias para entendermos o que se passa. Veja a
seguir.
CABEÇALHOS ETHERNET (CAMADA DE ENLACE)
O campo Type preenchido com o valor 0x806 informa ao receptor que este quadro carrega uma mensagem do protocolo ARP. Assim, ao receber este
quadro e notar que o campo Tipo está preenchido com o valor 0x806, o receptor sabe que deve entregar o conteúdo do quadro do processo ARP do
receptor.
O Campo Destination está preenchido com o valor ff:ff:ff:ff:ff:ff, o que quer dizer que este quadro é destinado a todas as interfaces de rede da LAN.
Ou seja, é um quadro de difusão (broadcast).
CABEÇALHOS ARP
OPCODE=1
O Valor 1 no campo OPcode indica que essa é uma requisição ARP (solicitação de mapeamento IP->MAC).
SENDER IP ADDRESS=10.0.2.15 E SENDER MAC ADDRESS=08:00:27:83:5B:C1
Esses campos indicam o End. MAC e End. IP do host solicitante.
TARGET IP ADDRESS=10.0.2.3
Esse campo indica qual é o endereço IP que a consulta ARP deseja mapear em endereço MAC. Ou seja, deseja-se saber qual é o endereço MAC da interface de
rede que está con�gurada com o IP 10.0.2.3.
Todas as interfaces de rede da LAN ao qual o host solicitante pertence receberão e processarão essa consulta ARP. Entretanto, somente o host
con�gurado com o endereço IP 10.0.2.3 enviará uma resposta ARP (ARP Reply), conforme ilustrado pelo pacote de número 2, capturado usando o
software Wireshark, apresentado em detalhes na Figura 4.
Figura 4: Detalhes da resposta ARP enviada pelo host 10.0.2.3
Na parte inferior da �gura, é possível depurar a resposta ARP, extraindo todas as informações necessárias para entendermos o que se passa. Veja a
seguir.
CABEÇALHOS ETHERNET (CAMADA DE ENLACE)
O campo Type preenchido com o valor 0x806 informa ao receptor que este quadro carrega uma mensagem do protocolo ARP. Assim, ao receber este
quadro e notar que o campo Tipo está preenchido com o valor 0x806, o receptor da resposta ARP sabe que deve entregar o conteúdo do quadro do
processo ARP.
O Campo Destination está preenchido com o valor 08:00:27:83:5b:c1, o que quer dizer que este quadro é destinado especi�camente à interface de
rede do host que transmitiu a consulta ARP.
CABEÇALHOS ARP
Opcode=2
O Valor 2 no campo OPcode indica que essa é uma resposta ARP (ARP Reply), que contém o mapeamento IP->MAC
solicitado.
Sender IP address=10.0.2.3 e Sender Mac address=52:54:00:12:35:03
Esses campos indicamo End. MAC e End. IP do host que gerou essa resposta ARP. Esses são os campos que
permitem ao receptor da resposta ARP aprender qual é o endereço MAC da interface de rede con�gurada com o IP
10.0.2.3.
Target IP Address=10.0.2.15
Esse campo indica o end. IP e o end. MAC do host ao qual essa resposta ARP é destinada.
Ao receber essa resposta ARP, o host 10.0.2.15 realiza a leitura dos campos do quadro, conforme �zemos acima e registra o mapeamento IP->MAC
em sua tabela ARP (Figura 5).
Figura 5: Tabela ARP em 10.0.2.15 contendo o mapeamento IP<->MAC informado pela resposta ARP
Saiba mais
, O comando “arp –a” pode ser usado em qualquer host Windows para listar a tabela ARP local.
Na implementação da tabela ARP do S.O. Windows 7, 8 e 10, o tempo em que o mapeamento IP<->MAC �ca registrado na tabela ARP é de cerca de 15 a 45
segundos (Fonte: https://support.microsoft.com/pt-br/kb/949589 (https://support.microsoft.com/pt-br/kb/949589)).
Se um mapeamento IP<->MAC não for usado por um tempo maior do que esse, então, o mapeamento é removido da tabela, e o host terá que enviar outra consulta
ARP se desejar enviar pacotes ao end. IP em questão.
Após registrar o mapeamento IP<->MAC em sua tabela ARP, o host está �nalmente pronto para encapsular o pacote destinado a 10.0.2.3 em um
quadro da camada de enlace destinado a 52:54:00:12:35:03, e transmitir o quadro para a LAN, conforme ilustrado pelo pacote de número 3
capturado pelo Wireshark na Figura 6.
Figura 6: Finalmente um pacote de dados (ping, em nosso exemplo) é enviado de 10.0.2.15 diretamente para 10.0.2.3
https://support.microsoft.com/pt-br/kb/949589
https://support.microsoft.com/pt-br/kb/949589
Atenção
, Note que na Figura 6 os pacotes de número 3, 5, 7 e 9 são pacotes ping enviados por 10.0.2.15 e destinados a 10.0.2.3. Esses pacotes estão encapsulados em
quadros da camada de enlace destinados a 52:54:00:12:35:03.
Por �m, os pacotes 4, 6, 8 e 10 são pacotes ping reply enviados pelo host 10.0.2.3 e destinados ao host 10.0.2.15. Ao receber essas respostas ping,
o aplicativo ping �nalmente mostra o resultado de sua execução ao usuário, conforme ilustrado pela Figura 7.
Note que o comando “arp –d” foi dado antes de “ping 10.0.2.3” para que a tabela ARP do host fosse apagada. Com isso, garantimos que o
mapeamento IP<->MAC necessário não estaria presente na tabela ARP, e uma consulta ARP teria que ser necessariamente gerada.
Figura 7: Após todo o processo que depuramos, o aplicativo ping apresenta seus resultados ao usuário.
DEPURAÇÃO DO PROTOCOLO ARP PARA REPASSE DE PACOTES PARA DESTINOS QUE
NÃO SE ENCONTRAM NA MESMA REDE QUE O REMETENTE
O segundo objetivo desta aula consiste em depurar a interação entre a camada de rede e a camada de enlace, e seus respectivos protocolos em um
cenário como o descrito na Figura 8, onde o host 10.0.2.15 deseja enviar um pacote (exemplo ping) destinado ao host 8.8.8.8, que NÃO está
localizado na mesma rede IP que o remetente.
Figura 8: Primeiro cenário proposto – Envio de pacote para destino na mesma rede.
Veja, a seguir, como acontece esse processo.
1 - Ao gerar um pacote, a aplicação informa ao S.O. que o endereço IP destino do pacote é 8.8.8.8.
2 - A camada de rede, localizada no S.O., deve olhar para a tabela de roteamento (Figura 9) para consultar se alguma de suas rotas (linhas) gerará um
match (equivalência) com o endereço de destino do pacote.
3 - O S.O. do host cliente tentará encontrar um match (explicado em detalhes logo abaixo) para todas as rotas (linhas) da tabela de roteamento.
Entretanto, em nosso exemplo, a única rota que gerará um match com o endereço IP de destino do pacote (8.8.8.8) é a rota para a rede 0.0.0.0 (D)
(Figura 9).
4 - A máscara (B) 0.0.0.0 para a rota (D) 0.0.0.0, também é vista como uma instrução de como realizar a comparação entre o endereço IP de destino
do pacote e o endereço de rede da rota, com o objetivo de testar se há um match.
Veja, a seguir, como é feita a tentativa de obter um match.
Fonte da Imagem:
O roteador realiza um AND Lógico bit-a-bit entre o endereço IP de destino do pacote (8.8.8.8) e a máscara da rota que está sendo testada (0.0.0.0).
Veja na imagem abaixo.
Atenção
, A rota 0.0.0.0 é uma rota muito especial, e é chamada de rota default, ou rota padrão. Essa rota é automaticamente criada quando o administrador con�gura um
endereço IP de default gateway (gateway padrão) no host. Em nosso exemplo, o host do remente foi con�gurado com default gateway=10.0.2.2.
Para entender porque a rota padrão é especial, repare novamente, na Figura 9, na máscara (B) da rede destino. A máscara possui valor 0.0.0.0.
Como todos os bits da máscara são iguais a zero, o resultado do AND Lógico bit-a-bit sempre dará 0.0.0.0 seja qual for o endereço IP de destino de um pacote. Ou
seja, qualquer endereço IP destino de um pacote SEMPRE gerará um match com a rota default.
A intuição é a seguinte: Se a consulta à tabela de roteamento não gerou match para nenhuma rota, dado o end. IP de destino de um pacote, então a rota default
será usada., ,
, ,
Figura 9: Tabela de Roteamento do host 10.0.2.15 - Rota Default em destaque
Fonte da Imagem:
O roteador compara o resultado obtido (0.0.0.0) com o endereço de rede destino 0.0.0.0 (D) da rota que está sendo testada na tabela de roteamento.
Fonte da Imagem:
O roteador percebe que ambos são iguais, ou seja, ocorreu um match. Então, o roteador lê a coluna “Ender. de Gateway” (C), apontada pela rota (D).
No caso em questão, o valor é “10.0.2.2”.
Isso quer dizer que o destino NÃO se encontra na mesma rede do remetente. Portanto, o pacote destinado ao IP (8.8.8.8) deve ser encapsulado em
um quadro da camada de enlace que será entregue à interface 10.0.2.2 do roteador.
Saiba mais
, Esse quadro terá que ter o endereço MAC 52:54:00:12:35:02 da interface de rede do roteador que liga a LAN do host remetente ao restante do mundo. Podemos
citar como exemplo a Internet.
Qual é o endereço MAC de destino que o S.O. deve preencher no cabeçalho do quadro de camada de enlace a ser gerado?
Agora, o S.O. tem um novo problema em mãos, mas, em princípio, ele não sabe essa resposta. Então, ele usa o protocolo ARP (Address Resolution
Protocol, Protocolo de Resolução de Endereço) para enviar uma consulta ARP a todas as interfaces da LAN perguntando qual é o endereço MAC da
interface de rede que está con�gurada com o endereço IP 10.0.2.2.
Fonte da Imagem:
Essa solicitação é denominada consulta ARP (ARP Request), conforme indicado na Figura 10.
Nessa �gura, o pacote de Número 1 em destaque, capturado pelo Wireshark, mostra a consulta ARP enviada pelo host 10.0.2.15 no exemplo em
questão.
Fonte: Figura 10: Host 10.0.2.15 envia consulta ARP a todas as interfaces da LAN.
Na parte inferior da �gura, é possível depurar a consulta ARP, extraindo todas as informações necessárias para entendermos o que se passa. Veja a
seguir.
CABEÇALHOS ETHERNET (CAMADA DE ENLACE)
O campo Type preenchido com o valor 0x806 informa ao receptor que este quadro carrega uma mensagem do protocolo ARP. Assim, ao receber este
quadro e notar que o campo Tipo está preenchido com o valor 0x806, o receptor sabe que deve entregar o conteúdo do quadro do processo ARP do
receptor.
O Campo Destination está preenchido com o valor ff:ff:ff:ff:ff:ff, o que quer dizer que este quadro é destinado a todas as interfaces de rede da LAN.
Ou seja, é um quadro de difusão (broadcast).
CABEÇALHOS ARP
OPCODE=1
O Valor 1 no campo OPcode indica que essa é uma requisição ARP (solicitação de mapeamento IP->MAC).
SENDER IP ADDRESS=10.0.2.15 E SENDER MAC ADDRESS=08:00:27:83:5B:C1
Esses campos indicam o End. MAC e End. IP do host solicitante.
TARGET IP ADDRESS=10.0.2.2
Este campo indica qual é o endereço IP que a consulta ARP deseja mapear em endereço MAC. Ou seja, deseja-se saber qual é o endereço MAC da interface de
rede do roteador con�gurada com endereço IP 10.0.2.2. Esse será o próximo salto (next hop) do pacote destinado a 8.8.8.8.
Todas as interfaces de rede da LAN ao qual o hostsolicitante pertence receberão e processarão essa consulta ARP. Entretanto, somente o host
con�gurado com o endereço IP 10.0.2.2 enviará uma resposta ARP (ARP Reply), conforme ilustrado pelo pacote de número 2, capturado usando o
software Wireshark, apresentado em detalhes na Figura 11.
Figura 11: Detalhes da resposta ARP enviada pelo roteador
Na parte inferior da �gura, é possível depurar a resposta ARP, extraindo todas as informações necessárias para entendermos o que se passa. Veja a
seguir.
CABEÇALHOS ETHERNET (CAMADA DE ENLACE)
O campo Type preenchido com o valor 0x806 informa ao receptor que esse quadro carrega uma mensagem do protocolo ARP. Assim, ao receber
esse quadro e notar que o campo Tipo está preenchido com o valor 0x806, o receptor da resposta ARP sabe que deve entregar o conteúdo do quadro
do processo ARP.
O Campo Destination está preenchido com o valor 08:00:27:83:5b:c1, o que quer dizer que esse quadro é destinado especi�camente à interface de
rede do host que transmitiu a consulta ARP.
CABEÇALHOS ARP
OPCODE=2
O Valor 2 no campo OPcode indica que essa é uma resposta ARP (ARP Reply), que contém o mapeamento IP->MAC solicitado.
SENDER IP ADDRESS=10.0.2.2 E SENDER MAC ADDRESS=52:54:00:12:35:02
Estes campos indicam o End. MAC e End. IP do host que gerou essa resposta ARP. Esses são os campos que permitem ao receptor da resposta ARP aprender
qual é o endereço MAC da interface de rede con�gurada com o IP 10.0.2.2.
TARGET IP ADDRESS=10.0.2.15
Este campo indica o end. IP e o end. MAC do host ao qual essa resposta ARP é destinada.
Ao receber essa resposta ARP, o host 10.0.2.15 realiza a leitura dos cabeçalhos do quadro, conforme �zemos acima, e registra o mapeamento IP-
>MAC em sua tabela ARP (Figura 12). O comando “arp –a” pode ser usado em qualquer host Windows para listar a tabela ARP local.
Figura 12: Tabela ARP em 10.0.2.15 contendo o mapeamento IP<->MAC informado pela resposta ARP vinda do roteador.
Após registrar o mapeamento IP<->MAC em sua tabela ARP, o host está �nalmente pronto para encapsular o pacote destinado a 8.8.8.8 em um
quadro da camada de enlace destinado a 52:54:00:12:35:02, e transmitir o quadro para a LAN, conforme ilustrado pelo pacote de número 3
capturado pelo Wireshark na Figura 13.
Figura 13: Finalmente um pacote de dados (ping, em nosso exemplo) é enviado de 10.0.2.15 ao roteador 10.0.2.2
Atenção
, Note que na Figura 13 os pacotes de número 3, 5, 7 e 9 são pacotes ping enviados por 10.0.2.15 e destinados a 8.8.8.8. Entretanto, diferentemente do cenário
anterior, os pacotes estão encapsulados em quadros da camada de enlace destinados à interface do roteador (52:54:00:12:35:02), que será responsável por
repassar o pacote adiante.
O pacote seguirá sendo repassado de roteador a roteador, usando um processo análogo ao que depuramos aqui, até que eventualmente chegue ao seu destino
�nal.
Por �m, os pacotes 4, 6, 8 e 10 são pacotes ping reply enviados pelo host 8.8.8.8 e destinados ao host 10.0.2.15. Ao receber essas respostas ping, o aplicativo
ping �nalmente mostra o resultado de sua execução ao usuário.
1 - Considere a rede abaixo. Suponha que o host 10.0.2.15 deseja enviar um pacote de dados destinado ao host 10.0.2.3. Suponha que a tabela ARP
do remetente esteja vazia.
Sabendo que o host 10.0.2.15 emitirá uma consulta ARP (ARP Request) à sua LAN, com o objetivo de realizar um mapeamento IP<->MAC, marque a
opção que representa o endereço IP que será consultado pela ARP Request enviada.
10.0.2.2
10.0.2.3
10.0.2.15
10.0.2.255
8.8.8.8
Justi�cativa
2 - Considere a rede abaixo. Suponha que o host 10.0.2.15 deseja enviar um pacote de dados destinado ao host 10.0.2.3. Suponha que a tabela ARP
do remetente já contenha o mapeamento IP<->MAC necessário.
Sabendo que o pacote IP será encapsulado em um quadro da camada de enlace, marque a opção que representa o endereço MAC de destino a ser
preenchido no cabeçalho Ethernet.
08-00-27-83-5B-C1
52:54:00:12:35:02
A1-A2-BC-10-28-F4
52-54-00-12-35-03
FF-FF-FF-FF-FF-FF
Justi�cativa
Exercícios
, Você poderá, também, exercitar os conhecimentos que aprendeu nesta aula através de uma lista de exercícios que preparamos.
Para acessar à lista de exercícios, clique aqui (galeria/aula7/docs/A8_t5.pdf).
Glossário
ARP
Address Resolution Protocol.
https://stecine.azureedge.net/webaula/estacio/gon645/galeria/aula7/docs/A8_t5.pdf
https://stecine.azureedge.net/webaula/estacio/gon645/galeria/aula7/docs/A8_t5.pdf

Continue navegando