华为和思科VLAN实现的分析与比较
时间:2022-04-06 09:57:22 浏览次数:次
摘要:该文介绍了VLAN功能和作用;分析数据帧在实现VLAN时的标记过程;对比思科和华为讨论了两者在VLAN实现上的共同点和差异;对交换机端口的几种基本模式进行比较;通过案例分析了hybrid模式的使用。
关键词:VLAN;标记;hybrid
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)27-0027-03
虚拟局域网(Virtual Local Area Network)是交换技术中常见的技术,在大中型局域网的设计、组建、维护中应用VLAN是普遍的现象。在改造、扩建、合并、管理网络的过程中,可能会遇到多种品牌的网络设备。
本文讨论的范围仅限VLAN的应用。在众多品牌设备中选取华为与思科这两种具有代表性的品牌进行比较分析。在介绍时使用软件仿真的方式,选用思科的packet tracer以及华为的eNSP作为实验平台。
1 VLAN概述
VLAN是在逻辑上对局域网中的设备和用户进行划分,使得划分后相同VLAN内的设备和用户之间的通信就像同一网段中一样。这些设备和用户可以不受物理位置的限制,可以根据功能、部门和应用等来进行划分。网络中引入VLAN技术,可以解决以下问题:
一是为了限制局域网中的广播。就目前的IPv4而言,局域网内的广播应用是不可避免的,比如ARP、DHCP。交换机在处理广播帧时,是向所有其他相连的端口转发该广播报文。这样就使得局域网的规模越大,局域网中所有节点接收处理的广播帧就越多,从而使网络不堪重负性能下降甚至瘫痪。除此之外,由于蠕虫病毒、交换机故障、网卡故障、交换机没有启用生成树协议形成环路等其他原因,也可能导致类似问题,这就是“广播风暴”。
将局域网划分VLAN后,可以使得同一VLAN内设备不接收其他VLAN的广播,将可能产生的故障范围限制到一定的区域。故而,在小型局域网,较少应用VLAN;在大中型局域网,普遍会应用VLAN。
二是为了网络的安全和管理。划分VLAN后,属于不同VLAN的设备间不能直接通信,这样就为网络的安全和管理提供了一种技术手段。比如将含有敏感信息的用户组划分为某个VLAN(如VLAN 10),其他不属于该VLAN的用户则不能访问该VLAN(VLAN 0)。
反之,如果VLAN间的用户需要互相访问,得借助三层交换或单臂路由等其他手段来完成通信。这里值得一提的是,华为提供了更多的技术手段来实现这一目的。
2 VLAN标记
所有品牌的交换机都支持的VLAN标记标准是802.1Q,它是IEEE于1999年颁布的用以标准化VLAN的实现方案。思科还可以使用私有协议ISL进行封装,由于很少使用这里不作讨论。802.1Q包含以下字段:
TPID(16b):表明当前帧的类型,0X8100即802.1Q。
PRI(3b):优先级,用于对QoS的支持。
CFI(1b):令牌环网标识。
VLAN ID(12b):表示所属VLAN的ID。
思科交换机端口支持三种常用模式,接入模式(access)、中继模式(trunk)、动态模式(dynamic);华为交换机端口支持三种常用模式,接入模式(access)、中继模式(trunk)、混杂模式(hybrid)。除以上模式外,还有一种用于Q-in-Q隧道的dot1q-tunnul模式,这里不作讨论。
2.1 access模式与trunk模式
在同一端口上,access模式与trunk模式只能选择其一。配置成access模式的端口通常连接终端设备,配置成trunk模式的端口通常用来连接网络设备(如交换机或路由器)。access模式下端口只能划分给某一个VLAN,如:端口Fa0/1配置了access模式,划分到了VLAN 2,如果再划分到VLAN 3,则该端口不属于VLAN 2了。trunk模式则是为了允许多个VLAN通过而设计的。
为了安全和管理,trunk模式可以控制指定VLAN流量能否通过该端口。在trunk模式下存在着本征VLAN这一概念,它是由思科最早提出的,本征VLAN的数据流量在经过trunk链路时不打标记。华为对trunk pvid配置后,其效果和思科的本征VLAN是一样的。
在trunk模式下发送数据帧时,当trunk端口允许相应的VLAN通过时,思科和华为交换机对除了本征VLAN外的其他VLAN进行标记。在access模式下发送数据帧时,当access端口收到和本接口所属VLAN ID(简称VID)相同的数据帧才进行转发,不同则不进行转发——由此实现了VLAN间的数据隔离。在转发数据帧时,配置为access模式的端口,思科和华为都不带标记。
设计实验图拓扑为下,分别在思科和华为模拟器上进行。将S1和S2之间的链路上两端接口都配置成access模式,观察数据帧标记情况,切换为trunk模式后观察对比:
可以看到,华为和思科设备在静态配置模式下(access和trunk)对数据帧的处理过程是一样的。在某一台交换机上,处于access模式下的两个端口之间通信,是不带标记的。其是否能够通信,取决于通信的源目接口是否属于相同VLAN,由这一台交换機的接口配置来决定。在不同交换机之间实现两个access端口之间的通信,一般是借助trunk端口来实现的。除本征VLAN外,数据帧在经过trunk接口打上标记再发送,接收交换机比对本交换机的接口配置,根据VID是否相同来判断能否互访。
设计这样一个实验,在S1上将两端的接口都设置为access模式,设置为VLAN2,在S2上将两端的接口也都设置为access模式,设置为VLAN3,见图4。图中的两台终端设备PC0和PC1是可以通讯的,这就有悖于使用VLAN的初衷了。该实验在华为和思科的模拟器上结果是一致的,理解了access和trunk的标记过程,不难理解这一实验结果。
同理,如果将两台交换机之间设置为trunk模式,将VLAN2和VLAN3分别设置为本征VLAN,两台终端设备也是能够通信的。要提醒的是,在trunk模式下,本征VLAN在链路两端不匹配会报错。思科的某些型号交换机在配置trunk前还需要配置trunk封装类型,指定为dot1q(即802.1Q)。思科的trunk模式默认为允许所有VLAN通过,易连通;华为的trunk模式默认允许VLAN 1通过,侧重安全。
2.2 dynamic模式与hybrid模式
Dynamic模式与Hybrid模式分别为华为和思科交换机端口的默认模式。思科的Dynamic模式使用DTP协议(华为也有类似的LNP协议),可以为auto或desirable模式,动态协商接口为access或trunk模式。不同型号的思科设备其默认模式不同(dynamic auto或dynamic desirable)。两台默认配置的思科交换机直接相连,其协商的接口类型可能是trunk,也可能是access。动态协商的目的是为了过渡到access或trunk模式,在对数据帧进行标记,最终还是遵循前文介绍的access和trunk模式标记规则。
由于动态模式运行了相关协议,会向对端设备发送协议报文进行协商,此过程会有泄漏设备信息的风险。并且动态协商结果具有不确定性,为网络的稳定性和安全带来了隐患。故而实际应用中,不推荐使用该配置。
Hybrid模式和dynamic模式不同,和access、trunk一样,是交换机接口的最终工作模式之一。Hybrid——混杂模式,一旦接口配置成该模式,看成access还是trunk得看具体配置,后面会介绍。经过该端口的数据帧是否打标记根据配置决定。通过对hybrid端口配置,可以在实际应用中不借助三层技术手段实现不同VLAN间通信。
3 华为hybrid模式的使用
思科交换机没有Hybrid模式也能够在网络中正常使用。但该模式的出现,为复杂的网络环境、多样的客户需求提供了一种技术手段来灵活处理。只有掌握VLAN通信过程中标记的作用以及标记过程,才能掌握hybrid的使用及配置。
3.1 hybrid模式特点介绍
在trunk模式下,可以通过allow-pass vlan对允许还是拒绝某个(些)VLAN通过该端口进行控制;而在hybrid模式下,不能通过allow-pass vlan对其控制,只有通过untagged/tagged对其控制。配置了untagged/tagged该VLAN的,这个VLAN的流量才被允许通过。
在hybrid模式下PVID有更丰富的内涵,如果把该端口当作access接口,则PVID可以看成该接口划分所属的VLAN,同时必须配置untagged该VLAN;如果把该端口当作trunk接口,则PVID可以看成trunk接口的本征VLAN。
Tagged/untagged可以理解为哪些VLAN的数据帧在经过该端口发送时打标记/不打标记。命令为:port hybrid untagged/tagged vlanall/VLAN ID。在实际应用时,打标记的情况容易理解,标记已经清晰的说明该数据帧属于哪个VLAN,按照前文提到的处理流程即可。容易混淆的是不打标记的情况,由于在hybrid模式下,untagged命令可以指定一个或多个VLAN在发送时不带标记,接收端在接收时是不理会发送时曾经属于哪个VLAN的,按照接收端的PVID来处理不带标记的数据帧。例如,发送端指定了VLAN 2和VLAN 3不带标记,接收端指定了PVID为VLAN 10,则接收端收到的数据帧无论是VLAN 2还是VLAN 3,统一视为VLAN 10。
3.2 使用hybrid实现VLAN间互访
通过一个案例来进一步说明使用Hybrid模式实现VLAN间的互访。在该案例中PC1和PC2分别属于VLAN2和VLAN3,server1属于VLAN100。在满足其他常规网络需求的前提下,使用hybrid使得PC1和PC2能访问server1,如图5。大题思路:在PC1上使用PING命令,让PING包能访问server1,并返回到PC1,且不影响VLAN的其他功能。
实验前,S1、S2、S3的相关VLAN已创建。
(1) 让连接PC1的接口充当access的角色,并划分到VLAN2,S1的E0/0/2口。配置如下:
[S1-Ethernet0/0/2]port hybrid untagged vlan 2
[S1-Ethernet0/0/2]port hybrid pvid vlan 2
(2) 让数据从S1发送给S2(将S1和S2之间的PVID设置为10便于查看PVID的作用,即本征VLAN的作用),此时只能标记接收端口的VLAN,即VLAN2。配置如下:
[S1-Ethernet0/0/1]port hybrid tagged vlan 2
[S1-Ethernet0/0/1]port hybrid pvid vlan 10
(3) 让S2能接收S1發送的数据帧,其携带VLAN2标记。这里可以使用tagged,也可以使用untagged,在控制接收时tagged和untagged没有区别。配置如下:
[S2-Ethernet0/0/1]port hybrid tagged vlan 2
[S2-Ethernet0/0/1]port hybrid pvid vlan 10
(4) 让S2将数据帧从E0/0/2口发送,不带标记,PVID指定为20。配置如下:
[S2-Ethernet0/0/2]port hybrid untagged vlan 2
[S2-Ethernet0/0/2]port hybrid pvid vlan 20
(5) 让S3接收数据帧,此时数据帧不带标记,PVID指定为20。当S3接收无标记帧时,只能认为该帧的VLAN为本接口PVID,即VLAN20。同理(步骤3),此时可以配置untagged,也可以配置tagged。配置如下:
[S3-Ethernet0/0/1]port hybrid untagged vlan 2
[S3-Ethernet0/0/1]port hybrid pvid vlan 20
(6) S3连接server1的接口充当access角色,划分为VLAN100,且将接收属于VLAN20的数据帧从E0/0/2口不带标记的发送给server1。配置如下:
[S3-Ethernet0/0/2]port hybrid untagged vlan 20 100
[S3-Ethernet0/0/2]port hybrid pvid vlan 100
(7) S3的E0/0/2口也能接收从server1返回的PING包,但接收时由于其接口PVID为100,故S3认为该数据帧为VLAN 100。从E0/0/1发送给S2,且不带标记。配置如下:
[S3-Ethernet0/0/1]port hybrid untagged vlan 100
(8) S2接收不带标记的数据帧,由于接收端口PVID为20,S2认为数据帧属于VLAN20。同理(步骤3),此时可以配置untagged,也可以配置tagged。配置如下:
[S2-Ethernet0/0/2]port hybrid untagged vlan 20
(9) S2将数据帧从E0/0/1口发送给S1,此时S2认为该数据帧为VLAN20,发送时必须带标记。配置如下:
[S2-Ethernet0/0/1]port hybrid tagged vlan 20
(10) S1接收带VLAN20标记的数据帧,同理(步骤3),此时可以配置untagged,也可以配置tagged。配置如下:
[S1-Ethernet0/0/1]port hybrid tagged vlan 20
(11) S1将属于VLAN20的数据帧的标记去掉,发送给PC1。配置如下:
[S1-Ethernet0/0/2]port hybrid untagged vlan 20
PC2同server1的通信与以上过程类似,配置略。
PC1与server1通信,其数据帧标记过程见图6。
以上案例通过hibrid对数据帧标记的控制,实现了VLAN间互访。分析以上流程:同一个数据帧从始发端口的VLAN2开始,在经过S2去标记后被S3接收当成VLAN20数据帧处理。即去标记后,数据帧和初始标记VLAN2已无关联,只和接收端口的PVID有关。在实际应用中,配置时需要对VLAN标记改变过程清晰,根据实际需要可灵活操作,但实现起来较access和trunk配置要烦琐。
4 结束语
思科与华为在VLAN及相关技术应用时的差异还有很多,比如:在与路由器相连时,思科是切换成三层接口,华为是使用SVI相连;华为支持MUX VLAN、SUPER VLAN等等。本文从端口的基本模式和标记过程介绍了两者在VLAN应用中的特点,通过案例分析了hybrid的使用方法,望能为网络技术教学及其应用提供参考。
参考文献:
[1] 孟祥成.基于eNSP的二層VLAN虚拟仿真实验[J].实验室研究与探索,2017(9):102-105.
[2] 廉佐政,王海珍.大型局域网中VLAN间可靠通信的仿真设计[J].计算机仿真,2015,32(7):296-302.
[3] 朱仕耿.HCNP路由交换学习指南[M].北京:人民邮电出版社,2018.
[通联编辑:朱宝贵]
- 上一篇:计算机网络防火墙技术的应用分析
- 下一篇:浅析中南空管办公网的病毒防范