6.VLAN原理与配置
以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。 在这种情况下出现了VLAN (Virtual Local Area Network)技术解决以上问题。
6.1.1 VLAN的功能
为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术。本节视频重点讲解VLAN有哪些功能。
相较于共享式以太网,交换机以太网虽然能隔离冲突域,解决共享信道的问题,但是他无法隔离广播域,广播帧会在局域网内泛滥,占用资源。VLAN技术就是为了解决这个问题。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
6.2.1 VLAN的基本概念
不同VLAN内的报文在传输时相互隔离,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。那么交换机如何识别接收到的数据帧属于哪个VLAN的呢?
概念: VLAN标签 (VLAN Tag)
封装时打上VLAN标签,用于告诉交换机这个数据帧属于哪个VLAN
下面就是添加VLAN标签后的以太网帧,其中各个字段的具体解释如下:
字段 | 长度 | 含义 | 取值 |
---|---|---|---|
TPID | 2Byte | Tag Protocol Identifier(标签协议标识符),表示数据帧类型。 | 表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。 |
PRI | 3bit | Priority,表示数据帧的802.1Q优先级。 | 取值范围为0~7,值越大优先级越高。当网络阻塞时,设备优先发送优先级高的数据帧。 |
CFI | 1bit | Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。 | CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。 |
VID | 12bit | VLAN ID,表示该数据帧所属VLAN的编号。 | VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。 |
PC本身是无法打标签的,打标签的操作是在PC将数据发送到交换机后交换机完成的。
同样PC也无法处理带有标签的数据帧,数据帧达到目的主机前交换机会去掉标签。
6.2.2 VLAN划分方式
计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。那么整个网络是如何划分VLAN的呢?
-
基于端口的划分 :规定从某个端口发送来的数据属于某个VLAN
PVID : 接口缺省的VLAN ID,也可理解为接口默认VLAN ID
缺点 : 主机移动,需要重新配置VLAN
-
基于MAC地址的划分 : 规定从某个MAC地址发来的数据属于某个VLAN
通过MAC地址与VLAN映射表知道每个MAC地址属于那个VLAN
-
基于IP子网划分
-
基于协议划分 例如IPv4和IPv6
-
基于策略
不同的交换机(例如连接主机的交换机,和连接交换机的交换机)处理数据的操作是不一样的,所以我们对交换机的接口进行了划分:
-
Access 接口
接收帧: 如果帧没有带VLAN标签,则给帧打上VLAN标签且接收。如果帧已经有标签了,则判断该VLAN ID是否等于接口的PVID , 如果等于,则接收,如果不等于,则不接收。
发送帧: 判断帧的VLAN ID是否与发送端口的PVID相等,如果相等,则去掉标签然后发送出去。如果不相等,则不会发送出去。
Access接口常用于直接连接主机
-
Trunk接口
接收帧 : 如果帧没有带VLAN标签,则给帧打上VLAN标签然后判断该VLAN允不允许通过。如果帧已经有标签了,直接判断该VLAN允不允许通过。允许通过的VLAN是可以自己配置的。
发送帧 : 首先判断该交换机允不允许该VLAN离开,不允许离开则不能离开,允许离开再来判断该VLAN ID是否和我发送端口的PVID相同,如果相同,去掉VLAN标签后发送,不相同,带着VLAN标签发送。
-
Hybrid接口
相当于前两个接口的结合。接收帧和Trunk接口一样。发送时不一样,他有一个Tagged VLAN ID列表和UnTagged VLAN ID 列表,如果你的VLAN ID属于Tagged VLAN ID列表,则带标签发送出去,如果你的VLAN ID属于UnTagged VLAN ID 列表,则脱掉标签后发送出去。
6.4.1 VLAN的配置
-
VLAN基础配置
- 创建VLAN
在系统试图下使用命令vlan vlan-id创建VLAN vlan-id是整数 取值范围1~4094
批量创建 vlan batch {vlan-id1 [to vlan-id2]}
-
Access接口的基础配置命令
-
配置接口类型
在接口视图下使用命令 port link-type access 来配置接口的链路类型为access
使用 interface interface-id进入接口视图
-
配置access接口的缺省VLAN
在接口视图下使用命令 port default vlan vlan-id 配置端口的缺省VLAN并同时加入这个VLAN
默认PVID = 1
-
-
Trunk接口的基础配置命令
-
配置接口类型 和前面类似
-
配置Trunk接口加入指定VLAN
在接口视图下使用命令 port trunk allow-pass vlan {vlan-id1 [to vlan-id2] | all}
-
(可选)配置Trunk接口的缺省VLAN
在接口视图下使用命令 port trunk pvid vlan vlan-id配置Trunk类型的缺省VLAN
-
-
Hybrid接口的基础配置命令
-
配置接口类型 和前面类似
-
配置Hybrid接口加入指定VLAN
在接口视图下使用命令 port hybrid untagged vlan{vlan-id1 [to vlan-id2] | all} 和
port hybrid untagged vlan{vlan-id1 [to vlan-id2] | all}来加入指定VLAN
同一个VLAN不能同时加入tagged 和 untagged
-
(可选) 配置接口的缺省VLAN
port hybrid pvid vlan vlan-id
-
-
关联MAC地址与VLAN
在VLAN视图下使用命令
mac-vlan mac-address mac-address[mac-address-mask | mac -adderss - mask-length]配置MAC地址与VLAN关联。
mac-adderss:指定与VLAN关联的MAC地址,格式为H-H-H,其中H为4位的16进制数,当输出不足4位是默认前面几位为0,mac地址不可设置为0000-0000-0000,FFFF-FFFF-FFFF,和组播地址。
mac-address-mask : MAC地址掩码 格式为H-H-H H为1至4位的16进制数
mac -adderss - mask-length : MAC地址掩码长度。
-
使能MAC地址与VLAN
在接口视图下使用命令mac-vlan enable开启接口的MAC VLAN功能
使用MAC地址