-
MSS
(最大報文段長度)
鎖定
最大報文段長度(MSS)是TCP協議的一個選項,用於在TCP連接建立時,收發雙方協商通信時每一個報文段所能承載的最大數據長度(不包括文段頭)。
[1]
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]
MSSTCP協議頭
TCP是收發雙方協商通信時所用的協議之一。TCP的協議頭有源端口,目的端口,序號,確認序號等必填項,如下圖1所示。
[2]
除了以上必填項,TCP還有其他選項(圖1中"數據"前“選項”部分)。最大報文段長度(MSS)即為TCP的選項之一。MSS選項由四個字節構成:選項類型代碼為2(1字節),選項長度(1字節),選項數據(2字節)共計4字節。其中,選項數據的2字節代表了MSS的值。如果MSS選項數據為512,則表示該報文段的發送方可以處理的最大報文段長度為512字節(不包括TCP與IP協議頭長度)。
[2]
MSS計算MSS
對於IPv4,為了避免IP分片,主機一般默認MSS為536字節 (576IP最大字節數-20字節TCP協議頭-20字節IP協議頭=536字節)。同理,IPv6的主機默認MSS為1220字節(1280IP最大字節數-20字節TCP協議頭-40字節IP協議頭=1220字節)。
[1]
當發送方主機想要調整MSS時,應注意以下幾點:
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]
- 參考資料
-
- 1. The TCP Maximum Segment Size and Related Topics .Request for Comments.1983-11[引用日期2020-04-08]
- 2. SPECIFICATION OF INTERNET TRANSMISSION CONTROL PROGRAM .Request for Comments.1974-12[引用日期2020-04-08]
- 3. ISO/IEC 7498-1 .國際標準化組織.1997-06[引用日期2020-04-08]
- 4. Path MTU Discovery .Request for Comments.1990-11[引用日期2020-04-08]