1、一般情況下,建議保持MTU 值為默認設置,除非遇到這些情況:無法訪問某些網站、或打不開安全網站(如網銀等頁面)、無法收發郵件、無法訪問FTP 和POP等伺服器等。
2、找尋最佳的MTU值是一個反復試驗的過程,可以嘗試從最大值(1500)逐漸減少MTU 值,直到上網問題得到解決,建議修改范圍1400~1500。設置多大的MTU值取決於你的上網方式,不同的上網方式支持不同的MTU。
❷ 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設置多少 如何設置合適的MTU值
數據包mtu設置多少
1. 一般建議保持MTU值為默認設置,除非出現以下情況:無法訪問某些網站,或者無法打開安全網站(如網上銀行頁面),無法收發郵件,無法訪問FTP和pop伺服器等。
2. 尋找最佳MTU值是一個反復試驗的過程。可以嘗試將MTU值從最大值(1500)逐漸降低,直到網路問題得到解決。建議修改范圍為1400 ~ 1500。設置多少MTU值取決於您的互聯網訪問方法。不同的上網方式支持不同的MTU。
❹ tp路由器mtu值怎麼設置
導語:路由器設置合適的MTU值可以解決「部分網站打不開」、「上網速度慢」等問題,並且可以適當提升上網速度。下面我為你整理的tp路由器mtu值怎麼設置,希望對你有所幫助!
tp路由器mtu值怎麼設置
設置多大的MTU值取決於你的上網方式,不同的上網方式支持不同的MTU,這些是一些上網方式的MTU值: EtherNet(一般上網方式,默認值):1500、PPPoE/ADSL:1492、Dial Up/Modem:576。從哪裡可以看到MTU值呢?以騰達路由器為例,我們進入到路由器設置界面,點擊「高級設置」——「WAN口參數」, 然後就能看到MTU的值,這里是1500,因為我們選擇的是一般上網方式。
接下來我們就應當找出多少的'mtu才適合我們的網路環境,打開命令運行菜單,打開方法是「菜單」、「程序」、「運行」。我們在命令運行窗口輸入cmd。
測試如下,回車,輸入:
[sourcecode language="c"]
ping -f -l 1480 192.168.1.1
[/sourcecode]
回車後得到一些結果。假設1480為你的MTU值,192.168.1.1為你的網關,即路由器IP,如果得到的結果提示為:
[sourcecode language="c"]
Packet needs to be fragmented but DF set.
[/sourcecode]
那麼說明你的假設值大了,需要改小,你可以從1479、1478……這樣測試下去,直到提示:
[sourcecode language="c"]
Reply from 192.168.1.1: bytes=1472 time<1ms TTL=64
[/sourcecode]
則說明你假設的值正確,即最大MTU值為1472。
如此確定了路由器的最佳MTU值為1472。打開路由器管理界面,找到「網路參數」-「WAN口設置」,出現的界面中點擊「高級設置」按鈕,彈出的界面中,「數據包MTU(位元組):」設置為1472。
點擊保存,然後到「系統工具」-「重啟路由器」里重啟你的路由器即可。
❺ 如何設置網卡的MTU大於1500-Linux系統管理
1.本地MTU值大於網路MTU值時,本地傳輸的數據包過大導致網路會拆包後傳輸,不但產生額外的數據包,而且消耗了「拆包、組包」的時間 。
2.本地MTU值小於網路MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網路給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮 。
這樣我們就知道:
所謂合理的設置MTU值,就是讓本地的MTU值與網路的MTU值一致,既能完整發揮傳輸性能,又不讓數據包拆分。
Linux OS:
ping -s 1472 -M do 172.21.0.118
含義:
發送大小包大小是1472(+28)位元組,禁止路由器拆分數據包。
回復結果:
1.如果正常回復,說明網路允許最大MTU就是1500位元組,與系統默認相同,只需將自己的路由的MTU也設置為1500即可。
2.如果沒正常回復,說明數據包大小超過了網路限定的MTU大小。需要減小探測包大小再次嘗試。
❻ 為什麼乙太網mtu值被設定為1500
最大傳輸單元MTU等於1500是國際規定的默認值而已,自己也可以將它設置的小一些,【最大值是1500】,這是ppp協議幀中的數據部分的最大長度,就是規定而已,沒有什麼為什麼,就像1+1=2
還有,如果真的需要什麼理由的話,可以這樣認為,MTU=1500是一個再合適不過的值,是一個經過實驗得到的可以最大效率傳輸數據的值。倘若大於1500,數據傳輸速度就會變慢;相反,若小於1500,鏈路又得不到充分利用,減小了效率。。。。所以,1500就是最好的值的
❼ 路由器mtu值怎麼設置
MTU是英文Maximum Transmission Unit的縮寫,意為「最大傳輸單位」。也就是通過TCP/IP協議所傳輸的數據包最大有多少位元組,對於網速有極大的影響,那麼該如何修改Windows7MTU值呢?不懂的朋友們就隨我一起來學習本教程吧.接下來我教你路由器mtu值怎麼設置,希望對你有幫助。
MTU是MaximumTransmissionUnit的縮寫,是網路上傳送的最大數據包,大部分網路設備的MTU都是1500,MTU的單位是位元組,如果本機的MTU比網關的MTU大,大的數據包就會被拆開來傳送,這樣會產生很多數據包碎片,增加丟包率,降低網路速度。
把本機的MTU設成比網關的MTU小或相同,就可以減少丟包,MTU是指一種通信協議的某一層上面所能通過的最大數據包大小,最大傳輸單元這個參數通常與通信介面有關。
一、組網環境
路由器通過POS1/0/0介面與對端設備連接。當使用mtu命令將POS介面的MTU值修改為1500位元組後,發現MTU值沒有生效。
二、故障分析
1、 在POS介面視圖下,執行shutdown和undo shutdown,重啟POS介面。
2、執行display interface pos,發現生效的`MTU值仍為1492位元組。
3、 檢查對端設備,發現對端POS介面的MTU值為1492位元組,PPP在進行MRU協商時,如果兩端的MTU值配置不一致,協商結果會以MTU值小的一端為准。
三、故障處理
在路由器上執行以下操作,將對端POS介面的MTU值修改為1500位元組,並重啟介面,配置完成後,兩端的MTU值均為1500位元組,故障解決。
PPP在進行MRU協商時,如果兩端的MTU值配置不一致,協商結果會以MTU值小的一端准,這點與BelKin路由器設置相同,數據包需要拆開來發送。此時,減少數據包長度,再執行上面的ping命令。
從1400到1472之間多試幾次,就能找到合適的數據包長度了。把數據包長度加上數據包頭28位元組,就得到MTU的值。
如果檢測到網關的MTU值是1500,不需要修改。
如果網關有防火牆ping不通,可以試試直接把MTU設為1400。
❽ 路由器mtu值如何設置
路由器mtu值怎麼設置,路由器mtu值是什麼給大傢具體的講講路由器mtu值如何設置,歡迎閱讀。
「MTU=最大傳輸單元 單位:位元組 英文:Maximum Transmission Unit」我們平時上網時的各種操作,都是通過一個又一個「數據包」傳輸來實現的。而MTU指定了網路中可傳輸數據包的最大尺寸,在我們常用的乙太網中,MTU是1500位元組。超過此大小的數據包就會將多餘的部分拆分再單獨傳輸。就像貨車通過限高的橋洞一樣,貨物高度超過限制高度了,就需要卸下一些貨物,分兩批通過限高路段。
MTU跟我的網路有神馬關系?
關系還是挺密切的,在windows里,默認的MTU是1500,但是不同的網路接入方式,不同地區的網路運營商,甚至不同的路由器,它們的MTU值都可能是不同的。例如:ADSL接入時MTU為1492位元組,假設A需要給B傳輸3000位元組數據,如果整個傳輸過程中各個環節的MTU都是1500,那麼2個數據包就可以傳輸完成。可是偏偏這時ADSL接入方式的MTU是1492位元組,數據包就因為這個MTU差異額外拆分為3個(為了便於理解,暫時不將「數據包報頭」納入考慮范圍)顯然這額外增加了需要傳輸的數據包數量,而且拆包組包的過程也浪費了時間。如果從本地到網路採用一致的MTU就可以避免額外拆包。
我該怎麼合理設置MTU呢?
更快的網速,這個理由夠不夠讓你折騰一趟呢?顯然是值得的,可是MTU值不是一個數字,天下通用的。所以在我們動手設置的時候,講究一個合理!
那麼什麼情況下MTU值是合理的呢?我們先來看看不合理的。
1、本地MTU值大於網路MTU值時,本地傳輸的數據包過大導致網路會拆包後傳輸,不但產生額外的數據包,而且消耗了「拆包、組包」的時間。
2、本地MTU值小於網路MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網路給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮。 這樣我們就知道,所謂合理的設置MTU值,就是讓本地的MTU值與網路的MTU值一致,既能完整發揮傳輸性能,又不讓數據包拆分。
接下來最重要的就是要找出對於你的網路環境來說MTU多少才是合理的.。方法也是灰常簡單:
1.按win+r組合鍵呼叫運行菜單,輸入cmd後回車
2.在出現的「命令提示符」窗口中輸入「ping -l 1472 -f 網路」然後回車這段雜亂無章的東東是神馬意思呢?接下來Teamo稍微解釋下:ping:發起一個探測請求; -l(L的小寫):限制探測包大小; 1472:包大小為1472位元組; -f:禁止路由器拆分數據包 網路:設網路為探測目標
3.按下回車後,會出現兩種返回結果:
(1)、如果收到了回復,那麼說明你的網路允許最大MTU值就是1500位元組,與系統默認值相同,只需要將路由器的MTU值也設置為1500即可
(2)、如果出現需要拆分數據包但是設置 DF。或是Packer needs to be fragmented but DF set.的提示,那就說明數據包大小超過了網路限定的MTU大小。需要減小探測包大小再次嘗試。(為了截效果圖,我將探測包改為1473了)
4、按「上箭頭」恢復剛才輸入的命令,然後以5為跨度減小包大小為1467位元組,再次回車探測。
5、這時同樣也有兩種可能:
(1)、如果有返回,說明數據包小於MTU限制,就將包大小+3再次探測,如果+3之後沒有返回,那就以1為跨度降低數據包大小進行探測。
(2)、如果還是沒有返回,就繼續以5為跨度減小包大小,直至有返回後進行5(1)中的操作。
6、直至你發現數據包-1後,有了返回,就說明你探測到了MTU允許的准確數據包大小。(例如從1465降低到1464就有了返回,那麼允許的數據包大小就是1464)7、不過上面得到的值還不能設置為操作系統或路由器的MTU,你找到的數據包大小需要加上28位元組的「數據包報頭」,才是完整的數據包尺寸。(例如:探測到的數據包大小是1464,那麼加上28位元組,最終MTU=1492位元組)8、最後,只需要將路由器和操作系統中的MTU值設置為你得出的結果即可進入小極後台,高級選項中的MTU設置中填入測得的數值即可。
❾ 電信光纖的 MTU 應該設置為多少
1、電信光纖上網方式PPPOE撥號上網,MTU應該設置為是1480。
2、電信光纖是自動連接DHCP方式,MTU是1500。
(9)設置mtu1500網路擴展閱讀
MTU的工作原理
1、MTU,即Maximum Transmission Unit(最大傳輸單元),此值設定TCP/IP協議傳輸數據報時的最大傳輸單元。
2、設置合適的MTU值可以解決「部分網站打不開」、「上網速度慢」等問題,並且可以適當提升上網速度。
3、對於各種路由器,最佳的MTU值通常都是默認值。
4、當連接不到ISP或者不能使用其他的網際網路服務時,且他們的技術支持人員建議更改MTU值。
5、當您使用VPN,遇到性能問題時可以考慮更改MTU 。
6、為了提高網路的某些性能,使用了可優化MTU 值的應用程序,而這引起了連通性和其他性能方面的問題 。
7、一個信息包被發送到MTU值較小的設備時,將被分解為若干小塊。理論上,在所有電腦、交換機、路由器及您能訪問到的網際網路的所有設備上的MTU值應該設置為同一大小。
參考資料網路-MTU(最大傳輸單位)
❿ mtu1500什麼意思
品牌型號:華為MateBook D15
mtu1500的意思是網路中可傳輸數據包的長度是1500位元組。不同類型網路的數幀長度大多數都有一個上限。如果IP層有一個數據報要傳,而且數據幀的長度比鏈路層的MTU還大,那麼IP層就需要進行分片,即把數據報分成乾片,這樣每一片就都小於MTU。
當同一個網路上的兩台主機互相進行通信時,該網路的MTU是非常重要。但是如果兩台主機之間的通信要通過多個網路,每個網路的鏈路層可能有不同的MTU,那麼這時重要的不是兩台主機所在網路的MTU的值,而是兩台主機通信路徑中的最小MTU,稱為路徑MTU。
兩台主機之間的PMTU不一定是個常數,它取決於當時所選擇的路徑,而且路由選擇也不一定是對稱的(從A到B的路由可能與從B到A的路由不同),因此,PMTU在兩個方向上不一定是一致的。