88E6095 芯片VLAN 技术分析 MARVEL 出产的88E6095 芯片是一款较高端的交换芯片,它带有8 个FE 口和3 个GE 口,其VLAN 功能分析如下(本文档只讨论基于802.1Q 的VLAN): 1 交换模式 6095 芯片对每个端口支持不同的交换模式,可以通过配置寄存器Port Control 2 (Reg0x08)的Bit11:10 来实现,提供的Dsdt 接口为: GT_STATUS gvlnSetPortVlanDot1qMode ( IN GT_QD_DEV *dev, IN GT_LPORT port, IN GT_DOT1Q_MODE mode ); 包括4 种模式: Secure 模式:所带VLAN tag 必须存在于VTU 表中,且入端口必须是该VLAN 成员,否则丢弃报文 Check 模式:所带VLAN tag 必须存在于VTU 表中,否则丢弃报文 Fallback 模式:入端口报文不丢弃 802.1Q Disabled:802.1Q 关闭,使用端口VLAN 模式,所有报文透传 前3 种模式都遵循802.1Q 规则,报文进入后按照VLAN 表项进行转发,不同就在于进入的时候条件限制,有的未作限制(Fallback 模式),有的(Secure 模式)要求严格。我们在实现基于802.1Q 的VLAN 时采用第 1 种,Secure 模式。报文进来时先识别所带的VLAN tag。若所带VLAN tag 未存在于VLAN 表项中,或者进来的端口不属于该VLAN tag 的VLAN 成员,报文被丢弃,顺利进入的报文则指定 VLAN tag 的VID 进行转发;若报文中不带VLAN tag,则判断该端口的缺省 VLAN(PVID),当端口未加入缺省 VLAN,报文被丢弃,当端口已经加入缺省 VLAN 时,则指定 PVID 进行转发。 我们在实现基于端口的VLAN 时采用第 4 种,802.1Q Disabled。此时端口不识别报文所带的VLAN tag,被认为是不带VLAN tag 的报文并被加上它的PVID,结合 VLANTable(Port Base VLAN Table)的取值,查找 MAC 表进行转发。 2 端口隔离 端口隔离是比VLAN 表更底层的隔离,它在802.1Q 使能的情况也生效,也就是说配置了隔离的端口即使在同一VLAN 中也不相通。 通过端口隔离特性,用户可以对需要进行控制的端口配置端口隔离功能,实现所有需要隔离端口之间业务数据的隔离,既增强了网络的安全性,也为用户提供了灵活的组网方案。 此功能可以通过配置VLANTable 来实现,寄存器 Port Based Vlan Map(Reg0x08)的BIT10:0。提供的Dsdt 接口为 GT_STATUS gvlnSetPortVlanPorts ( IN GT_QD_DEV *dev, IN GT_LPORT port, IN GT_LPORT memPorts[], IN GT_U8 me...