This page provides information about Internet access using PPPoE, which would also apply to other Internet connections using a smaller or optimized MTU size.
 
 

ICS Web-browsing Problem: the Real Solution

    As it turns out, I was correct that there was a problem with the ICS functionality, which leaves one necessary piece of information not known by the ICS client computers. Microsoft Knowledge Base Article 319661 describes this problem occurring, where the root cause of the problem is a mis-matching of MTU (Maximum Transmission Unit) size, and servers that block ICMP messages for security reasons prevent Window XP from handling this.

    Specifically, the problem is a mis-match of the MTU for the Ethernet adapter on the client computer, and the MTU for the PPPoE used to access the Internet; where the default MTU for the Ethernet adapter is 1500, but the MTU used by PPPoE is at most 1492. (The Windows XP PPPoE driver uses a default MTU of 1480. And with Bell Sympatico as my ISP, I had set my PPPoE MTU to 1454.) While this smaller MTU, which is used by the access to the Internet, is what the client ICS systems know nothing about.

 
 

    "Packet size, often referred to as MTU (Maximum Transmission Unit) is the greatest amount of data that can be transferred in one physical frame on the network. For Ethernet, the MTU is 1500 bytes, for PPPoE 1492, dial-up connections often use 576.

    "Each transmission unit consists of header and actual data. The actual data is referred to as MSS (Maximum Segment Size), which defines the largest segment of TCP data that can be transmitted. Essentially, MTU=MSS + TCP & IP headers."

 SpeedGuide.net: MTU, what difference does it make?  
 
 

   Article 319661 also states that ICS provided by Windows XP SP1 (Service Pack 1) finally resolves this problem, by using a method called MSS clamping, to limit the effective MTU size to what is supported by the connection to the Internet. Thus Microsoft's recommended solution is to upgrade the system providing ICS to Windows XP SP1.

    Otherwise, the recommended solution-- when using a version of Windows prior to Windows XP SP1-- is to do some testing to determine the correct MTU value to use. Then on each client system, manually set the MTU for the Ethernet adapter using ICS to this determined value.

 
 

HINT: If you know what the MTU value used by PPPoE is, that often is also the correct value for the Ethernet adapter MTU on the client computer(s). The commonly used values are: 1492, 1480 (used by the XP/.NET PPPoE driver) and 1454. So you could just try those MTU values first, then do the below testing only if all three commonly used values do not work.

 Skip down to Setting the MTU on Client Systems  
 
 

Testing to determine the MTU value

    From the command prompt (a DOS window) on the system directly connected to the Internet, type one of the following commands to find the Internet Gateway, which should be the other end of the PPPoE link:

    In either case, the IP address for the Internet Gateway should be a decimal number of the format xxx.xxx.xxx.xxx

    Next, from a command prompt on a client computer, the following command will be used, with several different values for packet size, to determine the largest MTU size that works:

PING -f -l nnnn xxx.xxx.xxx.xxx

    I would suggest running the above command, with the following sequence of packet size values:

 

Setting the MTU on Client Systems

    Once the MTU value to use (or to try) has been established, then on every client system, the Ethernet adapter connected to the network using ICS must have the MTU set to that value. Several sites on the Internet provide instructions on how to edit the System Registry to do this. However, the simple answer is to just download the DrTCP program, then use that to set the MTU for the Ethernet adapter.

 
 

TIP: To ensure that applications which utilize FTP or Instant Messaging will work on an ICS client computer, it may still be necessary to implement only the FTP and Socks portion of the previously described AnalogX Proxy work-around. (Proxy "HTTP" left off. LAN Settings "HTTP:" and "Secure:" lines not changed.)

 
 
 
This Commentary Copyright © 2002-2003 Allen Smith
 
[ChangeDetection.com]TM
Monitor this Webpage

E-mail the Webmaster
Page Content Updated: January 1, 2004
   

    For those familiar with installing and configuring Windows, hopefully this 2 page commentary provides all the information that is needed to get Connection Sharing working. Past feedback has contributed to the information provided by these pages, so I continue to welcome any comments or suggestions about them. And if further assistance is required, then please see my End-User Computer Support by E-mail page.