详细Ping的过程 (转载+红字原创)

Ping过程详解

         Ping命令的主要作用的是检查网络的连通情况和检测网络的速度。相信大家都用过Ping命令,下面主要介绍一下Ping命令是怎样一个执行过程。

         主要的Ping有两种情况,一种是同一网段,一种是跨网段的。

         首先看一个拓扑图:

首先,如果主机APing主机B,那么主机A就要封装二层报文,他会先检查自己的MAC地址,如果没有BMAC地址,就会向外发送一个ARP广播包,如图:

        

         其中ARP报文格式如下:

        

         其中OP表示:1:表示ARP请求;2:表示ARP应答;3:表示RARP请求;4:表示RARP应答。

         首先交换机会收到这个报文后,交换机有学习MAC地址的功能,所以他会检索自己有没有保存主机BMAC地址,如果有的,就直接返回给A主机,如果没有,就会向所有端口发送ARP广播,其他主机收到后,发现不是在找自己,就纷纷丢弃了改报文,不去理会,直到主机B收到了报文后,就立即响应,我的MAC地址是多少,同时学到主机AMAC地址,并按同样的ARP报文格式返回给主机A。如图:

        

         ARP报文的格式为:

        

         这时候主机A学到了主机BMAC地址,就把这个MAC封装到ICMP协议的二层报文中向主机B发送,报文格式如下:

        

         当主机B收到了这个报文后,发现是主机AICMP回显请求,就按同样的格式,返回一个值给主机A,这样就完成了同一网段内的Ping过程。

        

 

如果主机APing主机C,那么主机A发现主机CIP和自己的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端口,路由器端口学到主机AMAC地址的情况下,他们就不需要再做ARP解析,就将ICMP的回显请求恢复过来,报文格式如下:

        

 

 

 以上为转载,以下为纠错:我放大的字体为错误的部分

                                               1.arp格式错误,正确格式顺序:以太网目的MAC,以太网源MAC,帧类型为arp类型0806,硬件地址类型为以太网类型为1,协议类型为要映射的IP为0800,硬件地址类型长度为6(单位字节),协议类型长度为4(单位字节)。

                                               2.交换机收到广播帧后,是对该帧进行广播处理,而并非是查看自己的mac地址表

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值