vlan 概念
vlan(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。每个vlan是一个广播域,vlan内的主机间可以直接通信,而vlan间则不能直接互通;
vlan 能解决什么样的问题
传统二层交换机问题
- 传统的二层交换机默认所连接的设备属于一个统一vlan(默认vlanId:1),当消息在同一个广播域中广播时,交换机会将报文转发到所有设备,降低网络性能和通信质量;
vlan 特点
- 通过在交换机上划分vlan,可以隔离不同的广播域;
- 不同vlan 的报文传输时相互隔离,保证了局域网的安全性;
vlan划分方式
-
基于接口划分vlan
1.将交换机上的物理接口划分成若干个组,每个组中的接口构成一个虚拟局域网,具有与其他接口组不同的广播域
006.jpg
2.配置:
[Huawei]vlan batch 2 3 (创建2个vlan, vlan2 和vlan3)
[Huawei]interface Ethernet 0/0/1(进入接口1视图下)
[Huawei-Ethernet0/0/1]port link-type access(设置接口的链路类型access)
[Huawei-Ethernet0/0/1]port default vlan 2(给接口绑定vlan)
其他3个接口按照上述步骤进行对应设置
结果:交换机的1和2 接口划分到vlan2, 交换机的3和4 接口划分到vlan3,适用于用户位置确定的场景下;
007.jpg -
基于mac 地址划分vlan
1.当用户对安全和移动性需求较高时,可以使用基于mac地址划分
vlan的方法,即将用户计算机的mac地址与指定的vlan绑定起
来,用户在变换物理位置后不需要重新划分vlan;
006.jpg
2.配置
首先清空每个接口上的配置( [Huawei] clear configuration interface Ethernet xxx)
[Huawei]vlan batch 2 3(创建vlan2,vlan3)
[Huawei]vlan 2 (进入vlan2 视图)
[Huawei-vlan2]mac-vlan mac-address 5489-9850-63E4 (vlan2 包含pc1 mac 地址)
[Huawei]interface Ethernet 0/0/1 (进入接口1视图)
[Huawei-Ethernet0/0/1]port hybrid untagged vlan 2(从接口1向主机转发vlan2数据时去掉tag 标签)
[Huawei-Ethernet0/0/1]mac-vlan enable (接口1下开启mac-vlan 功能)
其他3个接口配置和接口1类似,最终vlan 配置如下:
-
基于协议划分vlan
1.根据每个主机所使用的协议(ipv4,ipv6)不同,来进行分类
2.配置
[Huawei-vlan2]protocol-vlan ipv4 (vlan 2 下使用的是ipv4 协议)
[Huawei-Ethernet0/0/1]port hybrid untagged vlan 2(从接口1向主机转发vlan2数据时去掉tag 标签)
[Huawei-Ethernet0/0/1]protocol-vlan vlan 2 all(关联接口1和协议vlan2)
006.jpg -
基于策略划分vlan
1.在交换机上指定终端的mac地址、ip地址或接口,并与vlan关联,只有符合条件的终端才能加入指定vlan;
2.配置
[Huawei]interface Ethernet 0/0/1
[Huawei-Ethernet0/0/1]port link-type hybrid
[Huawei-Ethernet0/0/1]port hybrid untagged vlan 2
[Huawei-vlan2]policy-vlan mac-address 5489-9850-63E4 ip 192.168.100.1 interface Ethernet 0/0/1
接口2 的配置和上述一样,配置后,查看vlan,将pc1和pc2 划分到同一vlan:
009.jpg -
基于子网划分vlan
1.根据设备所属的不同网段进行划分;
2.配置:
[Huawei]vlan 2
[Huawei-vlan2]ip-subnet-vlan 1 ip 192.168.100.1 24
[Huawei]interface Ethernet 0/0/1
[Huawei-Ethernet0/0/1]port link-type hybrid
[Huawei-Ethernet0/0/1]port hybrid untagged vlan 2
[Huawei-Ethernet0/0/1]ip-subnet-vlan enable
006.jpg
查看vlan配置,将pc1设置在一个vlan 中;
10.jpg
划分vlan 的交换机如何通信
交换机如何识别传输的报文属于哪一个vlan
交换机接口对收到的报文会增加vlan 标签,变为tagged 帧,这里涉及到交换机支持划分vlan 遵守的一个协议-IEEE802.1Q 协议(规范了不同设备vlan的一个实现);
IEEE802.1Q 协议
协议内容
协议规定:通过使用vlan的交换机,在接收到以太网帧后,会自动在帧头中的源mac地址后增加一个4字节的802.1Q标签,用来指明该帧的vlan属性;
802.1Q 数据帧
① 表示报文优先级,占3bit,取值0到7,7为最高;
② 表示规范格式指示符,占1bit,0:应用于以太网,1:应用于Token Ring;
③ 表示vlanId,占12bit,用于表示属于那个vlan,其中,VID=0用于识别帧优先级,4095(FFF)作为预留值,所以有效的vlanId范围为1-4094;
802.1Q 数据帧转发
当交换机接口为报文加上vlan 标签后变为tagged帧,在进行转发时,匹配内部的mac地址表,当同时匹配报文中的目的mac 地址和vlanId后,如果要发送的设备为交换机,那么tagged帧可以直接传输,这样就可以实现了跨交换机的同vlan通信;当发送的设备不支持802.1Q协议的设备时,则需要去掉vlan 标签,变为普通帧,进行转发;
交换机接口如何增加标签和去除标签
- 这里涉及到接口的两个重要属性,PVID 和 VID,并且不同的接口类型对帧的处理不一样;
- PVID(Port VLAN ID):表示接口能够将从外部接收的数据发向哪个vlan;当一个普通帧(untagged帧)进入交换机接口时,会被该接口打上vlan标签,成为tagged帧,并且将接口的PVID值,作为vlan标签中的VID值;
- VID(VLAN ID):表示接口能够从交换机内部接收哪些vlan的数据;交换机内部在转发vlan帧(tagged帧)时,会根据该帧vlan标签中的VID值,检查哪些接口的VID属性值与它相同,如果相同则继续比较该帧头中的目的mac地址与接口的mac表项是否匹配,如果匹配则转发给这个接口;
交换机接口类型
Access接口
- 当一个接口设置成Access类型时,接口的PVID属性值=VID属性值,并且等于该接口所属VLAN的ID值;
- Access类型的接口,只能属于一个VLAN;
- Access接口通常用于连接用户主机;
Access接口对数据帧的处理
- 由于Access 接口通常连接pc, 一般为普通帧,当普通帧进入时,Access接口会给普通帧添加vlan标签,并把自己的PVID值加入到VLAN标签中(VID=PVID),然后在交换机内部进行转发,转发给同vlan的其他接口(哪些接口的VID和tagged帧的VID一样的接口);
- vlan帧从Access接口发出时,Access接口会把帧中的vlan标签去除,然后把一个普通帧发给该Access接口所连接的pc;
Access接口实验
按照接口划分vlan,将pc1和pc2划分到 vlan2中,配置步骤如划分方式下的接口配置,配置完毕后,查看接口1和接口3信息:
PVID = 2
Trunk接口
- 当需要在交换机之间,传递vlan帧时,就需要用到Trunk接口;
- 虽然Trunk接口可以属于多个vlan(即接口的VID属性值可以是多个),但Trunk接口PVID值只能有一个,且必须是VID属性值当中的一个
Trunk接口对数据帧的处理
- vlan帧进入Trunk接口时,Trunk接口收到vlan帧(Tagged帧),若帧头vlan标签中的VID值,在允许通过之列,则保留vlan标签并将其转发到本交换机上相同vlan里的接口;若帧头vlan标签中的VID值,不在允许通过之列,则直接丢弃;
- vlan帧从Trunk接口发出时,对于帧VID=Trunk口PVID值的vlan帧,去掉vlan标签再发送出去,对于帧VID≠Trunk口PVID值的vlan帧,直接发送出去并保留vlan标签;由于Trunk口PVID值通常保持默认值1,因此vlan帧从Trunk接口发出时,通常不去掉标签;
Trunk接口实验
配置:
LSW1:
[Huawei-Ethernet0/0/3]port link-type trunk
[Huawei-Ethernet0/0/3]port trunk allow-pass vlan 2 3
[Huawei]int Ethernet 0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 2
LSW2:
[Huawei-Ethernet0/0/3]port link-type trunk
[Huawei-Ethernet0/0/3]port trunk allow-pass vlan 2
[Huawei]int Ethernet 0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 2
pc1 ping pc6:
Hybrid接口
- Hybrid类型的接口既可以用来连接用户主机也可以用来连接其它交换机设备
和Trunk接口相同点
- Hybrid接口允许多个vlan的帧通过,即它的接口VID属性值可以是多个;
- Hybrid接口的PVID值只能是一个,缺省是1,可以手工更改;
- Hybrid接口在接收数据时,处理方法也和Trunk接口一样,对于tagged帧,在允许之列的,接收,并保留标签;对于untagged帧,接收,加上vlan标签,且帧中VID=接口PVID;
和Trunk接口不同点
- Hybrid接口在发出数据帧时,可以设置成允许tagged帧不去掉vlan标签直接发送出去;
- Hybrid接口在发出数据帧时,也可以设置成将tagged帧去掉vlan标签变为普通帧后,再发送出去(这一点与Trunk接口不同,Trunk接口只允许缺省VLAN的数据帧,即PVID=VID的帧发出时不打标签);
Hybrid接口实验
配置:
LSW1:
[Huawei]int Ethernet 0/0/1
[Huawei-Ethernet0/0/1]port link-type hybrid (接口1为hybrid类型)
[Huawei-Ethernet0/0/1]port hybrid pvid vlan 2(设置接口1的pvid为2)
[Huawei-Ethernet0/0/1]port hybrid tagged vlan 2(接口1接收报文时,打上tagged 标签,VID=2)
[Huawei]int Ethernet 0/0/3
[Huawei-Ethernet0/0/3]port link-type hybrid (接口3为hybrid类型)
[Huawei-Ethernet0/0/3]port hybrid tagged vlan 2(接口3加入vlan2)
[Huawei-Ethernet0/0/3]port hybrid tagged vlan 3(接口3加入vlan3)
LSW2:
[Huawei]int Ethernet 0/0/3
[Huawei-Ethernet0/0/3]port link-type hybrid (接口3为hybrid类型)
[Huawei-Ethernet0/0/3]port hybrid tagged vlan 2(接口3加入vlan2)
[Huawei-Ethernet0/0/3]port hybrid tagged vlan 3(接口3加入vlan3)
[Huawei]int Ethernet 0/0/1
[Huawei-Ethernet0/0/1]port link-type hybrid (接口1为hybrid类型)
[Huawei-Ethernet0/0/1]port hybrid untagged vlan 2(接口1转发vlan2 报文时,去掉标签)
验证pc1ping pc6:
当修改交换机1接口3,只加入vlan3:
[Huawei]clear configuration interface Ethernet 0/0/3(清除接口3配置)
[Huawei-Ethernet0/0/3]port hybrid tagged vlan 3(接口3加入vlan3)
交换机接口1收到普通数据帧打上tagged标签(VID=2),其他接口因没有匹配VID=2,直接丢弃报文;