VLAN原理描述

您所在的位置:网站首页 qos特性 VLAN原理描述

VLAN原理描述

2023-04-07 11:33| 来源: 网络整理| 查看: 265

产生背景

交换网络中,VLAN技术以其对广播域的灵活控制和部署方便而得到了广泛的应用。但是在一般的三层交换机中,通常是采用一个VLAN对应一个三层逻辑接口的方式实现广播域之间的互通,这样导致了IP地址的浪费。例如,设备内VLAN划分如图7-47所示。

图7-47 普通VLAN网络示意图 表7-11 普通VLAN主机地址划分示例

VLAN

子网

网关地址

可用地址数

可用主机数

实际需求

2

1.1.1.0/28

1.1.1.1

14

13

10

3

1.1.1.16/29

1.1.1.17

6

5

5

4

1.1.1.24/30

1.1.1.25

2

1

1

如表7-11所示,VLAN2预计未来有10个主机地址的需求,给其分配一个掩码长度是28的子网1.1.1.0/28,其中1.1.1.0为子网号,1.1.1.15为子网定向广播地址,这两个地址都不能用作主机地址,此外1.1.1.1作为子网缺省网关地址也不可作为主机地址,剩下范围在1.1.1.2~1.1.1.14的地址可以被主机使用,共13个。这样,尽管VLAN2只需要10个地址,但是按照子网划分却要分给它13个地址。

同理,VLAN3预计未来有5个主机地址的需求,至少需要分配一个掩码长度是29的子网1.1.1.16/29。VLAN4预计未来只有1个主机,则分配一个掩码长度是30的子网1.1.1.24/30。

上述VLAN一共需要10+5+1=16个地址,但是按照普通VLAN的编址方式,即使最优化的方案也需要占用16+8+4=28个地址,浪费了将近一半的地址。而且,如果VLAN2后来并没有10台主机,而实际只接入了3台主机,那么多出来的地址也会因不能再被其他VLAN使用而被浪费掉。

同时,这种划分也给后续的网络升级和扩展带来了很大不便。假设VLAN4今后需要再增加2台主机,而又不愿意改变已经分配的IP地址。并且在1.1.1.24后面的地址已经分配给了其他人的情况下,只能再给VLAN4的新用户重新分配一个29位掩码的子网和一个新的VLAN。这样VLAN4中的客户虽然只有3台主机,但是却被分配在两个子网中,并且也不在同一个VLAN内,不利于网络管理。

综上所述,很多IP地址被子网号、子网定向广播地址、子网缺省网关地址消耗掉,而不能用于VLAN内的主机地址。同时,这种地址分配的约束也降低了编址的灵活性,使许多闲置地址也被浪费掉。为了解决这一问题VLAN Aggregation就应运而生。

实现原理

VLAN Aggregation技术(也称为Super VLAN,即VLAN聚合)就是在一个物理网络内,用多个VLAN隔离广播域,使不同的VLAN属于同一个子网。它引入了Super-VLAN和Sub-VLAN的概念。

Super-VLAN:和通常意义上的VLAN不同,它只建立三层接口,与该子网对应,而且不包含物理端口。可以把它看作一个逻辑的三层概念—若干Sub-VLAN的集合。 Sub-VLAN:只包含物理端口,用于隔离广播域的VLAN,不能建立三层VLANIF接口。它与外部的三层交换是靠Super-VLAN的三层接口来实现的。

一个Super-VLAN可以包含一个或多个保持着不同广播域的Sub-VLAN。Sub-VLAN不再占用一个独立的子网网段。在同一个Super-VLAN中,无论主机属于哪一个Sub-VLAN,它的IP地址都在Super-VLAN对应的子网网段内。

这样,Sub-VLAN间共用同一个三层接口,既减少了一部分子网号、子网缺省网关地址和子网定向广播地址的消耗,又实现了不同广播域使用同一子网网段地址的目的,消除了子网差异,增加了编址的灵活性,减少了闲置地址浪费。

