当前位置:   article > 正文

Marvell车载交换机88Q5050, 88Q5072 VLAN配置(一)------VLAN的基本原理

88q5072

Marvell推出了两款车载用交换机芯片,88Q5050, 88Q5072。其中88Q5050有8 Port用于通信,5072有11 Port用于通信。两者的接口模式有一定的区别,但是VLAN功能差别不大,本系列文章主要讲述这两款交换机芯片的VLAN功能,并且根据5072给出VLAN测试设计,测试步骤跟测试结果。

88Q5072 Switch VLAN的基本概念

  1. 88Q5072只支持两种交换机VLAN划分,一个是只基于端口的(Port-based VLANs),还有一种是基于802.1Q协议的VLAN。两者区别在于前者只能通过物理端口进行switching,即转发。而后者主要基于VLAN ID,也就是VID进行转发,这是一种基于逻辑的转发,这样能突破物理端口的交换限制,甚至能够跳发,甚至发送借用其他的VLAN通道,但是从物理端口发出时能恢复原VID,功能十分强大,当然最后还是要从物理端口把数据分发出来。
  2. 所有进入交换机的二层数据帧(即MAC Frame)都会被增加VLAN tag,增加的位置是在SA(即source mac address)之后,也就是说即使进入交换机前的mac frame没有任何VLAN信息,进入到交换机后,也会打上VLAN tag。所有在交换机内部的mac frame,本质上都是带着VLAN tag进行端口间的数据交换的。
  3. 整个VLAN过程可以分为ingress, VLAN switching 和 egress过程,每个过程都有自己的策略。
  4. mac frame可以进行多次打tag, 即多重tag。在SA之后,多重tag依次排列。
  5. 5072语境下,进入到交换机的帧的类型,从VLAN tag的角度,分为
    1)physically untagged,这种是我们正常理解的untagged数据帧, 即SA之后没有0x8100 VLAN tag标志位。只有SA之后跟着0x8100才可以认为是 physically tagged。
    2) physically tagged,这种就是SA之后带着0x8100 VLAN标志位
    3) logically tagged, 这种就是SA之后带着0x8100 VLAN标志位,并且VID 不等于 0x000
    其关系可以用下图来表示
    在这里插入图片描述

88Q5072的Ingress策略

所谓ingress, 指的是mac frame从交换机外部,包括外部网线设备经过PHY芯片,或者外部SOC经过PCIE/RGMII接口,进入到交换机内部。一般来说,88Q5072的ingress策略有如下几种,下文将分别对这5种策略进行讲解。

  1. Ingress Discard Tagged mac frame
  2. Ingress Discard Untagged mac frame
  3. Ingress Port PVID
  4. Ingress Port Q Mode
  5. Ingress Port Force Default VID

Discard Tagged Frames 和 Discard Untagged Frames

  1. 这里的tagged指的是logically tagged,所以丢掉tagged frames指的是丢掉logically tagged frames,也就是带有VLAN Tag标志位0x8100 并且 VID非零的数据帧。丢掉untagged frames指的是physically untagged(即没有0x8100 VLAN tag) 和 physically tagged 且 VID =0x000的数据帧。
  2. 无论是否 Port的 802.1Q MODE是否打开,都不影响对这两个策略的使用。
  3. 在默认状态下,既不discard tagged frames也不discard untagged frames,故所有的数据帧都会进入到交换机体内。
  4. 这两个策略的打开是通过Port-offset:0x8寄存器的bit9, bit8,来配置。

Ingress Port Q Mode

Ingress Q Mode位于Port-offset:0x8寄存器的bit11, bit10。这两个寄存器为用于关闭Q Mode,或者打开为1,2,3这三种模式。Port 802.1Q mode对于switching的影响我们将在switching策略中进行讨论,目前我们这里只讨论对Ingress策略的影响。

  1. 当Ingress Port Q Mode设置为关闭模式时,系统会认为所有进入到交换机的数据帧都是physically untagged,此时,不论其进入的frame是否真的带了tag,交换机都会为其打上tag,tag的值是Port VID值。这样会引入一个问题,当进入交换机的数据帧本身是带有tagged,可能会再打一次tag,即双重tag。
  2. 当Ingress Port Q Mode设置为打开模式时,无论是那种打开,交换机都会对此端口进入的数据帧,进行tag检测。如果本身是没有tagged,即physically untagged,则将会为它打上tag,其值是pvid的值。如果本身是有tagged,则用此帧本身的VID,不会进行双重tag。

Ingress Port VID

Ingress Port VID即PVID,这个位于Port-offset:0x7寄存器的bit11-bit0。这12位就是用来为进入交换机的帧打tag,其默认值是0x001,当然可以通过寄存器进行配置更改。结合Ingress Port Q Mode可以为数据帧打上各种值。

Ingress Port Force Default VID

Ingress Port Force Default VID,这个位于Port-offset:0x7寄存器的bit12。当Q Mode为disable状态,使能此标志位对带tagged进入的帧没有影响,因为交换机依然认为这种带tagged进入的帧是不带tag的。当Q Mode为1,2,3这三种Enable状态的某一种时,使能此标志位会对进入带tagged帧进行检测,如果tag不匹配PVID值,则进行强制更新帧的VID为PVID。当关闭此标志位时,则不进行强制更新。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/81834
推荐阅读
相关标签
  

闽ICP备14008679号