發布時間: 2017-11-08 18:00:56
在我們日常生活中,我們經??匆曨l或者打游戲中出現卡頓現象或者出現網絡不通。那么這時候就可以使用CMD的ping來測試網絡的連通性。但是ping是什么呢?
那么我們這里要講講一個網絡協議,Internet控制報文協議ICMP(InternetControl Message Protocol)是網絡層的一個重要協議。ICMP協議用來在網絡設備間傳遞各種差錯和控制信息,它對于收集各種網絡信息、診斷和排除各種網絡故障具有至關重要的作用。
ICMP定義了各種錯誤消息,用于診斷網絡連接性問題;根據這些錯誤消息,源設備可以判斷出數據傳輸失敗的原因。比如,如果網絡中發生了環路,導致報文在網絡中循環,最終TTL超時,這種情況下網絡設備會發送TTL超時消息給發送端設備。又比如如果目的不可達,則中間的網絡設備會發送目的不可達消息給發送端設備。目的不可達的情況有多種,如果是網絡設備無法找到目的網絡,則發送目的網絡不可達消息;如果網絡設備無法找到目的網絡中的目的主機,則發送目的主機不可達消息。
ICMP Echo消息常用于診斷源和目的之間的網絡連通性,還可以提供其他信息,如報文往返時間等。
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的超時時間。
<RTA>ping
?
-a Select source IP address, the default is
the IP address of the output interface
-c Specify the number of echo requests to
be sent, the default is 5
-h
Specify TTL value for echo requests to be sent, the default is 255
-t Timeout in milliseconds to wait for each
reply, the default is 2000ms
STRING<1-255> IP address or hostname of a remote system
……
比如:ping 10.0.0.1
Ping利用ICMP Echo請求消息(Type值為8)來發起檢測目的可達性。目的端收到ICMP Echo請求消息后,根據IP報文頭中的源地址向源端發送ICMP Echo回復消息(Type值為0)。
上一篇: {Java}反射機制
下一篇: {華為HCNA-RS}VLAN間路由