MSS

MSS

最大報文段長度
最大報文段長度(MSS)是TCP協議的一個選項,用于在TCP連接建立時,收發雙方協商通信時每一個報文段所能承載的最大數據長度(不包括文段頭)[1]。最大報文段長度(MSS)與最大傳輸單元(Maximum Transmission Unit, MTU)均是協議用來定義最大長度的。不同的是,MTU應用于OSI模型的第二層數據鍊接層,并無具體針對的協議。MTU限制了數據鍊接層上可以傳輸的數據包的大小,也因此限制了上層(網絡層)的數據包大小。例如,如果已知某局域網的MTU為1500字節,則在網絡層的因特網協議(Internet Protocol, IP)裡,最大的數據包大小為1500字節(包含IP協議頭)。MSS針對的是OSI模型裡第四層傳輸層的TCP協議。因為MSS應用的協議在數據鍊接層的上層,MSS會受到MTU的限制。
  • 中文名:最大報文段長度
  • 外文名:Maximum Segment Size
  • 所屬學科:
  • 起源時間:20世紀七十年代
  • 縮 寫:MSS
  • 應用領域:通信系統
  • 适用協議:TCP

開放式模型

開放式系統互聯模型(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)的選項之一。

TCP協議頭

TCP是收發雙方協商通信時所用的協議之一。TCP的協議頭有源端口,目的端口,序号,确認序号等必填項,如下圖1所示。

除了以上必填項,TCP還有其他選項(圖1中"數據"前“選項”部分)。最大報文段長度(MSS)即為TCP的選項之一。MSS選項由四個字節構成:選項類型代碼為2(1字節),選項長度(1字節),選項數據(2字節)共計4字節。其中,選項數據的2字節代表了MSS的值。如果MSS選項數據為512,則表示該報文段的發送方可以處理的最大報文段長度為512字節(不包括TCP與IP協議頭長度)。

計算MSS

對于IPv4,為了避免IP分片,主機一般默認MSS為536字節(576IP最大字節數-20字節TCP協議頭-20字節IP協議頭=536字節)。同理,IPv6的主機默認MSS為1220字節(1280IP最大字節數-20字節TCP協議頭-40字節IP協議頭=1220字節)。當發送方主機想要調整MSS時,應注意以下幾點:

MSS不包含TCP及IP的協議頭長度。

MSS選項隻能在初始化連接請求(SYN=1)使用。

發送方與接收方的MSS不一定相等。

區分

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

相關詞條

相關搜索

其它詞條