一、MTU 是英文 Maximum Transmission Unit 的縮寫,即最大傳輸單元,它的單位是位元組。在我們常用的乙太網中,MTU 一般是 1500,而無線路由器默認一般是 1492,藍牙官網的默認值672(這個速度很慢了,大約 20k/s 左右)。
⑵ 電腦本地連接 mtu值最小多少啊
這要分情況
:以下僅供參考
網路中一些常見鏈路層協議MTU的預設數值如下:
FDDI協議:4352位元組
乙太網(Ethernet)協議:1500位元組
PPPoE(ADSL)協議:1492位元組
X.25協議(Dial
Up/Modem):576位元組
Point-to-Point:4470位元組
⑶ 06. 番外篇 什麼是MTU為什麼MTU值普遍都是1500
大學那會我玩魔獸世界,我的職業是法師,然後經常有朋友找我我帶小號,帶小號的方式是沖到血色副本裡面把所有怪拉到一起,然後一起用AOE技能瞬間殺掉,在學校玩的時候沒什麼問題,但是放假在家的時候,我發現每次我拉好怪,放技能AOE的那個瞬間,很大概率會掉線,也不是網速問題,當時很多人也遇到同樣的問題,看到個帖子說,把自己的MTU改成1480就行了,當時也不知道啥是MTU,就改了,發現還真的可以,就愉快地打游戲去了,多年以後我才知道MTU的重要性。
Maximum Transmission Unit,縮寫MTU,中文名是:最大傳輸單元。
從下面這個表格中可以看到,在7層網路協議中,MTU是數據鏈路層的概念。MTU限制的是數據鏈路層的payload,也就是上層協議的大小,例如IP,ICMP等。
舉一個最簡單的場景,你在家用自己的筆記本上網,用的是路由器,路由器連接電信網路,然後訪問了 www..com ,從你的筆記本出發的一個乙太網數據幀總共經過了以下路徑:
其中,每個節點都有一個MTU值,如下:
假設現在我把筆記本的MTU最大值設置成了1700,然後發送了一個超大的ip數據包(2000),這時候在以外網傳輸的時候會被拆成2個包,一個1700,一個300,然後加上頭信息進行傳輸。
路由器接收到了一個1700的幀,發現大於自己設置的最大值:1500,如果IP包DF標志位為1,也就是不允許分包,那麼路由器直接就把這個包丟棄了,根本就不會到達電信機房,也就到不了伺服器了,所以,到這里我們就會發現,MTU其實就是在每一個節點的管控值,只要是大於這個值的數據幀,要麼選擇分片,要麼直接丟棄。
其實一個標準的乙太網數據幀大小是:1518,頭信息有14位元組,尾部校驗和FCS佔了4位元組,所以真正留給上層協議傳輸數據的大小就是:1518 - 14 - 4 = 1500,那麼,1518這個值又是從哪裡來的呢?
假設MTU值和IP數據包大小一致,一個IP數據包的大小是:65535,那麼加上乙太網幀頭和為,一個乙太網幀的大小就是:65535 + 14 + 4 = 65553,看起來似乎很完美,發送方也不需要拆包,接收方也不需要重組。
那麼假設我們現在的帶寬是:100Mbps,因為乙太網幀是傳輸中的最小可識別單元,再往下就是0101所對應的光信號了,所以我們的一條帶寬同時只能發送一個乙太網幀。如果同時發送多個,那麼對端就無法重組成一個乙太網幀了,在100Mbps的帶寬中(假設中間沒有損耗),我們計算一下發送這一幀需要的時間:
在100M網路下傳輸一幀就需要5ms,也就是說這5ms其他進程發送不了任何數據。如果是早先的電話撥號,網速只有2M的情況下:
100ms,這簡直是噩夢。其實這就像紅綠燈,時間要設置合理,交替通行,不然同一個方向如果一直是綠燈,那麼另一個方向就要堵成翔了。
假設MTU值設置為100,那麼單個幀傳輸的時間,在2Mbps帶寬下需要:
時間上已經能接受了,問題在於,不管MTU設置為多少,乙太網頭幀尾大小是固定的,都是14 + 4,所以在MTU為100的時候,一個乙太網幀的傳輸效率為:
寫成公式就是:( T - 14 - 4 ) / T,當T趨於無窮大的時候,效率接近100%,也就是MTU的值越大,傳輸效率最高,但是基於上一點傳輸時間的問題,來個折中的選擇吧,既然頭加尾是18,那就湊個整來個1500,總大小就是1518,傳輸效率:
100Mbps傳輸時間:
2Mbps傳輸時間:
總體上時間都還能接受
為什麼是64呢?
這個其實和乙太網幀在半雙工下的碰撞有關,感興趣的同學可以自行去搜索。
路由器默認值大多都是1500,理論上是沒有問題的,那為什麼我玩游戲的時候改成1480才能流暢呢?原因在於當時我使用的是ADSL上網的方式,ADSL使用的PPPoE協議。
PPPoE協議介於乙太網和IP之間,協議分為兩部分,PPP( Point to Point Protocol )和oE( over Ethernet ),也就是乙太網上的PPP協議,而PPPoE協議頭信息為:
這里總共是48位,也就是6個位元組,那麼另外2個位元組是什麼呢?答案是PPP協議的ID號,佔用兩個位元組,所以在PPPoE環境下,最佳MTU值應該是:1500 - 4 - 2 = 1492。
當時我的上網路徑如下:
我在路由器進行撥號,然後PC連接路由器進行上網。
問題就出在路由器撥號,如果是PC撥號,那麼PC會進行PPPoE的封裝,會按照MTU:1492來進行乙太網幀的封裝,即使通過路由器,路由器這時候也只是轉發而已,不會進行拆包。
而當用路由器撥號時,PC並不知道路由器的通信方式,會以網卡的設置,默認1500的MTU來進行乙太網幀的封裝,到達路由器時,由於路由器需要進行PPPoE協議的封裝,加上8位元組的頭信息,這樣一來,就必須進行拆包,路由器把這一幀的內容拆成兩幀發送,一幀是1492,一幀是8,然後分別加上PPPoE的頭進行發送。
平時玩游戲不卡,是因為數據量路由器還處理得過來,而當進行群怪AOE的時候,由於短時間數據量過大,路由器處理不過來,就會發生丟包卡頓的情況,也就掉線了。
帖子裡面提到的1480,猜測可能是盡量設小一點,避免二次撥號帶來的又一次PPPoE的封裝,因為時間久遠,沒辦法回到當時的場景再去抓包了。
1518這個值是考慮到傳輸效率以及傳輸時間而折中選擇的一個值,並且由於目前網路鏈路中的節點太多,其中某個節點的MTU值如果和別的節點不一樣,就很容易帶來拆包重組的問題,甚至會導致無法發送。
⑷ 電信光纖的 MTU 應該設置為多少
1、電信光纖上網方式PPPOE撥號上網,MTU應該設置為是1480。
2、電信光纖是自動連接DHCP方式,MTU是1500。
(4)mtu網路層中一般是多少比特擴展閱讀
MTU的工作原理
1、MTU,即Maximum Transmission Unit(最大傳輸單元),此值設定TCP/IP協議傳輸數據報時的最大傳輸單元。
2、設置合適的MTU值可以解決「部分網站打不開」、「上網速度慢」等問題,並且可以適當提升上網速度。
3、對於各種路由器,最佳的MTU值通常都是默認值。
4、當連接不到ISP或者不能使用其他的網際網路服務時,且他們的技術支持人員建議更改MTU值。
5、當您使用VPN,遇到性能問題時可以考慮更改MTU 。
6、為了提高網路的某些性能,使用了可優化MTU 值的應用程序,而這引起了連通性和其他性能方面的問題 。
7、一個信息包被發送到MTU值較小的設備時,將被分解為若干小塊。理論上,在所有電腦、交換機、路由器及您能訪問到的網際網路的所有設備上的MTU值應該設置為同一大小。
參考資料網路-MTU(最大傳輸單位)