icmp封包的問題



贊助商連結


jimlinsung
2007-12-28, 11:34 AM
情況:
二台機器對接:甲 下ping 192.168.0.2 -l 65500 -t 對乙
經過十二小時後發現有1%左右的loss,請問這樣子的情形乙機器的網路connect算有問題嗎?
還有這和線路過不過switch&hub有關係嗎?(當然假設switch&hub都是正常的)
在認知上icmp協定應是走tcp封包,故是否一個封包都不能loss呢?(因為三向交握?)
ps:這是一個除錯的環境沒有firewell的問題

請問各大熟知tcp/ip的先知們賜予小弟關於icmp的觀念吧....

贊助商連結


linux_xp
2007-12-28, 12:20 PM
ICMP (Internet Control Message Protocol)

一般是用做測試主機和網路用

送出後不理,比較像 UDP,非 TCP,不具三段式交握

它有 11 種 type,也就是說只有 11 種 ICMP 封包
常用的只有 type 編號 0,3,8,11

送出一個 ping 信號,就是 type 8 Echo 封包
回應 ping 為 type 0 Echo Reply

所謂的在試 ping,幾 % lost
是計算送出的 Echo 信號,和回收到的 Echo Reply 的比值
送出 100 個 ,只回收 99 個,lost 率為 1%

會 lost 的原因,除了網路不穩定
也有可能是對方主機有一瞬間滿載,暫時無法回應
ICMP 每種 type 封包,都帶有一個 TTL 生存時間的值
超過這個時間,封包即被視為已經死掉


ICMP 即使完全阻擋,也不會影響網路資料傳輸
如 web 完全不受影響,只是別人 ping 不到,但運作服務都正常
這可以防止某些型態的 DoS 攻擊

但是也有人說 ICMP 不開啟,會導致某些應用程式無法正確執行
有些網路遊戲會計算 PING 值,PING 太高無法玩
這裡的 PING值 就是回應時間,和 type 11,13,14 這些有關
如把 ICMP 全阻擋了,PING 值就破表了

----------------------------------------------------------------

Summary of Message Types

0 Echo Reply

3 Destination Unreachable

4 Source Quench

5 Redirect

8 Echo

11 Time Exceeded

12 Parameter Problem

13 Timestamp

14 Timestamp Reply

15 Information Request

16 Information Reply


參考資料:
http://cisco.chinaitlab.com/TCP/38245.html
http://www.faqs.org/rfcs/rfc792.html

jimlinsung
2007-12-28, 01:45 PM
ICMP (Internet Control Message Protocol)

一般是用做測試主機和網路用

送出後不理,比較像 UDP,非 TCP,不具三段式交握

它有 11 種 type,也就是說只有 11 種 ICMP 封包
常用的只有 type 編號 0,3,8,11

送出一個 ping 信號,就是 type 8 Echo 封包
回應 ping 為 type 0 Echo Reply

所謂的在試 ping,幾 % lost
是計算送出的 Echo 信號,和回收到的 Echo Reply 的比值
送出 100 個 ,只回收 99 個,lost 率為 1%

會 lost 的原因,除了網路不穩定
也有可能是對方主機有一瞬間滿載,暫時無法回應
ICMP 每種 type 封包,都帶有一個 TTL 生存時間的值
超過這個時間,封包即被視為已經死掉


ICMP 即使完全阻擋,也不會影響網路資料傳輸
如 web 完全不受影響,只是別人 ping 不到,但運作服務都正常
這可以防止某些型態的 DoS 攻擊

但是也有人說 ICMP 不開啟,會導致某些應用程式無法正確執行
有些網路遊戲會計算 PING 值,PING 太高無法玩
這裡的 PING值 就是回應時間,和 type 11,13,14 這些有關
如把 ICMP 全阻擋了,PING 值就破表了

----------------------------------------------------------------

Summary of Message Types

0 Echo Reply

3 Destination Unreachable

4 Source Quench

5 Redirect

8 Echo

11 Time Exceeded

12 Parameter Problem

13 Timestamp

14 Timestamp Reply

15 Information Request

16 Information Reply


參考資料:
http://cisco.chinaitlab.com/TCP/38245.html
http://www.faqs.org/rfcs/rfc792.html

謝謝您的回覆,但我有去查ICMP STANDARD 裡有寫到:ICMP是走TCP封包的耶~
http://www.tcpipguide.com/free/t_ICMPv4DestinationUnreachableMessages.htm
小弟會提出這個問題是因為在測一張卡時有些訊號的問題,結果就用PING來試試,結果發現當PING 192.168.0.2 -t -l 32768 時就會有出現time out的現象了,但由於公司幾乎沒有作過這種ping的test故h/w rd希望能提供出spec來驗明ping test 下是不是都不能有loss的情況,還是有個容許範圍呢?

timas
2007-12-28, 06:30 PM
怎麼可能用TCP封包!
http://www.csie.ntu.edu.tw/~b6506066/Micro2/tcp_ip/tcp_ip_protocol_suite.gif

timas
2007-12-28, 06:37 PM
這一張圖比較好
http://poterp.iem.mit.edu.tw/linux/net_intro01.jpg

puwen
2007-12-28, 07:18 PM
謝謝您的回覆,但我有去查ICMP STANDARD 裡有寫到:ICMP是走TCP封包的耶~
http://www.tcpipguide.com/free/t_ICMPv4DestinationUnreachableMessages.htm
小弟會提出這個問題是因為在測一張卡時有些訊號的問題,結果就用PING來試試,結果發現當PING 192.168.0.2 -t -l 32768 時就會有出現time out的現象了,但由於公司幾乎沒有作過這種ping的test故h/w rd希望能提供出spec來驗明ping test 下是不是都不能有loss的情況,還是有個容許範圍呢?

請參閱
RFC 1242
RFC 2544