1. 程式人生 > >Ping機制的思考以及在計算機網路中的考察方式(背景一)

Ping機制的思考以及在計算機網路中的考察方式(背景一)

縱觀幾年計算機網路的大題,但凡涉及到讓我們從那張四十位元組的圖中找出題目所需資訊的,都是基於一定的應用背景。。其中ping就是一個。所以本文需要分析一下PING機制。

PING:Packet Internet Groper 因特網包探測器

ping傳送的是ICMP報文(internet control message protocol)因特網控制資訊協議

原理:利用IP地址的唯一性,向目標IP地址傳送一個IP資料包,要求對方返回一個同樣大小的資料包,以確定兩臺網路機器是否連通,以及時延是多少。

注:以地址127開頭的IP地址是保留用作環路測試的IP地址,因此ping 127.0.0.1,表示在本機程序之間傳遞ICMP資料包,如果可以ping通,表示本機協議棧執行正常。

ping的工作流程:

我們以一個網路為例:有A B C D四臺電腦,一臺路由器R,子網掩碼均為255.255.255.0,預設路由為192.168.0.1

1.在同一網段內的情況

假設在主機A上執行ping 192.168.0.5

首先,ping命令會去構建一個固定格式的ICMP請求資料包,然後由ICMP協議將這個資料包連同地址 192.168.0.5一起交給IP層協議,IP層協議將以192.168.0.5作為目的地址,本機IP作為源IP地址,加上一些其他的控制資訊,構建一個 IP資料包,並想辦法得到192.168.0.5的MAC地址(此處是用ARP協議),IP層協議通過B的IP地址和自己的子網掩碼,發現它跟自己同屬一個網路,就直接在本網路內部查詢這臺機器的MAC。之後主機B收到資料鏈路幀,發現是發給自己的,於是接收,接收後檢查該資料幀,將IP資料包從幀中提取出來,交給本機的IP層協議。

同樣,IP層檢查後,將有用的資訊提取後交給ICMP協議,ICMP協議傳送ICMP應答包,傳送給主機A,於是ping通。

若ping不通,則發出超時。

2.不在一個網段內的情況。

發現不在一個網段內,ARP協議解析路由器的MAC地址即可,其他過程還是一樣的。

例1:source:王道模擬題

分析:資料報是該ping產生的,肯定源和目的IP符合,檢查即可,

本題是簡單題,只是為了讓你明白有這樣一個背景的存在。