As far as my understading goes MAC address is used to recognize a computer node in a LAN where as internet communications happen over IPv4 address. When a request comes from the internet to the gateway the packet has the destination IP address. Now the cached ARP table is looked up to see the corresponding MAC address. If not ARP broadcast request is sent to get the corresponding MAC address.
But in case of virtual machine(Windows XP) running on my CentOS both will have same MAC address but different IPV4 addresses. So how the packet will be delievred to the correct host?