ping過程詳解

2021-07-07 06:14:07 字數 1732 閱讀 2792

ping過程詳解

ping命令的主要作用的是檢查網路的連通情況和檢測網路的速度。相信大家都用過ping命令,下面主要介紹一下ping命令是怎樣乙個執行過程。

主要的ping有兩種情況,一種是同一網段,一種是跨網段的。

首先看乙個拓撲圖:

首先,如果主機a要ping主機b,那麼主機a就要封裝二層報文,他會先檢查自己的mac位址,如果沒有b的mac位址,就會向外傳送乙個arp廣播包,如圖:

其中arp報文格式如下:

其中op表示:1:表示arp請求;2:表示arp應答;3:表示rarp請求;4:表示rarp應答。

首先交換機會收到這個報文後,交換機有學習mac位址的功能,所以他會檢索自己有沒有儲存主機b的mac位址,如果有的,就直接返回給a主機,如果沒有,就會向所有埠傳送arp廣播,其他主機收到後,發現不是在找自己,就紛紛丟棄了改報文,不去理會,直到主機b收到了報文後,就立即響應,我的mac位址是多少,同時學到主機a的mac位址,並按同樣的arp報文格式返回給主機a。如圖:

arp報文的格式為:

這時候主機a 學到了主機b的mac位址,就把這個mac封裝到icmp協議的二層報文中向主機b傳送,報文格式如下:

當主機b收到了這個報文後,發現是主機a的icmp回顯請求,就按同樣的格式,返回乙個值給主機a,這樣就完成了同一網段內的ping過程。

如果主機a要ping主機c,那麼主機a發現主機c的ip和自己的ip不是同乙個網段,他就去找網管**,但是他也不知道網管的mac情況下呢?這是就會像前面那個步驟一樣,先傳送乙個arp廣播,學到閘道器的mac位址,再發封裝包,報文的格式如下:

當路由器收到主機a發過來的icmp報文,發現自己的母的位址是其本身mac位址,根據母的地ip位址2.1.1.1,查詢路由表,發現2.1.1.1/24的路由表項,得到乙個出口指標,去掉原來的mac頭部,加上自己的mac位址向主機c**,報文格式如下

最後主機c已學到路由器2埠mac,路由器2埠**給路由器1埠,路由器埠學到主機a的mac位址的情況下,他們就不需要再做arp解析,就將icmp的回顯請求恢復過來,報文格式如下:

ping過程詳解

主機a ip 192.168.1.2 裝置a 閘道器 wan 58.56.57.122 lan 192.168.1.1 裝置b 路由 wan1 58.56.57.121 wan2 58.56.58.2 主機b ip 58.56.58.3 主機a ping 58.56.58.3 本機ip和目的ip不在...

ping的過程詳解

談到這個問題,我們首先想到的就應該是分情況考慮 假設主機a的ip為 1.1.1.1 主機b的ip為 1.1.1.3 主機a去ping同一網段的主機b,它會封裝二層報文,首先去查本地mac位址表,發現沒有b的位址,此時就會傳送arp報文。目的mac 源mac op 傳送端mac 傳送端ip 目的端ma...

ping命令執行過程詳解

ping命令執行過程詳解 ping 是我們經常會接觸到的命令,但是大家對這個命令的了解有多少,這個命令的執行過程以及返回過來的資訊代表什麼意思呢?接下來我為大家逐一講解。先看一下 ping 的執行過程 就以這樣乙個網路作為例子 假設有a b c d四台機器,一台路由ra,子網掩碼均為255.255....