相信各位大侠对于VLAN技术的掌握可能已经炉火纯青,但是小编还是要友情提醒下,不管技术如何高超,时不时的还需要补充下基本功滴(知其然知其所以然)!当然对于初入江湖的小伙伴们来说,这是必修课喔(只有打牢基础,对于VLAN的应用才能得心应手)~~
话不多说,让小编带您开始一段愉悦的VLAN基本功之旅吧!期待。。。。。。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
在1996年3月,IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工作。新出台的标准进一步完善了VLAN的体系结构,统一了Frame-Tagging方式中不同厂商的标签格式,并制定了VLAN标准在未来一段时间内的发展方向,形成的802.1Q的标准在业界获得了广泛的推广。后来IEEE于1999年颁布了用于标准化VLAN实现方案的802.1Q协议标准草案。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。
IEEE 802.1Q是VLAN的正式标准,在传统的以太网数据帧基础上(源MAC地址字段和协议类型字段之间)增加4个字节的802.1Q Tag。
其中,数据帧中的VID(VLAN ID)字段用于标示该数据帧所属的VLAN,数据帧只能在所属VLAN内进行传输。
一张图看懂VLAN的作用:
由上图可以看出:通过划分不同的VLAN,VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。
这里:小编总结了下VLAN技术的优点,一起来看下吧:
设备上都有哪些类型的接口呢?跟随小编一起看下吧!
Access接口:交换机上用来连接用户主机的接口,它只能连接接入链路(Access Link)。
Trunk接口:交换机上用来和其他交换机连接的接口,它只能连接干道链路(Trunk Link)。
除此之外,还有一种接口叫Hybrid接口,是交换机上既可以连接用户主机,又可以连接其他交换机的接口。Hybrid接口既可以连接接入链路又可以连接干道链路。
注:Hybrid接口和Trunk接口在接收数据时,处理方法是一样的。唯一不同之处在于:发送数据时,Hybrid接口可以允许多个VLAN的报文发送时不打标签,而Trunk接口只允许缺省VLAN的报文发送时不打标签。
接口类型不同,交换机对VLAN数据帧的处理过程也不同。具体处理方式如下:
1、Access接口
2、Trunk接口
3、Hybrid接口
为了帮助小伙伴们更好地理解报文的处理方式,还可以通过下面的表格来学习!!!
江湖各位大侠重温了VLAN的基础知识,是否想过4094个VLAN可以怎样划分,哪种方式又是好用简单的?细心的小编特地整理了一番,给各位大侠把玩把玩。
几种划分VLAN的各种方式中,基于接口划分VLAN,是最常用最简单的方式,那么到底怎么配置,怎么使用呢?
在配置使用之前,先来和小编回顾一下端口常用的链路类型吧。
好了,下面小编以实际组网为例,讲解一下基于接口划分VLAN的配置。
场景说明1: 一台交换机两个用户,怎么通过接口划分VLAN从而实现隔离呢(VLAN就是为了广播域隔离,各位大侠没有忘记吧)
因为缺省情况下,华为交换机的接口都默认加入VLAN 1,两台PC直接和交换机相连,只要属于同一个网段,就可以互通。
场景说明2: 跨交换机,4个用户,怎么通过接口划分VLAN实现隔离和互通呢?
如下图:缺省情况下,4台PC属于同一网段,相互可以ping通。假设PC1和PC2属于同一部门,PC3和PC4属于同一部门。如何通过配置基于接口的VLAN,实现同一部门之间可以互访,不同部门之间不能互访呢?
OK,典型的应用场景就讲完了。各位大侠是否发现上面两个场景中,VLAN和端口数都比较少,而在现实组网中,经常需要配置多个VLAN,多个端口,有什么办法可以快速完成配置吗?
下面小编再介绍一下批量配置和快速恢复端口VLAN缺省配置的方法。
< Huawei > system-view
[Huawei]vlan batch 2 to 100
[Huawei] port-group group-member GigabitEthernet 0/0/10 to GigabitEthernet 0/0/20
[Huawei-port-group]port link-type access
[Huawei-port-group]port default vlan 100
那么下面和小编一起看看3种链路类型下,怎么快速恢复缺省配置呢?
trunk | hybrid |
---|---|
undo port trunk pvid vlan undo port trunk allow-pass vlan all port trunk allow-pass vlan 1 |
undo port hybrid pvid vlan undo port hybrid vlan all port hybrid untagged vlan 1 |
前两期小编介绍了VLAN的基础知识以及如何划分VLAN,之后不断有读者询问: VLAN划分后,同一VLAN用户可以二层互通,不同VLAN用户则二层隔离,可有些场合不同VLAN用户又想互通,肿么办呢?
请大家先回忆一下:VLAN是广播域,而广播域之间来往的数据包一般由路由器中继的。因此,VLAN间的通信通常要用到路由功能,这被称作“VLAN间路由”。VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。有了这个初步认识,接下来小编就开始介绍使用三层交换机进行VLAN间通信的主要场景和技术。
VLAN间通信场景一: 不同VLAN不同网段用户间的通信,用户通过三层交换机互联
使用技术:VLANIF
基本原理: 前面提到,要实现VLAN间互通,就要建立VLAN间路由,此场景用户直连在三层交换机上,只需直连路由即可。而VLANIF接口是一个三层的逻辑接口,在其上配置IP地址为用户的网关地址后,它就在三层交换机上生成直连路由,同时,可作为用户的网关。这样,发往各VLAN网段的报文,就可在路由表中分别找到其出接口—VLANIF接口,从而实现三层转发。
江湖小贴士:VLANIF只生成直连路由,只能使得相邻设备互通。现网中用户间可能会跨多台三层交换机(如三层网络),此时,除配置VLANIF外,还要借助静态路由或路由协议才能实现互通。
VLAN间通信场景二: 不同VLAN不同网段用户间的通信,用户通过二层交换机互联,仅通过一台三层交换机实现VLAN间通信
使用技术:子接口(又称单臂路由)
基本原理: 跟VLANIF一样,子接口也是三层逻辑接口。在子接口上配置IP地址为用户的网关地址后,在三层交换机上同样形成直连路由,VLAN内的用户同样将网关指向对应的子接口(如图中VLAN2内用户的网关为Port1.1,VLAN3内用户的网关为Port2.1),进而实现三层通信。
江湖小贴士:通过子接口实现三层互通,虽然可减少物理接口占有量,不过由于发送的流量会争用物理主接口的带宽,网络繁忙时,会导致通信瓶颈哟。
VLAN间通信场景三: 不同VLAN相同网段用户间的通信
使用技术:Super VLAN(又称VLAN聚合)
如下图所示,因IP地址有限,不同VLAN用户共用一网段,但又需要互通以及访问外网。
基本原理: 通过定义Super-VLAN和Sub-VLAN, Super-VLAN只用来建立三层VLANIF接口,与网关对应,不包含物理接口;Sub-VLAN只包含物理接口,不建立三层VLANIF接口,用来隔离广播域,一个Super-VLAN可以包含一个或多个Sub-VLAN。
我们可以这样看,每一个普通VLAN都有一个三层逻辑接口和若干物理接口。而Super VLAN把这两部分剥离开来:Sub-VLAN只映射物理接口,负责保留各自独立的广播域;而Super-VLAN负责实现所有Sub-VLAN共享同一个三层接口的需求,使不同Sub-VLAN内的主机可以共用同一个网关;然后再通过建立Super-VLAN和Sub-VLAN间的映射关系,把三层逻辑接口和物理接口这两部分有机的结合起来,从而在实现普通VLAN功能的同时,达到节省IP地址的目的。
江湖小贴士:Sub-VLAN内主机与外网间的通信,跟使用VLANIF通信原理类似,只不过多了一步查找Sub-VLAN与Super-VLAN的映射关系;但Sub-VLAN间的通信,需要借助Proxy-ARP才能实现,这是为什么呢?这是因为Sub-VLAN内的主机同属一个网关,彼此通信时只会做二层转发,而不会通过网关进行三层转发,但不同Sub-VLAN的主机在二层是相互隔离的,这就造成了Sub-VLAN间无法通信,需要借助Proxy-ARP才能实现。
上述组网中,VLAN间用户均是通过三层交换机实现三层互通,三层互通需要查找路由表,转发效率较低。而二层转发效率高,那VLAN间能否实现二层互通呢?
VLAN间通信场景四: 不同VLAN用户跨一台或多台交换机互联
使用技术:VLAN Switch
基本原理: 预先在各交换节点(如图中的Switch)上建立一条静态转发路径(即VLAN Switch表,指定VLAN转换关系和出接口)。这样,Switch根据VLAN Switch表将Port2上收到报文中的VLAN2转换为VLAN3,并从Port3发出;将Port3上收到报文的VLAN3将转换为VLAN2,并从Port2发出,从而实现VLAN2和VLAN3间的二层互通。
江湖小贴士:VLAN Switch转发查的是VLAN Switch表,而不是MAC表,这就使得VLAN Switch转发效率较高。但VLAN Switch是否就因此而可大量应用呢?否,因为VLAN Switch需要在途经的每个交换节点都要为每个VLAN用户配置静态转发路径,这就限制了其使用范围,当有大量VLAN用户接入,或用户跨运营商网络时就不再适用。
VLAN间通信场景五: 不同VLAN用户跨运营商网络互联
使用技术:VLAN Mapping
基本原理:预先在需要VLAN转换的两端设备(如图中SwitchA和SwitchB)配置VLAN映射关系,但不需像VLAN Switch那样指定出接口。配置后,SwitchA接收到VLAN10 ~ 50报文后,根据VLAN映射表将报文中的VLAN转换为VLAN100,根据MAC表查到VLAN100对应出接口Port2,VLAN100报文穿越运营商网络到达SwitchB的Port2接口时,找到其出接口Port1,在从出接口发出前,将VLAN100转换为VLAN60~90,进而可通过分支2的接入交换机二层转发到目的主机。因为只需在VLAN转换的两端设备配置,运营商网络无需改变其配置,大大简化了配置。
江湖小贴士:VLAN Mapping虽然大大简化配置,但VLAN Mapping需要通过查MAC表转发,转发效率上较VLAN Switch低些,并且易引入广播风暴以及收到MAC攻击。
接下来就跟大家讲解如何配置,由于篇幅限制,小编仅选一种常用的技术―VLANIF来讲解。
配置案例一: 如下图所示,PC1和PC2分属研发部和质量部,两部门通过一台三层交换机互联,两部门有业务往来,需要二层隔离,三层通信。
配置思路
此场景配置简单,只需将连接PC的接口加入VLAN,然后创建VLANIF,并配置IP地址为对应用户的网关即可。
操作步骤
Switch上的配置如下:
#
sysname Switch
#
vlan batch 10 20
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0 //此IP地址为PC1对应网关地址
#
interface Vlanif20
ip address 10.1.2.1 255.255.255.0 //此IP地址为PC2对应网关地址
#
interface GigabitEthernet0/0/1 //将PC1划分到VLAN10中
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2 //将PC2划分到VLAN20中
port link-type access
port default vlan 20
配置完成后,我们使用命令display ip routing-table查看设备上的路由:
可以看到,路由表中有了到达VLAN10、VLAN20网段的直连路由。下面我们就验证一下,PC1、PC2是否可以互相Ping通。
在验证之前,先设置PC1的IP地址为10.1.1.2 ,网关为10.1.1.1/24;设置PC2的IP地址为10.1.2.2 ,网关为10.1.2.1/24,然后互Ping,结果如下:
可以看到,互Ping成功,表明配置成功。
典型案例二: 如下图所示,为安全及便于管理,企业为服务器专门划分VLAN,用户属于VLAN10,服务器属于VLAN20,用户与服务器间跨接入、汇聚和核心交换机,其中,接入是二层交换机,汇聚、核心是三层交换机。由于业务需要,用户与服务器间需要互通。
配置思路:
此场景用户与服务器间跨越多台二层、三层交换机,可以配置VLANIF,将汇聚交换机AGG作为用户PC的网关,核心交换机作为服务器Server的网关。但VLANIF只生成直连路由,只能使得相邻设备互通,要使User与服务器互通,还需要配置从AGG到VLAN20网段以及从CORE到VLAN10网段的路由,可以使用静态路由,也可以使用动态路由,本示例采用静态路由。
操作步骤
1、配置ACC、AGG、CORE的各接口,并将接口加入VLAN,使VLAN10的用户报文透传到AGG,VLAN20的Server报文透传到CORE
#
sysname ACC1
#
vlan batch 10
#
interface GigabitEthernet0/0/1 //将User划分到VLAN10中
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2 //透传VLAN10到AGG
port link-type trunk
port trunk allow-pass vlan 10
ACC2与此类似,只不过接口加入、透传的VLAN是VLAN20。
#
sysname AGG
#
vlan batch 10 30
#
interface GigabitEthernet0/0/1 //透传VLAN10,以转发User报文
port link-type trunk
port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/2 //透传互联VLAN30,以转发互联报文
port link-type trunk
port trunk allow-pass vlan 30
#
sysname CORE
#
vlan batch 20 30
#
interface GigabitEthernet0/0/1 //透传VLAN20,以转发Server报文
port link-type trunk
port trunk allow-pass vlan 20
#
interface GigabitEthernet0/0/2 //透传VLAN30,以转发互联报文
port link-type trunk
port trunk allow-pass vlan 30
2、在AGG上配置VLANIF10和IP地址,作为用户的网关;在CORE上配置VLANIF20,作为Server的网关,同时配置互联VLANIF30,使AGG与CORE互通
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0 //此IP地址为User对应网关地址
#
interface Vlanif30
ip address 10.10.30.1 255.255.255.0 //互联IP地址,不能与User、Server的IP网段冲突
#
interface Vlanif20
ip address 192.168.1.1 255.255.255.0 //此IP地址为Server对应网关地址
#
interface Vlanif30
ip address 10.10.30.2 255.255.255.0 //互联IP地址,不能与User、Server的IP网段冲突
配置至此,我们验证一下User是否能Ping通Server:
可以看到,User此时Ping不通Server,这是因为AGG上没有到达Server网段192.168.1.0/24的路由。
3、在AGG、CORE上配置静态路由
#
ip route-static 192.168.1.0 255.255.255.0 10.10.30.2
#
ip route-static 10.1.1.0 255.255.255.0 10.10.30.1
江湖小贴士:对于VLANIF、Eth-Trunk这样的逻辑接口,静态路由必须采用下一跳,而不能是出接口,因为这些逻辑接口会有多个成员口,会出现多个下一跳,无法唯一确定下一跳。
配置完成后,我们再来用User Ping Server即可查看配置成功。
小编在上期为大家介绍了多种VLAN互通场景和方式,之后读者又有了新的问题:如何对同一VLAN下用户进行隔离呢,如果实现部分VLAN互通、部分VLAN隔离呢,如何针对某个用户、或某个网段用户进行隔离呢,下面就听小编一一道来 。
如果不希望同一VLAN下某些用户进行互通,可以通过配置端口隔离实现。
下面小编通过一个实验来详细讲解如何实现端口隔离:
如下图所示,三台PC属于同一VLAN、同一网段,配置完成后,三台PC都可以互访,现在要求PC1和PC2之间不能互通,PC1和PC3能够互通、PC2和PC3能够互通。
配置过程如下:
验证配置结果:
PC1 ping PC2,无法ping通。
PC1 ping PC3,可以ping通。
MUX VLAN只适用于二层网络中、对同一网段的用户进行互通和隔离。
MUX VLAN分为Principal VLAN和Subordinate VLAN,Subordinate VLAN又分为Separate VLAN和Group VLAN。
下面小编通过一个例子详解介绍通过MUX VLAN进行VLAN互通和隔离。如下图所示,由于不同的PC属于不同的部门,需要对用户进行互通和隔离。
详细配置步骤如下:
OK,配置完成,让我们来验证一下配置结果吧。
流策略技术原理,小编就不做过多介绍了,想了解详细信息,请参见QoS手册,通过下面的例子介绍如何实现VLAN隔离。
如上图所示,FTP Server属于192.168.1.0/24网段,PC1和PC2属于192.168.10.0/24,PC3和PC4属于192.168.20.0/24网段。
假设所有VLAN已经通过VLANIF接口实现VLAN间互通,详细配置方法不做赘述,请参加上期《交换机在江湖之初窥门径-VLAN通信篇》。
将FTP Server的网关设置为192.168.1.1,将PC1和PC2的网关设置为192.168.10.1,将PC2和PC4的网关设置为192.168.20.1。VLAN10、VLAN20和VLAN100内所有设备能够互通,例如:在PC1上ping FTP Server,能够ping通。
配置完之后,我们再来验证一下PC1是否能够ping通FTP Server呢?
但是PC3任然可以ping同FTP Server。