Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

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.

↑ Back to the top


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.

↑ Back to the top


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: 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
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.3111103,42426-Mar-200809:43x86
Windows Server 2003 with Service Pack 2, x86-based versions
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.4261119,80826-Mar-200810:00x86
Windows Server 2003 with Service Pack 1, Itanium-based versions
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.3111350,20826-Mar-200811:44IA-64
Windows Server 2003 with Service Pack 2, Itanium-based versions
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.4261384,00026-Mar-200811:48IA-64
Windows Server 2003 with Service Pack 1, x64-based versions
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.3111156,16026-Mar-200811:44x64
Windows Server 2003 with Service Pack 2, x64-based versions
File nameFile versionFile sizeDateTimePlatform
Ipnat.sys5.2.3790.4261181,24826-Mar-200811:53x64

↑ Back to the top


Status

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

↑ Back to the top


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)

↑ Back to the top


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

↑ Back to the top


Keywords: kbautohotfix, kbexpertiseinter, kbwinserv2003postsp2fix, kbbug, kbfix, kbhotfixserver, kbqfe, KB950676

↑ Back to the top

Article Info
Article ID : 950676
Revision : 2
Created on : 4/8/2008
Published on : 4/8/2008
Exists online : False
Views : 318