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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

UDP数据包的大小

發(fā)布時間:2023/11/29 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UDP数据包的大小 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題來源于日志信息,在這里總結一下,后續(xù)在補充新的內容。


  • 在鏈路層,由以太網的物理特性決定了數據幀的長度為(46+18)---(1500+18),其中的18是鏈路層的首部和尾部18Bytes,也就是說數據幀的內容最大為1500(不包括幀頭和幀尾),事實上,這個1500就是網絡層的IP數據報的長度限制,即MTU(Maximum Transmission Unit)為1500;  

  • 在網絡層,因為IP包的首部要占用20字節(jié),所以這的MTU為1500-20=1480,這個1480就是用來存放TCP傳來的TCP報文段或者UDP傳來的UDP數據報的;

  • 在傳輸層,對于UDP包的首部要占用8字節(jié),所以這的MTU為1480-8=1472,也就是用戶可以使用的部分;

     
    所以,在應用層,你的Data最大長度為1472。 (當我們的UDP包中的數據多于MTU(1472)時,發(fā)送方的IP層需要分片fragmentation進行傳輸,而在接收方IP層則需要進行數據報重組,由于UDP是不可靠的傳輸協(xié)議,如果分片丟失導致重組失敗,將導致UDP數據包被丟棄)。  


  • 因此,在普通局域網絡環(huán)境下,使用UDP傳輸的時候,建議將UDP的數據控制在1472以下比較好。


    IP數據包的最大長度為65535,因為在IP包頭中用2個字節(jié)來描述報文長度,2個字節(jié)所能表示的大小就是65535;


    就具體函數而言:

    ????用UDP協(xié)議發(fā)送時,用sendto函數最大能發(fā)送數據的長度為:65535- IP頭(20) - UDP頭(8)=65507字節(jié)。用sendto函數發(fā)送數據時,如果發(fā)送數據長度大于該值,則函數會返回錯誤。


    轉載于:https://blog.51cto.com/10324228/1983469

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的UDP数据包的大小的全部內容,希望文章能夠幫你解決所遇到的問題。

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