什么是三层交换机一次路由多次交换?
首先讲讲三层交换机的结构:ASIC芯片和CPU
ASIC芯片用于完成二层和三层的转发,内部包含用于二层转发的MAC地址表和用于IP转发的三层转发表。
CPU用于转发的控制,主要维护一些软件表项(包括路由表,ARP表),并根据软件表项的转发信息来配置ASIC的硬件三层转发表。
真正决定高速转交换转发的是ASCIC的二三层硬件表项,而ASIC的硬件表来源于CPU维护的软件表项。
A与B在不同VLAN,中间通过三层交换机的SVI(Vlanif口)接口进行路由转发。
A ping B过程分析如下:
1.主机A检查目标B的IP地址,发现与自己不在同一个网段,因此需通过网关转发,首先查询ARP缓存,没找到网关的MAC,所以广播ARP请求(目标MAC为全F,源MAC为A的MAC,源IP为A的IP,目标IP为网关IP),请求网关的MAC地址;
2.三层交换机收到后,发现是广播帧,进行解封装,发现目标IP是给自己的,所以返回ARP应答,通过ARP应答把自己的MAC告诉A
3.A收到ARP应答后,更新ARP缓存,再重新封装ICMP(目标MAC为网关,源MAC为A,目标IP为B,源IP为A),交换机收到以后,首先根据报文的源MAC+VlanID更新到MAC表,根据报文的目的MAC+VID进行查MAC表,发现匹配自己的三层接口的MAC表项(说明:三层交换机给分配SVI的IP地址时,会在交换机的MAC表项中添加三层接口的MAC+VID),当报文中的目的MAC与这个三层接口的MAC表项匹配时,就进行三层转发,查找三层表项,因为第一次是空的,所以查找失败,于是将报文交给CPU进行软件处理,CPU根据目标IP进行查找路由,匹配到一个直连网段,于是查找ARP表,第一次还是空的,所以查找失败,则在目标网段进行广播ARP请求B的MAC地址,B收到后给出ARP应答,
4.交换机收到应答,更新MAC表和ARP表,同时重新封装ICMP发送给B(目标MAC为B,源MAC为三层交换接口的MAC,目标IP为B,源IP为A)。同时,交换机的三层表项根据刚刚得到到三层转发信息添加表项(包括IP,MAC,VLAM,出接口),这样后续的报文如果匹配三层表项,就可以直接进行硬件转发了,这样就叫做一次路由多次交换。B收到后给出ICMP应答,就是以上过程的逆过程,所以PING通了。
关键词:啥是三层交换机一次路由多次交换?