「MTU=最大傳輸單元 單位:字節」網絡
咱們在使用互聯網時進行的各類網絡操做,都是經過一個又一個「數據包」傳輸來實現的。而MTU指定了網絡中可傳輸數據包的最大尺寸,在咱們經常使用的以太網中,MTU是1500字節。超過此大小的數據包就會將多餘的部分拆分再單獨傳輸。code
在Windows系統中,默認MTU值也是1500字節,可是「不一樣的接入方式、不一樣地區的網絡運營商、不一樣的路由器」有着不一樣的MTU設置。blog
例如:ADSL接入時MTU爲1492字節,假設A須要給B傳輸3000字節數據,若是整個傳輸過程當中各個環節的MTU都是1500,那麼2個數據包就能夠傳輸完成。但是恰恰這時ADSL接入方式的MTU是1492字節,數據包就由於這個MTU差別額外拆分爲3個(爲了便於理解,暫時不將「數據包報頭」歸入考慮範圍)路由
顯然這額外增長了須要傳輸的數據包數量,並且拆包組包的過程也浪費了時間。若是從本地到網絡採用一致的MTU就能夠避免額外拆包。cmd
探測合適的MTU值,在cmd中輸入 百度
「ping -l 1472 -f www.baidu.com」
含義: ping:發起一個探測請求; -l(L的小寫):限制探測包大小; 1472:包大小爲1472字節; -f:禁止路由器拆分數據包 www.baidu.com:設百度爲探測目標
探測包大小設置爲1472,若是能正常返回,則證實MTU是1500,路由器
數據包大小須要加上28字節的「數據包報頭」,纔是完整的數據包尺寸互聯網
若是出現須要拆分數據包可是設置 DF。或是Packer needs to be fragmented but DF set.的提示,那就說明數據包大小超過了網絡限定的MTU大小。須要減少探測包大小再次嘗試。fragment
減少能夠按5或者3進行減少,當又返回時,在進行加一,嘗試出具體的MTU值請求
因此這裏嘗試出的值時1464,所以路由器中設置MTU值爲 1464+28 = 1492