問題場景描述:
最近在搞乙個很菜的程式--ftp上傳檔案。
但是這個 很菜的程式搞的我腦袋疼了 半個月。
在linux上面部署了我的程式,上傳檔案在1kb以下順利上傳,但是1kb以上上傳不上去。
程式部署在windows上面沒有問題,還有就是我的程式上傳我自己搭建的ftp伺服器也沒有問題。
所以判斷出在網路上面。
但是本人對網路部熟悉,也不知道 使用 搜尋引擎改輸入什麼關鍵字,無奈 找大哥問了一下。大哥說了三個 字母 mtu。
問題解決了:
就是設定linux 的mtu。
首先mtu是什麼?
通訊術語
最大傳輸單元
(maximum transmission unit,mtu)是指一種通訊協議的某一層上面所能通過的最大
資料報大小(以
位元組為單位)。
最大傳輸單元
這個引數通常與
通訊介面
有關(網路介面卡、串列埠等)。
如何檢視linux中的mtu設定呢?
# ifconfig eth0 mtu number
其中「number」為mtu的數值。修改完成後,可以用「ifconfig」命令來檢視修改的結果。也可以通過一些**來測試網速,進一步通過修改mtu值使網速達到最佳。為了不必每次都修改,我們可以在配置檔案中修改,如:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
mtu=1000
這樣linux的靈活性又一次得到了體現!
小知識:mtu的英文全稱為maximum transmission unit,意為最大傳輸單位,也就是在連線的時候,所傳輸資訊包最多可以有多少位元組。mtu決定著資訊包的大小,如果資訊包太小,同樣大小的資料就會分成很多個包傳輸,計算機不得不頻繁地作出響應;如果資訊包太大則會產生錯誤,導致傳輸失敗。
this的必要性
先看下面一段 lesson8 necessary of this class person show name public void showinfo class demo 8 1 this屬於乙個物件,代表的是物件,其實就是乙個物件的引用,只能在類定義的方法中使用。那麼它代表那個物件呢?答 哪個...
it 的必要性
for std vector iterator itlocal m vecsoftwareer.begin itlocal m vecsoftwareer.end else it 如上所示,c 98中map erase並沒有返回值為iterator的原型函式。那麼問題來了it map.erase i...
Linux 記憶體對映的必要性
引用 在非記憶體對映的情況下,檔案讀寫方式為io讀寫。檔案i o的讀操作 會先向檔案裝置發起讀請求,然後驅動把請求要讀的資料讀取到檔案的緩衝區中,這個緩衝區位於核心,然後再把這個緩衝區中的資料複製到程式虛擬位址空間中的一塊區域中。檔案i o的寫操作 會向檔案裝置發起寫請求,驅動把要寫入的資料複製到程...