1. 程式人生 > >ICMP協議與ping命令

ICMP協議與ping命令

ping命令是什麼協議?

維基百科介紹:

ping是一種電腦網路工具,用來測試資料包能否通過IP協議到達特定主機。ping的運作原理是向目標主機傳出一個ICMP [email protected]要求資料包,並等待接收echo迴應資料包。程式會按時間和成功響應的次數估算丟失資料包率(丟包率)和資料包往返時間(網路時延,Round-trip delay time)。

可以知道,ping基於ICMP協議。

ICMP屬於哪一層?

查閱書籍《TCP/IP協議族》,第9章“網路控制報文協議(ICMP)”,我們可以看到下面這一段話:

IP協議還缺少主機和管理查詢所需要的機制。主機有時候需要判斷某個路由器或者是對方主機是否活躍。有時網路管理員也需要來自其他主機或路由器的資訊。 
網路控制報文協議(ICMP)

是設計來彌補上述兩個遺憾的,它是IP協議的伴侶。圖9.1給出了ICMP協議在網路層中的位置,以及它與IP及其他協議之間的關係。

ICMP

檢視《TCP/IP協議詳解卷1》,第6章“ICMP:Internet控制報文協議”:

ICMP經常被認為是IP層的一個組成部分。它傳遞差錯報文以及其他需要注意的資訊。 
ICMP報文通常被IP層或更高層協議(TCP或UDP)使用。

由此可見,ICMP位於網路層,與IP屬於同一層。

進一步驗證

我們進一步檢視權威的資料,找到RFC 792文件:

The Internet Protocol (IP) [1] is used for host-to-host datagram 
service in a system of interconnected networks called the 
Catenet [

2]. The network connecting devices are called Gateways. 
These gateways communicate between themselves for control purposes 
via a Gateway to Gateway Protocol (GGP) [3,4]. Occasionally a 
gateway or destination host will communicate with a source host, for 
example, to report an error in datagram processing. For such 
purposes this protocol, the Internet Control Message Protocol (ICMP), 
is used. **ICMP, uses the basic support of IP as if it were a higher 
level protocol, however, ICMP is actually an integral part of IP, and 
must be implemented by every IP module**.

大意就是:

ICMP協議是用於host到host之間的資料報服務,目的host與源host進行通訊時,ICMP會用到,比如通過處理資料報報告一個錯誤。 
ICMP基於IP,以至於它看起來像一個上層協議,但是實際上是IP的一部分,而且必須在每個IP模組中實現。

相關推薦

ICMP協議ping命令

ping命令是什麼協議? 維基百科介紹: ping是一種電腦網路工具,用來測試資料包能否通過IP協議到達特定主機。ping的運作原理是向目標主機傳出一個ICMP [email protected]要求資料包,並等待接收echo迴應資料包。程式會按時間和成功

ICMP協議ping命令,traceroute命令

ICMP協議 ICMP協議是一個網路層協議。 我們在建立好網路通訊的時候,肯定要進行網路是否通暢。我們知道IP協議並不提供可靠的傳輸,無法通過IP協議來反饋我們的網路是否通暢,TCP又是傳輸層的協議

linux網路程式設計之TCP/IP基礎(二):利用ARP和ICMP協議解釋ping命令

一、MTU 乙太網和IEEE 802.3對資料幀的長度都有限制,其最大值分別是1500和1492位元組,將這個限制稱作最大傳輸單元(MTU,Maximum Transmission Unit)。如果I

UNIX網路程式設計——利用ARP和ICMP協議解釋ping命令

一、MTU       乙太網和IEEE 802.3對資料幀的長度都有限制,其最大值分別是1500和1492位元組,將這個限制稱作最大傳輸單元(MTU,Maximum Transmission Unit)       如果IP層有一個數據報要傳,而且資料的長度比鏈路層的MTU

linux下,fping命令ping命令解析

ping Linux系統的ping命令是常用的網路命令,它通常用來測試與目標主機的連通性。 1.命令格式: ping [引數] [主機名或IP地址] 2.命令功能: ping命令用於:確定網路和各外部主機的狀態;跟蹤和隔離硬體和軟體問題;測試、評估和管理網路。如果主機正在

ICMP協議ping和Traceroute 單獨介紹

ping這個單詞源自聲納定位,而這個程式的作用也確實如此,它利用ICMP協議包來偵測另一個主機是否可達。原理是用型別碼為0的ICMP發請 求,受到請求的主機則用型別碼為8的ICMP迴應。ping程式來計算間隔時間,並計算有多少個包被送達。使用者就可以判斷網路大致的情況。我們可以看到, ping給出來了傳送的時

ICMP協議ping實現

