本檔案將說明當您實作乙太網路(PPPoE)撥入時,為什麼必須變更最大傳輸單位(MTU)大小。還說明了用於進行更改的步驟。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
當使用者請求網站時,PC與託管網站的Web伺服器之間會發生客戶端/伺服器協商。在交涉期間,會交涉最大MTU大小。因為PC會交涉,而且其預設MTU大小為1500位元組(Windows 3x、9x、NT、ME等),所以Web伺服器會交涉MTU大小為1500位元組。因此,無論您在路由器上設定的MTU大小,Web伺服器仍會傳送大小最多為1500位元組的封包。
某些頁面未完全載入的原因在於,如果PC MTU配置錯誤,路由器會將IP資料包分段,並且向路由器傳送大於1492位元組的資料包。此分段不會在通過通用接入集中器(UAC)(Cisco 6400或7200)的返迴路徑上發生。 當UAC收到大於1492位元組的封包時,該封包會遭到捨棄,然後UAC會產生一則網際網路控制訊息通訊協定(ICMP)訊息,並將其傳送至傳送過大封包的Web伺服器。ICMP通知Web伺服器它傳送了過大的封包,並需要以較小的MTU重新傳送封包。
附註: 有關為什麼MTU大小為1492位元組的資訊,請參閱Cisco 6400的PPPoE基線架構白皮書。
之所以會出現此問題,是因為許多Web伺服器封鎖了ICMP訊息,從而導致伺服器連續傳送1500位元組的封包。這些資料包將被丟棄,因此不會載入請求的網站。如果Web伺服器設定正確且未封鎖ICMP訊息,則伺服器會調整其MTU並重新傳輸,直到頁面完全載入為止。
從Web伺服器傳送的初始資料包低於1492位元組最大值時,會出現部分載入的頁。但是,隨後傳送的包會超過此最大值。伺服器繼續重新傳輸這個過大的資料包,導致頁面部分載入和「等待回覆……」 狀態列中的消息。
您可以使用以下三種方法之一來變更MTU大小:
附註: 只有當您在Cisco DSL路由器上運行網路地址轉換(NAT)或埠地址轉換(PAT)時,這些配置命令才起作用。
Cisco IOS®軟體版本12.2(2)XH中的ip adjust-mss命令已變更為ip tcp adjust-mss <mss value>。此變更記錄在適用於Cisco IOS版本12.2(2)XH的Cisco 800系列路由器和Cisco 820系列路由器的版本說明中。
interface ethernet0 no shut ip address <ip address> <subnet mask> ip adjust-mss 1452 !--- The TCP MSS command requires an MSS of 1452, and not 1492. ip nat inside no ip directed-broadcast
Dr. TCP實用程式只需運行一次。完成此過程後,將儲存登錄檔更改。
導航到Dr TCP utility。
重新載入該頁面,以確保您有目前的副本。
下載最新版本的實用程式(DRTCPnnn.exe)。
運行實用程式。
從選單中選擇乙太網介面卡。
在MTU欄位中,鍵入1492。
按一下其他欄位,但不要鍵入任何內容。
按一下「Apply」以儲存變更,然後按一下「Exit」。
重新啟動PC。
使用此過程可以通過修改登錄檔項來更改MTU大小。
將「MaxMTU」字串值新增到包含PC乙太網介面卡的登錄檔項。
將「MaxMTU」值資料條目設定為1492。
重新啟動PC。
如果使用Dr TCP或Cisco DSL路由器上更改MTU大小,但仍然無法瀏覽某些網站,請再次調整MTU大小。在Dr TCP中將MTU大小更改為1452,或者將Cisco DSL路由器上的MSS調整值更改為1412。如果這些大小過大,請繼續降低MTU大小,直到在Cisco DSL路由器上達到Dr TCP的1400或MSS的1360基線調整。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
26-Feb-2008 |
初始版本 |