仍以表7-11所示例子进行说明。用户需求不变,仍旧是VLAN2预计未来有10个主机地址的需求,VLAN3预计未来有5个主机地址的需求,VLAN4预计未来有1个主机地址的需求。

按照VLAN Aggregation的实现方式,新建VLAN10并配置为Super-VLAN,给其分配一个掩码长度是24的子网1.1.1.0/24,其中1.1.1.0为子网号,1.1.1.1为子网网关地址如图7-48所示。Sub-VLAN(VLAN2、VLAN3、VLAN4)的地址划分如表7-12所示。

图7-48 VLAN Aggregation网络示意图 表7-12 VLAN Aggregation主机地址划分示例

VLAN

子网

网关地址

可用地址数

可用IP地址

实际需求

2

1.1.1.0/24

1.1.1.1

10

1.1.1.2~1.1.1.11

10

3

5

1.1.1.12~1.1.1.16

5

4

1

1.1.1.17

1

VLAN Aggregation的实现中,各Sub-VLAN间的界线也不再是从前的子网界线了,它们可以根据其各自主机的需求数目在Super-VLAN对应子网内灵活的划分地址范围。

从表7-12中可以看到,VLAN2、VLAN3和VLAN4共用同一个子网(1.1.1.0/24)、子网缺省网关地址(1.1.1.1)和子网定向广播地址(1.1.1.255)。这样,普通VLAN实现方式中用到的其他子网号(1.1.1.16、1.1.1.24)和子网缺省网关(1.1.1.17、1.1.1.25),以及子网定向广播地址(1.1.1.15、1.1.1.23、1.1.1.27)就都可以用来作为主机IP地址使用。

这样,3个VLAN一共需要10+5+1=16个地址,实际上在这个子网里就刚好分配了16个地址(1.1.1.2~1.1.1.17)给3个VLAN。这16个主机地址加上子网号(1.1.1.0)、子网缺省网关(1.1.1.1)和子网定向广播地址(1.1.1.255),一共用去了19个IP地址,网段内仍剩余255-19=236的地址可以被任意Sub-VLAN内的主机使用。

VLAN间通信

概述

VLAN Aggregation在实现不同VLAN间共用同一子网网段地址的同时也带来了Sub-VLAN间的三层转发问题。

普通VLAN实现方式中,VLAN间的主机可以通过各自不同的网关进行三层转发来达到互通的目的。但是VLAN Aggregation方式下,同一个Super-VLAN内的主机使用的是同一个网段的地址和共用同一个网关地址。即使是属于不同的Sub-VLAN的主机,由于它们同属一个子网,彼此通信时只会做二层转发,而不会通过网关进行三层转发。而实际上不同的Sub-VLAN的主机在二层是相互隔离的,这就造成了Sub-VLAN间无法通信的问题。

解决这一问题的方法就是使用ARP Proxy。

关于ARP Proxy的原理,请参见《NE20E 特性描述 - IP业务》中的“ARP”。

不同Sub-VLAN间的三层互通

例如,Super-VLAN(VLAN10)包含Sub-VLAN(VLAN2和VLAN3),具体组网如图7-49所示。

图7-49 ARP Proxy实现不同Sub-VLAN间的三层互通组网图

VLAN2内的主机A与VLAN3内的主机B的通信过程如下:(假设主机A的ARP表中无主机B的对应表项并且网关上使能了Sub-VLAN间的ARP Proxy)。

