Router/Arp Question

chXchX Posts: 100Member ■■■□□□□□□□
Hey guys, I've got a question. This is more to test my knowledge than anything, and to see if I'm thinking logically and correctly about networking. If anyone actually reads all of it, and tells me if I'm correct or not, I'd be very appreciative.

I'll illustrate a network before I outline the question (made it in Packet Tracer, which sort of answered my question but I don't trust PT 100% icon_wink.gif)

arp.png

Assume no devices have anything in their ARP cache.

Two routers, connected together by Ethernet (crossover cable) to their respective fa0 interfaces.

The link between those routers is the 10.0.2.0/24 network, and Router2's fa0 has an IP of 10.0.2.1 while Router1's fa0 has an IP of 10.0.2.2.

Each router also has fa1 connected to a Switch and hosts etc. Router2's fa1 has an IP of 10.0.1.1 and Router1's fa1 has an IP of 10.0.3.1.

Now for the question:

Each router is going to need a way of knowing about the non-directly connected networks (10.0.1.0 and 10.0.3.0). Obviously it's going to either be a routing protocol or static routes.

Let's go with static routes.

I'll configure it to sent anything destined for these networks to the other router's IP.

Router2(config)# ip route 10.0.3.0 255.255.255.0 10.0.2.2
Router1(config)# ip route 10.0.1.0 255.255.255.0 10.0.2.1

Now let's say PC1 (10.0.1.20) wants to ping PC2 (10.0.3.20)

From what I understand, this is how it should occur (PLEASE correct me if I'm wrong about something):
- PC1 will compare its IP/Subnet Mask with the destination's and determine it's on a different subnet.
- PC1 will ARP for it's default gateway (10.0.1.1)
- Switch will broadcast it, Router2 gets the ARP and replies back.
- PC forwards frame across.

Source IP: 10.0.1.20
Dest IP: 10.0.3.20
Source MAC: itself (let's say AAAA.AAAA.AAAA)
Dest MAC: Router2's fa1 (BBBB.BBBB.BBBB).

Now, Router2 will accept the frame, it's addressed to him. He notices the IP address is not his, and he has a route to it - via 10.0.2.2.

So he'll put the packet aside and ARP for 10.0.2.2 (remember, it's an ethernet link between the two routers).

Router1 will realise the ARP is for him and reply back with the MAC for its fa0 interface (let's say DDDD.DDDD.DDDD)

Router2 will send the packet:
Source IP: 10.0.1.20
Dest IP: 10.0.3.20
Source MAC: Router2's fa0 (let's say CCCC.CCCC.CCCC)
Dest MAC: Router1's fa0 - DDDD.DDDD.DDDD

Router1 will see that it's going to a directly connected network, and will put the packet aside and ARP for the MAC of PC2. Once that's complete, it will forward the packet on:

Source IP: 10.0.1.20
Dest IP: 10.0.3.20
Source MAC: Router1's fa1 MAC (let's say EEEE.EEEE.EEEE)
Dest MAC: PC2 (let's say GGGG.GGGG.GGGG)

Now that should work fine, as far as I'm aware.

(Here's where the question really starts)

But what would happen if we chose the exit interface in the ip route commands, rather than the next-hop IP. eg:

Router2(config)# ip route 10.0.3.0 255.255.255.0 fa0
Router1(config)# ip route 10.0.1.0 255.255.255.0 fa0

show ip route would look like this:

C 10.0.0.0 is directly connected, FastEthernet0/0
S 10.0.3.0/24 is directly connected, FastEthernet0/0

So, Router2 now has no knowledge of Router1's IP address. How could it ARP for it? Well, I don't think it can.

So, from what I understand, it will ARP for the destination IP:
10.0.3.20.

Router1 will receive that ARP, and say "yep, this isn't addressed to me but I'm directly connected to the destination. I'll just pass on my fa0's MAC address instead."

That sounds an awful lot like proxy ARP. So, what would happen if proxy ARP was disabled?


Now, some of this is based on playing around with Packet Tracer, so I might not be correct about everything. I'm pretty much just writing this out to see how much I really know, so any comments / constructive criticism would be appreciated.
2019 Goals:
[ ] Recertify CCNA

Comments

  • fly351fly351 Posts: 360Member
    So, Router2 now has no knowledge of Router1's IP address. How could it ARP for it? Well, I don't think it can.

    Do a show interface fa0 on both routers and see if you can answer that yourself :)
    CCNP :study:
  • chXchX Posts: 100Member ■■■□□□□□□□
    Well, unless I'm missing something here.

    show int fa0 on both routers would only show the IP address assigned to that interface:
    Internet address is 10.0.0.2/24
    Internet address is 10.0.0.1/24

    With the static route set to the next hop, show ip route would be similar to:
    10.0.0.0/24 is subnetted, 1 subnets
    C 10.0.0.0 is directly connected, FastEthernet0/0
    S 10.0.1.0/24 [1/0] via 10.0.2.1

    So it will be able to ARP for 10.0.2.1.

    With the static route set to the exit interface:
    10.0.0.0/24 is subnetted, 1 subnets
    C 10.0.0.0 is directly connected, FastEthernet0/0
    S 10.0.1.0/24 is directly connected, FastEthernet0/0

    Once again, unless I'm missing something, it has no information on the other router's IP address.

    And assuming what happens next is correct, it will ARP for the final destination's IP etc.


    (It's 1:30 AM where I am, and it's been a long day :P)
    2019 Goals:
    [ ] Recertify CCNA
  • networker050184networker050184 Posts: 11,962Mod Mod
    It would ARP for the destination address in that scenario and rely on proxy ARP from R2. Thats why its a bad idea to not specify the next hop in the static route.
    An expert is a man who has made all the mistakes which can be made.
  • fly351fly351 Posts: 360Member
    Here's the info about using Next Hop Interfaces:

    Specifying a Next Hop IP Address for Static Routes - Cisco Systems
    CCNP :study:
  • chXchX Posts: 100Member ■■■□□□□□□□
    Cheers for that guys.

    I guess I was on the right track but just needed some confirmation and clarification.

    icon_cheers.gif
    2019 Goals:
    [ ] Recertify CCNA
Sign In or Register to comment.