在網路介質的傳輸單位中,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位址和埠號。除此,普通的程式設計師就不會知道太多了,很多時候這些知識已經夠用了。最多,寫服務程式的時候,會使用多執行緒來處理併發訪問。我們還知道如...