交换机基础
交换机工作在数据链路层,对数据帧进行操作。在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行相应动作。
一、VLAN
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。
VLAN数据帧
IEEE 802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。VLAN数据帧又被称为802.1Q帧。
VLAN数据帧的帧格式如下图所示
- TPID (标签协议标识符): 长度为2字节,取值为0x8100,用来表示这个数据帧携带了802.10标签。不支持802.10标准的设备在收到这样的数据帧后,会把它丢弃;
- TCI (标签控制信息): 长度为2字节,又细分为以下3个子字段,用来表示数据帧的控制信息
- 优先级(Priority): 长度为3比特,取值范围 [0:7],用来表示数据帧的优先级。优先级取值越大,数据帧的优先级越高。当交换机发生拥塞时,它会优先处理优先级高的数据帧;
- CFI (规范格式指示器): 长度为1比特,取值非0即1。CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。此位在有些地方也以DEI位相称。
- VLAN ID (VLAN标识符): 长度为12比特, VLAN ID的作用顾名思义,这个字段的数值即为VLAN标签的数值。取值范围 [0:4095],由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是 [1:4094]。
缺省VLAN
缺省VLAN又称PVID(Port Default VLAN ID),指某一Pot默认的VID。交换机处理的数据帧都带Tag,当交换机某个Port收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由该Port的缺省VLAN,即决定该Port默认的VID决定。
当不进行交换机的VLAN配置时,默认交换机内部配置VID为1的VLAN,此VLAN包括交换机所有Port,所以交换机每个Port的缺省VLAN一般默认都为1,且默认无论收到的数据帧是否为带VLAN的数据帧,都使用Port的缺省VLAN。
Port的缺省VLAN以及对于输入Port的带VLAN标签的数据帧的处理,是优先使用原VLAN还是该Port的缺省VLAN。这些都是可以配置的。在市面上的成品交换机中通常将交换机的端口分为access和trunk两种类型的端口,用配置是否优先使用端口的缺省VLAN对数据帧进行处理。但在进行Switch芯片驱动程序的编写时并不需要区分这些概念,因为这种端口的分类只是对端口VLAN配置的组合。
二、端口隔离
端口隔离顾名思义,就是将两端口隔离开。如配置交换机的端口隔离功能,Port1隔离Port2,则Port1收到的数据不再向Port2进行转发,但Port2收到的数据确不受影响,仍可以转发到Port1。若同样想让Port2收到的数据不再向Port1转发,则配置Port2隔离Port1即可实现。
端口隔离的优先级要高于VLAN,即使Port1与Port2属于同一VLAN,但只要配置了Port1隔离Port2&#