本文檔說明了在實施乙太網PPP (PPPoE)撥入時必須更改最大傳輸單元(MTU)大小的原因。它還說明了用於進行更改的過程。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
當使用者請求網站時,在PC和託管該網站的Web伺服器之間會發生客戶端/伺服器協商。在交涉期間,會交涉最大MTU大小。由於PC會交涉且其預設MTU大小為1500位元組(Windows 3x、9x、NT、ME等),因此Web伺服器會交涉MTU大小為1500位元組。因此,無論您在路由器上設定的MTU大小為何,Web伺服器仍會傳送大小最多為1500位元組的封包。
部分頁面未完全載入的原因是,如果PC MTU配置錯誤並且超過1492位元組的資料包被傳送到路由器,則路由器會對IP資料包進行分段。此分段不會發生在透過通用接入集中器(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」value-data條目設定為1492。
重新啟動PC。
如果使用Dr TCP或在思科DSL路由器上更改MTU大小,但仍然無法瀏覽某些網站,請再次調整MTU大小。在Dr TCP中將MTU大小更改為1452,或者將Cisco DSL路由器上的MSS調整值更改為1412。如果這些大小太大,請繼續降低MTU大小,直到在Cisco DSL路由器上對Dr TCP達到1400基線或1360 MSS達到1360基線。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
26-Feb-2008 |
初始版本 |