Solicitação de ARP fora da LAN; Alvo de resposta da máquina ou roteador?

7

Se eu enviei uma solicitação ARP para a máquina de destino, que está na Internet e possui 2 roteadores, qual será o endereço IP de destino no meu pacote de solicitação (0001)? Será o endereço IP do roteador, que é meu gateway ou será o endereço da máquina de destino?

Exemplo: digamos que eu quero fazer uma solicitação ARP de Computer Apara Computer Ce o esquema está abaixo.

Router1 => Internet => Router2 => Computer C 

Qual seria o endereço IP de destino Router1ou Computer C?

Por favor me ajude com isso. Estou meio confuso.

Obrigado.

ebyrock
fonte
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:

10

Usando seu diagrama original:

Diagrama original do OP

Quando o Computador A tenta se comunicar com o Computador C, as etapas a seguir resolvem o endereço atribuído pelo software do roteador 1 ao endereço de controle de acesso à mídia atribuído ao hardware: Com base no conteúdo da tabela de roteamento no Computador A, o IP determina que o endereço IP de encaminhamento para ser usado para acessar o computador C é por meio do roteador 1, o endereço IP do gateway padrão. O host A verifica seu próprio cache ARP local em busca de um endereço de hardware correspondente para o roteador 1.

Se o Computador A não encontrar mapeamento no cache, ele transmitirá um quadro de solicitação ARP para todos os hosts na rede local com a pergunta "Qual é o endereço de hardware do Roteador 1?" Os endereços de hardware e software da fonte, Host A, estão incluídos na solicitação do ARP.

Cada host na rede local recebe a solicitação ARP e verifica se há correspondência com seu próprio endereço IP. Se um host não encontrar uma correspondência, ele descartará a solicitação ARP.

O roteador 1 determina que o endereço IP na solicitação ARP corresponde ao seu próprio endereço IP e adiciona um mapeamento de endereço de hardware / software para o Host A ao cache ARP local.

O roteador 1 envia uma mensagem de resposta ARP contendo seu endereço de hardware diretamente de volta ao host A.

Quando o host A recebe a mensagem de resposta ARP do roteador, ele atualiza seu cache ARP com um mapeamento de endereço de hardware / software para o roteador 1.

Uma vez determinado o endereço de controle de acesso à mídia da interface 1 do roteador, o Host A pode enviar tráfego IP para o roteador 1 endereçando-o ao endereço de controle de acesso à mídia da interface 1 do roteador. O roteador encaminha o tráfego para o Host C através do mesmo processo ARP, conforme discutido nesta seção.

Isso foi atualizado em um artigo da Microsoft Technet para corresponder ao seu exemplo. Outra referência com um bom exemplo é a descrição das redes Juniper .

Em suma, o Host A, ao se comunicar com endereços IP / hosts externos, procurará no gateway padrão a resolução de IP externo e assumirá que o tráfego do Host C será encaminhado por esse gateway.

Mike Naylor
fonte
11
Obrigado por sua resposta. Se o cache do ARP estiver vazio, o Computador A solicitará o ARP ao roteador 1 para encontrar o gateway, portanto, o endereço IP de destino seria o endereço IP do roteador 1 no primeiro pacote de solicitação. Estou certo?
ebyrock
Sim, se o ARP no computador A é esvaziá-la seria procurá-lo do gateway padrão e enviar uma solicitação ARP para o Roteador 1, o tráfego em seguida, encaminhar para o Host C para Router 1.
Mike Naylor
Não tem problema, espero que isso ajude.
Mike Naylor
Estou curioso. Como isso funciona com endereços IP privados , definidos pelo roteador, considerando que o endereço MAC do destino é desconhecido?
Sometowngeek
4

Tudo depende de como as máscaras de sub-rede de A e R1-1 são definidas e se a configuração de R1 inclui o proxy-arp.

