I feel so lame to have this doubt, so there is the question : Why I haven't connectivity ?
The case is simple, I have configured the topology on the picture under and have connectivity between each PC and respective gateway.
The problem is when I tried to ping a device in another network like PC1 to PC0 the next event occur
PC1 broadcast arp to know MAC gateway of R0
R0 reply arp to PC1
PC1 send icmp packet R0
R0 broadcast arp to know MAC of PC0
PC0 don't reply because "The ARP request's sender IP address is in a different network than the receiving port."
So I want to know why PC0 don't reply ? this is a base functionality of ARP ?
Obviously I've configured 2 static route (one on each router) to route packets to another network on the same interface.
on R1 : ip route 192.168.1.0 255.255.255.0 FastEthernet0/0
on R0 : ip route 172.16.200.0 255.255.255.0 FastEthernet0/0
packet tracer file attach.
Many thanks for an answer !
Well this a weird situation, I've not yet found a solution. Just for fun. Well I can separate how many network L3 I want with a Switch, VLAN Obviously. But this particular case, intrigue me.
Its obvious the need of a L3 device to route between the networks. In this case, this happen, when PC1 want to send the ICMP packet to PC0, it is through the gateway R0. The R0 with the Static Route configured route to the same interface that receive the packet.
Each PC has the correct Gateway configured and each router have a Static Route to the another network (in the same LAN) also well configured. When I start this lab, for fun, I though the ARP reply of PC0 to R0 is sent through his GW on R1.
Well I think this a design question of ARP, for security, ARP reply isn't send to another network than there is connected.
First some considerations:
- ARP is a Frame (layer 2).
- Broadcasts are stopped by routers.
- In this scenario the routers are not directly connected therefore "in the middle" the switches MAC's are used.
My explanation is that at this point the router is still trying to figure out the MAC of the other router. So they aren't looking for the IP header yet. They're just looking for layer2 information so any static routes or routing protocolos that may be used are useless.
You can ignore the PCs and try pinging from one router to the other and check that it won't work either.
I think the essence is that the ARP is layer 2, therefore it has no IP address. If there's no IP address no layer 3 routing is done.
On a network design perspective this a flaw. You are CONNECTING LAYER 3 devices of diferent networks on the same physical network! cant work!!
The routers doesn't know each other (and don't have to, because they are configured with static route). They only know the other network (they don't have a interface in it) are in the same interface they receive the packet, so about the routing is pretty simple. A router receive a packet from X with dest. to Y, and have static route configured. The route indicate the network Y are in the same interface of X, the router simply forward. Multiple logical network can connect on only physical network but they haven't connectivity between each other (R0 have connectivity with PC1, and R1 with PC0, but PC0 don't have with R1).
Pedro, if you want, try to simulate that (PKT5.3) to view whats happen. I've emulate (GNS3) but with the same result of simulation.
To unveil this mystery I will read the RFC of ARP and post some update.
The network is behaving exactly the way it is designed. RO's show ip route does not have a route to network 200. It is dropping the packet. R1 never even sees it. You could fix it with VLANs and subinterfaces, using dual gateway addresses for each VLAN.
Guys there is the response. After I read the RFC I understand why this is doesn't work. Well it's simple, ARP hasn't been develop/design to respond (reply) to a request coming from a another network. In this case, I force the forwarding (through the static route) to a network where the router doesn't belong. In some documentation, they said this protocol is between Layer 2 and Layer 3 (the layer2.5 LOL), but in fact he never across Layer3 it only send information about Layer3 in a frame. So when a device receive a ARP request from another network, he process the frame (it's her IP in the frame to translate) and see the ARP request sender IP in another network discard automatically the frame. To do a arp request in another network we need a device Layer3 to work as a ARP Proxy, he simply relay the arp's request and reply, obviously link to each network. It's a weird design and somewhat stupid but interessant to learn more about ARP / LAN's. I want to say thank you to people who respond and try to help.