天天看點

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

1、ICMP簡介

ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。

ICMP的協定号為1。

ICMP封包就像是IP封包的小弟,總頂着IP封包的名頭出來混。

因為ICMP封包是在IP封包内部的,如圖:

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

ICMP屬于TCP/IP協定族,工作在網絡層(第三層),用于在IP主機、路由器之間傳遞控制消息。

控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸使用者資料,但是對于使用者資料的傳遞起着重要的作用。

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

2、ICMP典型運用—ping

ICMP的一個典型應用是Ping。

Ping是檢測網絡連通性的常用工具,同時也能夠收集其他相關資訊。

使用者可以在Ping指令中指定不同參數,如ICMP封包長度、發送的ICMP封包個數、等待回複響應的逾時時間等,裝置根據配置的參數來構造并發送ICMP封包,進行Ping測試。

Ping常用的配置參數說明如下:

1. -a source-ip-address指定發送ICMP ECHO-REQUEST封包的源IP位址。如果不指定源IP位址,将采用出接口的IP位址作為ICMP ECHO-REQUEST封包發送的源位址。

2. -c count指定發送ICMP ECHO-REQUEST封包次數。預設情況下發送5個ICMP ECHO-REQUEST封包。

3. -h ttl-value指定TTL的值。預設值是255。

4. -t timeout指定發送完ICMP ECHO-REQUEST後,等待ICMP ECHO-REPLY的逾時時間。

Ping指令的輸出資訊中包括目的位址、ICMP封包長度、序号、TTL值、以及往返時間。序号是包含在Echo回複消息(Type=0)中的可變參數字段,TTL和往返時間包含在消息的IP頭中。

3、ICMP典型運用—Tracert

ICMP的另一個典型應用是Tracert。

Tracert基于封包頭中的TTL值來逐跳跟蹤封包的轉發路徑。

為了跟蹤到達某特定目的位址的路徑,源端首先将封包的TTL值設定為1。

該封包到達第一個節點後,TTL逾時,于是該節點向源端發送TTL逾時消息,消息中攜帶時間戳。

然後源端将封包的TTL值設定為2,封包到達第二個節點後逾時,該節點同樣傳回TTL逾時消息,以此類推,直到封包到達目的地。

這樣,源端根據傳回的封包中的資訊可以跟蹤到封包經過的每一個節點,并根據時間戳資訊計算往返時間。

Tracert是檢測網絡丢包及時延的有效手段,同時可以幫助管理者發現網絡中的路由環路。

Tracert常用的配置參數說明如下:

1. -a source-ip-address指定tracert封包的源位址。

2. -f first-ttl指定初始TTL。預設值是1。

3. -m max-ttl指定最大TTL。預設值是30。

4. -name使能顯示每一跳的主機名。

5. -p port指定目的主機的UDP端口号。

4、ICMP類型

ICMP封包主要有兩大功能:查詢封包和差錯封包。

對于查詢封包,常用的ping指令,以及用于無盤系統啟動擷取網絡子網路遮罩查詢封包,以及時間戳封包,目标主機收到傳回相應的格式的回應包;

對于差錯封包在一些情況下目标主機不會傳回對應的資料包:

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

5、目的不可達(Destination Unreachable Message)

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

日常生活中,郵寄包裹會經過多個傳遞環節,任意一環如果無法傳下去,都會傳回寄件人,并附上無法郵寄的原因。

同理,當路由器收到一個無法傳遞下去的IP封包時,會發送ICMP目的不可達封包(Type為3)給IP封包的源發送方。

封包中的Code就表示發送失敗的原因。

Code

0 = net unreachable;

1 = host unreachable;

2 = protocol unreachable;

3 = port unreachable;

4 = fragmentation needed and DF set;

5 = source route failed.

6、逾時(Time Exceeded Message)

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

網絡傳輸IP資料報的過程中,如果IP資料包的TTL值逐漸遞減為0時,需要丢棄資料報。

這時,路由器需要向源發送方發送ICMP逾時封包(Type為11),Code為0,表示傳輸過程中逾時了。

一個IP資料報可能會因為過大而被分片,然後在目的主機側把所有的分片重組。

如果主機遲遲沒有等到所有的分片封包,就會向源發送方發送一個ICMP逾時封包,Code為1,表示分片重組逾時了。

7、參數錯誤封包(Parameter Problem Message)

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

當路由器或主機處理資料報時,發現因為封包頭的參數錯誤而不得不丢棄封包時,需要向源發送方發送參數錯誤封包(Type為12)。

當Code為0時,封包中的Pointer表示錯誤的位元組位置。

8、源冷卻(Source Quench Message)

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

路由器在處理封包時會有一個緩存隊列。

如果超過最大緩存隊列,将無法處理,進而丢棄封包。

并向源發送方發一個ICMP源冷卻封包(Type為4),告訴對方:“嘿,我這裡客滿了,你遲點再來。”

9、重定向(Redirect Message)

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

想像一下,在公司中,有人來你的項目組問你某某某在哪兒。

你一想,我們組沒有這人啊。

你肯定就會說,我們組沒有這号人,你去其他組看看。

當路由收到IP資料報,發現資料報的目的位址在路由表上沒有,它就會發ICMP重定向封包(Type為5)給源發送方,提醒它想要發送的位址不在,去其他地方找找吧。

10、請求回顯或回應答覆(Echo or Echo Reply Message)

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

Type(8)是請求回顯封包(Echo);

Type(0)是回應答覆封包(Echo Reply)。

請求回顯或回應答覆封包屬于查詢封包。

Ping就是用這種封包進行查詢和回應。

11、時間戳或時間戳請求(Timestamp or Timestamp Reply Message)

時間戳封包是用來記錄收發以及傳輸時間的封包。

Originate Timestamp記錄的是發送方發送封包的時刻;

Receive Timestamp記錄的是接收方收到封包的時刻;

Transmit Timestamp表示回顯這最後發送封包的時刻。

12、資訊請求或資訊響應

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

這種封包是用來找出一個主機所在的網絡個數(一個主機可能會在多個網絡中)。

封包的IP消息頭的目的位址會填為全0,表示this,源位址會填為源IP所在的網絡IP。

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert
icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

好了,今天的分享就到這了~

也可以加我的微信一起交流學習?

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert
icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert
icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

為了友善廣大網絡愛好學習者一起學(聚)習(衆)交(搞)流(基),特開設QQ群-思科華為資料庫④群:797202429(①②③群已滿),裡面已經上傳大量網絡學習資料,歡迎廣大網絡工程師進群學習!

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

掃我入群?

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

我就知道愛學習的你“在看”

icmp協定_ICMP協定全解析1、ICMP簡介ICMP全名為(INTERNET CONTROL MESSAGE PROTOCOL)網絡控制消息協定。3、ICMP典型運用—Tracert

繼續閱讀