路由器收到的需上送CPU处理的报文,其处理流程和业务报文是几乎相同的,如下图所示。
不同点在于:
差异(1):报文解析识别出的协议报文不再查表转发
在转发引擎PFE(NP或ASIC芯片)上做报文解析时,如果从二层帧头的协议字段就可以直接判断出是需要上送本机CPU处理的协议报文(如ARP、RARP、IS-IS、LLDP、LACP、PPP控制报文等等),或者目的地址为特定的保留组播IP地址(标准中定义,组播地址224.0.0.1~224.0.0.255供路由协议使用)的协议报文,上行不需要查表转发。
前面帖子介绍过,报文通过上行查表转发后,获得报文的目的接口板和出接口信息,以便交换网板能根据目的单板信息把数据交换到对应下行单板,而下行单板根据出接口信息发送报文。那么这些通过报文解析就能识别出来的协议报文,上行不查表转发,其目的接口板和出接口信息填什么呢?答案是填成与入接口板相同的板号,出接口为CPU。
?
差异(2):下一跳地址为127.0.0.1的报文需上送CPU
在路由器上,如下几类路由的下一跳地址为127.0.0.1,匹配这类路由的报文需要上送CPU处理:
1)接口主机路由和直连子网广播每一个配置有IP地址且链路层和IP层协议状态为UP的直连接口,都会生成三条路由,例如下图: