Troubleshooting MTU Size in PPPoE Dialin Connectivity

  • Why the MTU Size Must Be Changed

    When a user requests a web site, a client/server negotiation occurs between the PC and the web server that hosts the web site. During the negotiation, a maximum MTU size is negotiated. Since the PC negotiates and its default MTU size is 1500 bytes (Windows 3x, 9x, NT, ME, and so forth), the web server negotiates an MTU size of 1500 bytes. Therefore, regardless of the MTU size you configure on the router, the web server still sends packets up to 1500 bytes in size.

    The reason why some pages do not fully load is that the router fragments IP packets if the PC MTU is misconfigured and a packet greater than 1492 bytes is sent to the router. This fragmentation does not occur on the return path through the universal access concentrator (UAC) (Cisco 6400 or 7200). When the UAC receives a packet greater than 1492 bytes, the packet is dropped, and the UAC generates and sends an Internet Control Message Protocol (ICMP) message to the web server that sent the oversized packet. The ICMP informs the web server that it sent an oversized packet and that it needs to resend the packet with a smaller MTU.

    Note:  For information about why the MTU size is 1492 bytes, refer to the PPPoE Baseline Architecture for the Cisco 6400 white paper.

    The problem occurs because many web servers block ICMP messages, which causes the server to continuously send 1500-byte packets. These packets are dropped, and as a result, the requested web site does not load. If the web server is properly configured and ICMP messages are not blocked, the server adjusts its MTU and retransmits until the page loads completely.

    A partially loaded page occurs when the initial data packets sent from the web server are under the 1492 byte maximum. However, a packet is then sent that exceeds this maximum. The server continues to retransmit this oversized packet that results in a partially loaded page and a “waiting for reply…” message in the status bar.

    How to Change the MTU Size

    You can change the MTU size with the help of one of these three methods:

    1. Add and then modify a “MaxMTU” string-value to the registry key that contains the PC Ethernet adapter.

    Adjust the PPPoE MTU Size on the Cisco DSL Router

    Note:  These configuration commands work only if you run Network Address Translation (NAT) or Port Address Translation (PAT) on the Cisco DSL router.

    The ip adjust-mss command in Cisco IOS® Software Release 12.2(2)XH has changed to ip tcp adjust-mss . This change is documented in the Release Notes for the Cisco 800 Series Routers and Cisco 820 Series Routers for Cisco IOS Release 12.2(2)XH.

    interface ethernet0 no shut ip address   ip adjust-mss 1452 !--- The TCP MSS command requires an MSS of 1452, and not 1492. ip nat inside  no ip directed-broadcast

    Download the Dr. TCP Utility

    The Dr. TCP utility needs to be run only once. The registry change is saved at the completion of this procedure.

    1. Navigate to the 1492.

    2. Reboot the PC.

    If you change the MTU size with Dr. TCP or on the Cisco DSL router and you are still not able to browse certain web sites, adjust the MTU size again. Change the MTU size to 1452 in Dr. TCP, or change the MSS adjust value on the Cisco DSL router to 1412. If these sizes are too large, continue to lower the MTU sizes until you reach a baseline of 1400 for Dr. TCP or 1360 for MSS adjust on the Cisco DSL router.


Notes: When certain sites are blocked through a Cisco 877 & your using the 4 port switch on the back. Change the mss on the interface or vlan.

Also try changing the MTU setting on the Dialer interface

Leave a Reply

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