20张图深度详解MAC地址表、ARP表、路由表( 二 )


20张图深度详解MAC地址表、ARP表、路由表
文章图片
3、可以看到PC1的本地ARP表项中学习到了PC2的mac地址;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
4、这样PC1就可以根据PC2的MAC地址封装数据发送给交换机SW1 , 交换机SW1会查找自己的MAC地址表 , 发现去往PC2的MAC地址的出接口为GE0/0/2 , 从而PC2就可以收到报文 , 并进行解封装;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
如上图的网络拓扑 , PC3和PC4通过路由器R1、R2互联 , PC3的IP地址为192.168.1.2/24网关192.168.1.1 , PC4的IP地址为192.168.2.2/24网关192.168.2.1 , 那么PC1和PC2的通信就是跨网段三层通信 , 下面我们从ARP表、MAC地址表、路由表的角度详细解析下这个通信过程 。
下面我们来详细分析下:
1.PC3要想访问PC4 , 由于是跨网段通信 , PC3需要首先把数据包发送给PC3的网关 。 PC3会查找自己的ARP表项看是否有网关IP192.168.1.1对应的MAC地址 , 查看发现是空的;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
2、我们知道如果不知道对方的mac地址 , PC3会发送ARP广播报文 , 询问谁知道目的IP192.168.1.1对应的MAC地址(如下图所示) 。 R1收到ARP广播报文会进行回应 , 告诉PC3他的网关的MAC地址;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
3、可以看到PC3的本地ARP表项中学习到了网关的mac地址;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
4、这样PC3就可以根据网关MAC地址封装数据发送给R1 , R1收到数据包会进行解封装 , 解封装发现目的IP是PC4 , 不是发给自己的 , 从而会查找自己的路由表 , 发现去往PC4的下一跳是10.1.1.2;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
5、R1需要把数据进行封装发送给R2的10.1.1.2 , 因此需要请求10.1.1.2对应的MAC地址用于封装(我们可以看到R1的ARP表中已经有10.1.1.2对应的MAC地址 , 因此可以直接封装);
20张图深度详解MAC地址表、ARP表、路由表
文章图片
6、R2收到R1的数据包 , 需要进行解封装 , 解封装发现目的IP是PC4 , 通过查找自己的路由表 , 发现去往PC4是自己的直连端口;
20张图深度详解MAC地址表、ARP表、路由表
文章图片
7、R2需要把数据进行封装发送给PC4 , 因此需要请求PC4192.168.2.2对应的MAC地址用于封装(我们可以看到R2的ARP表中已经有192.168.2.2对应的MAC地址 , 因此可以直接封装);
20张图深度详解MAC地址表、ARP表、路由表
文章图片
8、最后PC4收到报文进行解封装发现就是发送给自己的 , 通信结束
20张图深度详解MAC地址表、ARP表、路由表】来源: