Linux

ping -f 顯示問題,但正常 ping 不顯示

  • July 12, 2009

我有一個奇怪的問題,託管在 Softlayer 華盛頓數據中心。

從 EC2 實例到我在 Softlayer 的伺服器進行測試:-

[root@EC2-box ~]# ping -f -c 100 MY-SL-BOX
PING MY-SL-BOX (MY-SL-BOX) 56(84) bytes of data.
..................................................
--- MY-SL-BOX ping statistics ---
100 packets transmitted, 50 received, 50% packet loss, time 743ms
rtt min/avg/max/mdev = 2.464/2.906/3.606/0.220 ms, ipg/ewma 7.505/2.927 ms
[root@EC2-box ~]# 

從 EC2 實例到 www.softlayer.com(或任何其他網站)進行測試:-

[root@EC2-box ~]# ping -f -c 100 www.softlayer.com
PING www.softlayer.com (66.228.118.51) 56(84) bytes of data.

--- www.softlayer.com ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 1168ms
rtt min/avg/max/mdev = 35.143/35.485/36.216/0.211 ms, pipe 4, ipg/ewma 11.804/35.518 ms
[root@EC2-box ~]#

從我在 softlayer 的伺服器到 EC2 實例的測試:-

[root@MY-SL-BOX ~]# ping -f -c 100 7EC2-box
PING 7EC2-box (7EC2-box) 56(84) bytes of data.
.................................................
--- 7EC2-box ping statistics ---
100 packets transmitted, 51 received, 49% packet loss, time 866ms
rtt min/avg/max/mdev = 2.067/2.378/2.679/0.131 ms, ipg/ewma 8.756/2.414 ms

從我在 softlayer 的伺服器測試到 www.softlayer.com 實例:-

[root@MY-SL-BOX ~]# ping -f -c 100 www.softlayer.com
PING www.softlayer.com (66.228.118.51) 56(84) bytes of data.
....................................................
--- www.softlayer.com ping statistics ---
100 packets transmitted, 48 received, 52% packet loss, time 1424ms
rtt min/avg/max/mdev = 33.677/34.041/34.693/0.240 ms, pipe 4, ipg/ewma 14.386/34.083 ms

注意..在上述所有情況下,當我不使用“-f”選項時,根本沒有丟包。7EC2-box 和 MY-SL-BOX 是真實 IP。我掩蓋了他們在這裡發帖。

如果我從我的伺服器對任何其他 IP 進行跟踪路由,甚至 ping -f 顯示的第一個節點,它會顯示 50% 的封包遺失,而沒有“-f”則不會失去。

我與支持人員交談,他們說因為沒有“-f”沒有問題,所以這裡沒有問題。

他們是對的嗎?

奇怪的是,從任何外部網路到任何站點的“ping -f”都沒有顯示任何損失,而只是對我的。

我已經搜尋了一個小時,如果有人能指出一些測試丟包的詳細說明,將不勝感激。

如果某些機器(主機、防火牆或路由器)完全允許 ICMP 傳輸,它們會限制 ICMP ping 請求/響應,以避免過度 ping 活動影響性能(CPU 或網路)。在大多數環境中不鼓勵使用 -f 而不設置合理的間隔(請參閱 ping 的 -i 參數),因為它可能會造成破壞(實際上 -f -c 100 會連續發送 100 個 ping 請求,它們之間沒有間隙)。雖然您可能在自己的網路上使用 -f 作為參數(始終使用保守的 -c 和/或 -i 參數),但大多數其他網路管理員不希望您在他們的網路上這樣做。

引用自:https://serverfault.com/questions/39568