首页> 中国专利> 基于虚拟局域网的二层虚拟专用网的实现方法

基于虚拟局域网的二层虚拟专用网的实现方法

摘要

一种基于虚拟局域网的二层虚拟专用网的实现方法,通过预留MAC地址池实现MAC地址转换,从而实现了二层地址转换,使本端用户和对端用户都认为它们是在和二层虚拟专用网进行通讯,在不需要增加设备的情况下,解决了现有技术的不足,使采用共享式虚拟局域网方式的局域网交换机和基于虚拟局域网的二层虚拟专用网结合可以实现二层虚拟专用网的功能,而且更加有效地实现了用户的二层隔离,使得二层虚拟专用网更安全。

著录项

  • 公开/公告号CN1705307A

    专利类型发明专利

  • 公开/公告日2005-12-07

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200410037146.X

  • 发明设计人 欧阳伟龙;

    申请日2004-06-03

  • 分类号H04L29/06;H04L12/28;

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部科研中心F1-18楼知识产权部

  • 入库时间 2023-12-17 16:46:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20090701 终止日期:20160603 申请日:20040603

    专利权的终止

  • 2009-07-01

    授权

    授权

  • 2006-04-19

    实质审查的生效

    实质审查的生效

  • 2005-12-07

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种基于虚拟局域网的二层虚拟专用网的实现方法。

背景技术

目前LAN Switch(局域网交换机)等网络制造商为了在激烈的竞争中获得更多的商业优势,在芯片选型方面都尽可能选择价格低且功能满足的芯片,因此现在低端的局域网交换机只支持SVL(共享式虚拟局域网)方式的VLAN(虚拟局域网)交换方式。

SVL(共享式虚拟局域网)和IVL(独立式虚拟局域网)的区别就在于MAC(介质访问控制)地址学习是否和VLAN相互独立:SVL是独立于VLAN的MAC学习,一个设备中有一张统一的MAC交换表,MAC学习和交换都依据这张表,MAC交换后再根据入端口和出端口是否位于同一个VLAN确定转发或丢弃报文;IVL则是为每个VLAN都建立一张独立的MAC交换表,每个VLAN独立进行MAC学习和交换,MAC交换后直接确定是否向出端口转发和丢弃报文。

局域网交换机的采用SVL的VLAN交换方式,认为MAC地址只能在同一个端口接入并且是唯一的。这样,该类局域网交换机不实现按VLAN+MAC方式进行MAC学习,而是采用按全局MAC的学习方式(MAC信息表全局只有一份),并且其通过MAC交换先找到出端口,然后再按VLAN进行转发,代替VLAN+MAC的交换方式,但也实现了VLAN交换。

随着商业的地域性被打破,不断渴望成长的企业不断将公司分支机构分布到全国乃至全球的不同城市或地区,这样产生了一个问题----如何让各个分支机构有效地进行互连呢?企业的“老板”们不断寻找一种既经济又高效的通讯方式,最终他们在Internet上找到了最佳解决方法,那就是二层VPN(虚拟专用网)功能----二层VPN通过MPLS(多协议标记交换)等技术构造一个可以跨地理限制的L2 VPN,从而实现不同地域的局域网互连。实际上,广泛使用的二层VPN都是建立在电信运营商的IP电信网的平台之上的,而IP电信网基于可运营、可管理的理念并不是为每个用户分配一个物理端口而是“逻辑端口”,从而实现网络资源利用的“最大化”。而这个“逻辑端口”就是VLAN,我们将电信运营商提供的此类二层VPN称为基于VLAN的二层VPN,后面将基于VLAN的二层VPN简称为VB L2VPN。

然而,该VPN技术也不是“十全十美”的,如果局域网交换机或DSLAM(数字用户线接入复用器)只支持SVL的VLAN交换模式,而用户通过不同的VLAN接入局域网交换机,那么就可能存在无法实现VB L2VPN的问题,下面举例进行说明:

如图1所示为基于VLAN的二层VPN组网结构图,图中局域网交换机和DSLAM(数字用户线接入复用器)都是通过VLAN接入用户,从而实现用户间的隔离,这样,同一个局域网交换机下的用户通过不同VLAN和端口接入电信二层VPN网络。由于采用SVL方式的局域网交换机无法实现用户完全的物理隔离,即MAC层还是不透明的,如图1所示,在该局域网交换机的两个用户(PC0、PC1)分别通过不同的VLAN(VLAN0、VLAN1)和不同的MAC地址(MAC0、MAC1)分别接入VB L2VPN情况下,当PC0用户想和PC1进行通讯时,步骤如下:

1、首先PC0将广播ARP(地址解析协议)报文的源MAC填自己的MAC地址(即MAC0),目的IP地址填PC1的IP地址,然后连接到L2VPN的端口发送该报文;

