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配置,以便让不同的上行端口传输不同的业务,简化网络管理。

Isolate-user-vlan技术白皮书的更多相关文章

  1. URPF技术白皮书

    URPF技术白皮书 摘    要:本文介绍了URPF的应用背景,URPF主要用于防止基于源地址欺骗的网络攻击行为,例如基于源地址欺骗的DoS攻击和DDoS攻击:随后介绍了URPF的技术原理以及URPF ...

  2. 802.1Q VLAN技术原理

    文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...

  3. [华三] IPv6技术白皮书(V1.00)

    IPv6技术白皮书(V1.00) http://www.h3c.com/cn/d_200802/605649_30003_0.htm H3C S7500E IPv6技术白皮书 关键词:IPv6,隧道 ...

  4. SSL技术白皮书

    首页产品技术操作系统ComwareV5安全和VPN SSL技术白皮书 下载 收藏 打印 推荐 摘自:http://www.h3c.com/cn/d_200812/622834_30003_0.htm# ...

  5. DMR技术白皮书

    DMR技术白皮书 主页(http://pttcn.net):DMR技术白皮书 关于DMR 1.模拟技术的局限性 虽然模拟技术仍具有不少优势,如低廉的成本.可自定的功能以及简便的搭建方式等.但模拟技术已 ...

  6. JAP 1.0.1 以及 《JAP产品技术白皮书》正式发布

    快讯 JAP 1.0.1 正式发布 <JAP产品技术白皮书>正式发布.立即获取:白皮书 JAP 1.0.1 版本内容 新增功能/支持 添加 com.fujieid.jap.core.uti ...

  7. PPPoE技术白皮书(H3C)

    PPPoE技术白皮书 关键词:PPP,Ethernet,PPPoE 摘要:PPPoE是一种通过一个远端接入设备为以太网上的主机提供接入服务,并可以对接入的每个主机实现控制和计费的技术.本文介绍了PPP ...

  8. H3C数据中心虚拟化解决方案技术白皮书

    缩略语清单: 缩略语 英文全名 中文解释 IDC Internet Data Center 互联网数据中心 VRF Virtual Router Forwarding 虚拟路由器转发 SMP Symm ...

  9. OpenFlow技术白皮书-V1.0

    1.  概述 OpenFlow是由斯坦福大学的Nick McKeown教授在2008年4月ACM Communications Review上发表的一篇论文OpenFlow: enabling inn ...

随机推荐

  1. 微信小程序腾讯云配置Tomcat https端口

    在个人开发微信小程序时,发布之前要配置微信小程序的域名https及域名的SSL证书的申请及安装 我用的是腾讯云,SSL证书申请好之后,点击下载,解压文件夹,会有如图,根据你要配置的服务器是哪种,我是t ...

  2. UIImagePickerController获取照片的实现,添加overlay方法 (相机取景框)

    DEVELOPER.XIAOYAOLI 技术笔记 简单的利用UIImagePickerController调用iPhone摄像头获取照片的方法,同时介绍了怎么添加overlay,用于自定义预览界面   ...

  3. Vue--- 使用vuex使用流程 1.0

    Vuex 1.安装vuex npm install  -save vuex 2. 引入 创建store文件夹目录 创建 vuex     指挥公共目录    store['state','action ...

  4. 构建高可靠hadoop集群之0-hadoop用户向导

    本文翻译自:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html 基于2.8. ...

  5. 阿里云SSL证书到期(续期)图文教程

    今天公司项目突然报错 后来查询是SSL证书过期了.友情提示: 证书产品仅支持新签发.不支持续费.证书到期前需在阿里云SSL证书控制台重新购买和申请证书. 登录阿里云控制台,点击产品与服务,在搜索框搜索 ...

  6. React中的全选反选问题

    全选反选问题 1.在state里维护一个数组,例如showArr:[] 2.绑定点击事件的时候将当前这个当选按钮的index加进来 <span className='arrow' onClick ...

  7. canvas实现半圆环形进度条

    html部分 <canvas id="canvas" width="150" height="150"> <p>抱歉 ...

  8. Python基础02

    6.变量定义的规则: # 变量,只能由 字母 数字 下划线 特例:不能用数字开头 Python关键字,也不能使用 'and', 'as', 'assert', 'break', 'class', 'c ...

  9. linux文件操作篇 (三) 文件状态和操作属性

    #include <sys/stat.h>   int fstat(int fildes, struct stat *buf); 获取文件信息  int lstat(const char* ...

  10. ffmpeg安装配置以及库调用

    参考https://blog.csdn.net/jayson_jang/article/details/52329508 cd ffmpeg ./configure --enable-shared - ...