目錄

簡介

必要條件

需求

採用元件

設定

驗證

疑難排解

簡介

本檔案介紹TCP MSS調整的概念和組態，並討論最大傳輸單元(MTU)的概念，以及對於封包大小較大的網站，如何防止封包舍棄。

作者：Richika Jain，思科TAC工程師。

必要條件

需求

思科建議您瞭解乙太網路上的點對點通訊協定(PPPoE)。

採用元件

本文檔中的資訊基於通用裝置。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

設定

MTU是一個情況下協定可以傳輸的最大資料長度。例如，預設情況下，乙太網介面的MTU大小為1500位元組，這不包括乙太網幀頭和幀尾，這意味著該介面不能承載任何大於1500位元組的幀。此圖直觀地顯示了此概念：

如果檢視幀內部，您會看到20位元組的IP報頭+ 20位元組的TCP報頭，剩下的1460位元組是可以在一個幀中傳輸的負載。這稱為TCP MSS。

如果在傳輸路由器上沒有執行其他封裝，來源裝置可能會使用最大負載長度1460位元組，而沒有任何封包分段/捨棄的潛在風險。這是在來源主機和目的地主機之間的TCP三次握手階段協商的。但是，當傳輸中的路由器執行額外的封裝時，它會新增額外的標籤報頭，這最終會增加退出傳輸路由器的幀的大小。介面的最大MTU將取決於硬體平台，但IEEE 802.3標準要求的最小MTU為1500位元組。

PPPoE需要額外8位元組，並將乙太網路MTU中繼為1492，如果主機上的有效MTU未變更，主機和伺服器之間的路由器可以終止TCP作業階段。建議在PPPoE配置中使用此命令IP TCP ADJUST-MSS 1452。

如果來源裝置建立一個TCP MSS為1460位元組的完整大小封包，則轉送路由器可能會捨棄/分段該封包。這不利於我們的網路效能，例如您瀏覽網站時出現的問題。因此，為了容納具有較大資料包大小的網站，您可以從源裝置縮小可能的最大TCP MSS大小（如1452位元組）。如果路由器在TCP握手時沒有向源和目的地發出訊號，則最佳TCP MSS可能會產生丟棄/分段問題。

當您瀏覽所有網站時可能不存在此問題，但可以通過某些網站看到此問題。T其原因在於，它建立的到達它們的資料包大小（取決於介於兩者之間的硬體）。 對於將建立較大資料包大小的網站，如果不使用ip tcp adjust-mss命令，則會丟棄任何較大的資料包。

若要排解瀏覽某些網站時發現的問題，應在指向LAN介面的介面上設定命令IP TCP ADJUST-MSS 1452。

1.啟用

2.配置終端

3.介面型別編號

4. Ip tcp adjust-mss max-segment-size //調整通過路由器的TCP SYN資料包的MSS值。max-segment-size引數是最大段大小（以位元組為單位）。範圍為500到1460。

5. IP mtu bytes //設定介面上傳送的IP資料包的MTU大小（以位元組為單位）。

6.結束

驗證

使用本節內容，確認您的組態是否正常運作。

步驟1.

驗證TCP MSS調整的配置。

interface ethernet1/1

ip address 10.0.0.1 255.0.0.0

ip tcp adjust-mss 1452

duplex half

步驟2.

從路由器A Telnet到路由器B。

telnet 10.0.1.2

Trying 10.0.1.2...

TCP: sending SYN, seq 886170752, ack 0

TCP0: Connection to 1.0.1.2:23, advertising MSS 536

tcp0: O CLOSED 1.0.1.2:23 4.0.0.1:11008 seq 886170752

OPTS 4 SYN WIN 4128

步驟3.

觀察路由器B上的調試輸出。

tcp0: I LISTEN 4.0.0.1:11008 1.0.1.3:23 seq 886170752

OPTS 4 SYN WIN 4128

TCP0: state was LISTEN -> SYNRCVD [23 -> 4.0.0.1(11008)]

TCP0: Connection to 4.0.0.1:11008, received MSS 1452, MSS is 1452

TCP MSS值將調整為設定值1452。

疑難排解

目前尚無適用於此組態的具體疑難排解資訊。