802.1q vlans
当一个机构或者组织,比如大学,有很多部门,大家都处于一个局域网下。仅仅格局ip段或者路由器,有很大的局限性。这时就提出了vlan,也就是虚拟网络。类似于微信或者qq的分组。是一个逻辑上的网络分组,物理上大家还是在同一个交换机/路由器下。
设置vlan后,可以根据不同vlan之间做隔离,比如有的聊天信息不会发送到另一个vlan组下,有的vlan拥有更高的安全监控等。
vlan的协议也比较简单,在ethernet和ip层之间,额外增加一层。其帧头只有4字节(32位),当然可以多重标记,也就是有多个vlan帧头。
++++++++++++++++++++++++++++++++++++++
| 16 bits | 3 bits | 1 bit | 12 bits |
++++++++++++++++++++++++++++++++++++++
| | TCI |
| TPID |+++++++++++++++++++++++++++
| | PCP | DEI | VID |
TPID Tag Protocol IDentifier 16bits
标明是vlan,与ethernet的type重叠,数值是0x8100。也就是解析ehternet的时候,如果发现下一层type数值是0x8100,就表示是vlan。ethernet自己的type被放到了vlan标签后面。
Tag control information (TCI)
Priority code point (PCP) 3bits
优先级。0最低,依次累加。
Drop eligible indicator (DEI) 1bit
原来是CFI - Canonical Format Indicator,表示mac地址是否是常规格式。现在表示是否可以丢弃。
VLAN identifier (VID)
标明当前网络包属于哪个vlan