Dito isto, como o tráfego fluiria se o dispositivo A enviasse tráfego para o dispositivo C?
Então, digamos, por exemplo, que o dispositivo A pings device C.
Então, no host A ou no dispositivo A, o comando ping 10. 1 1 2 é usado.
Como o tráfego fluirá, agora é importante lembrar
que o IP é uma tecnologia da camada 3.
O endereço Mac é usado
na camada 2, portanto, o PC A precisa ter um mapeamento entre o
endereço IP da camada 3
e o endereço MAC da camada 2 porque a Ethernet é
usada nesse ambiente e o pacote precisa ser encapsulado na camada 2 e enviado ao fio .
Portanto, na Ethernet, um endereço MAC precisa ser adicionado na camada 2.
Portanto, neste ponto, o PC A não conhece os endereços MAC associados ao
endereço IP 10. 1 1 2
A Ethernet mais uma vez é uma tecnologia de camada 2
e requer o uso de endereços MAC quando o tráfego é enviado ao segmento Ethernet, portanto, antes que
A possa enviar o tráfego para o segmento de rede, ele precisa conhecer o endereço MAC associado ao
endereço IP 10. 1 1 2 Lembro que
no modelo OSI, cada camada é independente de outras camadas e as
camadas inferiores encapsulam camadas mais altas.
Então, como o PC A vai aprender o endereço MAC do PC C?
ele faz isso usando um protocolo chamado Address Resolution Protocol ou ARP, a primeira coisa que o PC
A faz é verificar seu cache ARP local para ver
se já existe um endereço IP de mapeamento de entrada
existente 10. 1 1 2 para um endereço MAC.
Se não houver uma entrada existente no cache das máquinas locais,
ela enviará uma transmissão para tentar descobrir quem
tem o endereço IP 10. 1 1 2 e essa mensagem é chamada de mensagem de solicitação ARP.
Neste exemplo, o PC A e o PC C estão na mesma sub-rede,
de modo que o PC A enviará uma transmissão para a sub-rede local
solicitando o endereço MAC do PC C usando uma solicitação ARP.
Uma solicitação ARP é exibida da
seguinte maneira O endereço MAC de origem neste exemplo é
A porque o
quadro foi enviado por A, o endereço Mac de destino é uma transmissão.
Isso ocorre porque A não sabe quem tem o endereço IP 10. 1 1 2 Portanto,
uma solicitação ARP é essencialmente uma mensagem perguntando quem tem esse endereço IP?
então o endereço IP que está sendo referenciado no pacote é 10. 1 1 2 o endereço IP
de origem é 10. 1 1 1 o endereço MAC de
origem é A e o endereço MAC de destino é transmitido na camada 2.
Apenas para reiterar, essa é a parte da camada 2
da mensagem e essa é a parte da camada 3 da mensagem, conforme o modelo OSI.
Agora, antes de continuar com o nosso
exemplo, quero mostrar-lhe um exemplo real do ARP ou Protocolo de Resolução de Endereços.
Então, no meu PC, eu posso digitar o comando arp-a e eu vou ver meu cache ARP local meu
endereço IP é 10. 0 0 3 e, como você pode ver
aqui, aprendi um endereço IP de 10. 0 0 254 dinamicamente.
Há também algumas entradas estáticas no cache do ARP,
como exemplo, este é o endereço de broadcast na
camada 3, que é 255. 255 255 255 e o endereço da camada 2 é 8Fs para
uma transmissão de camada 3 de 255. 255 255 255 o endereço
da camada equivalente 2 é 8Fs neste exemplo
nós só temos 1 endereço MAC dinâmico no
cache ARP local do
meu pc, então o comando ip config mostra meus endereços IP.
Neste exemplo, podemos ver meu endereço IPv6 que é 2001: 20 :: 2 e meu endereço IPv4
de 10. 0 0 3 no
momento estamos nos concentrando apenas em endereços IPv4.
Então você também pode ver meu gateway padrão, que será definido como 10. 0 0 254 de modo
que meu cache ARP está mostrando o mapeamento do endereço IP dos
gateways padrão para o endereço MAC relevante.
Assim, o comando arp -d permitirá que eu exclua as entradas ARP no meu cache ARP local.
arp - a mostra essa única entrada dinâmica, então eu vou deletar o cache ARP novamente.
E agora você pode ver que não há entradas no cache do ARP.
Farei isso novamente e observarei que a entrada apareceu novamente
e isso é porque estou enviando tráfego do meu PC local para o meu gateway padrão.
Eu farei isso novamente, então arp-a, mostra o endereço de broadcast direcionado para esta sub-rede que
é 10. 0 0 255 Agora vou
pingar outro endereço IP de 10. 0 0 123 então
não havia entrada ARP para este endereço IP.
Mas observe quando eu faço ping, o ping é bem-sucedido e, se eu olhar
novamente para o cache do ARP, você notará que
uma entrada ARP foi adicionada para IP adicionado 10. 0 0 123 Agora, este é
outro endereço IP configurado no meu roteador local.
Portanto, o endereço MAC resolvido é o mesmo endereço MAC do
endereço IP 10. 0 0 254 Se eu
deletar o cache do ARP novamente, então arp - d note que
nenhuma entrada foi encontrada no cache do ARP, ainda não há entrada.
Vamos pingar 10. 0 0 O ping é bem-sucedido e, se
olharmos para o cache do ARP, percebemos que há uma entrada e o cache do
ARP agora para o endereço IP 10. 0 0 123 se agora pingar meu
gateway padrão de 10. 0 0 254 que
anteriormente não tinha entrada no cache do ARP que agora posso ver
usando o comando arp - a que um endereço IP
para a entrada do endereço MAC foi criado.
Então, qual é a moral da história?
Antes que o tráfego possa ser enviado para um endereço IP no segmento local, o
ARP é necessário para criar um mapeamento entre o endereço IP da
camada 3 e o endereço MAC da camada 2.
O Wireshark é uma ferramenta de sniffing que permite capturar o tráfego
da rede local para ver o que está acontecendo.
É uma ferramenta inestimável para o Engenheiro de Redes Vamos usar o
Wireshark para ver o que está acontecendo neste exemplo Então, o que eu vou fazer primeiro
é capturar no Wireshark Então na minha interface Ethernet, eu vou começar
a capturar quadros agora eu vou deletar o cache ARP então agora
nenhuma entrada é encontrada no cache
do ARP. Eu vou pingar 10. 0 0 254 e vamos olhar
para o cache ARP novamente depois de olhar para
o cache ARP, podemos ver que
uma entrada foi adicionada para esse endereço e eu vou agora
pingar 10. 0 0 123 então
agora arp - a mostra essas 2 entradas no cache ARP Vamos parar a captura
e vamos procurar as entradas ARP Então, como você pode ver aqui
é uma transmissão que foi enviada do meu dispositivo local o protocolo usado é ARP e eu sou
perguntando quem tem o endereço IP 10. 0 0 254 dizer
10. 0 0 3 meu PC
local Assim, na camada 2, você pode ver que o endereço de destino é uma transmissão,
o endereço de origem é minha máquina local, é uma solicitação ARP.
Este é o tipo Ether para o ARP 0x0806 e observa o
protocolo de resolução de endereços para as informações do ARP.
Observe que estamos procurando por um endereço IP 10. 0 0 254 o endereço
MAC do remetente é minha máquina local, o endereço
MAC de destino é desconhecido e estamos procurando pelo
endereço IP 10. 0 0 254 Uma
vez que o dispositivo tenha respondido usando uma mensagem de resposta
ARP, poderei fazer o ping desse dispositivo.
Então, na captura do Wireshark você pode ver que estou enviando um eco para que você possa ver
a solicitação de ping de eco do ICMP e aqui
estou eu tenho a resposta ou resposta.
Indo mais além, poderei ver a solicitação ARP para o endereço
IP 10. 0 0 123 o
destino da camada 2 é uma transmissão, a fonte é um endereço MAC local e
estamos solicitando o endereço MAC de destino em outras palavras, quem tem
o endereço IP 10. 0 0 123 a resposta
é unicast porque o dispositivo recebe a solicitação arp para
saber de quem veio o pedido arp.
Então o destino na camada 2 é minha máquina local.
A fonte é o remetente do meu roteador local, o endereço IP
do remetente do endereço MAC, o endereço MAC de destino, o endereço IP de destino.
Nesse caso, estou me comunicando diretamente com meu roteador local
em vez de enviar tráfego pelo roteador. Portanto,
o endereço MAC e o endereço IP usados ​​neste exemplo
são minha máquina local e roteador local.
Você pode ver na saída aqui que o endereço MAC do remetente é um roteador Cisco.
O endereço IP é 10. 0 0 O endereço MAC
de destino 123 é meu laptop local com o endereço IP
de destino de 10. 0 0 3