ping過程詳解

原出處:http://wanicy.blog.51cto.com/509018/335207/網絡

PS:這裏只是給出了ping ip地址的例子,沒有給出ping域名的例子。學習

ping 域名還有域名轉換成IP地址這一步,轉換成IP後,這樣接着下面的繼續spa

若是你想了解PING的原理,就看個人文章,不要去網上找,找不到什麼好的內容。看了我文章,也許你會從對網絡一竅不通,到豁然開朗。指針

 
       先看拓樸圖:
 

我在這裏講拼的兩狀況,一種是同一網段內,一種是跨網段的ping ….
 
首先,若是主機A,要去拼主機B,那麼主機A,就要封裝二層報文,他會先查本身的MAC地址表,若是沒有B的MAC地址,就會向外發送一個ARP廣播包,如圖:
 

   其中ARP報文格式以下:
以太網目的 MAC
以太網源 MAC
幀類型
硬件類型
4
6
OP
發送端以太網 MAC
發送端 IP 地址
目的 MAC
目的 IP
FF-FF-FF-FF-FF-FF
00-50-56-C0-00-01
0806
0800
1
00-50-56-C0-00-01
1.1.1.1
00-00-00-00-00-00
1.1.1.3
  其中OP  
     1 :表示ARP請求
     2:表示ARP應答
                     3:表示RARP請求
                     4:表示RARP應答
 
 
  首先,交換機會收到這個報文後,交換機有學習MAC地址的功能,因此他會檢索本身有沒有保存主機B有MAC,若是有,就返回給主機A,若是沒有,就會向全部端口發送ARP廣播,其它主機收到後,發現不是在找本身,就紛紛丟棄了該報文,不去理會。。直到主機B收到了報文後,就當即相應,個人MAC地址是多少,同時學到主機A的MAC地址,並按一樣的ARP報文格式返回給主機A,如圖:
 

  ARP報文格式:
以太網目的 MAC
以太網源 MAC
幀類型
硬件類型
4
6
OP
發送端以太網 MAC
發送端 IP 地址
目的 MAC
目的 IP
00-50-56-C0-00-01
00-50-56-C0-00-03
0806
0800
2
00-50-56-C0-00-03
1.1.1.3
00-50-56-C0-00-01
1.1.1.1
 
       這時候主機A學到了主機B的MAC,就把這個MAC封裝到ICMP協議的二層報文中向主機B發送,報文格式以下:

 

目的地址
源地址
IP
目的 IP
ICMP 報文
00-50-56-C0-00-03
00-50-56-C0-00-01
1.1.1.1
1.1.1.3
Echo request

 

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

 

目的地址
源地址
IP
目的 IP
ICMP 報文
00-50-56-C0-00-01
00-50-56-C0-00-03
1.1.1.3
1.1.1.1
Echo answer

 

      
在這裏  我講了這麼久的局域網內的PING,實際過程的發生不到1毫秒….
 
       再繼續…
       若是主機A要ping主機C,那麼主機A發現主機C的IP和本身不是同一網段,他就去找網關轉發,可是他也不知道網關的MAC狀況下呢?他就會向以前那個步驟同樣先發送一個ARP廣播,學到網關的MAC,再發封裝ICMP報文給網關路由器.
報文格式以下:

 

目的地址
源地址
IP
目的 IP
ICMP 報文
00-50-56-C0-00-02
00-50-56-C0-00-01
1.1.1.1
2.1.1.1
Echo request

 

 
 
 
 
   當路由器收到主機A發過來的ICMP報文,發現本身的目的地址是其自己MAC地址,根據目的的IP2.1.1.1,查路由表,發現2.1.1.1/24的路由表項,獲得一個出口指針,去掉原來的MAC頭部.加上本身的MAC地址向主機C轉發…(若是網關也沒有主機C的MAC地址,仍是要向前面一個步驟同樣,ARP廣播一下便可相互學到….路由器2端口能學到主機D的MAC,主機D也能學到路由器2端口的MAC..),報文格式以下:
 

 

目的地址
源地址
IP
目的 IP
ICMP 報文
00-50-56-C0-00-05
00-50-56-C0-00-04
1.1.1.1
2.1.1.1
Echo request

 

 
 
 
 
   最後,在主機C已學到路由器2端口MAC,路由器2端口轉發給路由器1端口,路由1端口學到主機A的MAC的狀況下,他們就不須要再作ARP解析,就將ICMP的回顯請求回覆過來..報文格式大體以下:

 

目的地址
源地址
IP
目的 IP
ICMP 報文
00-50-56-C0-00-04
00-50-56-C0-00-05
2.1.1.1
1.1.1.1
Echo Answer
相關文章
相關標籤/搜索