1.VLAN(virtual local area network)虚拟局域网,将一个物理的LAN在逻辑上划分多个广播域的通信技术。VLAN内的主机间可以直接通信,而 VLAN间不能直接互通,从而将广播报文限制在一个VLAN内
2.优势:
(1)限制广播域:广播域被限制在一个VLAN中,节省了 宽带,提高了网络处理能力
(2)增强局域网的安全性:不同VLAN内的报文在传输时是互相隔离的
(3)提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN的故障不会影响其他VLAN的正常工作
(4)灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更灵活方便
3.VLAN中的两种链路类型:
(1)接入链路(access link):用于连接用户主机和交换机的链路,主机发送和接收的帧都是untagged帧,发送的数据包里没有VLAN ID信息。
(2)干道链路(Trunk link):用于交换机间的互联或交换机与路由器之间的连接。干道链路可以承载多个不同的VLAN数据,数据帧在干道链路传输时,干道链路的两端设备需要能识别数据帧属于哪个VLAN,所以干道链路上传输的是 Tagged帧,即包含了VLAN ID信息。
4.三种接口类型
(1)Access接口,交换机上用来连接用户主机的接口,只能连接接入链路。仅仅允许唯一的VLAN ID通过本接口,这个VLAN ID与接口的缺省VLAN ID相同,Access接口发往对端设备的以太网帧永远是不带标签的帧
(2)Trunk接口,交换机上用来和其他交换机连接的端口,只能连接干道链路,允许多个VLAN帧同多
(3)Hybrid接口,交换机上既可以连接用户,又可以连接其他交换机的接口。Hybrid接口既可以连接接入链路又可以连接干道链路。Hybrid接口允许多个VLAN的帧通过,并可以在出接口方向将某些VLAN帧的Tag剥掉。
5.缺省VLAN
每种类型的接口都可以配置一个缺省VLAN,对应的VLAN ID为PVID(Port Default VLAN ID)
6.VLAN基本通信原理
为了提高处理效率,交换机内部的数据帧一律都带有VLAN Tag,以统一方式处理。当一个数据帧进入交换机接口时,如果没有带VLAN Tag,且该接口上配置了PVID(Port Default VLAN ID),那么,该数据帧就会被标记上接口的PVID。如果数据帧已经带有VLAN Tag,那么,即使接口已经配置了PVID,交换机不会再给数据帧标记VLAN Tag。
VLAN TAG为12BIT,取值0~4095,0和4095保留,1默认设置,不能创建和删除。
注意:由于设备所有的接口都默认加入VLAN1,因此当网络中存在VLAN1的未知单播、组播或者广播报文时,可能会引起广播风暴,对于不需要加入VLAN 1的接口及时推出VLAN,避免环路。
各类型接口对数据帧的处理方式 |
|||
接口类型 |
对接收不带Tag的报文处理 |
对接收带Tag的报文处理 |
发送帧处理过程 |
Access接口 |
接收该报文,并打上缺省的VLAN ID。 |
|
先剥离帧的PVID Tag,然后再发送。 |
Trunk接口 |
打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。
|
|
|
Hybrid接口 |
打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。
|
|
当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过命令设置发送时是否携带Tag。 |
7.Trunk Link技术
有时属于同一个VLAN用户主机连接在不同的交换机上,当VLAN跨交换机时,需要交换机间的接口能同时识别和发送跨交换机的VLAN报文,这时需要Trunk Link技术。
Trunk Link的两个作用:
中继作用:把VLAN报文透传到互联的交换机
干线作用:一条Trunk Link上可以传输多个VLAN的报文
举例说明:两台客户机A、B处于同一个VLAN 2内,分别连接在两个交换机C、D上,两个交换机C、D直接连接。为了让A、B通讯,C、D对应的接口都要加入VLAN 2。
当A向B发送数据时:
(1)不带Tag的帧先到达A->C的接口,C会给数据帧加上Tag,在VID字段填入该接口所属的编号VLAN2
(2)C会查询自己的MAC地址表中是否存在B的MAC地址,如果存在,C会将数据帧转发给C->D的接口上,如果不存在C会把数据帧发送到本设备的其他所有属于VLAN 2的接口上。
(3)D设备的C->D接口收到数据帧后,会查询自己的MAC地址表是否存在B的MAC地址,如果存在,D将数据帧发送到D->B的接口上,如果不存在,D会把数据帧发送到本设备其他的所有属于VLAN 2的接口上。
(4)接口D->B将数据帧发送到B上。
8.VLAN间通信原理
划分VLAN后,VLAN间不能直接通信,需要采用VLANIF接口才能实现跨VLAN通信
VLANIF接口:三层交换技术,将路由与交换技术合二为一,在交换机内部实现路由,提高网络的整体性能。三层交换机通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表。当同样的数据流再次通过时,将根据此表直接从二层而不是通过三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。
为了保证第一次数据流通过路由表正常转发,路由表中必须有正确的路由表项。因此必须在三层交换机上部署三层接口并部署路由协议,实现三层路由可达,VLANIF接口由此产生。
主机A和C的通信过程如下:
(1)主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网。
(2)主机A发送ARP请求给自己的网关Device,请求网关的MAC地址。
Device收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLANIF2的MAC地址。
(3)主机A学习到网关的MAC地址。
(4)主机A向网关发送目的MAC为VLANIF接口MAC地址、目的IP为主机C的IP地址的报文。
(5)Device收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLANIF3接口进行转发。
(6)Device作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址。
(7)主机C收到网关发送的ARP广播后,对此请求进行ARP应答。
(8)网关收到主机C的应答后,就把主机A的报文发送给主机C。主机A之后要发给C的报文都先发送给网关,由网关做三层转发。
9、VLAN划分
基于端口划分VLAN(静态划分):将端口划入VLAN中,主要方式
基于MAC地址划分(动态划分):根据连接的客户机MAC地址来划分
基于IP子网划分::根据连接的客户机IP地址来划分
基于协议划分:根据连接的客户机IP协议来划分
基于策略划分:基于一定策略进行划分,将MAC、IP、端口同时拉入考核中
1.拓扑图:
2.目标1:PC1 PC3之间互通,划分到VLAN 10;
PC2 PC4 PC5 之间互通,划分到VLAN20;
LSW1命令:
sys
vlan 10 //创建VLAN10,批量创建:比如vlan batch 2 to 100,vlan batch 10 20
quit
vlan 20
int e0/0/1 //进入e0/0/1接口
port link-type access //更改接口为ACCESS类型
port default vlan 10 //将VLAN 10设置为默认VLAN
int e0/0/1
port link-type access
port default vlan 20
dis vlan //查看VLAN配置情况。
int g0/0/1
port link-type trunk //更改接口类型为TRUNK类型
port trunk allow-pass vlan 10 20 //配置允许VLAN 10 和20通过,vlan all这是允许所有vlan通过。注意vlan 1默认就是可以通过的,如果要禁止vlan 1通过,则是undo port trunk allow-pass vlan 1
LSW2上配置与LSW1类似。
交换机配置完成后,PC1 、PC3的IP配置在相同网段,就可以互通,PC2、PC4、PC5的IP配置在相同网段,就可以互通,而VLAN 10和VLAN 20间是无法互通的。
3.目标2:
PC1 PC3之间互通,划分到VLAN 10;
PC2 PC4 之间互通,划分到VLAN20;
PC5 划分到VLAN100;
PC1、PC2可以和PC5通信;
利用hybrid端口完成;
在目标1已经配置完成的基础上进行配置:
LSW1:
vlan 100
int e0/0/1
undo port link-type access //恢复为默认hybird端口类型
port hybrid pvid vlan 10
port hybird untagged vlan 10 100 //允许vlan 10 100通过,同时剥离tag
int e0/0/2
undo port link-type access
port hybrid pvid vlan 20
port hybrid untagged vlan 20 100 //允许vlan 20 100通过,同时剥离tag
int g0/0/1
undo port trunk allow-pass vlan 10 20
undo port link-type trunk
port link-type hybrid
port hybrid tagged vlan 10 20 100 //允许vlan 10 20 100通过,同时不剥离tag
LSW2:
vlan 100
int e/0/0/5
undo port link-type access
port hybrid pvid vlan 100
port hybrid untagged vlan 10 20 100 //允许vlan 10 20 100通过,同时剥离tag
配置PC1\PC2\PC5的IP在同一个网段,PC1、PC2可以ping同PC5,但PC1和PC2不通。
4.目标3:
PC1 PC3 所在网段为10.0.1.0/24,划分到VLAN 10;
PC2 PC4 所在网段为10.0.2.0/24,划分到VLAN20;
PC5 所在网段为10.0.3.0/24,划分到VLAN100;
使用VLANIF让5台电脑互通;
在目标1完成的基础上进行配置:
LSW2:
vlan 100
int g0/0/1
port trunk allow-pass vlan all
int e0/0/5
port default vlan 100
LSW1:
vlan 100
int g0/0/1
port trunk allow-pass vlan all
int vlan10 //进入vlan10接口配置
ip address 10.0.1.254 24 //配置VLAN 10的网关地址
int vlan20
ip address 10.0.2.254 24
int vlan100
ip address 10.0.3.254 24
quit
dis ip routing-table //查看路由表
配置完三层地址后,因为都是配置在LSW1上,生成的直连路由表包含了所有的网段,此时所有PC都可以互通。
5.配置Voice VLAN命令
vlan 3
int g0/0/1
voice-vlan 3 enable
voice-vlan mode auto
quit
voice-vlan mac-address 0011-2200-0000 mask ffff-ff00-0000
dis voice-vlan status
三、其他VLAN相关技术
1.MUX VLAN(华为私有),类比于思科的private vlan
MUX VLAN是一种二层流量隔离机制
MUX VLAN 分为Principal VLAN (主VLAN)和 Subordinate VLAN(从VLAN),从VLAN分为Group VLAN(互通从VLAN) 和 Separate VLAN(隔离型从VLAN)
通信权限
(1)主VLAN端口可以和所有VLAN通信
(2)互通型从VLAN可以和自己vlan间成员通信和主vlan通信
(3)隔离型从VLAN只能和主VLAN通信,自己VLAN的成员也不可通信
所有主机必须在同一子网
端口必须为access模式加入vlan
相关配置命令:
vlan batch 2 3 10
vlan 10
mux-vlan //配置为主vlan
subordinate group 3 //配置MUX VLAN中的互通型VLAN
subordinate separate 2 //配置MUX VLAN中的隔离型VLAN
int g1/0/1
port mux-vlan enable //配置接启用mux-vlan
port link-type access
port default vlan 2
2.ARP Proxy
ARP(Address Resolution Protocol) 用于将IP地址映射到正确的MAC地址。
一个物理网络的子网中的源主机向另一个物理网络的子网中的目的主机发送ARP请求 ,和源主机直连的网关用自己接口的MAC地址代替目的主机回答ARP请求,这个过程称为ARP代理。
ARP Proxy方式 |
解决的问题 |
路由式ARP Proxy |
解决同一网段不同物理网络上计算机的互通问题 |
VLAN内的ARP Proxy |
解决相同VLAN内,且 VLAN配置用户隔离后的网络上计算机互通问题 |
VLAN间的ARP Proxy |
解决不同VLAN之间相应计算机的三层互通问题 |
3.Super VLAN
VLAN聚合,只在super-VLAN接口配置ip地址,而不必为每个sub-VLAN分配地址,所有sub-VLAN共用IP网段,解决了IP地址资源浪费的问题。
配置实例:
拓扑图
在LSW1上部署VLAN聚合,实现PC1和PC2二层隔离、三层互通,同时PC1和PC2同一网段,节省IP地址。LSW1配置命令:
vlan batch 2 3 10
int e0/0/1
port link-type access
port default vlan 2
int 0/0/2
port link-type access
port default vlan 3
vlan 10
aggregate-vlan //设置vlan为super-vlan
access-vlan 2 to 3 //将sub-vlan 2、3加入super-vlan
int vlan 10
ip address 10.0.1.254 24
dis vlan
dis sub-vlan
dis super-vlan
此时,PC1和PC2分别处在VLAN2、3中,二层相互隔离,没有通过网关进行三层转发,要想进行三层互通,需要开启Proxy ARP功能:
int vlan 10
arp-proxy inter-sub-vlan-proxy enable
开启后,PC1和PC2实现正常互通。