VLAN(Virtual Local Area Network,虚拟局域网)技术的出现,主要为了解决交换机在进行局域网互联时无法限制广播的问题。这种技术可以把一个物理局域网划分成多个虚拟局域网——VLAN,每个VLAN就是一个广播域,VLAN内的主机之间通信就和在一个LAN内一样,而VLAN间的主机则不能直接互通,这样,广播数据帧被限制在一个VLAN内。
VLAN技术简介
广播风暴
在交换式以太网出现后,同一个交换机下不同的端口处于不同的冲突域,交换式以太网的效率大大增加。但是,在交换式以太网中,由于交换机所有的端口处于一个广播域内,导致一台计算机发出的广播帧,局域网中所有的计算机都能够接收到,使局域网中的有限网络资源被无用的广播信息所占用。
上图中,四台终端主机发出的广播帧在整个局域网中广播,假如每台主机的广播帧流量是100kbps,则四台主机达到400kbps;如果链路是100Mbps带宽,则广播帧占用带宽达到0.4%。但如果网络内主机达到400台,则广播流量将达到40Mbps,占用带宽达到40%,网络上到处充斥着广播流,网络带宽资源被极大的浪费。另外,过多的广播流量会造成网络设备及主机的CPU负担过重,系统反应变慢甚至死机。
如何降低广播域的范围,提升局域网的性能,是急需解决的问题。
用路由器来隔离广播
路由器的各个接口处于独立的广播域中,终端主机发出的广播帧在接口被终止。所以,在局域网中使用路由器能够隔离广播,减小广播范围。
但是,路由器的价格比交换机要高,使用路由器提高了局域网的部署成本。另外,大部分中低端路由器使用软件转发,转发性能不高,容易在网络中造成性能瓶颈。所以,在局域网中使用路由器来隔离广播是一个高成本、低性能的方案。
用VLAN隔离广播
VLAN技术的出现,就是为了解决交换机在进行局域网互连时无法限制广播的问题。这种技术可以把一个LAN划分多个逻辑的LAN ——VLAN,每个VLAN是一个广播域,不同VLAN间的设备不能直接互通,只能通过路由器等三层设备而互通。这样,广播数据帧被限制在一个VLAN内。
目前,绝大多数以太网交换机都能够支持VLAN。使用VLAN来减少广播域的范围,减少LAN内的广播流量,是高效率、低成本的方案。
VLAN的优点
VLAN 的划分不受物理位置的限制。不在同一物理位置范围的主机可以属于同一个VLAN:一个VLAN包含的用户可以连接在同一个交换机,也可以跨越交换机,甚至可以跨越路由器。
VLAN技术的优点如下:
有效控制广播域范围:广播域被限制在一个VLAN内,广播流量仅在VLAN中传播,节省了带宽,提高了网络处理能力。
增强局域网的安全性:不同VLAN内的报文在传输时时相互隔离的,即一个VLAN 内的用户不能喝其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需要通过路由器或三层交换机等设备。
灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
VLAN类型
基于端口的VLAN
基于端口的VLAN是最简单、最有效的VLAN划分方法,它按照端口来定义VLAN成员。将指定端口加入到指定VLAN中之后,该端口就可以转发指定VLAN的数据帧。
上图中,交换机端口E1/0/1和E1/0/2被划分到VLAN10中,端口E1/0/3和E1/0/4被划分到VLAN20中,则PCA和PCB处于VLAN10中,可以互通;PCC和PCD处于VLAN20中,可以互通。但PCA和PCC处于不同VLAN,它们之间不能互通。
基于MAC地址的VLAN
这种划分VLAN的方法是根据每个主机的MAC地址来划分。交换机维护一张VLAN映射表,这个VLAN表记录MAC地址和VLAN的对应关系。这种划分VLAN的方法其最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以可以认为这种根据MAC地址的划分方法是基于用户的VLAN。
这种方法的缺点是初始配置时,所有的用户的MAC地址都需要收集,并逐个配置,如果用户很多,配置的工作量是很大的。此外这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播帧。
基于协议的VLAN
基于协议的VLAN是根据端口接收到的报文所属的协议(族)类型来给报文分配不同的VLAN ID。可用来划分VLAN的协议族有IP、IPX。
交换机从端口接收到以太网帧后,会根据帧中所封装的协议类型来确定报文所属的VLAN,然后将数据帧自动划分到指定的VLAN中传输。
此特性主要用于将网络中提供的协议类型与VLAN相绑定,方便管理和维护。
基于子网的VLAN
基于IP子网的VLAN是根据报文源IP地址及子网掩码作为依据来进行划分的。设备从端口接收到报文后,根据报文中的源IP地址,找到与现有VLAN的对应关系,然后自动划分到指定VLAN中转发。
此特性主要用于将特定网段或IP地址发出的数据在指定的VLAN中传送。
VLAN技术原理
VLAN标签
我们知道,以太网交换机根据MAC地址表来转发数据帧。MAC地址表中包含了端口和端口所连接终端主机MAC地址的映射关系。交换机从端口接收到以太网帧后,通过查看MAC地址表来决定从哪一个端口转发出去。如果端口收到的是广播帧,则交换机把广播帧从除源端口外的所有端口转发出去。
在VLAN技术中,通过给以太网帧附加一个标签(Tag)来标记这个以太网帧能够在哪个VLAN中传播。这样,交换机在转发数据帧时,不仅要查找MAC地址来决定转发到哪个端口,还要检查端口上的VLAN标签是否匹配。
在上图中,交换机给主机PCA和PCB发来的以太网附加了VLAN10的标签,给PCC和PCD发来的以太网帧附加VLAN20的标签,并在MAC地址表中增加关于VLAN标签的记录。这样,交换机在进行MAC地址表查找转发操作时,会查看VLAN标识是否匹配;如果不匹配,则交换机不会从端口转发出去。这样相当于用VLAN标签把MAC地址表里的表项区分开来,只有相同VLAN标签的端口之间能够互相转发数据帧。
IEEE在802.1Q中定义了在以太网帧中所附加标签的格式。
802.1Q帧格式
在传统的以太网帧中增加了4个字节的802.1Q标签后,成为带有VLAN标签的帧(Tagged Frame)。而传统的不携带802.1Q标签的数据帧称为未打标签的帧(untagged Frame)。
802.1Q标签头包含了2个字节的标签协议标识(TPID)和2个字节的标签控制信息(TCI)。
TPID(Tag Protocol Indentifer)是IEEE定义的新的类型,表明这是一个封装了802.1Q标签的帧。TPID包含了一个固定的值0x8100。
TCI(Tag control Information)包含的是帧的控制信息,它包含了下面的一些元素:
Priority:这3位指明数据帧的优先级。一共有8种优先级,0-7。
CFI(Canonical Fromat Indicator):CFI值为0说明是规范格式,1为非规范格式。
它被用在令牌环/源路由FDDI介质访问方法中来封装帧中所带地址的比特次序信息。
VLAN ID (VLAN Identifier):共12比特,指明VLAN的编号。VLAN编号一共4096个,每个支持802.1Q协议的交换机发送出来的数据帧都会包含这个域,以指明自己属于哪一个VLAN。
单交换机VLAN标签操作
交换机根据数据帧中的标签来判定数据帧属于哪一个VLAN,那么标签是从哪里来的呢?VLAN标签是由交换机端口在数据帧进入交换机时添加的。这样做的好处是,VLAN对终端主机是透明的,终端主机不需要知道网络中VLAN是如何划分的,也不需要识别带有802.1Q标签的以太网帧,所有的相关事情由交换机负责。
当终端主机发出的以太网帧到达交换机端口时,交换机检查端口所属的VLAN,然后给进入端口的帧打相应的802.1Q标签。端口所属的VLAN称为端口默认VLAN,又称为PVID(Port VLAN ID)。
同样,为保持VLAN技术对主机透明,交换机负责剥离出端口的以太网帧的802.1Q标签。
Access链路类型端口
这种只允许默认VLAN的以太网帧通过的端口称为Access链路类型端口。Access端口在收到以太网帧后打VLAN标签,转发出端口时剥离VLAN标签,对终端主机透明,所以通常用来连接不需要识别802.1Q协议的设备,如终端主机、路由器等。
跨交换机VLAN标签操作
VLAN技术的很重要的功能是在网络中构建虚拟工作组,划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围。通过在网络中实施跨交换机的VLAN,能够实现虚拟工作组。
VLAN跨越交换机时,需要交换机之间传递的以太网数据帧带有802.1Q标签。这样,数据帧所属的VLAN信息才不会丢失。
在上图中,PCA和PCB所发出的数据帧分别打有VLAN10和VLAN20的标签,SWA的端口E1/0/24负责对这些带802.1Q标签的数据帧进行转发,并不对其中的标签进行剥离操作。
Trunk链路类型端口
允许多个VLAN帧通过的端口称为Trunk链路类型端口。Trunk端口可以接收和发送多个VLAN的数据帧,且在接收和发送过程中不对帧中的标签进行任何操作。
不过,默认VLAN帧是一个例外。在发送帧时,Trunk端口要剥离默认VLAN帧中的标签;同样,交换机从Trunk端口收到不带标签的帧时,要打上默认VLAN标签。
Trunk端口一般用于在交换机之间互连。
图示为PCA至PCC、PCB至PCD的标签操作过程。PCA发出以太网帧,到达SWA的E1/0/1端口,端口的默认VLAN是10,所以以太网帧被打上VLAN10标签;E1/0/24端口时Trunk端口,VLAN10标签的帧从端口发送至SWB;SWB从帧中的标签得知它属于VLAN10,于是转发至端口E1/0/1,经剥离标签后到达PCC。PCB发出的帧在E1/0/2端口上被打上VLAN20的标签;E1/0/24端口时Trunk端口且默认VLAN是20,所以数据帧被剥离标签后转发;当未带标签的数据帧到达SWB的E1/0/24端口,端口给它打上VLAN20的标签在转发到端口E1/0/2,端口E1/0/2剥离标签后转发至PCD。
Hybrid链路类型端口
除了Access链路类型和Trunk链路类型端口外,交换机还支持第三种链路类型端口,称为Hybrid链路类型端口。Hybrid端口可以接收和发送多个VLAN的数据帧,同时还能够指定对任何VLAN帧进行剥离标签操作。
当网络中大部分主机之间需要隔离,但这些隔离的主机又需要与另一台互通时,可以使用Hybrid端口。
在上图中,PCA发出的以太网帧进入端口时打上VLAN10的标签,在到达连接PCC的端口时,端口根据设定(Untag:10,20,30)将数据帧中的标签剥离后发送给PCC,所以PCA与PCC能够通信;同理,PCB也能与PCC通信。但PCA发出的以太网帧到达连接PCB的端口时,端口上设定(Untag:20,30)表明只对VLAN20、VLAN30的数据帧转发且剥离标签,而不允许VLAN10的帧通过,所以PCA与PCB不能互通。
VLAN的基本配置
默认情况下,交换机只有VLAN1,所有的端口都属于VLAN1且是Access链路类型端口。进行VLAN配置的基本步骤如下。
第1步:在系统视图下创建VLAN并进入VLAN视图。配置命令为:
vlan vlan-id
第2步:在VLAN视图下将指定端口加入到VLAN中。配置命令为:
port interface-list
配置Trunk端口
Trunk端口能够允许多个VLAN的数据帧通过,通常用于在交换机之间互连。配置某个端口成为Trunk端口的步骤如下。
第1步:在以太网端口视图下指定端口链路类型为Trunk。配置命令为:
port link-type trunk
第2步:默认情况下,Trunk端口只允许默认VLAN即VLAN1的数据帧通过。所以,需要在以太网端口视图下指定哪些VLAN帧能够通过当前Trunk端口。配置命令为:
port trunk permit vlan {vlan-id-list|all}
第3步:必要时,可以在以太网端口视图下设定Trunk端口的默认VLAN。配置命令为:
port trunk pvid vlan vlan-id
注意
默认情况下,Trunk端口的默认VLAN是VLAN1。可以根据实际进行修改默认VLAN,以保证两端交换机的默认VLAN相同为原则,否则会发生同一VLAN内的主机跨交换机不能够通信的情况。
配置Hybrid端口
在某些情况下,需要用到Hybrid端口。Hybrid端口也能够允许多个VLAN帧通过,并且还可以指定哪些VLAN数据帧被剥离标签。配置某个端口成为Hybrid端口的步骤如下。
第1步:在以太网端口视图下指定端口链路类型为Hybrid。配置命令为:
port link-type Hybrid
第2步:默认情况下,所有Hybrid端口只允许VLAN1通过。所以,需要在以太网端口视图下指定哪些VLAN数据帧能够通过Hybrid端口,并指定是否剥离标签。配置命令为:
port Hybrid vlan vlan-id-list {tagged|untagged}
第3步:在以太网端口视图下设定Hybrid端口的默认VLAN。配置命令为:
port Hybrid pvid vlan vlan-id
注意
Trunk端口不能直接被设置为Hybrid端口。只能先设为Access端口,再设置为Hybrid端口。
VLAN配置实例
上图是VLAN的基本配置示例。图中PCA与PCC属于VLAN10,PCB与PCD属于VLAN20,交换机之间使用Trunk端口相连,端口的默认VLAN是VLAN1。
配置SWA:
[SWA]vlan 10
[SWA-vlan10]port Ethernet1/0/1
[SWA]vlan 20
[SWA-vlan20]port Ethernet1/0/2
[SWA]interface Ethernet10/24
[SWA-Ethernet1/0/24]port link-type trunk
[SWA-Ethernet1/0/24]port trunk permit vlan 10 20
配置SWB:
[SWB]vlan 10
[SWB-vlan10]port Ethernet1/0/1
[SWB]vlan 20
[SWB-vlan20]port Ethernet1/0/2
[SWB]interface Ethernet10/24
[SWB-Ethernet1/0/24]port link-type trunk
[SWB-Ethernet1/0/24]port trunk permit vlan 10 20
配置完成后,PCA与PCC能够互通,PCB与PCD能够互通;但PCA与PCB,PCC与PCD之间不能够互通。
VLAN显示及维护
在任意视图下可以使用display vlan命令来查看交换机当前启用的VLAN。
display vlan
由图中可以看到,目前交换机上有VLAN1、VLAN2、VLAN10存在,VALN1是默认VLAN。
如果要查看某个具体VLAN所包含的端口,可以使用display vlan vlan-id命令。
display vlan vlan-id
由图中可以看到,VLAN2中包含了Ethernet1/0/1、Ethernet1/0/3和Ethernet1/0/4等3个端口,且VLAN数据帧离开这些端口时需要剥离标签。
如果要查看具体端口的VLAN信息,可以使用display interface命令。
display interface interface-type interface-number
由图中可知,端口Ethernet1/0/1的端口链路类型为Access,默认VLAN(Pvid)是VLAN1。如果是Trunk或Hybrid端口,则还会显示哪些VLAN帧是携带标签通过,哪些VLAN帧需要剥离标签。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。