主机A将主机B的IP地址(1.1.1.3)和自己所在网段1.1.1.0/24进行比较,发现主机B和自己在同一个子网,但是主机A的ARP表中无主机B的对应表项。 主机A发送ARP广播,请求主机B的MAC地址。 主机B并不在VLAN2的广播域内,无法接收到主机A的这个ARP请求。 由于网关上使能Sub-VLAN间的ARP Proxy,当网关收到主机A的ARP请求后,开始在路由表中查找,发现ARP请求中的主机B的IP地址(1.1.1.3)为直连接口路由,则网关向所有其他Sub-VLAN发送一个ARP广播,请求主机B的MAC地址。 主机B收到网关发送的ARP广播后,对此请求进行ARP应答。 网关收到主机B的应答后,就把自己的MAC地址当作B的MAC地址回应给主机A。 网关和主机A的ARP表项中都存在主机B的对应表项。 主机A之后要发给B的报文都先发送给网关,由网关做三层转发。

主机B发送报文给主机A的过程和上述的A到B的报文流程类似,不再赘述。

Sub-VLAN与外部网络的二层通信

在基于端口的VLAN二层通信中,无论是数据帧进入接口还是从接口发出都不会有针对Super-VLAN的报文。如图7-50所示。

图7-50 Sub-VLAN与外部网络的二层通信组网图

从HostA侧Port1进入设备Switch1的帧会被打上VLAN2的Tag,在设备Switch1中这个Tag不会因为VLAN2是VLAN10的Sub-VLAN而变为VLAN10的Tag。该数据帧从Trunk类型的接口Port3出去时,依然是携带VLAN2的Tag。

也就是说,设备Switch1本身不会发出VLAN10的报文。就算其他设备有VLAN10的报文发送到该设备上,这些报文也会因为设备Switch1上没有VLAN10对应物理端口而被丢弃。

Super-VLAN中是不存在物理端口的,这种限制是强制的,表现在:

如果先配置了Super-VLAN,再配置Trunk接口时,Trunk的VLAN allowed表项里就自动滤除了Super VLAN。

如图7-50所示,虽然Switch1的Port3允许所有的VLAN通过,但是也不会有作为Super-VLAN的VLAN10的报文从该接口进出。

如果先配好了Trunk端口,并允许所有VLAN通过,则在此设备上将无法配置Super VLAN。本质原因是有物理端口的VLAN都不能被配置为Super VLAN。而允许所有VLAN通过的Trunk端口是所有VLAN的tagged端口,任何VLAN都不能被配置为Super VLAN。

对于设备Switch1而言,有效的VLAN只有VLAN2和VLAN3,所有的数据帧都在这两个VLAN中转发。

Sub-VLAN与外部网络的三层通信

图7-51 Sub-VLAN与外部网络的三层通信组网图 如图7-51所示,Switch1上配置了Super-VLAN 4,Sub-VLAN 2和Sub-VLAN 3,并配置一个普通的VLAN10;Switch2上配置两个普通的VLAN,VLAN 10和VLAN 20。假设Super-VLAN 4中的Sub-VLAN 2下的主机A想访问与Switch2相连的主机C,通信过程如下:(假设Switch1上已经配置了去往1.1.3.0/24网段的路由,Switch2上已配置了去往1.1.1.0/24网段的路由) 主机A将主机C的IP地址(1.1.3.2)和自己所在网段1.1.1.0/24进行比较,发现主机C和自己不在同一个子网。 主机A发送ARP请求给自己的网关,请求网关的MAC地址。 Switch1收到该ARP请求后,查找Sub-VLAN和Super-VLAN的对应关系,从Sub-VLAN 2发送ARP应答给主机A。ARP应答报文中的源MAC地址为Super-VLAN 4对应的VLANIF4的MAC地址。 主机A学习到网关的MAC地址。 主机A向网关发送目的MAC为Super-VLAN 4对应的VLANIF4的MAC、目的IP为1.1.3.2的报文。 Switch1收到该报文后进行三层转发,下一跳地址为1.1.2.2,出接口为VLANIF10,把报文发送给Switch2。 Switch2收到该报文后进行三层转发,通过直连出接口VLANIF20,把报文发送给主机C。 主机C的回应报文,在Switch2上进行三层转发到达Switch1。 Switch1收到该报文后进行三层转发,通过Super-VLAN,把报文发送给主机A。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3