国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 網絡協議 > 正文

TCP和UDP協議發送數據包的大小

2020-04-29 13:43:27
字體:
來源:轉載
供稿:網友

  MTU最大傳輸單元,這個最大傳輸單元實際上和鏈路層協議有 著密切的關系,EthernetII幀的結構DMAC+SMAC+Type+Data+CRC由于以太網傳輸電氣方面的限制,每個以太網幀都有最小的大小 64bytes最大不能超過1518bytes,對于小于或者大于這個限制的以太網幀我們都可以視之為錯誤的數據幀,一般的以太網轉發設備會丟棄這些數據 幀。

  由于以太網EthernetII最大的數據幀是1518Bytes這樣,刨去以太網幀的幀頭(DMAC目的MAC地址 48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和幀尾CRC校驗部分4Bytes那 么剩下承載上層協議的地方也就是Data域最大就只能有1500Bytes這個值我們就把它稱之為MTU。

  PPPoE所謂PPPoE就是在以太網上面跑PPP協議,有人奇怪了,PPP協議和Ethernet不都是鏈路層協議嗎?怎么一個鏈路層跑到另外一個鏈路層上面去了,難道升級成網絡層協議了不成。其實這是個誤區:就是某層協議只能承載更上一層協議。

  為什么會產生這種奇怪的需求呢?這是因為隨著寬帶接入(這種寬帶接入一般為Cable Modem或者xDSL或者以太網的接入),因為以太網缺乏認證計費機制而傳統運營商是通過PPP協議來對撥號等接入服務進行認證計費的.

  PPPoE帶來了好處,也帶來了一些壞處,比如:二次封裝耗費資源,降低了傳輸效能等等,這些壞處俺也不多說了,最大的壞處就是PPPoE導致MTU變小了以太網的MTU是1500,再減去PPP的包頭包尾的開銷(8Bytes),就變成1492。

  UDP 包的大小就應該是 1492 - IP頭(20) - UDP頭(8) = 1464(BYTES)

  TCP 包的大小就應該是 1492 - IP頭(20) - TCP頭(20) = 1452(BYTES)

  目前大多數的路由設備的MTU都為1500

  我對上面的理解是:如果我們定義的TCP和UDP包小于1452,1464,那么我們的包在IP層就不用分包了,這樣傳輸過程中就避免了在IP 層組包發生的錯誤。如果使用UDP協議,如果IP層組包發生錯誤,那么包就會被丟棄,UDP不保證可靠傳輸。但是TCP發生組包錯誤時,該包會被重傳,保 證可靠傳輸。所以,我們在用Socket編程時,包的大小設定不一定非要小于1400,UDP協議要求包小于64K,TCP沒有限定。

  總結:

  我們設定包的大小對于UDP和TCP協議是不同的,關鍵是看系統性能和網絡性能,網絡是狀態很好的局域網,那么UDP包分大點,提高系統的性 能。不好,就分小于1464,這樣可以減低丟包率。對于TCP來說,這個就要靠經驗了,因為,TCP丟包可以自動重傳,分大了,系統性能提高了,分包和錯 誤重組可能會耗費時間,使傳送時間延長,分小了,系統性能又降低了。


(責任編輯:VEVB)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 谢通门县| 镇雄县| 高阳县| 肇庆市| 鄂伦春自治旗| 瓮安县| 祁连县| 繁昌县| 文水县| 许昌县| 黔西| 陈巴尔虎旗| 阿克苏市| 陇南市| 文昌市| 瑞昌市| 东宁县| 洛隆县| 富顺县| 尤溪县| 建平县| 紫云| 郎溪县| 陇川县| 图木舒克市| 隆德县| 定南县| 明溪县| 阜阳市| 郸城县| 祁东县| 永福县| 内乡县| 湘阴县| 北川| 武汉市| 玉山县| 疏附县| 疏附县| 镇巴县| 喜德县|