Re: [問答] 關於 gigabit 網路卡

作者: gn00618777 (非常念舊)   2015-11-11 13:36:12
我前面有發關於MTU值的問題,查了網路上許多人的見解,還有封包的一些結構。
我這邊還有一個例子,卻不知道怎麼解釋。
我開發板(linux)移植了 pptp server ,然後所有 source(包含 ppp0) 都透過 eth0 出
去外網
當電腦(windows)透過區網(和 pptp server同網段) 連進去vpn client,看了開發板上
的網路介面
ifconfig
eth0 MTU=1500
ppp0 MTU=1396
我電腦透過VPN再透過eth0, yahoo 上不去,但可以連 google 或者其他網頁。 我照
著網路的說明測 MTU
在 Windows cmd 下 ping -f -l XXXX www.yahoo.com.tw
ping -f -l 1373 www.yahoo.com.tw
需要切割封包,但設定DF旗標
需要切割封包,但設定DF其標
ping -f -l 1372 www.yahoo.com.tw
要求等候逾時
要求等候逾時
,測得 XXXX為 1372 ,但還是不能ping 通 yahoo ,網路上
說 1372 還需加上 20 byte IP包和 8 byte ICMP,才是最佳 MTU,
所以 1372+28 =1400,我至 server ,ppp0界面 改成 MTU 為 1400
我就可以在 windows 下
ping -f -l 1372 www.yahoo.com.tw
回覆自124.108.105.150: 位元組:1372 TTL=50
1 我的解讀是,yahoo server 回應透過 eth0 再透過 ppp0 它可能回傳太大的封包給
ppp0 ,但是 ppp0 卻給 1396 ,所以封包被 dropped 掉,以致 yahoo 上不去,這樣
解讀是對的嗎? 那其他 google怎能上?
2 使用 ping -f -l 方法測出來的值不就已經是 MTU 了,MTU已經有包含 TCP包和IP包了
為啥他還需要加上 20 byte IP 包和 8 byte 的 ICMP?
搞得我到現在仍一團混亂.... 懇請賜教,謝謝。
作者: kenduest (小州)   2015-11-11 15:24:00
我認為你可以先確認一下這幾個問題點1. sysctl -a 看一下 net.ipv4.tcp_ecn 設定一般設定為 2, 你看看你數值設定為何...ecn 前幾年討論很多,目前就比較少討論了2. MTU 部分問題,可以 man iptables 部分有 TCPMASS項目,主要搭配 -j TCPMSS --clamp-mss-to-pmtu詳細說明與語法 manpage 有說了,你看一下套用即可使用
作者: gn00618777 (非常念舊)   2015-11-11 15:30:00
k大謝,我ecn 為 2,關於 iptables 知道關於 mss 設定但我對於我遭遇的問題,無法合理解釋。況且,我也不需要用到iptables 有解阿
作者: birdy590 (Birdy)   2015-11-11 15:47:00
作者: asdfghjklasd (好累的大一生活)   2015-11-11 16:23:00
這種事常常發生在自己幹PPTP VPN Server 時發生...
作者: birdy590 (Birdy)   2015-11-11 16:44:00
其實就是大水管中間經過一段小水管要怎麼處理
作者: asdfghjklasd (好累的大一生活)   2015-11-12 10:18:00
不過其實TCPMSS 問題也不是只有 PPTP才會有.
作者: Wishmaster ( )   2015-11-12 23:20:00
ping帶參數是你ping這個包的內容大小,你封包出去當然還是要加20+8,所以你上面文字敘述錯誤+28不是最佳MTU大小,是你用ping封包出去的大小
作者: gn00618777 (非常念舊)   2015-11-16 20:55:00
原來如此,謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com