日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(转)探究 TCP 一次数据包最大负载,上限真的是 65495 byte 吗

發布時間:2025/3/21 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)探究 TCP 一次数据包最大负载,上限真的是 65495 byte 吗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在玩wireshark抓包,抓了一下文件上傳,發現有的數據包達到了16312byte,于是產生了一個疑問一個數據包最大負載能達到多少?

查了一通資料,找到了65495byte這個數字,這個數字有什么依據呢?

是這樣算出來的:
因為ip協議頭中段總長度(length)最多為16bit
ip首部最少20,tcp首部最少也為20
所以留給數據的最大長度為2^16-1-20-20=65495
(突然也明白了端口范圍為什么也是這個了^_^)

這個數據太理論化了,實際上呢?

先看個表,來自wiki:

再補補概念:
MTU: Maximum Transmission Unit,是指一種通信協議的某一層上面所能通過的最大數據包大小(以字節為單位)。最大傳輸單元這個參數通常與通信接口有關(網絡接口卡、串口等)。

MSS: Maximum Segment Size,是傳輸控制協議(TCP)的一個參數,以字節數定義一個計算機或通信設備所能接受的分段的最大數據量。 它并不會計算 TCP 或 IP 協議頭的大小。

一個TCP包(數據段)的荷載 <= MSS < MTU

前面的那次上傳總文件大小是30000+,數據包達到了16312,是因為lookback網卡的MTU為16384,去掉頭部占用76,最大負載也就是16312

如果MTU=1500,單位為byte,PPPoE首部6,PPP協議2
數據鏈路層最大data為1500-8=1492
IPv4首部最少20,IPv6首部40,TCP首部最少20
MSS最大為1492-20-20=1452

結論:數據包最大荷載是由網絡設備的MTU決定的

Reference:

  • What is the difference between MSS and MTU?

總結

以上是生活随笔為你收集整理的(转)探究 TCP 一次数据包最大负载,上限真的是 65495 byte 吗的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。