1. 相關ICMP協議概述  這裡只講解與ping有關的ICMP訊息型別,主機發送回送訊息(Type = 8),被請求主機回送響應訊息(Type = 0),基本格式如下:  回送訊息[ECHO]         回送響應訊息[ECHO REPLY]         其中•Co

ICMP報文和ping命令

一、ping 的原理    ping程式是用來探測主機到主機之間是否可通訊,如果不能ping到某臺主機,表明不能和這臺主機建立連線。ping使用的是ICMP協議,它傳送icmp回送請求訊息給目的主機。

網路協議 5 - ICMP ping:投石問路的偵察兵

    日常開發中,我們經常會碰到查詢網路是否暢通以及域名對應 IP 地址等小需求,這時候用的最多的應該就是 ping 命令了。 那你知道 ping 命令是怎麼工作的嗎?今天,我們就來一起認識下 ping 命令及其對應的 ICMP 協議。 ICMP 協議     ICMP 全稱 Internet Cont

趣談網路協議(四)ICMPping

ICMP協議的格式 (1)ping是基於ICMP協議工作的。ICMP就是網際網路控制報文協議 (2)ICMP報文是封裝在IP包裡面的。本身很簡單。 (3)ICMP報文有很多型別,不同型別有不同的程式碼。最常用的型別是主動請求為8,主動請求的應答為0 ping:查詢報文

趣談網路協議---ICMPping:投石問路的偵察兵

ICMP協議格式 ICMP 報文是封裝在 IP 包裡面的,因為偵察兵需要輕裝上陣。 最常用的型別是主動請求為 8,主動請求的應答為 0。 查詢報文型別 ping使用查詢報文,是一種主動請求,並獲得主動

ping 原理ICMP協議 && 安卓用tcpdump和wireshark抓網路包 && 安卓用Fiddler進行網路抓包

(1)ping 的原理       ping 程式是用來探測主機到主機之間是否可通訊,如果不能ping到某臺主機,表明不能和這臺主機建立連線。ping 使用的是ICMP協議,它傳送icmp回送請求訊息給目的主機。ICMP協議規定:目的主機必須返回ICMP回送應答訊息給源主機

Linux服務器關閉/開啟ICMP協議(ping)

服務器 需要 inux ech g模式 linux服務 遇到 icm 我們 經常會遇到一些問題就是主機明明是在線的卻ping不通的,對方可能開啟了禁ping模式有時為安全問題著想,需要給我們的Linux服務器禁ping 關閉ICMP協議(禁ping) echo "

《Linux學習並不難》Linux網絡命令(3):ping命令測試目標計算機之間的連通性

Linux ping 測試 27.3 《Linux學習並不難》Linux網絡命令(3):ping命令測試與目標計算機之間的連通性使用ping命令可以用來測試與目標計算機之間的連通性。執行ping命令會使用ICMP傳輸協議發出要求回應的信息,如果遠程主機的網絡功能沒有問題,就會回應該信息,因而得知

LINUX網絡之ifconfig命令ping

啟用 term col lai data 五行 broadcast bin localhost ifconfig命令 網絡配置 ifconfig命令被用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啟後機器重啟後,配置就

ICMPping:投石問路的偵察兵

1. ICMP 協議    ICMP全稱Internet Control Message Protocol,就是網際網路控制報文協議。   ping命令就是基於它工作的。   ICMP 報文是封裝在 IP 包裡面的。因為傳輸指令的時候,肯定需要源地址和目標地址。 1.1 協議格式

ICMP ping:投石問路的偵察兵

    日常開發中,我們經常會碰到查詢網路是否暢通以及域名對應 IP 地址等小需求,這時候用的最多的應該就是 ping 命令了。 那你知道 ping 命令是怎麼工作的嗎?今天,我們就來一起認識下 ping 命令及其對應的 ICMP 協議。 ICMP 協議     ICMP 全稱 Internet Contro

ping命令原理及其所屬的協議

ping.exe的原理是,向指定的IP地址傳送一定長度的資料包,按照約定,若指定IP地址存在的話,會返回同樣大小的資料包,當然,若在特定的時間內沒有返回,就是“超時”,就認為指定的IP不存在。 由於ping使用的是ICMP協議,有些防火牆會遮蔽ICMP協議,所以有時候pin

PingICMP協議的應用

       網際網路控制訊息協議(Internet Control Message Protocol,ICMP):是網際網路協議族的核心協議之一。它用於TCP/IP網路中傳送控制訊息,提供可能發生在通訊環境中的各種情

PingICMP協議

Ping 度娘解釋: Ping是Windows、Unix和Linux系統下的一個命令。ping也屬於一個通訊協議,是TCP/IP協議的一部分。利用“ping”命令可以檢查網路是否連通,可以很好地幫助我們分析和判定網路故障。 PING (Pac