MTU 和 MSS 区别
MTU: Maximum Transmit Unit,最大傳輸單元,即物理接口(數據鏈路層)提供給其上層(通常是IP層)最大一次傳輸數據的大小;以普遍使用的以太網接口為例,缺省MTU=1500 Byte,這是以太網接口對IP層的約束,如果IP層有<=1500 byte 需要發送,只需要一個IP包就可以完成發送任務;如果IP層有> 1500 byte 數據需要發送,需要分片才能完成發送,這些分片有一個共同點,即IP Header ID相同。
MSS:Maximum Segment Size ,TCP提交給IP層最大分段大小,不包含TCP Header和 TCP Option,只包含TCP Payload ,MSS是TCP用來限制application層最大的發送字節數。如果底層物理接口MTU= 1500 byte,則 MSS = 1500- 20(IP Header) -20 (TCP Header) = 1460 byte,如果application 有2000 byte發送,需要兩個segment才可以完成發送,第一個TCP segment = 1460,第二個TCP segment = 540。
tcp 通訊 MSS 確定
如上圖 端口53842 為 A; 端口 80 為 B。
見上圖,TCP SYN消息,A 發送給B 的MSS= 1460,告訴B,B發給A最大segment 為1452 byte.
以后每次通訊,可以看出發送的數據都是 1452 byte。
由上圖,可以發現 MSS 的值,取決與 發送端和接收端兩者較小的 MSS 的值。
想了解更多精彩內容請關注我的公眾號
本人簡書blog地址:http://www.jianshu.com/u/1f0067e24ff8????
點擊這里快速進入簡書
GIT地址:http://git.oschina.net/brucekankan/
點擊這里快速進入GIT
總結
以上是生活随笔為你收集整理的MTU 和 MSS 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP 三次握手 和 四次挥手
- 下一篇: java 成神之路