为了实现对广播域的隔离,LAN的缺点由VLAN来解决。
一、VLAN的概念
VLAN(VLAN-Virtual Local Area Network),称为虚拟局域网,是将一组位于相同物理网段上的工作站和服务器从逻辑上划分为不同的逻辑网段。
在功能和操作上与传统LAN基本相同。
二、VLAN的优点
(1)、限制了网络中的广播
广播流量仅仅在VLAN内被复制,而不是整个交换机。
(2)、虚拟工作组
企业级的 VLAN 建成之后,某一部门或分支机构的职员可以在虚拟工作组模式下共享同一个“局域网”
(3)安全性
其 他 VLAN 的用户的网络上是收不到任何该 VLAN 的数据帧,从而就确保了该 VLAN 的 信息不会被其他 VLAN 的人窃听,从而实现了信息的保密
( 4 )减少移动和改变的代价
三、VLAN的划分
1、根据端口
利用交换机的端口来划分 VLAN 成员
2、根据MAC地址划分
3、根据网络层划分
根据每个主机的网络层地址或协议类型,比如IP地址(此种方法不需要附加帧标签来识别VLAN)。
(缺点:效率不高,检查每一个数据帧的网络层地址是很费时的,一般交换机芯片可以自动检查网络上数据帧的以太网帧头
但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。)
4、IP组播作为VLAN
即认为一个组播组就是一个VLAN
5、基于组合策略划分
目前很少采用这种 VLAN 划分方式
四、VLAN的标准
两种标准:802.10VLAN标准,802.1Q标准。
802.1QVLAN帧格式(在原来以太网帧的源MAC地址之后加入4个字节的VLAN TAG Header)
TPID + TCI
TPID(Tag Protocol Identifier):表明这是一个加了802.1Q标签的帧,TPID包含一个固定帧0x8100.
TCI(Tag Control Information): 用户优先级(User Priority) + 规范格式指示器(Canonical Format Indicator) + VLAN ID。
(1)、User Priority:3-bit,定义用户优先级,最高为7.缺省值为0.
(2)、CFI:1-bit,0,规范格式;1,非规范格式。
(3)、VID:12-bit,VLAN ID是对VLAN的识别字段。支持4096(2^12)VLAN识别。VID=0用于识别帧优先级,4095作为预留值。
有效的VLAN ID范围为1—4094.
五、VLAN的端口模式
VLAN端口模式主要是指在输入输出端口对VLAN数据帧的处理。分为三种:
访问端口(Access Port)
汇聚端口(Trunk Port )
混合端口(Hybrid Port)
相关概念:
PVID:Port VLAN ID,指端口的缺省VLAN ID。
Hybrid端口和Trunk端口属于多个VLAN,需要设置缺省VLAN ID。两者的缺省VLAN为VLAN 1.
PVID主要两个作用:
(1)、对于接收到的Untag包则添加本端口的PVID再进行转发;
(2)、接收过滤作用,比如只接收等于PVID的VLAN Tag包。
VLAN ID:VLAN TAG包的VLAN ID号。
UNTAG包:指不携带802.1Q信息的普通以太网包。
TAG包:指携带4字节802.1Q信息的VLAN以太网包。
Priority Tag包:指VLAN ID为0,优先级为0-7的以太网包。
1、Access端口
即用户接入端口,该类型只属于一个VLAN,一般用于连接计算机端口。
2、Trunk端口
可以属于多个VLAN,一般用于交换机之间或交换机与路由器之间连接的端口。
3、Hubrid端口
即混合端口模式,可用于交换机之间,交换机与路由,交换机与用户计算机。
总结:
Hybrid端口和Trunk端口不同:
Hybrid端口可以允许多个VLANN的报文发送时不打标签;
Trunk端口只允许缺省VLAN的报文不打标签。
Access端口只属于1个VLAN,缺省值就是所在VLAN,不用设置。
Hybrid和Trunk属于多个VLAN,需要设置缺省VLAN ID。缺省情况下,两者端口都为VLAN1.
六、支持VLAN端口模式
支持VLAN的二层转发与普通转发流程最大区别是:转发过程中要根据MAC地址查找端口外,还需要判断VLAN ID的信息。
交换芯片两种地址学习方式: IVL(Independent VLAN learning)和 SVL(Shared VLAN Learning)。
1、IVL方式:每个VLAN都有自己的对应的MAC地址表,相互之间没有影响。一个MAC地址可以被学习到不同的VLAN中。
IVL地址学习方式:
(1)、根据帧内Tag Header的VLAN ID查找L2FDB表,确定查找范围;
(2)、根据目的MAC查找出端口。
2、SVL方式:一个地址表项对所有的VLAN都通用,表中的MAC用户不能重复。
SVL地址学习方式:
(1)、根据帧的目的MAC查MAC转发表(即L2FDB),查找出端口
(2)、判断出端口的VLAN ID和报文Tag Header内的VLAN ID是否匹配,匹配则转发,不匹配则丢弃。
L2FDB表中的MAC地址通过老化机制来更新。