最大傳輸單元MTU

2021-07-23 07:36:42 字數 1765 閱讀 2122

維基百科,自由的百科全書

本條目沒有列出任何參考或**。(2023年2月25日)

維基百科所有的內容都應該可供查證。請協助新增來自可靠**的引用以改善這篇條目。無法查證的內容可能被提出異議而移除。

最大傳輸單元(英語:maximum transmission unit

,縮寫mtu)是指一種通訊協議的某一層上面所能通過的最大資料報大小(以位元組為單位)。最大傳輸單元這個引數通常與通訊介面有關(網路介面卡、串列埠等)。

網際網路協議允許ip分片,這樣就可以將資料報包分成足夠小的片段以通過那些最大傳輸單元小於該資料報原始大小的鏈路了。這一分片過程發生在 ip 層(osi模型的第三層,即網路層),它使用的是將分組傳送到鏈路上的網路介面的最大傳輸單元的值。原始分組的分片都被加上了標記,這樣目的主機的 ip 層就能將分組重組成原始的資料報了。

在網際網路協議中,一條網際網路傳輸路徑的「路徑最大傳輸單元」被定義為從源位址到目的位址所經過「路徑」上的所有ip跳的最大傳輸單元的最小值。或者從另外乙個角度來看,就是無需進一步分片就能穿過這條「路徑」的最大傳輸單元的最大值。

rfc 1191 描述了「路徑最大傳輸單元發現方法」,這是一種確定兩個 ip 主機之間路徑最大傳輸單元的技術,其目的是為了避免 ip 分片。在這項技術中,源位址將設定資料報的 df(don't fragment,不要分片)標記位,再逐漸增大傳送的資料報的大小——路徑上任何需要將分組進行分片的裝置都會將這種資料報丟棄並返回乙個「資料報過大」的 icmp 響應到源位址——這樣,源主機就「獲取」到了不用進行分片就能通過這條路徑的最大的最大傳輸單元了。

不幸的是,越來越多的網路**了 icmp 的傳輸(譬如說為了防範 dos 攻擊)——這使得路徑最大傳輸單元發現方法不能正常工作,其常見表現就是乙個連線在低資料流量的情況下可以正常工作,但一旦有大量資料同時傳送,就會立即掛起(例如在使用 irc 的時候,客戶會發現在傳送了乙個禁止 ip 欺騙的 ping 之後就得不到任何響應了,這是因為該連線被大量的歡迎訊息堵塞了)。而且,在乙個使用網際網路協議的網路中,從源位址到目的位址的「路徑」常常會為了響應各種各樣的事件(負載均衡、擁塞、斷電等等)而被動態地修改——這可能導致路徑最大傳輸單元在傳輸過程中發生改變——有時甚至是反覆的改變。其結果是,在主機尋找新的可以安全工作的最大傳輸單元的同時,更多的分組被丟失掉了。

對於時下大多數使用乙太網的區域網來說,最大傳輸單元的值是 1,500 位元組。但是像 pppoe 這樣的系統會減小這個數值,通常是1492(= 1500 - 2(ppp)- 6(pppoe)),這就使得在使用最大傳輸單元發現方法時可能會產生這樣的結果:一些處於配置不當的防火牆之後的站點變得不可達了。對於這種情況,還是可能找到變通的方法的,但這取決於你控制的是網路的哪一部分。這些方法包括改變用來在防火牆一端建立 tcp 連線的第乙個分組的 mss(maximum segment size,最大分段大小)。

對於一些支援老版本乙太網協議的 ibm 系統(例如 xseries),可能只有在把最大傳輸單元設為 1492 之後才能在當下常見的區域網上進行運作。

這裡的mtu所指的是無需分段的情況下,可以傳輸的最大ip報文(包含ip頭部,但不包含協議棧更下層的頭部)。

網路mtu(byte)

超通道65535

16mb/s令牌環

17914

4mb/s令牌環

4464

fddi

4352

乙太網1500

ieee 802.3/802.2

1492

x.25

576點對點(低時延)

296來自:

MTU 最大傳輸單元

maximum transmission unit mtu 最大傳輸單元 pppoe的最大接收單元為1492,乙太網最大載荷為1500 octets,pppoe頭為6 octets,ppp協議id為2 octets,所以ppp的mtu最大不能超過1492 ppoe協議要求所有客戶機上的mtu值不超過...

關於最大傳輸單元(MTU)的整理

mtu設定不當,可能會導致許多網路問題,如某些網路應用無法使用,某些 無法訪問等。下面是在網上搜尋整理的關於mtu設定的東西,某些可能未作驗證,僅供參考。1.如何確定網路mtu 某些isp接入的mtu可能會比常規使用的mtu小,這時如果設定了過大的mtu,就可能會導致很多服務無法使用的問題。可以通過...

Linux C語言 取得MTU 最大傳輸單元

參照這篇部落格 檢視主機當前網絡卡,哪塊在使用.ifconfig lo0 flags 8049mtu 16384 options 3inet6 1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 inet6 fe80 1 lo0 prefixlen 6...