VLAN:
什么是VLAN呢:
VLAN(Virtual Local Area Network):是虚拟局域网的缩写,本质上和局域网有差别,VLAN只是一种技术,它是一种能够将物理局域网从逻辑上划分为多个网段的技术,每一个VLAN都是一个小型局域网,在同一个局域网里面,通过传统的以太网交换技术实现通信,而不受物理位置的约束,不同VLAN(不同局域网)的设备之间的通信二层隔离,必须通过具备三层功能的设备(三层交换机或路由器)来实现三层互通
划分VLAN有什么作用呢:
(1)有效的控制广播报文,传统方式下,在一个局域网里面,如果主机数量过多的话,容易造成广播泛滥,带宽和主机资源浪费严重;有了VLAN之后,把一个大型的局域网或分成多个小型的局域网,从而来减少每个局域网里面的广播报文,从而有效地节省了带宽和系统处理开销.图1-1显示一个局域网划分VLAN前后的对比
划分VLAN前广播域的大小,现网中影响可能更大
划分VLAN后广播域分成了2个,减小了广播范围
(2)增强了局域网的安全性,传统方式下同属于一个广播域范围的终端设备,当一台终端设备被非法人员***或中了病毒,影响范围是整个广播域乃至更大,使用VLAN可以讲交换机下面的连接的不同业务技术部门的主机进行隔离,使广播方法泛洪的病毒被限制在一个VLAN内容,有一定的安全程度
(3)提高网络的灵活性:可以将位于不同位置的设备划分到一个VLAN(虚拟工作组),使网络构建后期维护更加方便
(4)增强了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响到其他VLAN的正常工作
VLAN原理
一个交换机可以拥有多个VLAN(比如华为Sx7系列交换机最多可以有4096个VLAN).当交换机收到数据帧时需要分辨出这是哪个VLAN的数据帧,以便做出相应的转发决定,所以我们需要在数据帧中添加VLAN标识的信息
VLAN标识采用的是IEEE802.1Q的正式标准,该标准是在传统以太网数据数的基础之上定义的,在源MAC地址字段和协议类型字段之间增加了4个字节的802.1QTag,其中,数据帧里面的VID字段用来标识该数据帧属于哪个VLAN
VLAN标识中的字段解释如下:
TPID(tag protocol identifier):标签协议标识符,该字段长度为2个字节,用来表示数据帧的类型的,华为系列交换机中取值规定为0x8100,表示该帧是带802.1Q标签的数据,如果不支持802.1Q的设备收到这样的帧,会将其丢弃,不同设备制作厂商自行定义该值,当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备TPID值配置一致
PRI(Priority):用来表示数据帧的802.1p的优先级,该字段长度为3bit,取值范围为0-7,值越大优先级越高.当网络发生拥塞时,交换机优先发送优先级高的数据帧
VID(VIAN ID):长度为12的bit,表示该数据帧所属于的VLAN,VLAN ID的取值范围是0~4095,由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094
交换机利用VLAN标签中的VID来标识数据帧所属的VLAN,广播帧只在同一个VLAN内转发,这就将广播域限制在一个VLAN内
VLAN接口类型
为了能够适应不同的网络场景和需求,华为交换机定义了三种接口类型,分别是Access接口、Trunk接口和Hybrid接口,这三种接口连接的设备对收发数据帧的处理都不同
以太网帧主要有两种形式:
有标记帧(Tagged帧):加入了4字节VLAN标签的帧
无标记帧(Untagged帧):原始的没有加入4字节VLAN标签的帧
常见设备中:
用户主机、服务器、早期的HUB、傻瓜交换机只能收发untagged帧
交换机、路由器(随着VMware等虚拟化技术的不断应用,支持虚拟化技术的网卡需要支持带VLAN标签的数据帧)既能收发Tagged帧,也能收到Untagged帧
1.Access接口
Access接口一般用于连接不支持802.1Q标签的主机和其他非交换设备(比如防火墙,服务器等),连接的链路类型为接入链路,只能属于某一个VLAN,并且发送的数据帧不带标签
Access端口报文处理
(2)Trunk端口
Trunk接口一般用来连接交换机,对应的链路类型为Trunk->干道链路,可以同时承载多个VLAN的数据,数据帧在通过Trunk链路传输时会被打上标签,但是接口缺省VLAN的数据帧通过Trunk链路时不带标签
Trunk端口报文处理过程
(3)Hybrid端口
Hybrid端口既可以用于连接不支持802.1Q标签的设备(如终端,hub等),也可以用于连接交换机、路由器等.它可以允许多个VLAN的帧以带标签的方法通过,也可以允许多个VLAN的帧不带标签的方法通过,对应的链路可以是接入链路也可以是赶到连路
Hybrid端口报文处理
划分VLAN的方法
划分方法 | 原理 | 优缺点 |
---|---|---|
基于接口划分VLAN | 根据以太网交换机的端口编号来划分VLAN.当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口缺省VLAN的标签 | 划分VLAN的方法比较简单,接口的配置也比较固定,网络运维和管理很方便,缺点是当更换设备后需要在新的设备上重新配置端口,移动性不是很好 |
基于MAC地址划分VLAN | 根据设备的MAC地址来划分VLAN,需要预先配置好MAC地址和VLAN的对应关系,当交换机收到一个不带VLAN标签的数据帧时,根据该数据帧的源MAC地址查找源MAC地址和VLAN的映射表,找到对应的VLAN,然后为该数据帧打上相应的VLAN的标签,进一步处理 | 当设备在不同物理位置移动时(比如设备从交换机当前接口移动到其他接口,或移动到其他交换机),不需要从新配置VLAN.缺点是在网络初始化配置时,需要收集所有用户的MAC地址,工作量随用户数量的增加而增加,另外,网络中使用移动设备的用户越来越多,他们不停的更好移动设备导致MAC地址不断变化,从而需要频繁地更新VLAN的配置 |
基于子网划分VLAN | 根据数据帧中的源ip地址和子网掩码来划分VLAN,交换机需要能够检查到数据帧中的网络层信息,根据ip地址和VLAN的对应关系表来划分VLAN,当交换机收到的是不带标签的数据帧,就依据该表给数据帧添加指定VLAN的标签 | 当用户设备的物理位置发生变化,只要不改变ip地址,就不需要重新划分VLAN,减轻配置的任务,方便管理,缺点是:当用户数量大,而且用户的位置分布没有规律时,ip地址和VLAN间映射关系的规划和配置比较麻烦,另外,因为这种方式,需要交换机检查每一个数据包的网络层地址,所以需要消耗一定的处理时间和系统资源开销,如果用户流量过大,会导致交换机性能下降 |
基于协议划分VLAN | 根据数据帧所属于的协议(族)类型及封装格式来划分VLAN,交换机根据以太网数据帧头中的类型字段来辨别该数据的类型,比如以太网类型值为0x0800,那么这是个ipv4报文,以太网类型值是0x0806的是ARP报文,需要预先配置好协议类型和VLAN的映射表,交换机如果收到的是不带标签的帧,就依据该表给数据添加指定VLAN的标签 | 方便对于各种业务或控制流量的区分和管理,但是需要对网络中所有的协议类型和VLANID的映射关系表进行初始化配置,需要分析各种协议的格式并进行相应的转换,从而消耗交换机较多的资源,转发效率上稍具劣势 |
基于策略划分VLAN | 根据多种划分VLAN的方式的组合而产生的,这里的策略主要包括"基于MAC地址+ip地址"组合策略和"基于MAC地址+IP地址+端口"两种组合策略,在交换机上绑定终端的MAC地址和IP地址或接口,并与VLAN关联,只有符合条件的终端才能加入指定VLAN,网络管理员需要预先配置策略,如果收到的是不带标签的帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签 | 对于安全程度要求较高的网络中,应用这种VLAN的划分,可以防止用户擅自修改设备的地址,导致管理难度加大,当用户数量较多时,配置比较复杂 |
实验部分
基于接口划分VLAN
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 10 20
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type access
[Switch-GigabitEthernet0/0/1] port default vlan 10
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type access
[Switch-GigabitEthernet0/0/2] port default vlan 20
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 10
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type hybrid
[Switch-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type hybrid
[Switch-GigabitEthernet0/0/2] port hybrid untagged vlan 10
[Switch-GigabitEthernet0/0/2] quit
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type hybrid
[Switch-GigabitEthernet0/0/3] port hybrid untagged vlan 10
[Switch-GigabitEthernet0/0/3] quit
[Switch] interface gigabitethernet 0/0/4
[Switch-GigabitEthernet0/0/4] port link-type hybrid
[Switch-GigabitEthernet0/0/4] port hybrid untagged vlan 10
[Switch-GigabitEthernet0/0/4] quit
[Switch] vlan 10
[Switch-vlan10] mac-vlan mac-address 22-22-22
[Switch-vlan10] mac-vlan mac-address 33-33-33
[Switch-vlan10] mac-vlan mac-address 44-44-44
[Switch-vlan10] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] mac-vlan enable
[Switch-GigabitEthernet0/0/2] quit
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] mac-vlan enable
[Switch-GigabitEthernet0/0/3] quit
[Switch] interface gigabitethernet 0/0/4
[Switch-GigabitEthernet0/0/4] mac-vlan enable
[Switch-GigabitEthernet0/0/4] quit
其他相关实验,有兴趣可以添加博主wx:S1806625270
原文地址:https://blog.51cto.com/14760968/2486851