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
相关文章
相关标签/搜索