深度分析交换机中的芯片转发流程到底是如何工作的( 五 )

在解包的同时 , 还会保存这个报文的一些特征数据 , 例如 , 这个报文是从交换机哪个端口进来的

解包后 , 报文会暂时存在内存 , 根据解包信息进行后续的处理 。 后续的处理依据是交换机内一个个“表项” 。 什么是表项?表项就是你配置或者自动生成的信息 , 这些信息在处理芯片里映射为一个个逻辑表项 , 用于指示下一步的处理 。

例如你配置了交换机某个端口是一个二层转发端口 , 那么交换机内这个端口就有一个表项 , 指示这个是一个普通的二层口 。 如果有VLAN配置 , 还会有表项 , 说明这个二层口配置了什么类型的VLAN , 以及VLAN的类型等等 , 不同的芯片可能不太一样 , 大体的流程是一样的 。

然后根据表项就开始处理 。 例如

先看看你的这个报文是从哪个接口进来的 , 一查这个端口的表是一个二层接口 , 那么就开始二层处理流程 , 依据的是配置时生成的端口表项 。

然后进行下一步 , 检查发现这个端口是个VLAN接口 , 然后就开始VLAN的处理的流程 , 报文的VLAN自然是从刚才的解包过程中获得的 , 根据解包获得的VLAN和端口的VLAN规则进行处理 。 符合规则的进入下一流程 , 不符合规则的丢弃 。

推荐阅读