组网见图,在二层局域网中,RT1的1.1.1.1 ping 1.1.1.2的过程
三层转发过程请参考:https://zhiliao.h3c.com/theme/details/168394
在二层局域网中,RT1的1.1.1.1 ping 1.1.1.2的过程
假如设备全部是新开机设备,此时所有的设备上没有三张表(ARP,MAC和路由表;MAC表是二层的概念),一个全新的过程开始了:
(1)在RT1上面,当上层组织好数据后,在IP层加上IP头,在链路层要加上源mac地址和目的mac地址。源mac地址是本机发送端的网卡(接口)地址,这个自身本来就知道,目标mac地址刚开始不知道的,也就是说我们知道对方的IP地址,但是mac地址是还不知道的,这个时候我们就要使用ARP协议来获取目标mac地址。
(2)这个时候我们就知道要先获取目标mac地址,再发送数据。先判断目标ip和本机ip是否在同一网段(与掩码进行与运算)。是同一网段的话,说明我们可以广播发起ARP请求。也就是说ARP请求帧中目标mac地址为FF.FF.FF.FF,IP是已知的。网内所有的主机均能收到这个请求,IP等于目标IP的那一台主机知道请求的是自己的mac地址,将发过来的源ip和源mac加入自己的ARP表中(RT2缓存表记录了RT1的IP和对应的MAC A),同时发送ARP应答帧(附加了自身的mac地址,RT1的ARP表形成,记录了IP和MAC B),其他主机会忽略ARP请求,直接丢弃。【此时RT1和RT2两个设备的的ARP表形成】
1)上面的(2)步骤中,RT1会不会向1/0/2口的2.2.2.1的口发送ARP的请求呢?答案是不会的,掩码与运算以后,此时设备识别出同网段,只会向同网段接口1/0/1这个接口发出报文;
2)二层交换机报文在收到RT1发过来的,源MAC A、目的MAC全F的报文后,shou"xian记录一下MAC A对应的接口是1(交换机1接口),然后直接向除了接收口以外的全部的接口发出报文,等到RT2回包以后,然后记录MAC B对应的接口是2(交换机接口2),然后查此报文的目的MAC是MAC A,因为记录表存在,MAC A是从接口1学到的,直接丢回接口1。至此交换机的MAC表形成,APR请求完成。
(3)上述的过程,只是ping协议触发了ARP协议,完成了ARP协议的过程,ping还是不通的。ARP的报文长度是28个字节,可以自行百度。
(4)收到了RT2的MAC B地址以后,ping协议正式开始工作了,设备封装完数据,ICMP协议头、源地址头1.1.1.1、目的地址1.1.1.2、源MAC A、目的MAC B,此时完成数据链路层的封装,开始在发往交换机。
(5)交换机收到报文以后,根据目的MAC B,查找MAC表要从接口2发出,然后发出报文。
(6)RT2收到报文,拆看MAC B,发现地址是1.1.1.2是本机地址,然后开始处理应用层的数据。
(7)处理完成以后的响应数据封装完,源地址头1.1.1.2、目的地址1.1.1.1、源MAC B、目的MAC A,此时完成数据链路层的封装,开始在发往交换机
交换机发现目的MAC A,直接从接口1发出。
(8)RT1收到响应报文,拆封装梳理响应数据,完成通信。
参考链接:https://blog.csdn.net/RainMi/article/details/79890757
,
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作