1、交换机

广播包:目的MAC为全F

二层交换机,vlan内泛洪

三层交换机,vlan内泛洪+上送CPU进行处理

组播包:目的MAC第8bit取值为1

判断是协议控制包还是业务流量(Ethernet帧根据Type字段判断)

协议控制包:上送CPU处理,若CPU不识别则丢弃(例如关闭STP的设备)

业务流量包:开启了igmp snooping则根据snooping表项转发,没开启则vlan内泛洪,若是三层交换机则拆除二层报头后还会上送IP协议处理

单播包:目的MAC第8bit取0

判断是二层转发还是三层转发

二层转发:查MAC地址表项,已知单播则转发,未知单播则泛洪。

三层转发:查三层转发表执行转发,首包上送CPU处理,若目的IP是自己也上送CPU处理。

2、路由器

收到报文先拆二层包头,根据Type字段交由对应上层协议处理。

单播包:查表转发

查FIB转发表项按照表项执行转发,无表项则丢弃报文

若FIB next-hop是172.0.0.1.则上交CPU处理(自己身上的IP地址,在FIB转发表中会指向127.0.0.1)

组播包:判断是协议控制包还是业务流量

协议控制包 (永久组地址 224.0.0.1~224.0.0.255) : 上送 cpu 处理 , 没有开启对应协议则丢弃

业务流量包 (除永久组地址以外的其他组播地址) : 根据组播转发表项执行转发 , 无表项则丢弃

广播包:直接上送CPU处理

扩展一下,交换机什么情况下进行二层转发,什么情况下进行三层转发呢?

主要看报文目的MAC,如果是vlanif接口的MAC则是三层转发,其他情况均为二层转发。

今天的分享到此为止,各位有想了解的可以评论私信,看到都会回复,写文只是业余时间想分享一下一起学习,希望大家多多点赞转发!

我开通了个公众号(苏苏舒服啊)也会同步更新,各位感兴趣可以关注一下。

因为没有团队,所以文章质量可能不高,更新频率也不会很快,希望各位海涵!