CPU处理报文原理(框式交换机)
华为交换机由转发芯片转发普通数据报文,无需CPU参与。以下场景会将报文发送给CPU处理:
- 需要交换机终结的协议报文
所有目的地址为本机的报文均需要上送CPU处理:
- 各种协议控制报文,如STP、LLDP、LNP、LACP、VCMP、DLDP、EFM、GVRP、VRRP等
- 路由更新报文,如RIP、OSPF、BGP、IS-IS等
- SNMP、Telnet、SSH报文
- ARP、ND回应报文
- 需要特殊处理的报文
- 带option选项的ICMP报文
- 带hop-by-hop选项的IPv6报文
- TTL小于或等于1的IPv4/IPv6数据报文
- 目的IP地址为本机的数据报文
- ARP/ND/FIB Miss报文
- 应用了ACL,需要CPU处理的报文
- 开启logging功能后,通过ACL deny动作丢弃的报文
- 流策略重定向到CPU的报文
- 组播特性相关的报文
- PIM、IGMP、MLD、MSDP协议报文
- 未知IP组播流
- 其他特性的相关报文
- DHCP协议报文
- ARP、ND广播请求报文
- L2PT软转发的L2协议报文(仅Tunnel两端的设备为软转发,中间设备使用芯片硬件转发)
交换机根据报文的层次(管理/控制/转发)及其重要性来指定将报文发送到哪个CPU队列。CPU队列具有相对优先级。例如,Telnet管理报文和dhcp-client协议报文同时排队,CPU将优先处理5号队列的Telnet管理报文,通过该机制确保CPU高负荷下设备稳定可管理。同时,CPU还通过加权调度机制防止低优先级队列的报文得不到处理。在稳定的网络环境下,上送CPU的报文数量控制在适当的范围内,CPU占用率也稳定在一个合理的区间。如果一段时间内上送CPU的报文数量过大,则CPU会因为忙于处理这些报文而表现为CPU占用率过高。
CPU处理报文原理(盒式交换机)
华为交换机由硬件转发普通数据报文,无需CPU参与。以下场景会将报文发送给CPU处理:
- 需要交换机终结的协议报文
所有目的地址为本机的报文均需要上送CPU处理:
- 各种协议控制报文,如STP、LLDP、LNP、LACP、VCMP、DLDP、EFM、GVRP、VRRP等
- 路由更新报文,如RIP、OSPF、BGP、IS-IS等
- SNMP、Telnet、SSH报文
- ARP、ND回应报文
- 需要特殊处理的数据报文
- 带option选项的ICMP报文
- 带hop-by-hop选项的IPv6报文
- TTL小于或等于1的IPv4/IPv6报文
- 目的IP地址为本机的报文
- ARP/ND/FIB Miss报文
- 基于ACL的特性
- 开启logging功能后,通过ACL deny动作丢弃的报文
- 流策略重定向到CPU的报文
- 组播特性
- PIM、IGMP、MLD、MSDP协议报文
- 未知IP组播流
- 其他特性
- DHCP协议报文
- ARP、ND广播请求报文,二层交换机配置动态ARP检测DAI(Dynamic ARP Inspection)时也发送ARP报文
- L2PT软转发的L2协议报文(仅Tunnel两端的设备为软转发,中间设备使用硬件转发)
- N:1 VLAN mapping第一个报文上送CPU,后续报文使用硬件转发
交换机采用QoS机制处理上送CPU的报文,确保重要报文优先处理。交换机将上送CPU的不同类型的报文划分到优先级不同的8个队列,不同交换机款型支持上送CPU的报文种类可能不同。以S5300LI形态为例,部分典型报文上送CPU的队列划分如表1和图1所示,队列ID值越大,优先级越高