考虑的设备类型
交换机
路由器
主机
帧格式
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 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技术就是主要针对于交换机提出的,所以,在讨论VLAN概念时都是立足于交换机来讨论
在通常情况下,PC只支持收发UNTAG的数据帧,所以,连接PC的端口只需要加入一个VLAN,而且,在该VLAN中的属性为UNTAG
vlan/tag/port
只能在一个VLAN中的属性是UNTAG的,在其他的VLAN中都是TAG的。
只能在一个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里。
分几种情况讨论交换机的接收和发送处理:接收端口和发送端口在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
Ether-Type(0x8100