考虑的设备类型
交换机 路由器 主机
帧格式 VLAN TAG的格式 |---------------------------------------------------------------------------------| | PRI(3bits) | CFI(1bit) | TAG(12bits) | Ether-Type(2bytes) | DATA | |---------------------------------------------------------------------------------| PRI:帧优先级,就是通常所说的802.1p。 CFI:规范标识位,0为规范格式,用于802.3或EthII。 TAG:就是我们通常说的VLAN ID Ether-Type:标识紧随其后的数据类型。 三种设备和VLAN的关系 路由器会终结掉报文的VLAN信息的 VLAN技术就是主要针对于交换机提出的,所以,在讨论VLAN概念时都是立足于交换机来讨论 在通常情况下,PC只支持收发UNTAG的数据帧,所以,连接PC的端口只需要加入一个VLAN,而且,在该VLAN中的属性为UNTAG vlan/tag/port 只能在一个VLAN中的属性是UNTAG的,在其他的VLAN中都是TAG的。 所有能感知VLAN的交换机,报文在交换机内部转发过程中都是带Tag的 如果没有进行配置,默认所有的端口都处于Access模式 Tag Vlan和Untag Vlan主要是用于报文发送的处理 接收和发送的处理总结 交换机收发数据帧的处理总结 分几种情况讨论交换机的接收和发送处理:接收端口和发送端口在VLAN中属性;收到的数据帧是TAG的还是UNTAG的。 1). 端口接收到数据帧 a). 如果是TAG的数据帧,检查该接收端口是否在该VLAN(数据帧中所携带的VLAN TAG)中 - 接收端口在该VLAN中,则在该VLAN中根据交换原理(即,'源MAC学习,目的MAC转发'的原理)交换该数据包 - 接收端口不在该VLAN中,丢弃该数据帧 b). 如果是UNTAG的数据帧,检查该接收端口是否在某个VLAN中的属性是UNTAG - 接收端口在某个VLAN中的属性是UNTAG的,则在该VLAN中根据交换原理交换该数据包 - 接收端口在任何VLAN中的属性都不是UNTAG的,丢弃该数据包 注:根据这个原理可知,一个端口最多在一个VLAN中的属性是UNTAG的,否则,收到一个UNTAG的数据帧之后,就无法确定在哪个VLAN中进行交换。其实,端口UNTAG所在的VLAN,2). 端口发送数据帧 a).检查该端口在该VLAN(就是交换该数据帧的VLAN)中的属性 - 该端口在该VLAN种的属性是TAG的,发送的数据帧为TAG的数据帧 - 该端口在该VLAN种的属性是UNTAG的,发送的数据帧为UNTAG的数据帧 注:由于数据已经被交换到该端口,说明该端口肯定在该VLAN里。 ---------------------------------------------------------------------------------------------------------------------------------------------- 延伸阅读 802.1q Ether-Type(0x8100