關於MTU的一些概念與設定技巧

2021-06-16 02:58:34 字數 1504 閱讀 8186

在網路介質的傳輸單位中,mtu即乙個資料報的最大位元組數是有限制的 .如果單位超過了網路**所能負荷的大小,除非作業系統支援資料報分片,否則資料報無法傳遞.如果資料報的大小與最大傳輸單元無法配合,導致資料報傳送時不停的進行分片,將導致網路傳輸效能下降.同時也造成了連線不上某些**.

所以網絡卡的mtu設定最好能夠針對網路介面進行最優化.

如果客戶端無法瀏欖某些**或無法傳送郵件,這樣的問題常常與

mtu的數值不正確 有關.一般而言,mtu在網絡卡(enternet)的預設值為1500,其它的介面如下所示:

pppoe(adsl):1492

dial-up(model):576

預設的網路介面mtu是1500,而pppoe使用的是1492,mtu的要求不同,所以有些資料無法正確傳輸.一般調整客戶端mtu值,就可以解決這一問題,通過調整mtu,也可以提高網路網路效率.所以這個時候就要修改mtu值

找出mtu值

由於mtu與router具有很大的關係,通常在客戶端對router(就是nat主機,可能是linux,也可能是windows)進行mtu的檢測.

windows系統上的檢測

1.進入dos命令提示符

2.輸入ping -f -l ip

如:ping -f -l 1500 192.168.1.2

bytes是本機送出去的資料報大小,ip是gateway的ip,使用-f,所以資料報沒有辦法重新組合.

如果結果表明出現響應了,就表示這個mtu是可行的,不過建議找出可行的最大mtu值,就可以達到最優的網路傳輸.

3.mtu值的計算

如ping -f -l 1464 192.168.1.2,找到的資料是資料報的大小,但每個資料報都具有包頭,這個包頭部分占去28個位元組,所以最終的mtu數值其實是:1464+28=1492.

linux系統檢測

在終端輸入:ping -c -m do -s ip

如果發現數值為1472,那麼mtu=1472+28=1500

修改mtu值

windows98

修改登錄檔:hkey_local_macchine>system>currentcontrolset>services>class>nettrans>000n

最後乙個n是數字,看看下面有沒有網絡卡的相關資訊,如果有,在選擇的網絡卡介面後按下"編輯">"新建">"選擇新增dword值",將新增的項命名為maxmtm,並右擊選擇"修改",選中"十進位制",輸入找到的mtu值,如:1492.

windows 2000

選擇:hkey_local_macchine>system>currentcontrolset>services>tcpip>parameters>inte***ce

在下面有多個介面,會有乙個與網絡卡設定相同的介面,在選擇的網絡卡介面後按下"編輯">"新建">"選擇新增dword值",將新增的項命名為mtu,並右擊選擇"修改",選中"十進位制",輸入找到的mtu值.

linux

使用ifconfig加mtu引數即可:

ifconfig eth0 met 1500:就可以了

關於KVM一些概念

kvm kernel virtual machine核心虛擬機器 是乙個linux核心模組,可以用modprobe去載入kvm模組。載入模組後,才能進一步通過其他工具建立虛擬機器。但僅有kvm模組是不行的,因為使用者無法直接控制核心模組去作事情,所以還要有乙個使用者空間的工具才行。這個使用者空間的工...

關於uboot一些概念

u boot的環境變數值得注意的有兩個 bootcmd和bootargs。bootcm bootargs bootargs是環境變數中的重中之重,甚至可以說整個環境變數都是圍繞著bootargs來設定的。bootargs的種類非常非常的多,我們平常只是使用了幾種而已.bootargs非常的靈活,核心...

關於Socket的一些概念

對於 tcp ip 我們還知道 tcp和 udp,前者可以保證資料的正確和可靠性,後者則允許資料丟失。最後,我們還知道,在建立連線前,必須知道對方的 ip位址和埠號。除此,普通的程式設計師就不會知道太多了,很多時候這些知識已經夠用了。最多,寫服務程式的時候,會使用多執行緒來處理併發訪問。我們還知道如...