PING commands to a Windows Server 2003-based computer may fail if you have enabled the Routing and Remote Access service by configuring the "NAT and basic firewall" and "LAN routing" services

Article translations Article translations
Article ID: 950676 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

Consider the following scenario:
  • You have two Windows-based computers, computer A and computer B.
  • Computer A is a Windows Server 2003-based computer on which you have enabled the Routing and Remote Access service by configuring the following services:
    • NAT and basic firewall
    • LAN routing
  • The following events all occur within one minute, in the following order:
    • Computer B sends a PING command to computer A.
    • Computer A sends a PING command to computer B.
    • Computer B sends another PING command to computer A.
In this scenario, the last PING command that computer B sends to computer A fails. Therefore, applications that rely on PING commands to detect the host status may not function correctly. Additionally, if you enable tracing on the network when this problem occurs, the network trace indicates that the identifier of the ICMP response packet has changed unexpectedly.

Note If you wait at least one minute, the PING commands may work correctly again.

CAUSE

When the Ipnat.sys driver responds to the ICMP request, the driver incorrectly changes the identifier of the ICMP response packet. This behavior occurs when the following conditions are true:
  • The ICMP request is received from the public interface.
  • The destination IP address appears in the local mapping table.

RESOLUTION

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Windows Server 2003 Service Pack 1 (SP1) or Windows Server 2003 Service Pack 2 (SP2) installed. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
889100 How to obtain the latest service pack for Windows Server 2003

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Windows Server 2003 with Service Pack 1, x86-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.3111103,42426-Mar-200809:43x86
Windows Server 2003 with Service Pack 2, x86-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.4261119,80826-Mar-200810:00x86
Windows Server 2003 with Service Pack 1, Itanium-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.3111350,20826-Mar-200811:44IA-64
Windows Server 2003 with Service Pack 2, Itanium-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.4261384,00026-Mar-200811:48IA-64
Windows Server 2003 with Service Pack 1, x64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.3111156,16026-Mar-200811:44x64
Windows Server 2003 with Service Pack 2, x64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.4261181,24826-Mar-200811:53x64

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

Sample network traces

The first time that computer B sends a PING command to computer A, computer B successfully receives the response. This behavior is demonstrated by the following network trace:
<client>	<Server>	ICMP	ICMP: Echo Request Message, From <client> To <Server> ID=0x200
- Icmp: Echo Request Message, From <client> To <Server>
    Type: Echo Request Message, 8(0x8)
  - EchoReplyRequest: 
     Code: 0 (0x0)
     Checksum: 28251 (0x6E5B)
     ID: 512 (0x200)   
     SequenceNumber: 56576 (0xDD00)
     ImplementationSpecificData: Binary Large Object (32 Bytes)	

<Server>	<client>	ICMP	ICMP: Echo Reply Message, To <client> From <Server>	ID=0x200
- Icmp: Echo Reply Message, To <client> From <Server>
    Type: Echo Reply Message, 0(0)
  - EchoReplyRequest: 
     Code: 0 (0x0)
     Checksum: 30555 (0x775B)
     ID: 512 (0x200) 
     SequenceNumber: 56320 (0xDC00)
     ImplementationSpecificData: Binary Large Object (32 Bytes)

Then, when computer A sends a PING command to computer B, computer A receives the response successfully. In this example, the identifier has changed to 0x100. This behavior is demonstrated by the following network trace:
<server>	<client>	ICMP	ICMP: Echo Request Message, From <server> To <client> ID=0x100	
- Icmp: Echo Request Message, From <server> To <client>
    Type: Echo Request Message, 8(0x8)
  - EchoReplyRequest: 
     Code: 0 (0x0)
     Checksum: 18268 (0x475C)
     ID: 256 (0x100)
     SequenceNumber: 1280 (0x500)
     ImplementationSpecificData: Binary Large Object (32 Bytes)

<client>	<server>	ICMP	ICMP: Echo Reply Message, To <server> From <client>	ID=0x100
- Icmp: Echo Reply Message, To <server> From <client>
    Type: Echo Reply Message, 0(0)
  - EchoReplyRequest: 
     Code: 0 (0x0)
     Checksum: 20316 (0x4F5C)
     ID: 256 (0x100)
     SequenceNumber: 1280 (0x500)
     ImplementationSpecificData: Binary Large Object (32 Bytes)
When computer B sends another PING command to computer A, computer A sends a response back to computer B. However, computer A changes the identifier to an invalid value. In this situation, the ICMP request that is sent by computer B contains an identifier of 0x200. The ICMP response that computer A sends contains an identifier of 0x100. This behavior is demonstrated by the following network trace:
<client>	<server>	ICMP	ICMP: Echo Request Message, From <client> To <server>
- Icmp: Echo Request Message, From <client> To <server>
    Type: Echo Request Message, 8(0x8)
  - EchoReplyRequest: 
     Code: 0 (0x0)
     Checksum: 27483 (0x6B5B)
     ID: 512 (0x200)
     SequenceNumber: 57344 (0xE000)
     ImplementationSpecificData: Binary Large Object (32 Bytes)
	
<server>	<client>	ICMP	ICMP: Echo Reply Message, To <client> From <server>	
- Icmp: Echo Reply Message, To <client> From <server>
    Type: Echo Reply Message, 0(0)
  - EchoReplyRequest: 
     Code: 0 (0x0)
     Checksum: 29787 (0x745B)
     ID: 256 (0x100)
     SequenceNumber: 57344 (0xE000)
     ImplementationSpecificData: Binary Large Object (32 Bytes)

REFERENCES

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

Properties

Article ID: 950676 - Last Review: April 8, 2008 - Revision: 1.1
APPLIES TO
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
Keywords: 
kbautohotfix kbexpertiseinter kbwinserv2003postsp2fix kbbug kbfix kbhotfixserver kbqfe KB950676

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com