
Estou tendo problemas para entender como os pacotes viajam de uma máquina para outra. Abaixo coloquei um exemplo do Computador 1 tentando se conectar ao Computador 2.
Computer 1
IP: 192.168.1.11
Subnet: 255.255.255.0
Default Gateway: 192.168.1.1
MAC: 00:00:00:00:00:aa
Router 1
IP: 192.168.1.1
Subnet: 255.255.255.0
MAC: 00:00:00:00:00:bb
Router 2
IP: 192.168.2.1
Subnet: 255.255.255.0
MAC: 00:00:00:00:00:cc
Computer 2
IP: 192.168.2.1
Subnet: 255.255.255.0
Default Gateway: 192.168.2.12
MAC: 00:00:00:00:00:dd
Se eu conectasse do Computador 1 ao Computador 2 e seguisse o fluxo de um pacote acredito que o endereço de origem de onde sai a informação do roteador 2 seria 192.168.1.2 e o endereço MAC de origem seria 00:00:00:00:00 :cc. Pelo que entendi, o destino permanece o mesmo, mas a origem será atualizada à medida que percorre seu caminho. Isso está correto ou é algo que estou perdendo?
Responder1
Ufa. Isso é um pouco complicado, dado o seu cenário.
Em primeiro lugar, o roteador 2 não deve compartilhar uma interface com o roteador 1 que também esteja nas interfaces do lado do cliente.
No seu exemplo, todos os 4 dispositivos compartilham o mesmo segmento de LAN, que, como exceção, está no intervalo de endereços IP não roteáveis (editar: na "Internet") da família 192.168.xy.
Uma maneira melhor seria pensar da seguinte forma:
Computer 1
IP: 192.168.1.100
Subnet: 255.255.255.0
Default Gateway: 192.168.1.1
MAC: 03:00:00:00:00:11
Router 1
IP: 192.168.1.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:22
IP: 192.168.12.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:33
Router 2
IP: 192.168.12.2
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:44
IP: 192.168.2.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:55
Computer 2
IP: 192.168.2.200
Subnet: 255.255.255.0
Default Gateway: 192.168.2.1
MAC: 03:00:00:00:00:66
Ignore o fato de que o MAC lidera com um caractere hexadecimal 03, isso é apenas para correção dos esnobes da rede por aí. [EDITAR] Tive que alterá-lo para 0x03 para que fosse atribuído localmente e globalmente exclusivo.
Então o que está acontecendo aqui é: há um cabo do Computador 1 conectado ao Roteador 1. Esses dois compartilham a rede 192.168.1.x. Há um cabo do Roteador 1 ao Roteador 2. Eles compartilham a rede 192.168.12.x. Há um cabo do Roteador 2 para o Computador 2. Eles compartilham a rede 192.168.2.x.
No seu artigo original, todos os 4 dispositivos teriam que estar conectados ao mesmo switch para que funcionasse... e, nesse caso, o Computador 1 teria conversado diretamente com o Computador 2. Nota: para você assistentes de rede por aí, eu sei que você pode fazer roteamento estático para forçar a configuração original da rede a funcionar, mas não é isso que este usuário está perguntando ....
Agora vamos à sua pergunta específica.
Você está meio correto. O endereço MAC que o Computador 2 vê é o do Roteador 2. No meu exemplo, seria MAC 03:00:00:00:00:55. No entanto, o endereço IP que ele vê é do Computador 1. É assim que o Computador 2 pode responder ao Computador 1. Os endereços IP são, teoricamente, "universalmente únicos".
A forma como as redes funcionam, dado o seu nível de intenção de conhecimento, é que os endereços da camada 2 (datalink/camada MAC - em um ambiente totalmente Ethernet/IPv4) mudam POR HOP. PER HOP é definido como 'trânsito de qualquer dispositivo de processamento da camada 3'. Roteadores e computadores quase sempre processam a camada 3. Os switches podem processar a camada 3, mas tendem a deixá-la em paz.
Assim, à medida que uma mensagem vai do Computador 1 para o Computador 2, o fluxo se parece com:
NO HOP 1 - Entre o Computador 1 e o Roteador 1
SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:11 (Computer 1)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:22 (Router 1 - Interface facing Computer 1)
NO HOP 2 – Entre os roteadores
SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:33 (Router 1 - Interface facing Router 2)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:44 (Router 2 - Interface facing Router 1)
NO HOP 3 - Entre o roteador 2 e o computador 2
SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:55 (Router 2 - Interface facing Computer 2)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:66 (Computer 2)
Como você vê, os endereços da camada de endereço IP (camada 3) permanecem os mesmos durante toda a comunicação, mas os endereços da camada de enlace de dados (camada 2) mudam cada vez que outro dispositivo que processa um endereço da camada 3 está envolvido.
Eu espero que isso ajude. Se ainda estiver confuso, sinta-se à vontade para responder e tentarei explicar o subconjunto específico que você está achando desafiador.
Responder2
Seu exemplo é falho. (Eu vi você editá-lo, ainda está com falhas.)
No seu exemplo, os roteadores 1 e 2 estão na mesma sub-rede (ou seja, eles têm a mesma máscara de sub-rede). Portanto, o Computador 1 NÃO enviará nada do gateway padrão, ele simplesmente lançará o pacote para fora da NIC e esperará que um switch ou mídia o leve ao Computador 2.
Agora, se você alterar o Roteador 2 e o Computador 2 para isto:
Router 2
IP: 192.168.2.2
e
Computer 2
IP: 192.168.2.12
[editar por apelido mostrado em negrito] então o Roteador 2 e o Computador 2 estarão ligados (sua própria sub-rede separada, NÃO:)sub-redes separadas, e o exemplo começará a fazer mais sentido.
No entanto, e como você não forneceu um diagrama, presumo aqui que você deseja que o tráfego se mova dessa maneira:
Computador 1 <-> Roteador 1 <-> Roteador 2 <-> Computador 2
O Roteador 1 e o Roteador 2 não podem estar na mesma sub-rede para que isso funcione. Na verdade, haverá uma terceira rede entre eles, por meio da qual comercializarão tráfego. (Também é um pouco estranho que uma rota padrão se refira a uma rede privada, normalmente significa "Internet", mas certamente é possível.)
Aqui está o que presumo que você está tentando fazer. Peço desculpas pela grosseria da foto:
Os endereços MAC não se propagam além dos roteadores. O Computador 1 deseja enviar um pacote para o Computador 2. O Computador 2 não está na mesma sub-rede, então o Computador 1 o envia para o gateway padrão.
Isso acaba sendo um quadro enviado do MAC do Computador 1 para o MAC do Roteador 1.
Os roteadores encaminham pacotes, e encaminhar significa copiar de uma interface diferente. Assim, o Roteador 1 verá que o destino do pacote obtido do Computador 1 é destinado ao Computador 2. (Teria que ser programado com uma rota estática ou usar um protocolo como RIP/OSPF para saber que em uma situação como esta .)
Então o pacote IP agora tem um MAC de origem da segunda NIC do Roteador 1 e um MAC de destino da primeira NIC do Roteador 2. E assim por diante até chegar ao Computador 2.
Responder3
Você está meio certo, pois o endereço MAC muda a cada salto, mas os endereços IP da conexão não mudam, a menos que haja tecnologia NAT/PAT embutida ou que um proxy de aplicativo esteja em uso.
Observe que acredito que o endereço do computador2 deva ser algo como 192.168.2.12, em vez de 1.12. isso implicaria que seu pacote não passa pelo roteador2. Acredito que você esteja procurando algo como:
Computer 1
IP: 192.168.1.11
Subnet: 255.255.255.0
Default Gateway: 192.168.1.1
MAC: 00:00:00:00:00:aa
Router 1
LAN IP: 192.168.1.1
Subnet: 255.255.255.0
MAC: 00:00:00:00:00:bb
WAN IP: 192.168.3.1
Subnet: 255.255.255.0
MAC: 00:00:00:00:00:b1
Router 2
LAN IP: 192.168.2.2
Subnet: 255.255.255.0
MAC: 00:00:00:00:00:cc
WAN IP: 192.168.3.2
Subnet: 255.255.255.0
MAC: 00:00:00:00:00:c1
Computer 2
IP: 192.168.2.12
Subnet: 255.255.255.0
Default Gateway: 192.168.2.2
MAC: 00:00:00:00:00:dd
portanto, temos três redes, a LAN do computador1 está em (.1.X), a rede entre os dois roteadores (.3.X) e a LAN em que o computador2 está (.2.X).
Os endereços MAC são para endereçamento de frames, portanto estão vinculados à implementação de cada LAN. você pode usar o endereço mac ::aa para enviar quadros pela rede à qual o Computador1 e o Roteador1 estão conectados, mas se você tentar enviar um quadro para ::dd nesta LAN, ele não alcançará seu destino. Portanto, um endereço MAC só é válido na rede que possui um dispositivo com esse MAC.
O endereço IP, entretanto, é feito para passar entre redes, portanto permanece constante. o pacote é reencapsulado em um novo quadro toda vez que atravessa um roteador, mas o pacote IP em si permanece inalterado. isso é importante, porque se o Computador2 no seu cenário recebesse um pacote de 192.168.1.1 com MAC ::cc, não teria como saber que não veio do roteador e, quando o computador2 respondesse, o roteador2 não teria ideia a quem está respondendo.
então, o pacote que o computador2 recebe tem o IP de origem 192.168.1.11, mas o endereço MAC ::cc.
NAT/PAT torna isso um pouco mais confuso, pois são necessárias mais informações para tomar decisões de origem/destino, então lembre-se, um cenário com roteadores domésticos reais é um pouco mais completo.
Responder4
Ai. Um roteador não terá apenas um IP. Sugiro 'networking first step', de Wendell Odom.
Você escreve "Pelo que entendi, o destino permanece o mesmo, mas a origem será atualizada à medida que segue seu caminho."
Não está claro do que você está falando. Você não escreveu muito e o pouco que escreveu foi ambíguo. Se você não consegue escrever com clareza, não entenderá com clareza.
Não diga apenas “a origem” “o destino”. Diga especificamente se você quer dizer endereço IP de origem ou endereço MAC de origem ou endereço IP de destino ou endereço MAC de destino.
O IP de origem e de destino permanecerão os mesmos. (a menos que houvesse NAT ou algo muito incomum, e você não tenha isso)
Os endereços MAC (origem e destino) podem mudar. Os roteadores reescrevem endereços MAC. Embora seus roteadores não estejam realmente configurados corretamente. Veja a foto do ultra para saber como um roteador possui vários NICs, cada um com seu próprio IP em sua própria sub-rede.