8.2 VLAN的基本原理
交换机内部处理的数据帧都带有VLAN标签。而交换机连接的部分设备(如用户主机、服务器)只会收发不带VLAN tag的传统以太网数据帧。因此,要与这些设备交互,就需要交换机的接口能够识别传统以太网数据帧,并在收发时给帧添加、剥除VLAN标签。添加什么VLAN标签,由接口上的缺省VLAN(Port Default VLAN ID,PVID)决定。
8.2.1VLAN标签
如图8-3所示,Switch1与Switch2同属一个企业,该企业统一规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。A、B部门的员工在Switch1和Switch2上都有接入。
8-3 同VLAN跨设备传输数据图1
PC1发出的数据经过Switch1和Switch2之间的链路到达了Switch2。如果不加处理,后者无法判断该数据所属的VLAN,也不知道应该将这个数据输出到本地哪个VLAN中。Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据”标记”手段,以便对不同VLAN的数据帧进行区分,如图8-4所示:
8-4 同VLAN跨设备传输数据图2
要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。如图8-5所示。
图8-5 VLAN数据帧
VLAN标签各字段含义如下:
- TPID:表示数据帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
- PRI:表示数据帧的优先级,用于QoS。
- CFI:在以太网中,CFI的值为0。
- VID:表示该数据帧所属VLAN的编号。VLAN ID取值范围是0~4095。
8.2.2VLAN的划分方式
计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。
VLAN的划分包括如下5种方法:
- 基于接口划分:根据交换机的接口来划分VLAN。
- 基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。
- 基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。
- 基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。
- 基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。
表7-1列出了它的原理、优缺点和适用场景,读者可以根据场景的需要选择合适的方法。
表7-1 VLAN的划分方式
划分方式 | 原理 | 优缺点 | 适用场景 |
基于接口 | 根据交换机的接口来划分VLAN。 网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag。然后数据帧将在指定PVID中传输。 | 优点:定义成员简单。 缺点:成员移动需重新配置VLAN。 | 适用于任何大小但位置比较固定的网络。 |
基于接口 | 根据数据帧的源MAC地址来划分VLAN。 网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的Tag。然后数据帧将在指定VLAN中传输。 | 优点:当用户的物理位置发生改变,不需要重新配置VLAN,提高了用户的安全性和接入的灵活性。 缺点:需要预先定义网络中所有成员。 | 适用于位置经常移动但网卡不经常更换的小型网络,如移动PC。 |
基于接口 | 根据数据帧中的源IP地址和子网掩码来划分VLAN。 网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的Tag。然后数据帧将在指定VLAN中传输。 | 优点:当用户的物理位置发生改变,不需要重新配置VLAN。可以减少网络通信量,可使广播域跨越多个交换机。 缺点:网络中的用户分布需要有规律,且多个用户在同一个网段 | 适用于对安全需求不高、对移动性和简易管理需求较高的场景中。比如,一台PC配置多个IP地址分别访问不同网段的服务器,以及PC切换IP地址后要求VLAN自动切换等场景。 |
基于接口 | 根据数据帧所属的协议(族)类型及封装格式来划分VLAN。 网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的Tag。然后数据帧将在指定VLAN中传输。 | 优点:将网络中提供的服务类型与VLAN相绑定,方便管理和维护。 缺点:要对网络中所有的协议类型和VLAN ID的映射关系表进行初始配置。需要分析各种协议的格式并进行相应的转换,消耗交换机较多的资源,速度上稍具劣势。 | 适用于需要同时运行多协议的网络。 |
基于匹配策略 | 根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。 网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的Tag。然后数据帧将在指定VLAN中传输。 | 优点:安全性高,VLAN划分后,用户不能改变IP地址或MAC地址。网络管理人员可根据自己的管理模式或需求选择划分方式。 缺点:针对每一条策略都需要手工配置。 | 适用于需求比较复杂的环境。 |
8.2.3VLAN的接口链路类型
交换机内部处理的数据帧一律都带有VLAN标签,而现网中交换机连接的设备有些只会收发Untagged帧,要与这些设备交互,就需要接口能够识别Untagged帧并在收发时给帧添加、剥除VLAN标签。同时,现网中属于同一个VLAN的用户可能会被连接在不同的交换机上,且跨越交换机的VLAN可能不止一个,如果需要用户间的互通,就需要交换机间的接口能够同时识别和发送多个VLAN的数据帧。根据接口连接对象以及对收发数据帧处理的不同,华为定义了4种接口的链路类型:Access、Trunk、Hybrid和QinQ,以适应不同的连接和组网。其中Access接口、Trunk接口和Hybrid接口如图8-6所示。
图8-6链路类型和接口类型示意图
- Access接口
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。交换机内部只处理Tagged帧,所以Access接口需要给收到的数据帧添加VLAN Tag,也就必须配置缺省VLAN。配置缺省VLAN后,该Access接口也就加入了该VLAN。当Access接口收到带有Tag的帧,并且帧中VID与PVID相同时,Access接口也能接收并处理该帧。为了防止用户私自更改接口用途,接入其他交换设备,可以配置接口丢弃入方向带Tag的报文。
- Trunk接口
Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
- Hybrid接口
Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub、傻瓜交换机),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。
本文出自作者的《HCIA Datacom学习指南》
https://item.jd.com/14032255.html
在文章最后加作者VX:可以免费领取以下资料