• Isolate-user-vlan技术白皮书


    http://www.h3c.com.cn/Products___Technology/Technology/LAN/Other_technology/Technology_book/200804/603079_30003_0.htm

    Isolate-user-vlan技术白皮书

    关键词:Isolate-user-vlan,Secondary VLAN

    摘    要:Isolate-user-vlan采用二层VLAN结构:Isolate-user-vlan和Secondary VLAN。上行设备只识别Isolate-user-vlan,而不必关心Isolate-user-vlan中包含的Secondary VLAN,从而节省了VLAN资源,简化了网络配置。本文介绍了Isolate-user-vlan的技术原理以及组网应用。

    缩略语:

    缩略语

    英文全名

    中文解释

    VLAN

    Virtual Local Area Network

    虚拟局域网

    ARP

    Address Resolution Protocol

    地址解析协议

     

    目  录

    1 概述

    1.1 产生背景

    1.2 技术优点及应用场景

    2 Isolate-user-vlan实现机制

    2.1 相关术语

    2.2 Isolate-user-vlan技术原理

    2.2.1 Isolate-user-vlan配置同步

    2.2.2 Isolate-user-vlan的MAC地址同步

    2.3 Isolate-user-vlan的报文转发

    2.4 应用限制

    3 典型组网应用

    3.1 组网图

    3.2 组网环境

     

    1  概述

    1.1  产生背景

    在园区网中,基于用户安全和管理计费等方面的考虑,运营商一般要求接入用户互相二层隔离。VLAN是天然的隔离手段,于是很自然的想法是每个用户一个VLAN。如图1所示,Switch B和Switch C上分别接入三个用户,如果给每个用户划分一个VLAN,则需要占用Device A上的六个VLAN资源。

     

    图1 扁平的网络组网图

    根据IEEE 802.1Q协议规定,设备最大可使用VLAN资源为4094个。对于核心层设备来说,如果每个用户一个VLAN,4094个VLAN远远不够。为解决VLAN资源紧缺的问题,Isolate-user-vlan应运而生。

    支持Isolate-user-vlan功能后,可以将图1中的用户所在的VLAN(VLAN 10~15)配置为Secondary VLAN,将VLAN 2和VLAN 3配置为Isolate-user-vlan(如图2)。这样,Device A上只需配置VLAN 2和VLAN 3,节省了四个VLAN资源。

     

    图2 Isolate-user-vlan功能示意图

    1.2  技术优点及应用场景

    Isolate-user-vlan采用分层结构:上行的Isolate-user-vlan和下行的Secondary VLAN。对上行设备来说只需识别Isolate-user-vlan,而不必关心Isolate-user-vlan中的Secondary VLAN,从而节省了上行设备的VLAN资源。同时,将接入用户划入不同的Secondary VLAN,可以实现用户之间二层报文的隔离。

    IIsolate-user-vlan主要应用在在园区网或企业网接入中,实现二层报文隔离的同时节省VLAN资源。

    2  Isolate-user-vlan实现机制

    2.1  相关术语

    l              Isolate-user-vlan:上行设备感知的用户VLAN,它并不是用户的真正VLAN。

    l              Secondary VLAN:用户真正属于的VLAN。

    l              上行端口:和上行设备相连的端口,负责和上行设备通信。上行端口的缺省VLAN ID必须配置为isolate-user-vlan的VLAN ID,否则该端口无法转发来自Secondary VLAN的报文。

    l              下行端口:和用户相连的端口,负责和终端通信。下行端口的缺省VLAN ID必须配置为Secondary VLAN的VLAN ID,否则该端口无法转发来自Isolate-user-vlan的报文。

    2.2  Isolate-user-vlan技术原理

    Isolate-user-vlan技术是如何屏蔽Secondary VLAN信息、节省VLAN资源的呢?实现这个功能,要求:

    l              来自不同Secondary VLAN的报文,能够通过上行端口发送给上行设备,而且不能携带Secondary VLAN信息。

    l              来自Isolate-user-vlan的报文,能够通过下行端口发送给用户,而且不能携带Isolate-user-vlan信息。

    我们知道,Isolate-user-vlan和Secondary VLAN采用不同的VLAN编号,各自包含了不同的端口,通常不同VLAN之间的报文是二层互相隔离的,要达到以上要求,需要两方面的配合:

    (1)        在本设备上需要进行配置同步和MAC地址同步处理。详细介绍请参见2.2.1  和2.2.2  。

    (2)        上行设备需要进行必须的配置:

    l              创建VLAN:VLAN ID等于Isolate-user-vlan的VLAN ID。

    l              配置入端口参数:将端口类型设置为Hybrid,将端口缺省VLAN值设置为Isolate-user-vlan ID,配置端口允许缺省VLAN的报文以untagged方式通过。

    2.2.1  Isolate-user-vlan配置同步

    配置Isolate-user-vlan功能后,系统会自动对Isolate-user-vlan和Secondary VLAN所包含的端口进行配置同步:

    l              对于上行端口,会将端口类型修改为Hybrid,并允许来自Secondary VLAN的报文以untagged方式通过。而上行设备的入端口通过手工配置已经将端口的缺省VLAN值设置为Isolate-user-vlan ID,所以,当上行设备收到这样的报文后,均认为这些报文来自Isolate-user-vlan,并给它们添加tag,tag中的VLAN ID等于Isolate-user-vlan ID。从而,屏蔽了Secondary VLAN信息。

    l              对于下行端口,会将端口类型修改为Hybrid,并允许来自Isolate-user-vlan的报文以untagged方式通过。

    如图3所示的组网中,端口默认都为Access口,端口Ethernet1/2属于VLAN 2、端口Ethernet1/3属于VLAN 3、端口Ethernet1/5属于VLAN 5,端口的相关属性如表1所示。然后配置VLAN 5为Isolate-user-vlan,VLAN 2、3、4均为Secondary VLAN。配置同步后,端口的相关属性改变了,具体信息如表2所示。

     

    图3 Isolate-user-vlan配置同步组网图

    表1 配置同步前端口的相关属性

    端口

    类型

    端口缺省VLAN

    允许通过的VLAN

    Eth1/5

    Access

    5

    只允许VLAN 5的报文通过

    Eth1/2

    Access

    2

    只允许VLAN 2的报文通过

    Eth1/3

    Access

    3

    只允许VLAN 3的报文通过

    表2 配置同步后端口的相关属性

    端口

    类型

    端口缺省VLAN

    Isolate-user-vlan角色

    允许通过的VLAN

    Eth1/5

    Hybrid

    5

    Isolate-user-vlan

    允许VLAN 2、VLAN 3、VLAN 5的报文以untagged方式通过

    Eth1/2

    Hybrid

    2

    Secondary VLAN

    允许VLAN 2、VLAN 5的报文以untagged方式通过

    Eth1/3

    Hybrid

    3

    Secondary VLAN

    允许VLAN 3、VLAN 5的报文以untagged方式通过

    2.2.2  Isolate-user-vlan的MAC地址同步

    通过配置同步,来自Secondary VLAN的报文能以untagged方式从上行端口发送出去,来自Isolate-user-vlan的报文能以untagged方式从下行端口发送出去。这些报文是如何找到相应的出接口的呢?

    通过MAC地址学习,如图3所示的组网中Switch会生成并维护一张MAC地址表(如表3所示)。如果Device给Host 2发送报文(源MAC为mac_a,目的MAC为mac_2);Switch会给报文添加tag,VLAN ID为5(即端口的缺省VLAN ID);然后以“mac_2+VLAN 5”为条件去查询MAC地址表。由于找不到相应的表项,该报文会在VLAN 5内广播,并最终从Eth1/2、Eth1/3发送出去。

    同理,每次上行和下行的报文都需要广播才能到达目的地。当Secondary VLAN和Isolate-user-vlan包含的端口较多时,这样的处理方式会占用大量的带宽资源,也不安全(广播报文容易被截获和侦听)。通过MAC地址同步机制可以解决这个问题。

    Isolate-user-vlan的MAC地址同步机制为:

    l              Secondary VLAN到Isolate-user-vlan的同步,即下行端口在Secondary VLAN内学习到的动态MAC地址都同步至Isolate-user-vlan内。

    l              Isolate-user-vlan到Secondary VLAN的同步,即上行端口在Isolate-user-vlan学习到的动态MAC地址同步到所有的Secondary VLAN内。

    当Isolate-user-vlan下面配置了很多Secondary VLAN,MAC地址同步后,将导致MAC地址表过于庞大,进而影响设备的转发性能。同时考虑到用户的下行流量要远远大于上行流量,下行流量需要进行单播,上行流量可以进行广播,所以, Secondary VLAN到Isolate-user-vlan的同步所有产品均支持,而Isolate-user-vlan到Secondary VLAN的同步部分产品不支持。

    如图3所示的组网中,MAC地址同步后生成的MAC表项如表4所示。

    表3 同步前的MAC地址转发表

    目的MAC

    VLAN

    出端口

    mac_2

    2

    Eth1/2

    mac_3

    3

    Eth1/3

    mac_a

    5

    Eth1/5

    表4 同步后的MAC地址转发表

    目的MAC

    VLAN

    出端口

    mac_2

    2

    Eth1/2

    mac_2

    5

    Eth1/2

    mac_3

    3

    Eth1/3

    mac_3

    5

    Eth1/3

    mac_a

    5

    Eth1/5

    mac_a

    2

    Eth1/5

    mac_a

    3

    Eth1/5

    2.3  Isolate-user-vlan的报文转发

    下面通过图3中Host 2的报文流程来阐述Isolate-user-vlan的实现机制。

    (1)        Host 2第一次发出单播上行报文,报文为untagged报文,源MAC地址为mac_2,目的MAC地址为mac_a。

    (2)        Switch通过下行端口Ethernet1/2收到报文,给报文打上端口缺省VLAN的标签2,并学习MAC地址,记录MAC地址表项(mac_2+VLAN2+Eth1/2)(表示目的MAC地址为mac_2,VLAN标签为2的报文,出接口为Ethernet1/2)。

    (3)        根据MAC地址同步原则,该MAC地址同时同步学习到VLAN 5内,设备同时记录MAC地址表项(mac_2+VLAN5+Eth1/2)。

    (4)        由于Switch当前没有mac_a的MAC表项,因此设备在VLAN 2内广播该报文。

    (5)        由于配置同步,Ethernet1/5端口允许VLAN 2的报文以untagged方式通过,所以报文去掉tag后通过Ethernet1/5发送出去。

    (6)        Device A收到报文后进行响应。

    (7)        Switch通过上行端口Ethernet1/5收到报文,给报文打上端口缺省VLAN的标签5,并学习MAC地址,记录MAC地址表项(mac_a+VLAN5+Eth1/5)。通过MAC地址同步,又生成两条MAC地址表项(mac_a+VLAN2+Eth1/5)和(mac_a+VLAN3+Eth1/5)。

    (8)        Switch以“mac_2+VLAN 5”为条件去查询MAC地址表,找到出接口Ethernet1/2,并将报文去掉tag后发送给Host 2。

    从而实现了Host 2和Device之间的报文交互。

    2.4  应用限制

    对于Secondary VLAN之间的互通,需要在上行设备上配置本地ARP代理,会较大地增加三层设备的负担。

    3  典型组网应用

    3.1  组网图

     

    图4 Isolate-user-vlan应用组网图

    3.2  组网环境

    小区内有大量用户且用户支持不同的业务(如视频、语音、数据等),为了保证用户安全以及区分不同业务流,使用VLAN技术对用户的二层报文进行隔离。但因为设备VLAN资源有限,因而可以在接入交换机上配置Isolate-user-vlan功能,以节省Device的VLAN资源。同时将多个端口配置为Isolate-user-vlan的上行端口,并结合ACL和QoS配置,以便让不同的上行端口传输不同的业务,简化网络管理。

  • 相关阅读:
    更多的bash shell命令
    Docker(一)Docker概述
    SpringCloud(一)版本选择
    Scala 技术笔记之 可变长参数
    嵌入式 ThriftServer in Spark
    Spark 代码走读之 Cache
    Scala 技术笔记之 Option Some None
    Spark作业执行
    Shuffle
    Jetty初探
  • 原文地址:https://www.cnblogs.com/virusolf/p/4896284.html
Copyright © 2020-2023  润新知