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%

)

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.