複製鏈接
請複製以下鏈接發送給好友

MSS

(最大報文段長度)

鎖定
最大報文段長度(MSS)是TCP協議的一個選項,用於在TCP連接建立時,收發雙方協商通信時每一個報文段所能承載的最大數據長度(不包括文段頭)。 [1] 
中文名
最大報文段長度 [2] 
外文名
Maximum Segment Size [2] 
起源時間
20世紀七十年代 [2] 
縮    寫
MSS [2] 
應用領域
通信系統 [2] 
適用協議
TCP [2] 

MSS開放式互聯網模型

開放式系統互聯模型(OpenSystemInterconnection Model,簡稱為OSI模型)是一種互聯網概念化模型,由國際標準化組織(InternationalOrganization forStandardization,簡稱為ISO)提出,定義於ISO/IEC 7498-1。OSI模型將互聯網分為七層,由最高層(用户端)到最底層(物理層面)排列為:第7層 應用層(Application Layer);第6層 表達層(Presentation Layer);第5層 會話層(Session Layer);第4層 傳輸層(Transport Layer);第3層 網絡層(Network Layer);第2層 數據鏈接層(Data Link Layer)第1層 物理層(Physical Layer);本詞條MSS是第四層傳輸層中的一種協議(TCP)的選項之一。 [3] 
OSI模型 OSI模型

MSSTCP協議頭

TCP是收發雙方協商通信時所用的協議之一。TCP的協議頭有源端口,目的端口,序號,確認序號等必填項,如下圖1所示。 [2] 
圖1 TCP協議頭 圖1 TCP協議頭
除了以上必填項,TCP還有其他選項(圖1中"數據"前“選項”部分)。最大報文段長度(MSS)即為TCP的選項之一。MSS選項由四個字節構成:選項類型代碼為2(1字節),選項長度(1字節),選項數據(2字節)共計4字節。其中,選項數據的2字節代表了MSS的值。如果MSS選項數據為512,則表示該報文段的發送方可以處理的最大報文段長度為512字節(不包括TCP與IP協議頭長度)。 [2] 
TCP選項 TCP選項

MSS計算MSS

對於IPv4,為了避免IP分片,主機一般默認MSS為536字節 (576IP最大字節數-20字節TCP協議頭-20字節IP協議頭=536字節)。同理,IPv6的主機默認MSS為1220字節(1280IP最大字節數-20字節TCP協議頭-40字節IP協議頭=1220字節)。 [1]  當發送方主機想要調整MSS時,應注意以下幾點:
  1. MSS不包含TCP及IP的協議頭長度。 [1] 
  2. MSS選項只能在初始化連接請求(SYN=1)使用。 [1] 
  3. 發送方與接收方的MSS不一定相等。 [1] 

MSS區分MSS與MTU

最大報文段長度(MSS)與最大傳輸單元(Maximum Transmission Unit, MTU)均是協議用來定義最大長度的。不同的是,MTU應用於OSI模型的第二層數據鏈接層,並無具體針對的協議。MTU限制了數據鏈接層上可以傳輸的數據包的大小,也因此限制了上層(網絡層)的數據包大小。例如,如果已知某局域網的MTU為1500字節,則在網絡層的因特網協議(Internet Protocol, IP)裏,最大的數據包大小為1500字節(包含IP協議頭)。MSS針對的是OSI模型裏第四層傳輸層的TCP協議。因為MSS應用的協議在數據鏈接層的上層,MSS會受到MTU的限制。 [4] 
MSS與MTU的區分 MSS與MTU的區分
參考資料