Re: [vserver] ping vs. IP address vs. MAC (address)

From: John A. Sullivan III <jsullivan_at_opensourcedevel.com>
Date: Fri 01 May 2009 - 17:17:48 BST
Message-Id: <1241194668.6353.41.camel@jaspav.missionsit.net.missionsit.net>

On Fri, 2009-05-01 at 08:54 -0700, Roderick A. Anderson wrote:
> I'm asking for a clue stick here. First time I've run into this issue
> ... hard. Be a few times where it took a bit for outbound traffic to
> get a route but can't remember running into this problem.
>
> The short question is: does the network/NIC _know_ which IP address it
> is responding for when a ping request comes in or does it just respond
> to the ping request at the MAC (hardware?) level?
>
> I have two hosts and each of their guests has its own IP address. I am
> trying to move the guest's services from one host to the other. The new
> and old guests both use the same IP address. So I shut down the old
> guest and then start up the new guest on the other system. Network
> traffic to the new guest, except pings, doesn't work. Iptables, ip addr
> ls, ifconfig, etc., all appear to be good.
>
> I'm guessing the routing is sending the ping request to the old guest's MAC.
>
> Thoughts, Ideas?
>
> \\||/
> Rod
Hi, Rod. I'm a bit confused (comes with being up all night integrating
vserver and zimbra!) but did you mean all traffic to the new guest works
except ping or all traffic fails except ping?

The NIC itself only knows about MAC addresses. If the MAC address
matches, it passes it up the stack to the IP layer. However, the issue
may have more to do with the ping initiator than the receiver.

Since you ping an IP address but need to put a packet on the wire with a
MAC address, the initiator issues an ARP (Address Resolution Protocol)
request asking which MAC address is associated with the desired IP
address. This information is cached although the cache expiration is
pretty short usually.

If the pinging station is still using the old ARP information, it will
send the packets to the wrong MAC address. You can check your ARP cache
with something like arp -n to see where your ping initiator thinks the
IP address lives. Hope this helps - John

-- 
John A. Sullivan III
Open Source Development Corporation
+1 207-985-7880
jsullivan@opensourcedevel.com
http://www.spiritualoutreach.com
Making Christianity intelligible to secular society
Received on Fri May 1 17:17:35 2009
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Fri 01 May 2009 - 17:17:36 BST by hypermail 2.1.8