• 歡迎訪問奇跡の海網站,本站不上傳任何資源,所有資源均來自于網絡,歡迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下載資源為網絡上收集整理而來,并且以計算機技術研究交流為目的,版權歸原作者所有,僅供大家參考,學習,不存在任何商業目的與商業用途.
  • 本站系統鏡像均來自于官方原版,ed2k可視為P2P下載鏈接。所有操作系統默認均為試用版,如有正版密鑰可以有效激活,本站不提供任何激活和相關服務。

網絡通信協議最大傳輸單元MTU計算簡介

網絡技術 奇跡の海 3年前 (2017-06-27) 905次瀏覽 已收錄 0個評論 掃描二維碼

協議簡介

最大傳輸單元MTU(Maximum Transmission Unit)是指一種通信協議的某一層上面所能通過的最大數據報大小,單位是字節。合理設置路由器和本機的MTU值,可以優化上網速度。

如果本機的MTU比網關的MTU大,大的數據包就會被拆開來傳送,這樣會產生很多數據包碎片,增加丟包率,降低網絡速度。網站訪問異常、發送帶有附件的郵件失敗這些都有可能和MTU的設置有關。

典型的MTU值:

不同的網絡接入方式MTU值不相同,一些典型的MTU值:

超通道    65535
16Mb/s信息令牌環(IBM)     17914
4Mb/s令牌環(IEEE802.5)      4464
FDDI     4352
EtherNet(以太網)    1500
PPPoE(ADSL) IEEE802.3/802.2 1492
Dial-up X.25 576
點對點(低時延)   296

兩臺主機之間的通信要通過多個網絡,那么每個網絡的鏈路層就可能有不同的MTU。重要的不是兩臺主機所在網絡的MTU的值,而是兩臺通信主機路徑中的最小MTU,它被稱作路徑MTU。

TCP/IP協議涉及到四層:鏈路層,網絡層,傳輸層,應用層。

以太網(Ethernet)的數據幀在鏈路層,以太網的物理特性決定了數據幀的長度MTU(Maximum Transmission Unit)為1500;

IP包在網絡層,IP包的首部占用20字節,MTU為1500-20=1480;

TCP或UDP包在傳輸層,UDP包的首部占用8字節,MTU為1480-8=1472;
TCP或UDP中的數據(Data)在應用層,Data最大長度為1472。

數據幀{IP包{TCP或UDP包{Data}}}

MTU對UDP編程很重要,當UDP包中的數據多于MTU(1472)時,發送方的IP層需要分片fragmentation進行傳輸,接收方IP層則需要進行數據包重組,由于UDP是不可靠的傳輸協議,如果分片丟失導致重組失敗,將導致UDP數據包被丟棄。

在普通的局域網環境下,UDP的數據最大為1472字節最好(避免分片重組)。但在網絡編程中,Internet中的路由器可能有設置成不同的值(小于默認值),Internet上的標準MTU值為576,所以Internet的UDP編程時數據長度最好在576-20-8=548字節以內。

測試路由最佳MTU值

cmd命令行ping -f -l 1472 192.168.0.1

其中192.168.0.1是網關IP地址,1500是數據包的長度,參數“-l”(小寫的L)。

如果提示:Packets needs to be fragmented but DF set.則表明MTU小于1500,不斷改小數值,直到能夠Ping通。

ping程序使用ICMP報文,ICMP報文首部占8字節,IP數據報首部占20字節,因此在測試數據大小基礎上加上28字節為MTU值,例如1464+28=1492。

設置本機MTU

開始運行中輸入regedit,打開注冊表編輯器,打開

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
services\Tcpip\Parameters\Interfaces

找到Interfaces下含有本機網卡 IP的項,新建名為MTU的DWORD值,填入十進制 MTU 數值。

補充:

windows命令行修改MTU值

netsh interface ipv4 set subinterface “連接的名稱” mtu=新MTU值 store=persistent

如:netsh interface ipv4 set subinterface “本地連接 3” mtu=1500 store=persistent
//修改需要管理員權限,WIN 7修改MTU不用重啟,多數機器默認1500,所以高于/低于1500就有可能影響P2P

netsh interface ipv4 show subinterfaces //查看本機MTU值

linux:ping -c 1 -M do -s 1472 192.168.0.1 錯誤提示 Frag needed and DF set……


版權聲明:本站所有文章和資源使用CC BY-NC-SA 4.0協議授權發布 , 轉載應當以相同方式注明文章來自“SeaOMC.COM->網絡通信協議最大傳輸單元MTU計算簡介!在下邊可以分享本文哦!
喜歡 (0)
[]
分享 (0)
奇跡の海
關于作者:
一個WordPress菜鳥!
發表我的評論
取消評論

表情 貼圖 加粗 刪除線 居中 斜體 簽到

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
中国福利彩票36选7开奖结果