什么是三层交换机一次路由多次交换模式(路由器与三层交换机主要功能完全一样)
什么是一次路由多次交换的三层交换机?
首先说说三层交换机的结构:ASIC芯片和CPU。
ASIC芯片用于完成二层和三层转发,包含用于二层转发的MAC地址表和用于ip转发的三层转发表。
CPU用于转发控制,主要维护一些软件条目(包括路由表和ARP表),根据软件条目的转发信息配置ASIC的硬件三层转发表。
真正决定高速交换转发的是ASCIC的二三层硬件表,而ASIC的硬件表来自CPU维护的软件表。
a和B位于不同的VLAN,它们通过第3层交换机的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+VID加到交换机的MAC条目上)。当报文中的目的MAC与这个三层接口的MAC条目匹配时,会分三层转发,找到三层条目。因为是空第一次搜索失败,所以消息交给CPU处理。根据目标IP,CPU搜索路由,匹配一个直连网段,然后查找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。