Ping的詳細過程

2021-07-02 23:35:25 字數 1732 閱讀 8685

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的詳細過程

ping是我們在linux中測試網路連線的常用指令。首先ping是應用程式,而不是協議,它利用icmp internet control message protocol 網際網路控制報文協議 報文檢測網路連線。首先假設a ping b 1.ping通知系統建立乙個固定格式的icmp請求資料報。2....

ping的詳細過程學習筆記

pc1 ping pc2 也就是pc1 192.168.1.1 ping pc2 192.168.1.2 屬於同一網段的ping過程 步驟1 ping開始 即後台執行192.168.1.1 ping 192.168.1.2 解釋 ping過程是源主機icmp協議傳送乙個icmp協議報文給目的主機的i...

Ping命令的過程

同一網段 1.ping通知系統建立乙個固定格式的icmp請求資料報 2.icmp協議打包這個資料報和機器b的ip位址轉交給ip協議層 一組後台執行的程序,與icmp類似 3.ip層協議將以機器b的ip位址為目的位址,本機ip位址為源位址,加上一些其他的控制資訊,構建乙個 ip資料報獲取機器b的mac...