2、局域网交换机的Port0端口分析该ARP报文,学习到VLAN0的PC0的MAC地址MAC0,并再MAC交换表中增加一个交换表项,由于该ARP的目的MAC地址是广播的,因此向局域网交换机的所有端口进行广播,因为只有port10端口和port0是位于同一个VLAN的,所以局域网交换机将报文从Port10按VLAN0发送到VB L2VPN;

3、此后,VB L2VPN终结该VLAN,并对ARP报文进行学习,将其源MAC地址保存到MAC交换表中,然后将广播ARP报文广播到包括局域网交换机VLAN1的PORT10在内的所有接口(这里需要注意:VB L2VPN将VLAN视为独立的物理接口);

4、这样,当Port10接收到来自VB L2VPN的该ARP报文,也学习到了VLAN0的MAC0以后,将该报文广播到VLAN1的所有接口,因为局域网交换机进行源MAC学习,当同一个报文从同一个局域网交换机的两个端口接收到时,后接收到的报文会修改原来学习到的MAC所在的端口,因此MAC0的真实的物理位置已经被修改了;

5、当PC1的用户收到该ARP报文,分析是有人在查找自己的MAC地址,于是构造ARP响应报文,其中源MAC的地址填PC1的MAC地址,而目的MAC地址填PC0的MAC地址,再将这个报文从接收到的接口发送出去;

6、局域网交换机接收到ARP响应报文,根据源MAC地址MAC1进行学习,并根据目的MAC地址MAC0查找MAC交换表,确定出端口是在Port10,然后向VLAN1的Port10转发该报文;

7、VB L2VPN从VLAN1的Port10收到报文后,先学习源MAC地址,然后根据目的MAC查找MAC交换表确定出端口,然后向局域网交换机VLAN0的Port10转发该报文;

8、最后,局域网交换机的Port10收到该ARP响应报文,但是分析该报文发现其目的MAC就是本端口的MAC地址,直接将该报文丢弃了,这样PC0无法获得PC1的MAC地址无法和PC1进行通讯,也就无法实现VB L2VPN功能。

该问题主要是由于局域网交换机的MAC学习方式导致的,而IVL方式的局域网交换机的MAC学习方式与SVL的不同,IVL方式下VLAN单独进行MAC地址学习,当同一个报文从同一个局域网交换机的两个端口接收到时,只要它们的VLAN不同,即便MAC地址相同也不会有影响。

综上所述,现有技术采用SVL方式的局域网交换机和VB L2VPN结合可能无法实现二层VPN功能。

发明内容

本发明所要解决的技术问题是:克服现有技术采用SVL方式的局域网交换机和VB L2VPN结合无法实现二层VPN功能的不足,提供一种基于虚拟局域网的二层虚拟专用网的实现方法,从而使采用SVL方式的局域网交换机和VB L2VPN结合能够实现二层VPN的功能。

本发明为解决上述技术问题所采用的技术方案为:

这种基于虚拟局域网的二层虚拟专用网的实现方法,当用户分别通过不同的虚拟局域网和不同的MAC地址,通过同一个支持共享式虚拟局域网交换方式的二层接入设备,接入二层虚拟专用网进行通讯时,步骤如下:

二层接入设备下的本端用户发送协议报文查找对端用户;二层接入设备与本端用户的连接端口分析该报文,学习到该本端用户的MAC地址,并再MAC交换表中增加交换表项,将报文发送到二层虚拟专用网;

二层虚拟专用网终结该虚拟局域网后进行MAC交换,从预留的MAC地址池中取出一个MAC地址,将该报文的源MAC替换成新的MAC地址,并且建立报文原来的源MAC地址和新MAC地址的映射关系,再将转换后的报文广播到二层接入设备的所有端口;

二层接入设备与二层虚拟专用网连接的端口学习到新MAC地址,后面对端用户的回应报文也就送给新MAC地址,即送回二层虚拟专用网;二层虚拟专用网接收到对端用户的回应报文,发现回应报文的MAC是MAC池内部的地址,查找到原来的MAC地址,将回应报文的目的MAC地址替换成原来的MAC地址,同时,将该回应报文的源MAC替换成另一新的MAC地址,并且建立回应报文原来的源MAC地址和新MAC地址的映射关系,再将转换后的回应报文广播到二层接入设备的所有端口,根据回应报文的目的MAC找到出端口;

二层接入设备与二层虚拟专用网连接的端口学习到所述回应报文新的源MAC地址,后面本端用户发给对端用户的报文都发给该新的源MAC地址,使本端用户和对端用户都认为它们是在和二层虚拟专用网进行通讯,从而使本端用户和对端用户进行通讯。

所述的协议报文包括广播地址解析协议报文、动态主机配置协议报文。所述新的MAC地址由二层虚拟专用网从预留的MAC地址池中分配,并由二层虚拟专用网维护转换前和转换后的MAC地址的对应关系。

