1 LAN 简介
LAN,Local Area Network,直译为本地区域网,可能是因为为了方便传播,大家基本上都叫它局域网,既然大家都这么叫,如果我们搞特例那就是不明智了。
局域网这个词的侧重其实是在局域这个词上,主要是想表达网络的覆盖范围,相对于WAN(Wild Area Network,广域网)而言更小,多数情况用来指代某个专用的园区网,比如同一个企业园区、同一个学校校园等。局域网的概念不仅仅是指地理范围,时常还包含同一个所有者、同一个广播域,或同一个网段的意思。从来没有人能够精准地定义,出现在不同的语境里所表达的意思也不一样,我也只是罗列出它可能的含意,具体的指代还要读者自己识别。
另外就是关于“同一个网络”这个术语,它在不同的教材或资料上的出现时,可能包含的意思也不一样,甚至在同一篇RFC文档的不同位置出现,也会有不同的含义。
1)有时把同一个VLAN或同一个广播域,叫做同一个网络;
2)有时也把同一个IP网段也叫做同一个网络;
3)物理上的同一个专用园区网(即本地网络),也会被叫做同一个网络。
如何分辨别人是在说哪一种呢?还是要根据上下文语境来判断。如果在生产中交流时提到“同一个网络”时,又缺少上下文环境,就需要跟对方确认一下是属于上面三种的哪一种。
2 VLAN 简介
VLAN,Virtual Local Area Network,虚拟局域网。在物理局域网的基础上通过软件的方式,将功能相似的网络设备或终端归并在一起,形成一个广播域,以达到增加安全性和提升网络性能等目的。这项技术在生产中应用非常广泛,不管网络系统的规模是大是小,都会有用到,因为就算是你没有配置VLAN,也会有一个VLAN存在,我们把它叫做缺省VLAN(Default VLAN)。
我们说网络通信是基于广播的,尤其是指网络层到数据链路层封装时用到的ARP和获取主机配置信息的DHCP。当同一个广播域中的主机数量过多时,会导致广播泛滥、通信开销增加、网络性能显著下降,直到网络不可用等。VLAN技术应运而生,它可以有效分隔广播域的大小,在较小规模的广播域里,域内广播包的占比和主机收到的广播包的数量都会明显减少。
3 VLAN 定义
VLAN 是将一个物理的LAN 在逻辑上划分成多个虚拟的LAN(Virtual VLAN),以达到分隔广域的通信技术。
4 VLAN 作用
1) 限制广播域大小;
2) 增强局域网的安全性;
3) 提高了网络的性能和健壮性;
4) 灵活构建虚拟工作组。
VLAN定义在数据链路层或网络接入层,用户一旦接入某个网络就意味着接入到了某个VLAN,它起到对数据隔离的作用,隔离的同时也导致VLAN间通信的限制。要想实现VLAN间通信,需要借助于上层设备或技术,具体的实现有多路由器端口、路由器子接口(单臂路由)、SVI(Switch Virtual Interface)、ARP Proxy等。
5 以太网帧格式
Ethernet Version II帧结构,如图11-01所示。
图11-01 以太网II帧格式
对各字段解释如下:
Destination Address 目的地址。
Source Address 源地址。
Type/Length 类型长度,Type表示携带的上层协议,Length表示帧的长度,当普通的数据帧时,此字段表示Type,当封装Dot1Q数据帧时,此字段表示Length,Type由Dot1Q字段中的TPID表示。
Data 携带的数据内容。
FCS (Frame Check Sequence)帧校验序列。
6 VLAN ID
一个VLAN ID是由12个二进制位构成,可以表示0~4095数字范围,但并不是所有VLAN ID都可以在生产中使用。
表11-01 VLAN ID及用途
VLAN ID
|
用途
|
0,4095
|
系统保留,生产中不能用。
|
1,1002~1005
|
缺省VLAN,自动被创建,用户不能配置。http://www.cisco.com/c/en/us/td/docs/ios/12_4t/12_4t15/ht_xvlan.html
*在华为等国产设备上并没有这个限制,经验证也可以配置并提供以太网业务。
|
2~1001
|
基本VLAN,生产中可用的VLAN ID。
|
1006~4094
|
扩展VLAN,生产中可用的VLAN ID。
|
|
|
|
7 中继链路上的帧
在中继链路上要承载多个VLAN,为区分不能的 VLAN数据,就需要为不同VLAN的数据帧添加一个标识,这个标识就是VLAN Tag。本地VLAN不需要添加VLAN标识(打Tag),只有中继链路上的帧才需要打Tag。
7.1 Dot1Q
IEEE 802.1Q 是IEEE 标准,用于标记中继链路上的帧,最多支持 4094个VLAN。会对原始帧进行了修改,在源MAC 地址(Source Address)和长度类型(Length/Type)字段之间加入4 字节的802.1Q Tag,并重新计算帧校验序列(FCS)。
7.1.1 Dot1Q帧格式
图11-02 显示了802.1Q帧封装结构。
图11-02 802.1Q帧封装示意图
Dot1Q各字段标识说明如下:
TPID,Tag Protocal Identifier,协议标识符,用来标识上层协议,与普通的以太网帧中的Type/Length字段意义一样,而此时的Type/Length字段表示Length。
PRI,Priority,802.1P优先级,因为只有三位,只能表示0~7,可用在QoS。
CFI,Canonical Format Indicator,权威格式标识,只有一位,用来兼容令牌环,0表示以太网,表示MAC地址是权威格式,1表示令牌环,表示MAC地址不是权威格式。
VID,VLAN ID,12位长度,可表示0~4095,即2^12,共4096个。
7.1.2 Dot1Q帧实例
Dot1Q帧封装在Wireshark协议分析工具上的显示,如图11-03所示。
图11-03 802.1Q帧封装实例,VLAN 10
从抓包实例中我们可以看出:
1)这是一个以太网II数据帧;
2)目的MAC地址是54:89:98:51:27:dd;
3)源MAC地址是54:89:98:f2:51:2a;
4)Type类型值是0x8100,是802.1Q帧;
802.1Q封装中各字段值内容是:
1)PRI优先级是缺省值0,尽力而为转发;
2)CFI值是0,是权威格式MAC地址;
3)VLAN ID是10;
4)Type类型是0x0800,上层协议是IPv4。
7.2 ISL
ISL,Inter Switch Links,交换机间链路,是CISCO提出的一种干线帧封门装协议,是私有协议。与Dot1Q相比,它不改变原帧结构,会封装原来的帧,并添加一个新的报头和帧检验序列(FCS),最多支持1000 个VLAN。ISL封装也逐渐被CISCO抛弃,在CISCO的官方教材中也不推荐使用,而是推荐Dot1Q封装。
7.2.1 ISL帧格式
图11-04显示了802.1Q帧封装结构。它保持原以太帧不变,添加新的ISL头并计算新的FCS。
图11-04 ISL帧封装
8 VLAN划分依据
VLAN在生产中的应用可以看成是一个虚拟工作组,而依什么样的条件把设备归为一组呢?最常用方法的是基于设备所端接的端口划分VLAN,也是最简单最容易实现的方式。在基于端口的VLAN中,我们一般先创建VLAN,再把端口添加到VLAN中。有动态VLAN与静态VLAN之分,基于端口的VLAN,就是静态VLAN的一种。典型的动态VLAN有基于MAC地址的VLAN和基于IP子网的VLAN等。除了基于端口的VLAN划分,其它划分方法在绝大部分产品中不受支持,如果有其它划分方法的需求,在使用前先查一查产品文档,确定其是否支持我们想要的特性。
8.1 基于端口
指定某一个交换机端口是属于一个或多个VLAN 。在生产中应用得最为普遍,这种实现方式在生产中普遍应用的主要原因有:
1)比较简单,而且容易理解和实现,管理与维护也比较方便容易;
2)更重要的是满足了最普遍的业务需求,比如某台主机属于某个工作组,接入到交换机的某个端口,需要基于端口划分VLAN。
是交换机的一项基本能力,只要是可管理的交换机一般都会支持基于端口的VLAN划分,但是其它VLAN划分的方法就不一定了。
8.2 基于MAC地址
实现比较复杂,需要统计每一个终端的MAC地址,并且维护也比较麻烦,可能还需要一台专门的服务器。优点是可以根据MAC地址前24位来划分,这样可以对应到一批次设备或某厂家的设备。一般是通过专门的服务器来管理MAC与对应VLAN的关系,生产中应用不是太多。这一特性没有被广泛支持。
8.3 基于策略
更加复杂啦!策略定义本身就增加了复杂性,而且交换机在做策略匹配计算时会增加系统资源的消耗,降低转发效率,关键是很多交换机根本就不支持。
8.4 基于IP子网
需要感知三层的报文,并判断IP地址所属的子网,再做二层的封装,对系统资源的消耗增多,会降低转发性能,多数交换机都不支持。在生产中试图实现过一次,对交换机的转发性能下降非常明显,不得不放弃。
8.5 基于协议
是基于上层封闭的协议类型来划分VLAN,有时候也把基于IP网络和基于协议两种方式统称为基于网络层划分VLAN。可能基于的协议有ATM,IPv4,IPv6,IPX等等,普遍不受支持,使用前请查产品文档。
9 端口模式
在基于端口的VLAN中,端口模式是一个非常重要的概念,不同的端口模式对于VLAN Tag的处理不同,对应于不同的应用场景。
9.1 接入模式
关键字“access”。端口与VLAN一一 对应,在某一时间只能加入一个VLAN。大部分厂家提供的缺省模式就是这种模式,华为设备新出厂缺省模式是hybrid。
这种模式一般连接主机设备或终端设备,如服务器、桌面终端或专用终端等。
在华为设备将端口gig 0/0/0加入到VLAN 10,可以使用如下命令:
<Huawei>system-view
[Huawei]int gig 0/0/0
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 10
在CISCO设备将端口gig 0/0/0加入到VLAN 10,可以使用如下命令:
Switch>en
Switch#config t
Switch-config#int fa 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
9.2 中继模式或干线模式
关键字“trunk”。接口本身可以设置一个归属VLAN(PVID),同时还可以设置允许其它VLAN 通过。其它通过的VLAN 在这种接口模式下会打上VLAN 标记。
Trunk模式的接口一般不用在与终端相连,用在交换机与交换机或交换机与路由器相连,它会为每一个允许通过的其它VLAN 打上标签(tag)。
在华为设备将端口gig 0/0/0设置为中继模式,并允许VLAN 2到VLAN 9通过,可以使用如下命令:
<Huawei>system-view
[Huawei]int gig 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 to 9
在CISCO设备将端口gig 0/1设置为中继模式,并允许VLAN 2到VLAN 9通过,可以使用如下命令:
Switch>en
Switch#config t
Switch-config#int gig 0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 2-9
9.3 混合模式
关键字“hybrid”。是华为系设备特性,CISCO没有。Hybrid模式灵活多变,可以单独或同时实现Access和Trunk的功能,在生产中普遍采用。可以通过配置PVID和Untagged的方式,对某个特定VLAN实现access的功能。Hybrid端口还可以同时配置一个VLAN以untagged或tagged方式通过,或者说可以让端口以untagged或tagged方式加入到某个VLAN。当前常见的华为交换机,端口默认都是属于Hybrid模式。
Hybrid接口用在什么场景?
1)在基于VLAN的QinQ封闭中,必须将端口配置成这种模式。
2)可以直接与终端相连,可以只属于 VLAN 1(缺省的),也可以加入到其它VLAN,它有一条隐含的命令:
port hybrid vlan 1
这条命令的作用是把hybrid接口以untagged方式加入到 VLAN 1中。
Hybrid模式端口与终端相连时,可以实现Access模式相同的效果。比如:将Hybrid端口gig 0/0/0加入VLAN 10,可以使用如下命令:
<Huawei>system-view
[Huawei]int gig 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type hybrid
[Huawei-GigabitEthernet0/0/1]port hybrid pvid vlan 10
[Huawei-GigabitEthernet0/0/1]port hybrid untagged vlan 10
3)与其它网络设备相连,可以实现trunk模式相同的效果,而且更加自由、灵活,还能够提供更多的功能。在QinQ场景中必须使用这种模式。 如:将Hybrid端口gig 0/0/0与另外一台交换机相连,需要对VLAN 2到VLAN 9打上802.1Q Tag,并允许通过,可以使用如下命令:
<Huawei>system-view
[Huawei]int gig 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type hybrid
[Huawei-GigabitEthernet0/0/1]port hybrid tagged vlan 2 to 9
4)与其它网络设备相连,同时实现Access和Trunk的效果。交换机LSW1与另外一台交换机LSW2相连,需要互连的链路通过VLAN 2为LSW2提供接入服务,并转发交换机LSW2上的VLAN 10。可在LSW1上执行如下命令:
<Huawei>system-view
[Huawei]int gig 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type hybrid
[Huawei-GigabitEthernet0/0/1]port hybrid pvid vlan 2
[Huawei-GigabitEthernet0/0/1]port hybrid untagged vlan 2
[Huawei-GigabitEthernet0/0/1]port hybrid tagged vlan 10
虽然Trunk模式也能实现如上需求,但是Hybrid模式实现更优,它不需要对VLAN 2的数据再封装和解封装Dot1Q标识。
10 VlAN Tag的处理
这是基于端口的VLAN 特有的特性。关于VLAN Tag的处理,经常让人颠三倒四。什么时候发送报文打Tag,什么时候发送报文不打Tag?什么时候接收带Tag帧,什么时候不接收带Tag帧?
下面的这张表一定能够解答你的疑问。如果还没有解决,请继续往下看,莫放弃,莫停留。
表11-02 华为系设备对于VLAN Tag的处理
接口类型
|
对接收不带 Tag 的报文处理
|
对接收带 Tag 的报文处理
|
对发送报文的处理
|
Access接口
|
接收该报文,并打上缺 省 VLAN 的 Tag。
|
l)当VLAN ID与缺省VLAN ID相同时,接收该报文。
2)当VLAN ID与缺省VLAN ID不同时,丢弃该报文。
|
去掉Tag,发送该报文。
|
Trunk接口
|
1)打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。
2)打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID 列表里时,丢弃该报文。
|
1)当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。
2)当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
|
1)当VLAN ID与缺省VLAN ID相同时,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。
2)当VLAN ID与缺省VLAN ID不同时,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。
|
Hybrid接口
|
同上
|
同上
|
当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过port hybrid untagged/tagged vlan设置发送时是否携带Tag。
|
QinQ接口
|
当接收该报文,并打上缺省VLAN的Tag。
|
接收该报文,再打上一层缺省VLAN的Tag。
|
剥掉外层缺省VLAN的Tag,发送该报文。
|
11 不同接口模式对于VLAN Tag的处理流程
11.1 Access 接口收发数据帧流程
Access接收数据帧流程。如图11-05所示。
图11-05 Access接口接收数据帧流程图
Access发送数据帧流程。如图11-06所示。
图11-06 Access发送接收数据帧流程图
11.2 Trunk 接口
Trunk接收数据帧流程。如图11-07所示。
图11-07 Trunk接口接收数据帧流程图
Trunk发送数据帧流程。如图11-08所示。
图11-08 Trunk发送接收数据帧流程图
11.3 Hybrid 接口
Hybrid接收数据帧流程。如图11-09所示。
图11-09 Hybrid接口接收数据帧流程图
Hybrid发送数据帧流程。如图11-10所示。
图11-10 Hybrid发送接收数据帧流程图
Hybrid接口没有明确的允许通过列表,不管是Untagged和Tagged VLAN都是允许通过的VLAN,除此之外的都是不允许通过VLAN。
12 创建VLAN示例
鉴于基于端口的VLAN之多见,我们下面讨论一下两大门派的具体实现。
12.1 CISCO设备上创建VLAN
CISCO创建VLAN 有两种模式,分别是VLAN数据库式和全局配置模式,两者最终效果都一样。
在CISCO交换机上,VLAN 1、1002~1005是自动创建的,分别用到不同协议应用于跑业务的VLAN 是1~1001,1,缺省VLAN,2~1001是手工创建用来跑以太网业务的VLAN。
列表如下:
表11-03 CISCO交换机上的VLAN
Vlan ID
|
自动创建
|
用途
|
1
|
是
|
以太网业务
|
2~1001
|
否
|
以太网业务
|
1002~1005
|
是
|
分别用到fddi,token ring等业务
|
图11-11 CISCO交换机上的缺省vlan
12.1.1 VLAN 数据库模式
1)在全局配置模式下,输入
Switch>en
Switch#vlan database
% Warning: It is recommended to configure VLAN from config mode,as VLAN database mode is being deprecated. Please consult user documentation for configuring VTP/VLAN in config mode.
从返回的信息看, 这已经不再是推荐的配置方式。在这种模式下创建的VLAN时可以同时可对VLAN命名。
Switch(vlan)#vlan 2 name group2
VLAN 2 added:
Name: group2
Switch(vlan)#
如果想要把接口添加到VLAN,只能在全局配置模式下添加。
VLAN name 相当于是注释或描述的作用,对业务没有实质的影响,主要是为了方便管理与维护。
12.1.2 全局配置模式
是厂家推荐的配置方式,功能更丰富,操作更灵活。操作如下:
Switch#config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 2
Switch(config-vlan)#
Switch(config-vlan)#name ?
WORD The ascii name for the VLAN
Switch(config-vlan)#name group2 ?
<cr>
Switch(config-vlan)#name group2
在CISCO设备上,批量创建多个VLAN可以使用连字符“-”或逗号“,”,真实环境有待验证。
“-”用来创建连续的连续的号码的VLAN,“,”用来创建不连续号码的VLAN。示例如下:
Switch#config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 2-10,100,110
Switch(config)#
12.2 将端口加入到VLAN
把端口加入到VLAN,必须在接口模式下操作。可以在VLAN下添加端口,也可以在端口下加入到VLAN,我们通常使用第二种方式。
12.2.1 逐个加入
这种方法一次只添加一个端口到一个VLAN。如果要操作的端口数量不多时,可以考虑使用这种方式。
Switch#config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa 0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 2
Switch(config-if)#exit
12.2.2 批量加入
这种方法用在有较多端口要添加到一个VLAN的场景。可以先一次性进入多个端口,同时操作这些端口的VLAN属性。进入多个端口的方法是使用连字符“-”和逗号“,”。连续的端口号用“-”连接,不连续的端口号用“,”连接。使用这种方法可以将多个端口同时添加到某个VLAN。如果要操作的端口数量比较多时,最好考虑使用这种方式。
Switch(config)#int range fa 0/1,fa0/4 - fa0/10
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 2
Switch(config-if-range)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/2, Fa0/3, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
2 VLAN0002 active Fa0/1, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1 enet 100001 1500 - - - - - 0 0
2 enet 100002 1500 - - - - - 0 0
1002 fddi 101002 1500 - - - - - 0 0
1003 tr 101003 1500 - - - - - 0 0
1004 fdnet 101004 1500 - - - ieee - 0 0
1005 trnet 101005 1500 - - - ibm - 0 0
Remote SPAN VLANs
------------------------------------------------------------------------------
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
Switch#
12.3 华为设备上创建VLAN
华为对于VLAN的理解与CISCO不同,ID号从1~4095都可以承转以太网业务,只有一个缺省VLAN,就是VLAN 1。
在华为设备上创建VLAN既可以逐个创建,也可以批量创建,如果需要创建的VLAN比较多,可以选择使用批量创建办法。
12.3.1 逐个创建
这种方法一次只创建一个VLAN,并进入VLAN配置视图。可以在VLAN配置视图下添加端口,但是一般不用,因为华为缺省的端口模式是hybrid,不能直接加入VLAN。
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]vlan 2
[Huawei-vlan2]port gig 0/0/4 to 0/0/7 0/0/9
Error: Trunk or Hybrid port(s) can not be added or deleted in this manner.
12.3.2 批量创建
一次创建多个VLAN。VLAN号可以是连续的,也可以是不连续的,连续的VLAN号用关键字“to”隔开,不连续的VLAN号用空格“空格”隔开。相对于逐个创建,批量创建的方式一次创建多个VLAN,但是不进入VLAN配置视图。我个人比较喜欢使用这种方法,就算是在创建单个VLAN时也不例外。
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]vlan
[Huawei]vlan batch 3 to 9 11
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]dis vlan
The total number of vlans is : 10
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:GE0/0/1(D) GE0/0/3(D) GE0/0/4(D) GE0/0/5(D)
GE0/0/6(D) GE0/0/7(D) GE0/0/8(D) GE0/0/9(D)
GE0/0/10(D) GE0/0/11(D) GE0/0/12(D) GE0/0/13(D)
GE0/0/14(D) GE0/0/15(D) GE0/0/16(D) GE0/0/17(D)
GE0/0/18(D) GE0/0/19(D) GE0/0/20(D) GE0/0/21(D)
GE0/0/22(D) GE0/0/23(D) GE0/0/24(D)
2 common UT:GE0/0/2(D) GE0/0/3(D)
TG:GE0/0/1(D)
3 common
4 common
5 common
6 common
7 common
8 common
9 common
11 common
VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------
1 enable default enable disable VLAN 0001
2 enable default enable disable VLAN 0002
3 enable default enable disable VLAN 0003
4 enable default enable disable VLAN 0004
5 enable default enable disable VLAN 0005
6 enable default enable disable VLAN 0006
7 enable default enable disable VLAN 0007
8 enable default enable disable VLAN 0008
9 enable default enable disable VLAN 0009
11 enable default enable disable VLAN 0011
[Huawei]
12.4 将端口加及到VLAN
我们一般选择在端口下加入到VLAN,如果端口数量比较多时,可以同时进入多个端口进行处理。
12.4.1 逐个加入
创建VLAN 2,并将端口gig 0/0/1加入到其中。操作过程如下:
<Huawei>
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]vlan batch 2
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]int gig 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 2
[Huawei-GigabitEthernet0/0/1]
还有一种批量操作单个端口加入到某个VLAN中的方式,这种配置方式在生产中非常有用,不仅仅用来配置VLAN,可以根据需要推广应用到其它场景。具体操作如下:
1)把当前配置打出来;
2)把相关(这个相关很有内涵)的文本复制到文本编辑器中;
3)修改这些端口下的配置内容;
4)粘贴到仿真终端命令和参数输入区。
system
#
interface GigabitEthernet0/0/1
port hybrid tagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/5
port link-type access
port default vlan 3
#
interface GigabitEthernet0/0/6
port link-type access
port default vlan 3
#
interface GigabitEthernet0/0/7
port link-type access
port default vlan 4
#
interface GigabitEthernet0/0/8
port link-type access
port default vlan 4
#
interface GigabitEthernet0/0/9
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/10
port link-type access
port default vlan 10
#
return
save
y
记得在最后加多两个换行符,能够在很大程度上规避错误。
“复制-修改-粘贴”,是一个神奇的配置实现方法,掌握了它可以大幅提升工作效率。
12.4.2 批量加入
一次进入多个端口,连续的端口号用“to”连接,不连续的端口号用“空格”隔开,但是要注意在端口号前面加上端口类型。具体实现如下:
[Huawei]int range gig 1/0/38 to gig 1/0/44 gig 1/0/47
[Huawei-port-group]port link-type hybrid
[Huawei-GigabitEthernet1/0/38]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/39]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/40]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/41]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/42]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/43]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/44]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-GigabitEthernet1/0/47]port link-type hybrid
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei-port-group]port hybrid untagged vlan 2
[Huawei-GigabitEthernet1/0/38]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/39]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/40]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/41]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/42]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/43]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/44]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-GigabitEthernet1/0/47]port hybrid untagged vlan 2
Info: This operation may take a few seconds. Please wait a moment...done.
[Huawei-port-group]
13 VLAN应用
13.1 Hybird接口模式同时实现Access与Trunk的功能
需要两台三层交换机使用三层接口互联,互联VLAN 2互联,同时又需要VLAN 10 和VLAN 11放行通过,以便与上层三层接口通信。
图11-12 Hybrid端口可同时实现Access和Trunk两种功能
如上图11-12,LSW2是一台二层交换机,为用户接入网络服务,LSW1是具有三层功能的交换机,可以为终端用户提供网关服务。LSW2需要配置一个主机IP用来做管理用。这就要求两台交换机之间相连的链路既是干线链路,也是接入链路。两台交换机上业务需求相关的配置如下:
LSW1业务相关配置如下:
#
sysname lsw1
#
vlan batch 2 10 to 11
#
#
interface Vlanif2
ip address 10.0.1.1 255.255.255.252
#
interface Vlanif10
ip address 10.0.10.1 255.255.255.0
#
interface Vlanif11
ip address 10.0.11.1 255.255.255.0
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid tagged vlan 10 to 11
port hybrid untagged vlan 2
#
LSW2业务相关配置如下:
#
sysname lsw2
#
vlan batch 2 10 to 11
#
#
interface Vlanif2
ip address 10.0.1.2 255.255.255.252
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid tagged vlan 10 to 11
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 10
port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 11
port hybrid untagged vlan 11
#
#
ip route-static 0.0.0.0 0.0.0.0 10.0.1.1
#
13.2 在不等价链路上提供等价负载均衡
OSPF只能在等价链路上提供负载均衡,对于不等价链路只能主备使用。有这样一个场景,LSW1和LSW2是相对高性能交换机,LSW3是相对低性能交换机,LSW1与LSW2,LSW2与LSW3之间的线路相对比较可靠,是专线,LSW1与LSW3是走运营商的PTN线路。三台交换机都是三层交换机,正常情况下我们会让每台交换机之间使用三层接口互联,但是在这个场景中就不能实现负载均衡了,因为经过的跳数都不一样,除非强制修改cost值,本篇不讨论,请查阅本书第22章《OSPF及其在生产中的应用》一章。
图11-13 在不等价链路上提供等价负载均衡实验拓扑
实现的办法有三个:
1)将各个设备相连的接口设置成Trunk接口,并允许相关VLAN通过,启用相关VLAN对应的SVI;
2)将各个设备相连的接口设置成Hybrid接口,并对接入和通过的VLAN设置为Tagged,启用相关VLAN对应的SVI;
3)设备两两相连的接口设置成Hybrid接口,接入VLAN不打Tag,需要转发的VLAN打Tag。
以上三种方法都能够实现不等价负载均衡的效果,但是实现原理不同。第一种和第二种实现原理一样,都是所有VLAN打上Tag进行标记。第三种方法只对需要转发的VLAN才条Tag,可以减少没有必要的封装和解封装VLAN Tag并且重新计算帧检验序列的操作,同时还减少了需要转发发的数据量,减轻了系统消耗和链路带宽占用。
我们的实现采用第三种方法。LSW1与LSW2之间,只有VLAN 4需要封装VLAN Tag,LSW2与LSW3之间不需要封装VLAN Tag。业务相关配置如下:
LSW1业务相关配置:
#
sysname LSW1
#
vlan batch 2 to 4
#
#
interface Vlanif2
ip address 10.0.1.1 255.255.255.252
#
interface Vlanif3
ip address 10.0.1.5 255.255.255.252
#
interface Vlanif4
ip address 10.0.1.9 255.255.255.252
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid tagged vlan 4
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
#
return
LSW2业务相关配置:
#
sysname LSW2
#
vlan batch 2 4
#
#
interface Vlanif2
ip address 10.0.1.2 255.255.255.252
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid tagged vlan 4
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 4
port hybrid untagged vlan 4
#
#
return
LSW3业务相关配置:
#
sysname LSW3
#
vlan batch 3 to 4
#
#
interface Vlanif3
ip address 10.0.1.6 255.255.255.252
#
interface Vlanif4
ip address 10.0.1.10 255.255.255.252
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 4
port hybrid untagged vlan 4
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
#
return
14 Aggregation VLAN
Aggregate VLAN翻译作聚合VLAN,是华为设备的特性。将VLAN定义为Supper VLAN和Sub VLAN,Sub VLAN归属于某个Supper VLAN,一个Supper VLAN可以有多个Sub VLAN,但是Supper VLAN不能有成员端口,成员端口只能属于Sub VLAN,不过Supper VLAN可以有SVI,但是Sub VLAN不能有。所有的Supper VLAN下的Sub VLAN共用同一个SVI、同一个子网段和网关,但是各个Sub VLAN分属不同的广播域,Sub VLAN之间的设备不能够直接相互通信。其目的是在分隔广播域和隔离广播的同时,减少因划分子网造成的IP地址损失。
14.1 Aggregate VLAN 应用实例
图11-14 在同一个子网内实现隔离
如图11-14 所示,某公司外联区的LSW1提供外部合作伙伴的接入服务。VLAN 10和VLAN 20分别代表两个事业部(群),PC1、PC2与PC3、PC4分别表示每个事业部的合作伙伴。同一个事业部的合作伙伴使用同一个子网和网关,但是每一个合作伙伴之间不可以直接通信。
根据需求,可以为每一个事业部划分一个子网网段,并启用Supper VLAN的SVI,为事业部的合件伙伴提供接入网关。每一个接入的合作伙伴分属一个Sub VLAN,同一个Supper VLAN下,Sub VLAN之间的用户不能够直接相互通信。
交换机LSW1上业务相关配置如下:
#
sysname LSW1
#
vlan batch 2 to 5 10 20
#
#
vlan 10
aggregate-vlan
access-vlan 2 to 3
vlan 20
aggregate-vlan
access-vlan 4 to 5
#
#
interface Vlanif10
description GroupA
ip address 10.0.1.1 255.255.255.0
#
interface Vlanif20
description GroupB
ip address 10.0.2.1 255.255.255.0
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 4
port hybrid untagged vlan 4
#
interface GigabitEthernet0/0/4
port hybrid pvid vlan 5
port hybrid untagged vlan 5
#
在eNSP(版本号1.3.00.100,V100R003C00SPC100)模拟器上,上面的配置可能不能正常运行,但是上面的配置并不影响在实际的设备上运行。模拟器上的配置需要将Sub VLAN的接口端口模式设置成Access模式,Trunk模式,或Hybrid Tagged模式,Hybrid Untagged + PVID的模式不能正常工作。
15 MUX VLAN
即Multiplex VLAN,与Aggregate Vlan有诸多相似之处,甚至可以理解为是它的扩展。MUX VLAN提供一个Prinipcal VLAN(主VLAN)与Aggregate VLAN里的Supper VLAN功能基本一样,Subordinate VLAN(从VLAN)与Aggregate VLAN里的Sub VLAN功能基本相似,但是MUX VLAN的从VLAN又分为Group VLAN(互通型 VLAN)和Separate VLAN(隔离型 VLAN)。另外,MUX VLAN的上级VLAN不支持在本地创建网络层接口,如果只使用互通型从VLAN,不创建本地网络层接口,其作用与Aggregate VLAN基本一样,但是主VLAN不支持SVI。只有Access接口才支持MUX VLAN配置。
表11-04 Aggregate VLAN与MUX VLAN对比表
|
Aggregate VLAN
|
MUX VLAN
|
上级VLAN
|
Supper VLAN
|
Principal VLAN
|
下级VLAN
|
Sub VLAN
|
Subordinate VLAN
|
主VLAN支持成员接口
|
否
|
是
|
下级VLAN内设备隔离
|
是
|
Separate VLAN隔离
Group VLAN互通
|
上级VLAN支持SVI
|
是
|
否
|
接口模式
|
Access,Trunk,Hybrid
|
Access
|
15.1 MUX VLAN应用实例
图11-15 在同一个子网内的隔离与互通
如图11-15所示,某公司外联区的LSW1提供外部合作伙伴的接入服务。VLAN 10和VLAN 20分别代表企业内部用户和企业合作伙伴,PC1、PC2与PC3、PC4分别表示每一个组织的内部用户。要求所有用户可以使用同一个子网,但是企业内部用户可以互相通信并与企业资源服务器通信,企业外部用户不能够相互通信,但是可以获取企业服务器上的资源,企业内部用户与外部用户不能够相互通信。
根据需求,可以在接入交换机上创建MUX VLAN,主VLAN与上级设备互连,将企业内部用户分配在互通型从VLAN,将企业外部用户分配在隔离型从VLAN。为所有用户划分一个子网网段,并在上一级网络设备上启用MUX VLAN的网络层接口,为所有上网用户提供网关服务。
交换机LSW1上业务相关配置如下:
#
sysname LSW1
#
vlan batch 10 20
#
#
interface Vlanif10
ip address 10.0.1.1 255.255.255.0
#
interface Vlanif20
ip address 10.0.0.1 255.255.255.0
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 10
port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 20
port hybrid untagged vlan 20
#
#
交换机LSW2上MUX相关配置如下:
<lsw2>dis mux-vlan
Principal Subordinate Type Interface
-----------------------------------------------------------------------------
10 - principal GigabitEthernet0/0/1
10 3 separate GigabitEthernet0/0/4 GigabitEthernet0/0/5
10 2 group GigabitEthernet0/0/2 GigabitEthernet0/0/3
-----------------------------------------------------------------------------
<lsw2>
交换机LSW2上业务相关配置如下:
#
sysname LSW2
#
vlan batch 2 to 3 10
#
#
vlan 10
mux-vlan
subordinate separate 3
subordinate group 2
#
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
port mux-vlan enable
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 2
port mux-vlan enable
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 2
port mux-vlan enable
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 3
port mux-vlan enable
#
interface GigabitEthernet0/0/5
port link-type access
port default vlan 3
port mux-vlan enable
#
#
16 私有VLAN
CISCO设备的特性,与华为的MUX VLAN的特性比较相似,但是理解起来更加困难。虽然是基于端口的VLAN,但是端口与VLAN并没有一一对应关系,一个VLAN可以有多个端口,一个端口也可以映射到多个VLAN。
私有VLAN中的端口类型有三种,分别是孤立端口,杂合端口和团体端口。
孤立端口,完全与私有VLAN中的其它端口隔离,仅能与杂合端口通信。
杂合端口,可以与所有类型的VLAN中的端口通信。杂合端口是主VLAN的一部分,每一个杂合端口都可以对应一个以上的辅助VLAN。
团体端口,端口之间可以相互通信,也可以和杂合端口通信,但是不能与孤立端口通信。
有两类私有VLAN,分别是主VLAN和辅助VLAN。主VLAN下可以有多个辅助VLAN,辅助VLAN必须与主VLAN绑定。同一主VLAN下的所有辅助VLAN都可以使用同一个子网。
有两类辅助VLAN,分别是团体VLAN和孤立VLAN。
团体VLAN内的端口可以相互通信,也可以与主VLAN内的杂合端口通信。
孤立VLAN内的端口不可以相互通信,只可以与杂合端口通信。
以上内容参考CCNP SWITCH 642-813 学习指南。
因为缺少实验环境,私有VLAN的实验暂缺。
17 VLAN间通信
VLAN的目的就是为了分隔广播域。但是不同的广播域之间还是有通信的需求的,而不同广播域之间的通信,需要借助网络层设备。不同子网,不同VLAN的设备之间通信,可以通过多路由器端口、单臂路由、三层交换机SVI的方式进行通信。在同一子网通过不同VLAN分隔广播域,就意味着隔离了VLAN间广播,这样一来就把同一网段内基于广播的通信(ARP Request和DHCP Discover)给隔离。如若实现同一子网 ,不同VLAN间的设备通信,可以借助ARP Proxy技术。接下来我们分别进行讨论。
17.1 多路由器端口
可能是同一台路由器,也可能是不同的路由器。如果是不同的路由器,须保证这些路由器之间互联互通,然后每一个路由器接口连接一个VLAN。
17.1.1 华为实现
如图11-16所示,路由器AR1的两个端口分别连接交换机LSW1的两个VLAN,并为两个VLAN内的设备提供网关服务。
图11-16 VLAN间通信之多路由器端口,华为实现
路由器AR1上业务相关配置如下:
#
sysname AR1
#
#
interface GigabitEthernet0/0/0
ip address 10.0.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.2.1 255.255.255.0
#
#
交换机LSW1上业务相关配置如下:
#
sysname LSW1
#
vlan batch 2 to 3
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 2
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/4
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
#
17.1.2 CISCO实现
如图11-17所示,路由器Router0的两个端口分别连接交换机Switch0的两个VLAN,并为两个VLAN内的设备提供网关服务。
图11-17 VLAN间通信之多路由器端口,CISCO实现
路由器Router0上业务相关配置如下:
!
!
hostname Router0
!
!
interface FastEthernet0/0
ip address 10.0.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.0.2.1 255.255.255.0
duplex auto
speed auto
!
!
交换机Switch0上业务相关配置如下:
!
!
hostname Switch0
!
!
interface FastEthernet0/1
switchport access vlan 2
!
interface FastEthernet0/2
switchport access vlan 3
!
interface FastEthernet0/3
switchport access vlan 2
!
interface FastEthernet0/4
switchport access vlan 3
!
!
17.2 单臂路由
通过启用路由器子接口和终结干线封装实现。
17.2.1 华为实现
如图11-18所示,交换机LSW1与路由器AR1相连的接口模式是Trunk模式或Hybrid Tagged,在路由器AR1上启用子接口并终结Dot1Q封装。
图11-18 VLAN间通信之单臂路由,华为实现
路由器AR1上业务相关配置如下:
#
sysname AR1
#
#
interface GigabitEthernet0/0/0
#
interface GigabitEthernet0/0/0.1
dot1q termination vid 2
ip address 10.0.1.1 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/0.2
dot1q termination vid 3
ip address 10.0.2.1 255.255.255.0
arp broadcast enable
#
#
交换机LSW1上业务相关配置如下:
#
sysname LSW1
#
vlan batch 2 to 3
#
#
interface GigabitEthernet0/0/1
port hybrid tagged vlan 2 to 3
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 2
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
#
17.2.2 CISCO实现
如图11-19所示,交换机Switch0与路由器Router0相连的接口模式是Trunk模式,在路由器Router0上启用子接口并配置封装类型为Dot1Q封装。
图11-19 VLAN间通信之多单臂路由,CISCO实现
路由器Router0上业务相关配置如下:
!
!
hostname Router0
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
!
interface FastEthernet0/0.1
encapsulation dot1Q 2
ip address 10.0.1.1 255.255.255.0
!
interface FastEthernet0/0.2
encapsulation dot1Q 3
ip address 10.0.2.1 255.255.255.0
!
!
交换机Switch0上业务相关配置如下:
!
!
hostname Switch0
!
!
interface FastEthernet0/1
switchport trunk allowed vlan 2-3
switchport mode trunk
!
interface FastEthernet0/2
switchport access vlan 2
!
interface FastEthernet0/3
switchport access vlan 3
!
!
17.3 三层交换机SVI
本质上与第一种场景一样,相当于是同一台路由器的不同接口连接了不同的VLAN。这一种方式在生产中比较常见。
17.3.1 华为实现
如图11-20所示,交换机LSW1连接两个VLAN,并在交换机上启用两个VLAN的SVI,实现两个VLAN的互通。
图11-20 VLAN间通信之三层交换机SVI,华为实现
交换机LSW1上业务相关配置如下:
#
sysname LSW1
#
vlan batch 2 to 3
#
#
interface Vlanif2
ip address 10.0.1.1 255.255.255.0
#
interface Vlanif3
ip address 10.0.2.1 255.255.255.0
#
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 2
port hybrid untagged vlan 2
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 3
port hybrid untagged vlan 3
#
17.3.2 CISCO实现
如图11-21所示,交换机Switch0连接两个VLAN,并在交换机上启用两个VLAN的SVI,实现两个VLAN的互通。
图11-21 VLAN间通信之三层交换机SVI,CISCO实现
交换机Switch0上业务相关配置如下:
!
!
hostname Switch0
!
!
ip routing
!
!
interface FastEthernet0/1
switchport access vlan 2
!
interface FastEthernet0/2
switchport access vlan 3
!
!
interface Vlan2
ip address 10.0.1.1 255.255.255.0
!
interface Vlan3
ip address 10.0.2.1 255.255.255.0
!
!
有这样一个问题在某问答网站被问到过:将三层交换机上的接口直接设置为网络层接口和使用SVI有什么区别?
首先说两者并没有本质区别。
直接三层接口,设备收到数据后,拆开二层封装的报头,根据数据类型和服务标识,送往三层处理。比如二层是以太,会根据以太报头中的Ethernet Type字段,送往上层去处理。0x0800送给IPv4,0x86dd送给IPv6,0x0806送给ARP,0x8100送给Dot1Q。
SVI接口,收到数据帧会检查目的MAC需要不需要自己处理,目的MAC是自己的和广播MAC地址都需要自己处理,自己处理的过程与直接三层口是一样的;如果都不是,说明是同广播域内的其它设备,进行二层转发。这与路由器或终端设备接在交换机上是一样的。
在一个物理接口,只归属一个VLAN,一个SVI,本质上与直接三层口并没有什么区别。
另外,CISCO的三层交换机因为对CEF特性的支持,与上面的过程稍有不同,还需要有Adjacency Tables的参与,而Adjacency Tables的构建需要借助于ARP。
17.4 ARP Proxy
通过启用VLAN间代理,实现ARP的代答操作。
|
|