Castlewood
asked on
Why doesn't a ping activity automatically create an ARP record in the local ARP table in Windows?
Please help me understand about ARP.
I know the local ARP table is cached and records also can be manually added. But how come when I ping a remote IP it doesn't automatically create a corresponding ARP table record?
I know the local ARP table is cached and records also can be manually added. But how come when I ping a remote IP it doesn't automatically create a corresponding ARP table record?
The ARP table only contains MAC to IP mappings of the local subnet. It is not routable.
ASKER
understand that, But how come when I ping a remote IP it doesn't automatically create a corresponding ARP table record? What activities will automatically create an ARP table record in my local computer?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks.
Under what kind of situations do we need to manually add static ARP table records to the computer or a router?
Under what kind of situations do we need to manually add static ARP table records to the computer or a router?
Well normally you don't need static entries. There are some cases with equipment configuration or non-valid IP setups where a static ARP entry would be useful. But generally you would just leave things dynamic.
http://www.dummies.com/programming/networking/cisco/cisco-networking-static-arp-entry-managment/
http://www.dummies.com/programming/networking/cisco/cisco-networking-static-arp-entry-managment/
To fully clarify this (Jeremy kind of missed the most critical piece).
When you are pinging a IP, your computer does a number of things:
1. Looks at the remote IP & compares it to your local subnet
2. If it is local, it will consult the ARP table. If it is in the arp table, it will encapsulate the IP datagram within a ethernet frame with a destination address obtained from the ARP table.
3. If it is not in the ARP table, it will attempt to send a ARP request within the local broadcast domain. Once it has a IP address, it will perform the encapsulation detailed above.
3. If it is not local, it will consult the host routing table. It will compare the requested IP with the routing table using the longest-match (most specific match) first.
4. It will then check the next hop address of that route, and if the next hop address is on the local subnet, it will consult the ARP table and if it has a entry for the next-hop, it will encapsulate the IP datagram in the ethernet header with a destination MAC address of the next-hop as obtained from the ARP table. If it is local but not in the ARP table, it will attempt to send a ARP request for the next hop ip address. If it is not local, it will consult the routing table for a entry for that gateway (this is a recursive route lookup).
The key is when you are pinging (or communicating in any way) with a subnet that is not on your local subnet, it does perform a ARP lookup/request, but for the next hop address, not for the destination address
When you are pinging a IP, your computer does a number of things:
1. Looks at the remote IP & compares it to your local subnet
2. If it is local, it will consult the ARP table. If it is in the arp table, it will encapsulate the IP datagram within a ethernet frame with a destination address obtained from the ARP table.
3. If it is not in the ARP table, it will attempt to send a ARP request within the local broadcast domain. Once it has a IP address, it will perform the encapsulation detailed above.
3. If it is not local, it will consult the host routing table. It will compare the requested IP with the routing table using the longest-match (most specific match) first.
4. It will then check the next hop address of that route, and if the next hop address is on the local subnet, it will consult the ARP table and if it has a entry for the next-hop, it will encapsulate the IP datagram in the ethernet header with a destination MAC address of the next-hop as obtained from the ARP table. If it is local but not in the ARP table, it will attempt to send a ARP request for the next hop ip address. If it is not local, it will consult the routing table for a entry for that gateway (this is a recursive route lookup).
The key is when you are pinging (or communicating in any way) with a subnet that is not on your local subnet, it does perform a ARP lookup/request, but for the next hop address, not for the destination address
ASKER
Daniel, Thank you so much. Your answer is exactly what I was looking for. Really appreciated that you cleared my question about this area. I owe you double thumbs up.