Em uma configuração canônica, A e R1-1 devem compartilhar uma mesma máscara de sub-rede e seu endereço deve corresponder à mesma sub-rede. Quando isso acontece, C é conhecido por A como "não pertence à mesma (sub) rede", portanto, um roteador deve ser encontrado na tabela de roteamento A correspondente ao endereço C. No caso mais comum, o R1-1 é conhecido como gateway padrão, portanto, se o MAC do R1-1 ainda não é conhecido e o ARP é enviado para descobri-lo. Os detalhes estão nesta resposta .

Mas também é possível um cenário diferente: se a máscara de sub-rede de A é tão curta que até o IP de C corresponde a ela (e as interfaces R1 são configuradas corretamente com a máscara que particiona as redes corretamente), então A acredita que C está na mesma LAN e tenta enviar um ARP para ele.

R1 vê o ARP e sabe que esse quadro nunca chegará a C que ele sabe (por causa de suas máscaras de sub-rede mais apropriadas) estar atrás dele e, portanto, ele responderá como C, mas fornecendo o endereço MAC R1-1. Essa resposta (conhecida como "proxy ARP") engana A, que agora acredita que C está em sua própria rede com endereço MAC R1-1. Portanto, ele conversará com C enviando pacotes com C IP e R1-1 MAC, exatamente como resultará do processo de roteamento normal.

Emilio Garavaglia
fonte
Obrigado Emilio. Sim, minha pergunta estava se referindo ao diagrama na resposta de Mike. IP-A (Computador A) e R1-1 estão na mesma sub-rede. E o cache do ARP está vazio. Portanto, o IP-A faria primeiro uma solicitação ARP para o gateway padrão porque o IP-C (Computador C) está em uma sub-rede diferente. Este é o meu entendimento da resposta de você e Mike. Então, o que vai acontecer a seguir? Você pode explicar? Obrigado.
Ebyrock 19/03/14
O pacote de ip de Apara Cé formado envolvendo-os em um quadro Ethernet de apara r1-1. (minúsculas significa endereço MAC, aqui). R1 recebe o quadro, abre-o e encontra-o para C e, visualizando suas próprias tabelas de roteamento, envie-o para seu próximo salto em direção à rede C. No último hop, R2 vai finalmente enviar Apara C(a nível IP) a partir r2-2de c(a nível MAC)
Emilio Garavaglia
-2

No topo acima A --- R1 ---- R2 ---- C

Depois que o R2 receber o pacote do R1 - ele enviará uma solicitação ARP para descobrir o endereço MAC de C e somente após a resposta de C ele poderá encaminhar o pacote para C.

Isso está correto?

user22834
fonte
Uma solicitação ARP está em um quadro de broadcast da camada 2, que todos sabemos que não atravessará um roteador, pois os quadros são removidos no roteador.
Ron Maupin
Eu entendi aquilo. O que eu quis dizer é .... R2 e C estão na mesma rede. Mas como C nunca enviou um pacote antes, o R2 não terá as informações de C. portanto, para encaminhar o pacote de A para C, o R2 precisará enviar uma solicitação ARP para o endereço MAC de C.
user22834
O OP está tentando enviar uma solicitação de ARP pela Internet. Ele nunca deixará a rede onde o Computador A está indo para o Computador C, portanto o R2 nunca o verá para tentar enviá-lo ao Computador C. De fato, acho que o Computador A nem tentará gerar um ARP. solicitação de um endereço que não esteja em sua rede. O que você descreve seria um pacote regular viajando pela Internet, não uma solicitação ARP.
Ron Maupin
Não, o que eu disse foi: A envia um ARP para R1. R1 envia um ARP para R2. R2, por sua vez envia um ARP para C.
user22834
Da sua resposta: " Depois que o R2 receber o pacote de R1 ... " O que quero dizer é que, na pergunta que você deveria responder, o R1 não enviará um pacote para o R2, pois o pacote original foi envolvido em um quadro de transmissão . Do seu comentário: " R1 envia um ARP para R2 " . Novamente, o ARP não funciona na Internet e, na pergunta que você está respondendo, R! e R2 são separados pela Internet. Você parece estar respondendo a uma pergunta completamente diferente da pergunta. Sugiro que você releia a pergunta, responda adequadamente e quem tiver votado contra você ou que no futuro poderá revertê-la.
Ron Maupin