也可以使用一个MAC地址作为MAC地址池,并通过用户的三层或二层信息实现MAC地址池地址和用户原来的MAC地址的一一映射关系,实现二层地址转换。三层或二层信息包括虚拟局域网标识或IP地址。所述的支持共享式虚拟局域网交换方式的二层接入设备包括支持共享式虚拟局域网交换方式的局域网交换机、数字用户线接入复用器。

本发明的有益效果为:本发明通过预留MAC地址池实现MAC地址转换,从而实现了二层地址转换,在不需要增加设备的情况下,解决了现有技术的不足,使采用SVL方式的局域网交换机和VB L2VPN结合可以实现二层VPN的功能;而且更加有效地实现用户二层隔离,让VB L2VPN更安全。

附图说明

图1为基于VLAN的二层VPN组网结构图。

具体实施方式

下面根据附图和实施例对本发明作进一步详细说明:

本发明提供一种二层地址的转换方法,在不增加设备的情况下,使采用SVL方式的局域网交换机和VB L2VPN结合能够实现二层VPN功能。

还是结合附图1所示的组网图对本方明详细的实现步骤进行说明,局域网交换机和DSLAM(数字用户线接入复用器)都是通过VLAN接入用户,从而实现用户间的隔离。同一个局域网交换机下的用户通过不同VLAN和端口接入电信二层VPN网络。为实现本发明,在基于VLAN的二层VPN(VB L2VPN)上预留MAC地址池,支持MAC地址转换。局域网交换机的两个用户PC0、PC1的MAC地址分别为MAC0、MAC1,通过不同的VLAN(VLAN0、VLAN1)分别接入VB L2VPN的情况下,当PC0用户想和PC1进行通讯时,步骤如下:

1、首先PC0将广播ARP(地址解析协议)报文的源MAC填自己的MAC地址(即MAC0),目的IP地址填PC1的IP地址,然后连接到L2VPN的端口发送该报文;

2、局域网交换机的Port0分析该ARP报文,学习到VLAN0的PC0的MAC地址MAC0,并在MAC交换表中增加一个交换表项,由于该ARP的目的MAC地址是广播的,因此向局域网交换机的所有端口进行广播,因为只有port10端口和port0是位于同一个VLAN的,所以局域网交换机将报文从Port10按VLAN0发送到VB L2VPN;

3、此后,VB L2VPN终结该VLAN后进行MAC交换,确定需要转发到局域网交换机VLAN1的PORT10;从预留的MAC地址池中取出一个MAC地址,将该报文的源MAC替换成新的MAC地址(MAC2),并且建立报文原来的源MAC地址和新MAC地址的映射关系,同时将ARP、DHCP(动态主机配置协议)等协议报文内部的源MAC地址也更新为新的MAC地址(这个过程称作源MAC地址转换----SMAT),再将转换后的报文广播到包括局域网交换机VLAN1的PORT10在内的所有接口;

4、这样,Port10学习到了VLAN1的MAC2,后面MAC0用户回应的ARP报文也就送给了MAC2,也就是送回了VB L2VPN;

5、VB L2VPN发现报文的目的MAC地址是MAC池内部的地址,那么就需要找到原来的MAC地址,将报文的目的MAC或ARP等协议报文内部的目的MAC地址都替换成原来的MAC地址,即将MAC2替换为MAC0(这个过程称作目的MAC转换----DMAT)。同时,将该报文的源MAC同样进行MAC SMAT处理,将源MAC地址MAC1替换为MAC3,再根据报文的目的MAC找到出端口;

6、此后,局域网交换机VLAN0的PORT10学习到了MAC3,后面PC0的用户发给PC1用户的报文都发给MAC3,同时由于SVL交换模式缺省认为用户接入的VLAN就是发送的VLAN,这样只要学习到MAC所属的端口,就可以进行MAC交换和VLAN隔离了。

这样经过MAC地址转换过程后,两个用户都认为他们都是在和VB L2VPN进行通讯,完全看不到对端用户的二层信息,这样就可以解决现有技术的采用SVL方式的局域网交换机和VB L2VPN结合无法实现二层VPN功能的问题了。

MAC2、MAC3这两个地址由VB L2VPN的软件自动分配,然后由软件维护转换前和转换后的MAC地址的对应关系,上述处理流程与NAT(网络地址转换)比较类似,只是NAT转换是针对三层地址,而本发明是针对二层地址。

本发明通过预留MAC地址池实现MAC地址转换,从而实现了二层地址转换,在不需要增加设备的情况下,解决了现有技术的不足,使采用SVL方式的局域网交换机和VB L2VPN结合可以实现二层VPN的功能;而且更加有效地实现了用户的二层隔离,让VB L2VPN更安全。

二层地址转换方法不限于用MAC地址池的转换方式,也可以通过结合三层信息来实现MAC地址转换,例如,当MAC资源不足时,可以使用一个MAC地址作为MAC地址池,并通过用户的IP地址等三层或二层信息实现MAC地址池地址和用户原来的MAC地址的一一映射关系,从而实现二层地址转换,三层或二层信息包括VLAN ID或IP地址等。

本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号