读书笔记{11} VLAN及其在生产中的应用

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} VLAN及其在生产中的应用_第1张图片

图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。

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,可以使用如下命令:

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通过,可以使用如下命令:

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,可以使用如下命令:

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,并允许通过,可以使用如下命令:

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上执行如下命令:

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} VLAN及其在生产中的应用_第2张图片

图11-05 Access接口接收数据帧流程图

Access发送数据帧流程。如图11-06所示。

读书笔记{11} VLAN及其在生产中的应用_第3张图片

图11-06 Access发送接收数据帧流程图

11.2 Trunk 接口

Trunk接收数据帧流程。如图11-07所示。

读书笔记{11} VLAN及其在生产中的应用_第4张图片

图11-07 Trunk接口接收数据帧流程图

Trunk发送数据帧流程。如图11-08所示。

读书笔记{11} VLAN及其在生产中的应用_第5张图片

图11-08 Trunk发送接收数据帧流程图

11.3 Hybrid 接口

Hybrid接收数据帧流程。如图11-09所示。

读书笔记{11} VLAN及其在生产中的应用_第6张图片

图11-09 Hybrid接口接收数据帧流程图

Hybrid发送数据帧流程。如图11-10所示。

读书笔记{11} VLAN及其在生产中的应用_第7张图片

图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 ?

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。

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时也不例外。

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加入到其中。操作过程如下:

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相关配置如下:

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上业务相关配置如下:

#

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的代答操作。

你可能感兴趣的:(路由与交换,网络安全,网络,网络协议)