VMWare Duplicate Ping Responses

The Short

I found that running routing and remote access on a Windows server with VMWare virtual machines causes the virtual machines to receive duplicate (in some cases multiple duplicates) response packets which drastically lowers the network adapters through put.

The Long

Recently I have setup a new IP PBX for my office lines and desk phones. We also decided to give the new unified messaging service in Microsoft Exchange a spin which offers a wide range of handy features for remote workers / field workers (http://www.microsoft.com/exchange/2007/evaluation/unifiedmessaging/).

To get Exchange UM talking with our IP PBX (Asterisk / Trixbox) we have opted to install SipX server which provides a bridge between the Asterisk PBX (which uses SIP over TCP) and Exchange UM (which uses SIP over UDP). A good tutorial to accomplish this setup (Asterisk + SipX + Exchange UM)  is available at:

http://blog.lithiumblue.com/2007/04/accessing-exchange-2007-unified_29.html

In this example the author uses VMWare virtual machines to run the SipX and Asterisk servers on Windows Vista / XP / Server, we opted for this setup for ease of portability in the future.

After configuring and testing the Asterisk server we found the voice quality dialling inbound (from a normal landline) and outbound (to a normal landline) was extremely poor and broken, internal calls were fine. After a few minutes of investigation I found the problem was that the two virtual machines running Asterisk and SipX were receiving duplicate ping responses when pinging a host outside of our LAN. As they were receiving duplicate ping response packets I also confirmed (using Wireshark) that they were receiving duplicate responses for SIP packets which they were. It worked out that for every one response the machines should be receiving they were actually receiving five, this obviously results in a hell of a lot more work for the NICs to deal with and is the most likely culprit for our bad line quality!

After searching Google for reasons that VMWare virtual machines should be receiving more than one response I found that switching the machines form a bridged connection to NAT or local host cured the problem, not much use for VOIP servers that need independent IP addresses though!

One of the suggestions I found put the problem down to the switch replicating packets another common cause was binding the bridged interface to a WLAN connection (which we didn’t do, our virtual machines were bridged to an Ethernet LAN connection). After trying a five or so suggestions I still had no improvement, time for some more detective work.

I fired Wireshark backup and found that the source for the repeated packets was the host server that the VMWare machines were running on. After a little more detective work I found the application source on the host server, the routing and remote access service within Windows Server 2008 was repeating the packets to the virtual machines. Disabling the service fixed the problem, not good if you need the service but at least we found the cause.

More coming soon on exactly which component / configuration of Routing & Remote access was causing this.



7 thoughts on “VMWare Duplicate Ping Responses”

  1. teknologist says:

    You saved my day. A while ago I activated Incoming Connections with Vista64 for PPTP.
    I stopped using it but left it on just in case I needed it later.

    Then one day I saw all those dup pings and went crazy looking for the solution.

    googled a lot…nothing.

    Today I stumbled upon your post and went immediately deleted the incoming connection.

    No more dup pings!

    Thanks a lot!!!

  2. Adrenaln says:

    Like teknologist, you saved my day! Is there any progress on this? As I really need to use RRAS on the host machine.

  3. Rich Theobald says:

    Helped me too. Well done!

  4. jestor says:

    “After a little more detective work I found the application source on the host server” – Nice work, how did you determine the application source?

  5. mbwmbw says:

    Thank you so much! This literally saved my day it would have taken us days to figure this out. Wow. Thank you!

  6. kuzmich says:

    oh man! That was it – disabing just “Routing and Remote Access” fixed it for me in Win7 host, it was torturing me for years.

  7. WLE says:

    helped me too

Leave a Reply

Your email address will not be published. Required fields are marked *