domingo, 20 de agosto de 2017

Frame rewrite. Desenhando para entender.

Um conceito um pouco confuso as vezes, para quem é iniciante, é o de "frame rewrite". Explico.
 Quando um host envia um pacote para um host em uma rede remota, naturalmente o pacote vai ser encaminhado para o roteador. Mas como é possível enviar um pacote para um host/Roteador sem que seja para ele exatamente?
Você pode cair na engano de achar que o roteador vai adivinhar para onde este pacote deve ir, ou que existe um outro campo no cabeçalho IP para tratar disso. Alguns chegam apensar que ao enviar um pacote para um host fora da sua rede o processo do ARP corre normalmente, e ficam confusos ao perceber que eles não aparecem na tabela ARP.
Pode parecer muito bobo, mas é uma dúvida comum e uma coisa que não fica muito clara para iniciantes.
Quando é necessário montar um pacote para um endereço que está fora da sua rede, para ser bem óbvio, no campo "IP de destino" vai ser colocado exatamente o IP de destino. Já no campo MAC de destino será colocado simplesmente o MAC do roteador definido na sua configuração.
Se tudo ocorrer bem, o switch vai encaminhar este frame para o roteador, por causa do MAC, e o roteador, ao recebê-lo, analisando o IP de destino, verá que se trata de um pacote para um outro nó, e que deve ser encaminhado. O conceito de frame rewrite entra exatamente aqui.

Ao receber um frame o roteador vai descartar o cabeçalho de camada 2. Em seguida analisa a tabela de roteamento e decide por qual interface este pacote deve sair. Por fim, um novo cabeçalho de camada 2 será feito para o pacote, contendo o MAC de origem da interface pela qual saiu e o MAC de destino do próximo nó(pode ser o próprio destino ou um outro roteador).
Veja que, do ponto de vista da camada 2, o host se comunica apenas com o roteador, não tendo o menor sentido saber o MAC address do host remoto.

Nenhum comentário:

Postar um comentário