<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 72, comments - 66, trackbacks - 0, articles - 0
    對于以太網環境下UDP傳輸中的數據包長度問題

    首先要看TCP/IP協議,涉及到四層:鏈路層,網絡層,傳輸層,應用層。
    其中以太網(Ethernet)的數據幀在鏈路層
    IP包在網絡層
    TCP或UDP包在傳輸層
    TCP或UDP中的數據(Data)在應用層
    它們的關系是 數據幀{IP包{TCP或UDP包{Data}}}
    在應用程序中我們用到的Data的長度最大是多少,直接取決于底層的限制。
    我們從下到上分析一下:
    在鏈路層,由以太網的物理特性決定了數據幀的長度為(46+18)-(1500+18),其中的18是數據幀的頭和尾,也就是說數據幀的內容最大為1500,即MTU(Maximum Transmission Unit)為1500;
    在網絡層,因為IP包的首部要占用20字節,所以這的MTU為1500-20=1480;
    在傳輸層,對于UDP包的首部要占用8字節,所以這的MTU為1480-8=1472;
    所以,在應用層,你的Data最大長度為1472。
    (當我們的UDP包中的數據多于MTU(1472)時,發送方的IP層需要分片fragmentation進行傳輸,而在接收方IP層則需要進行數據報重組,由于UDP是不可靠的傳輸協議,如果分片丟失導致重組失敗,將導致UDP數據包被丟棄)。
    從上面的分析來看,在普通的局域網環境下,UDP的數據最大為1472字節最好(避免分片重組)。
    但在網絡編程中,Internet中的路由器可能有設置成不同的值(小于默認值),Internet上的標準MTU值為576,所以Internet的UDP編程時數據長度最好在576-20-8=548字節以內。
    MTU對我們的UDP編程很重要,那如何查看路由的MTU值呢?
    對于windows OS: ping -f -l <data_length> <gateway_IP>
    如:ping -f -l 1472 192.168.0.1
    如果提示:Packets needs to be fragmented but DF set.
    則表明MTU小于1500,不斷改小data_length值,可以最終測算出gateway的MTU值;
    對于linux OS: ping -c <number> -M do -s <data_length> <gateway_IP>
    如: ping -c 1 -M do -s 1472 192.168.0.1
    如果提示 Frag needed and DF set……
    則表明MTU小于1500,可以再測以推算gateway的MTU。
    當然要修改MTU的值,那就是網管的事了(一般人沒這權限呀),我們只能申請加等待了 ^-^ .

    主站蜘蛛池模板: 久久精品国产亚洲AV天海翼| 国产综合免费精品久久久| 免费一级毛片在线播放不收费| 久久一区二区免费播放| 亚洲精品中文字幕无码AV| 国产一级高清免费观看| 午夜网站在线观看免费完整高清观看 | 无码精品A∨在线观看免费 | 精品多毛少妇人妻AV免费久久| 亚洲成AV人片在线观看ww| 成年女人免费碰碰视频| 在线观看人成视频免费无遮挡| 亚洲色无码国产精品网站可下载 | 自拍偷自拍亚洲精品播放| 亚洲第一区香蕉_国产a| 免费一级做a爰片久久毛片潮喷| 久久久久免费看黄a级试看| 色婷婷精品免费视频| 久久久亚洲AV波多野结衣| 伊人久久亚洲综合影院| 免费福利网站在线观看| 99久久婷婷免费国产综合精品| 亚洲AV无码一区二区三区人| 亚洲熟妇少妇任你躁在线观看无码| 曰批视频免费30分钟成人| 久青草视频97国内免费影视| 亚洲日韩亚洲另类激情文学| 亚洲AV日韩精品久久久久| 亚洲区日韩区无码区| 四虎www免费人成| 中文毛片无遮挡高潮免费| 国产免费一区二区三区在线观看| 美女隐私免费视频看| 亚洲自偷自偷在线成人网站传媒| 久久精品国产96精品亚洲| JLZZJLZZ亚洲乱熟无码| 国产成人免费永久播放视频平台 | 最近中文字幕完整免费视频ww| 99re6在线视频精品免费| 美女被羞羞网站免费下载| 亚洲欧美日韩自偷自拍|