CN101808038B - 一种vpn实例的划分方法和设备 - Google Patents
一种vpn实例的划分方法和设备 Download PDFInfo
- Publication number
- CN101808038B CN101808038B CN2010101344817A CN201010134481A CN101808038B CN 101808038 B CN101808038 B CN 101808038B CN 2010101344817 A CN2010101344817 A CN 2010101344817A CN 201010134481 A CN201010134481 A CN 201010134481A CN 101808038 B CN101808038 B CN 101808038B
- Authority
- CN
- China
- Prior art keywords
- message
- access
- user
- router
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开了一种VPN实例的划分方法和设备,通过应用本发明的技术方案,实现了用户接入PE设备的过程中,基于接入用户绑定VPN实例,并实现用户报文在相应VPN实例内的转发,降低了用户接入VPN实例的配置过程的复杂度,并可以在用户认证通过后动态分配用户绑定的VPN实例。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种VPN实例的划分方法和设备。
背景技术
MPLS(Multiprotocol Label Switching,多协议标签交换)用短而定长的标签来封装网络层分组。
MPLS从各种链路层得到链路层服务,又为网络层提供面向连接的服务,例如PPP(Point to Point Protocol,点对点协议)、ATM(Asynchronous TransferMode,异步传输模式)、帧中继、以太网等。
MPLS能从IP(Internet Protocol,网络之间互连的协议)路由协议和控制协议中得到支持,同时,还支持基于策略的约束路由,其路由功能强大、灵活,可以满足各种新应用对网络的要求。这种技术起源于IPv4(Internet Protocolversion 4,网际协议版本4),但其核心技术可扩展到多种网络协议,例如:IPv6(Internet Protocol version 6,网际协议版本6)、IPX(Internetwork PacketExchange protocol,互联网分组交换协议)等。
MPLS最初是为提高路由器的转发速度而提出一个协议,但是,它的用途已不仅仅局限于此,而是广泛地应用于流量工程(Traffic Engineering,TE)、VPN(Virtual Private Network,虚拟专用网络)、QoS(Quality of Service,服务质量)等方面,从而日益成为大规模IP网络的重要标准。通过MPLS技术可以非常容易地实现基于IP技术的VPN业务,而且可以满足VPN可扩展性和管理的需求。
利用MPLS构造的VPN,通过配置,可将单一接入点形成多种VPN,每种VPN代表不同的业务,使网络能以灵活方式传送不同类型的业务。每个物理上的路由器划分为多个VR(Virtual Router,虚拟路由器),每个VR称为一个VPN实例,每个VPN实例存在一个单独运行的路由表,报文根据每个VPN实例内的路由表进行转发,多个VPN实例之间互相隔离;传统的MPLS L3 VPN技术均是将物理或者逻辑接口绑定到指定的VPN实例,基于接口的VPN划分和报文转发。
如图1所示,是现有技术中的一种MPLS L3VPN的典型应用组网的结构示意图。
如图1所示,MPLS L3 VPN模型中,包含三个组成部分:CE、PE和P,具体说明如下:
CE(Customer Edge)设备:是用户网络边缘设备,有接口直接与服务提供商相连,可以是路由器或是交换机等。CE“感知”不到VPN的存在。
PE(Provider Edge)路由器:即运营商边缘路由器,是运营商网络的边缘设备,与用户的CE直接相连。MPLS网络中,对VPN的所有处理都发生在PE路由器上。
P(Provider)路由器:运营商网络中的骨干路由器,不和CE直接相连。P路由器需要支持MPLS能力,多个P路由器互联组成骨干网络,继续向网络内的主机提供路由服务。从而实现网络内的主机不间断地与外部网络进行通信。
PE路由器连接CE设备的接口预先绑定到相应的VPN实例,PE路由器该接口收到报文后查找相应的VPN实例路由表进行转发。如果PE连接的不是CE设备而是PC(Personal Computer,个人计算机)或者远端通过VPDN(VirtualPrivate Dial-up Network,虚拟拨号专用网)接入的用户,需要根据不同的用户实现接入不同的VPN实例,则需要配置策略路由、静态路由或者防火墙进行报文转发控制。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
通过策略路由、静态路由或防火墙控制用户接入VPN实例配置复杂,需要预先知道MPLS网络内地址的规划情况;
通过上述方式控制用户接入VPN实例不够灵活,当网络地址发生变化的情况下需要手动更新配置。
发明内容
本发明提供一种虚拟专用网络VPN实例的划分方法和设备,用于解决用户接入PE路由器过程中,基于接入用户绑定VPN实例,实现用户报文在相应VPN实例内的转发的问题。
为达到上述目的,本发明一方面提供了一种虚拟专用网络VPN实例的划分方法,应用于包括至少一个服务商网络边缘PE路由器和至少一个用户网络边缘CE设备的网络系统中,其中,所述CE设备组成一个或多个VPN实例,所述PE路由器中的三层接口与所述PE路由器上所有的VPN实例相绑定,所述PE路由器建立接口信息表记录各接口所对应的接入类型,并建立接入用户信息表记录各接入类型所对应的接入信息,所述方法具体包括以下步骤:
当所述PE路由器的接口接收到发送给VPN实例的报文时,所述PE路由器查询所述接口信息表,确定所述接口当前的接入类型;
所述PE路由器根据所述接入类型,将所述报文中的报文信息与所述接入用户信息表中的信息相比较,判断是否存在相同的接入信息;
如果存在相同的接入信息,所述PE路由器将所述报文转发给所述接入信息相对应的VPN实例。
优选的,所述PE路由器根据所述接入类型,将所述报文中的报文信息与所述接入用户信息表中的信息相比较,判断是否存在相同的接入信息,具体为:
所述PE路由器根据所述接入类型,将所述报文中的IP承载层信息与所述接入用户信息表中的链接信息相比较,判断是否存在相同的字段;
如果存在相同的字段,进一步判断该相同字段中的接口信息是否一致;
如果一致,则所述PE路由器确认所述报文和所述接入用户信息表中存在相同的接入信息。
优选的,如果不存在相同的接入信息,所述方法还包括所述PE路由器根据所述报文所对应的接入用户的认证结果进行处理,具体为:
所述认证过程具体为链路层认证,所述PE路由器在所述报文所对应的接入用户认证成功后,将所述接入用户的认证信息加入所述接入用户信息表,其中,如果所述接入用户所对应的报文的IP地址为固定地址,所述PE路由器直接将所述IP地址填入所述接入用户信息表,如果所述接入用户的IP地址需要另行获取,所述PE路由器在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址填入所述接入用户信息表;
优选的,如果不存在相同的接入信息,所述方法还包括所述PE路由器根据所述报文所对应的接入用户的认证结果进行处理,具体为:
所述认证过程具体为非链路层认证,所述PE路由器在公网地址池中选择一个地址,分配给所述报文所对应的接入用户,在所述接入用户认证成功后,所述PE路由器在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址和所述报文所对应的接入用户的其他认证信息填入所述接入用户信息表。
优选的,所述报文所对应的接入用户认证成功后,还包括:
当所述PE路由器的接口的认证方式为本地认证时,所述PE路由器接收本地用户数据库发送的预先设置的所述报文所对应的接入用户所属的VPN实例的信息;
当所述PE路由器的接口的认证方式为远程认证时,所述PE路由器接收认证服务器发送的预先设置的所述报文所对应的接入用户所属的VPN实例的信息。
优选的,所述PE路由器接收本地用户数据库或认证服务器发送的预先设置的所述报文所对应的接入用户所属的VPN实例的信息,具体为:
所述PE路由器接收通过Radius协议附在报文中传输的所述报文所对应用户所属的VPN实例的信息。
优选的,所述的方法,还包括:
当所述PE路由器接收到所述VPN实例发送的报文时,所述PE路由器识别所述报文的类型;
如果所述报文为广播报文或组播报文,所述PE路由器查询所述VPN实例所绑定的三层接口的接入用户信息表中是否已经存在所述报文所对应的接入用户的认证信息,如果有,则用IP承载层信息对所述报文进行封装,通过广播或组播形式发送给所述VPN的所有CE设备,如果没有,则丢弃所述报文;
如果所述报文为单播报文,所述PE路由器查询所述VPN实例所绑定的三层接口的接入用户信息表,将所述报文的目的地址与所述接入用户信息表中的地址信息进行比较,如果相同,则用IP承载层信息对所述报文进行封装,并将所述报文单播发送给所述目的地址,如果不同,则丢弃所述报文。
另一方面,本发明还提供了一种PE路由器,应用于包括至少一个PE路由器和至少一个CE设备的网络系统中,其中,所述CE设备组成一个或多个VPN实例,具体包括:
设置模块,用于设置各三层接口与所述PE路由器上所有的VPN实例之间的绑定关系,建立接口信息表记录各接口所对应的接入类型,并建立接入用户信息表记录各接入类型所对应的接入信息;
查询模块,与所述设置模块相连接,用于当接口接收到发送给VPN实例的报文时,查询所述设置模块所设置的所述接口信息表,确定所述接口当前的接入类型;
判断模块,与所述查询模块和所述设置模块相连接,用于根据所述查询模块所确定的接入类型,将所述报文中的报文信息与所述接入类型所对应的接入用户信息表中的信息相比较,判断是否存在相同的接入信息;
通信模块,与所述判断模块相连接,如果所述判断模块判断存在相同的接入信息,用于将所述报文转发给所述接入信息相对应的VPN实例;
处理模块,与所述判断模块和所述设置模块相连接,用于在所述判断模块判断不存在相同的接入信息时,根据所述报文所对应的接入用户的认证结果进行处理。
优选的,所述判断模块,具体用于:
根据所述查询模块所查询的接入类型,将所述报文中的IP承载层信息与所述接入用户信息表中的链接信息相比较,判断是否存在相同的字段;
如果存在相同的字段,所述判断模块进一步判断该相同字段中的接口信息是否一致;
如果一致,则所述判断模块确认所述报文和所述接入用户信息表中存在相同的接入信息。
优选的,
所述认证过程具体为链路层认证,所述处理模块在所述报文所对应的接入用户认证成功后,将所述接入用户的认证信息加入所述接入用户信息表,其中,如果所述接入用户所对应的报文的IP地址为固定地址,所述处理模块直接将所述IP地址填入所述接入用户信息表,如果所述接入用户的IP地址需要另行获取,所述处理模块在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址填入所述接入用户信息表。
优选的,
所述认证过程具体为非链路层认证,所述处理模块在公网地址池中选择一个地址,分配给所述报文所对应的接入用户,在所述接入用户认证成功后,所述处理模块在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址和所述报文所对应的接入用户的其他认证信息填入所述报文相对应的接入用户信息表。
优选的,所述的PE路由器,还包括:
识别模块,用于当接口接收到所述VPN实例发送的报文时,识别所述报文的类型;
如果所述报文为广播报文或组播报文,所述查询模块查询所述VPN实例所绑定的三层接口的接入用户信息表中是否已经存在所述报文所对应的接入用户的认证信息,如果有,则所述通信模块用IP承载层信息对所述报文进行封装,通过广播或组播形式发送给所述VPN的所有CE设备,如果没有,则丢弃所述报文;
如果所述报文为单播报文,所述查询模块查询所述VPN实例所绑定的三层接口的接入用户信息表,将所述报文的目的地址与所述接入用户信息表中的地址信息进行比较,如果相同,则所述通信模块用IP承载层信息对所述报文进行封装,并将所述报文单播发送给所述目的地址,如果不同,则丢弃所述报文。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,实现了用户接入PE设备的过程中,基于接入用户绑定VPN实例,并实现用户报文在相应VPN实例内的转发,降低了用户接入VPN实例的配置过程的复杂度,并可以在用户认证通过后动态分配用户绑定的VPN实例。
附图说明
图1为现有技术中一种MPLS L3 VPN网络的网络结构示意图;
图2为本发明所提出的一种VPN实例的划分方法的流程示意图;
图3为本发明所提出的一种具体应用场景下的VPN实例的划分方法的流程示意图;
图4为本发明所提出的一种PE路由器的结构示意图。
具体实施方式
本发明技术方案的主要思路为:指定PE设备上用于接入用户的三层物理接口或者逻辑接口绑定到设备上所有VPN实例,用户通过VPDN远程接入或者其他认证方式接入后根据用户的认证信息动态将此用户绑定到预先定义的VPN实例,用户后续发送的报文在查找相应的VPN实例路由表进行转发。
基于上述思路,如图2所示,为本发明所提出的一种VPN实例的划分方法的流程示意图,该方法应用于包括至少一个服务商网络边缘PE路由器和至少一个用户网络边缘CE设备的网络系统中,其中,CE设备组成一个或多个VPN实例,PE路由器中的三层接口与PE路由器上所有的VPN实例相绑定,PE路由器建立接口信息表记录各接口所对应的接入类型,并建立接入用户信息表记录各接入类型所对应的接入信息,该方法具体包括以下步骤:
步骤S201、当PE路由器的接口接收到发送给VPN实例的报文时,PE路由器查询接口信息表,确定接口当前的接入类型。
步骤S202、PE路由器根据接入类型,将报文中的报文信息与接入用户信息表中的信息相比较,判断是否存在相同的接入信息。
其中,在具体的应用场景中,本步骤具体为:
PE路由器根据接入类型,将报文中的IP承载层信息与接入用户信息表中的链接信息相比较,判断是否存在相同的字段;
如果存在相同的字段,进一步判断该相同字段中的接口信息是否一致;
如果一致,则PE路由器确认报文和接入用户信息表中存在相同的接入信息。
反之,如果不存在相同的字段,或存在相同的字段,但字段中的接口信息不一致,则PE路由器确认报文和接入用户信息表中不存在相同的接入信息。
基于上述的判断过程,那么:
如果判断结果为存在,则执行步骤S203;
如果判断结果为不存在,则执行步骤S204。
步骤S203、PE路由器将报文转发给接入信息相对应的VPN实例。
步骤S204、PE路由器根据报文认证结果进行处理,具体为:
该认证过程为链路层认证,即PE路由器的接口已启用链路层认证协议,PE路由器在该报文所对应的接入用户认证成功后,将接入用户的认证信息加入接入用户信息表,其中,如果接入用户所对应的报文的IP地址为固定地址,PE路由器直接将IP地址填入接入用户信息表,如果接入用户的IP地址需要另行获取,PE路由器在报文的接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给接入用户,并将地址填入接入用户信息表;
该认证过程为非链路层认证,PE路由器的接口启用其他认证协议,PE路由器在公网地址池中选择一个地址,分配给该报文所对应的接入用户,在报文认证成功后,PE路由器在报文的接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给接入用户,并将地址和报文所对应的接入用户的其他认证信息填入接入用户信息表。
需要指出的是,在具体的应用场景中,上述的链路层认证和其他认证(非链路层认证)的情况可以分别存在于不同的应用场景下,也可以同时存在于同一个应用场景下,这样的变化并不影响本发明的保护范围。
需要进一步指出的是,报文认证成功后,该方法还包括:
当PE路由器的接口的认证方式为本地认证时,PE路由器接收本地用户数据库发送的预先设置的所对应的接入用户所属的VPN实例的信息;
当PE路由器的接口的认证方式为远程认证时,PE路由器接收认证服务器发送的预先设置的所对应的接入用户所属的VPN实例的信息。
其中,PE路由器接收本地用户数据库或认证服务器发送的预先设置的报文所对应的接入用户所属的VPN实例的信息,具体为:
PE路由器接收通过Radius协议附在报文中传输的所对应用户所属的VPN实例的信息。
上述过程是对PE路由器的接口接收到发送给VPN实例的报文时的过程描述,在具体的应用场景中,PE路由器还可能接收到VPN实例发送的报文那么,在此时,相应的处理过程如下:
PE路由器识别报文的类型;
如果报文为广播报文或组播报文,PE路由器查询VPN实例所绑定的三层接口的接入用户信息表中是否已经存在该报文所对应的接入用户的认证信息,如果有,则用IP承载层信息对报文进行封装,通过广播或组播形式发送给VPN的所有CE设备,如果没有,则丢弃报文;
如果报文为单播报文,PE路由器查询VPN实例所绑定的三层接口的接入用户信息表,将报文的目的地址与接入用户信息表中的地址信息进行比较,如果相同,则用IP承载层信息对报文进行封装,并将报文单播发送给目的地址,如果不同,则丢弃报文。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,实现了用户接入PE设备的过程中,基于接入用户绑定VPN实例,并实现用户报文在相应VPN实例内的转发,降低了用户接入VPN实例的配置过程的复杂度,并可以在用户认证通过后动态分配用户绑定的VPN实例。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
PE路由器上用于用户接入的三层接口默认绑定到设备上所有VPN实例,但是在用户没有通过认证并接入特定VPN实例的情况下则该接口收到的报文只上送到PE路由器公网路由模块处理。
首先,PE路由器上为各个接口创建如下的接口信息表和接入用户信息表记录相关信息:
表1 接口信息表
if-index | access-type1 | access-type2 | access-type3 |
其中,if-index:接口索引,每个启用基于接入用户划分VPN实例功能的接口单独对应一个索引值;
access-type:接入类型,用户接入方式,如:L2TP、802.1X、PPPoE等,不同的接入类型对IP承载层信息也不相同;
表2 接入用户信息表
link-info | username | if-index | VPN-instance | IPAddress |
其中,link-info:IP承载层信息,用来区分不同用户发出的报文;
username:接入用户的用户名;
if-index:接口索引,每个启用基于接入用户划分VPN实例功能的接口单独对应一个索引值;
VPN-instance:接入用户所属的VPN实例;
IPAddress:接入用户的IP地址。
基于上述的设定,如图3所示,为本发明提出的一种具体应用场景下的VPN实例的划分方法的流程示意图,具体包括以下步骤:
步骤S301、PE路由器的接口接收到报文。
步骤S302、PE路由器查找接口信息表,获取当前接口启用的接入类型。
不同的接入类型使用的IP承载层信息如下:
access-type | Link-info |
802.1X | source-mac |
PPPoE | source-mac+session_id |
L2TP | tunnelid+session id |
Portal | source-mac |
802.1x:直接使用以太网报文的源MAC地址做为IP承载层信息,用于区分不同用户发出的报文;
PPPoE:使用以太网报文的源MAC和PPPoE会话的Session ID信息做为IP承载层信息;
L2TP:使用L2TP报文中的Tunnel ID和Session ID做为IP承载层信息;
Portal:使用以太网报文的源MAC地址做为IP承载层信息;
其他接入类型的IP承载层信息在这里不做定义,以能够区分不同用户发送的报文为准。
步骤S303、PE路由器根据接口的接入类型,将报文的IP承载层信息与接入用户信息表中的link-info进行比较。
如果有相同项并且该表项中的if-index与报文的接收接口一致,则说明该用户已认证通过并且已划分VPN实例,获取当前表项的VPN-intstance的值,并执行步骤S304;
相反,如果没有相同项则说明该用户还没有经过认证,则执行步骤S305。
步骤S304、PE路由器将报文转发到对应的VPN实例。
步骤S305、PE路由器将报文传送给公网模块处理,启动认证处理流程。
其中,如果用户接入过程中已启用链路层认证协议,如:802.1X,PPP等,则按照已有认证流程处理。
如果用户接入过程中启用了非链路层认证协议,由于是先获取地址再进行认证,认证之前无法确认用户所属VPN实例,则建议使用二次地址分配处理机制,以DHCP为例:认证之前用户从公网地址池中获取一个地址,以此进行相应的认证过程。
步骤S306、PE路由器判断报文认证是否成功。
具体的认证是指针对该报文所对应的接入用户所进行的身份认证,以下说明过程中所提及的认证也与此相类似,不再重复说明。
如果成功,即确认该报文所对应的接入用户为合法的接入用户,执行步骤S307;
如果不成功,则返回执行步骤S305。
需要进一步指出的是,在步骤S305中的认证可以是人工触发的认证,即需要操作者进行确认后才会进行再次认证,也可以使自动进行的认证,这样的认证需要设定相应的认证机制,如果存在多种认证协议,则需要确定不同的认证协议所对应的报文类型,或者确定不同的认证协议所对应的认证优先级,当有报文需要进行认证时,首先从具有最高优先级的认证协议开始认证,如果失败,则继续使用下一个优先级的认证协议进行认证,如果当前所有的认证协议都认证失败或者认证失败的次数达到一定的阈值,则重视该报文的认证过程,并发出相应的认证告警等待处理或直接丢弃该报文。
步骤S307、PE路由器将认证成功的报文信息添加入相应的接入用户信息表。
相对于步骤S305中启用链路层认证协议的认证场景,在报文认证通过后,PE路由器将接口索引、用户名、IP承载层信息及设备本身已配置的该用户所属VPN实例信息,或者远程认证服务器返回的该用户的VPN实例信息,填入接入用户信息表。
在此种情况下,对于完成认证后用户VPN实例信息下发的处理过程如下:
如果是采用本地认证的方式,可以在本地用户数据库中每个用户预先设置用户所属的VPN实例信息,待认证通过后将用户关联的VPN实例信息下发到接入用户信息表;
如果用户是采用的远程认证方式,则需要在认证服务器上预先定义用户所属VPN实例的属性信息,在认证通过后,认证服务器将用户所属VPN实例属性下发。
本发明的技术方案中可以定义利用Radius协议传输VPN实例属性,相应的格式如下:
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Type | Length | Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
其中,Type:类型字段;
Length:属性长度,包括长度字段和vlaue字段的长度;
Value:VPN实例信息,以字符串形式给出;
Vpn实例属性在Access-Accept报文中传输,Radius服务器检查用户的认证信息通过后将此属性附到Access-Accept报文中发送给设备,设备通过读取该属性获取用户所属VPN实例的信息。Vpn实例属性也可以通过厂商私有属性传输,在本方法中不再定义。
用户下线或者超时断开口,将用户信息从接入用户信息表中删除。
另一方面,相对于步骤S305中没有启用链路层认证协议的认证场景,在报文完成相关的认证后(可以采用Portal认证或者其他认证方式),PE路由器获取用户所属的VPN实例信息,并填入接入用户信息表;由于先前是以公网IP地址进行的认证,所以,PE路由器通知用户再次获取IP地址,并最终从用户所属的VPN实例的地址池中向用户分配地址,分配地址后,将重新分配的地址填入接入用户信息表。
步骤S308、PE路由器判断是否为用户动态分配地址。
如果是,执行步骤S309;
如果不是,执行步骤S310。
步骤S309、PE路由器动态为用户分配IP地址,并更新接入用户信息表中相对应的动态分配后的IP地址信息。
如果用户是通过DHCP(用户通过802.1X认证可以通过DHCP协议获取地址)或者PPP协商(用户通过PPP认证后直接通过PPP协议本身获取地址)获取地址,则从用户所属VPN实例的地址池中向用户分配地址,分配地址后将分配的地址填入接入用户信息表。
步骤S310、在报文完成认证后,如果用户配置的是固定IP地址,则直接将用户报文的源地址填入接入用户信息表的IPAddress项。
后续用户发送报文根据步骤S309或步骤S310已经建立的用户信息表转发。
另一方面,对于由VPN实例发送到PE路由器的接口的报文,分为以下两种情况:
情况一、如果是广播或者组播报文,则查找接入用户信息表中是否已有用户接入。
如果已有用户接入,则对该VPN实例中所有用户使用IP承载层信息封装广播或组播报文然后发送。
如果该VPN实例没有用户通过认证并接入相应的VPN实例,则报文被丢弃。
情况二、如果是单播报文,查找接入用户信息表,将报文的目的地址与表项中的IPAddress字段比较。
如果字段内容相同,则PE路由器根据该表项中的IP承载层信息字段封装报文并发送;
如果没有查找到符合的内容表项,则报文被丢弃。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,实现了用户接入PE设备的过程中,基于接入用户绑定VPN实例,并实现用户报文在相应VPN实例内的转发,降低了用户接入VPN实例的配置过程的复杂度,并可以在用户认证通过后动态分配用户绑定的VPN实例。
为了实现本发明的技术方案,本发明还提出了一种PE路由器,其结构示意图如图4所示,应用于包括至少一个PE路由器和至少一个CE设备的网络系统中,其中,CE设备组成一个或多个VPN实例,具体包括:
设置模块41,用于设置各三层接口与PE路由器上所有的VPN实例之间的绑定关系,建立接口信息表记录各接口所对应的接入类型,并建立接入用户信息表记录各接入类型所对应的接入信息;
查询模块42,与设置模块41相连接,用于当接口接收到发送给VPN实例的报文时,查询设置模块41所设置的接口信息表,确定接口当前的接入类型;
判断模块43,与查询模块42和设置模块41相连接,用于根据查询模块42所确定的接入类型,将报文中的报文信息与该接入类型在接入用户信息表中所对应的信息相比较,判断是否存在相同的接入信息;
优选的,判断模块43,具体用于:
根据查询模块42所查询的接入类型,将报文中的IP承载层信息与接入用户信息表中的链接信息相比较,判断是否存在相同的字段;
如果存在相同的字段,判断模块43进一步判断该相同字段中的接口信息是否一致;
如果一致,则判断模块43确认报文和接入用户信息表中存在相同的接入信息。
通信模块44,与判断模块43相连接,如果判断模块43判断存在相同的接入信息,用于将报文转发给接入信息相对应的VPN实例。
处理模块45,与判断模块43和设置模块41相连接,用于在判断模块43判断不存在相同的接入信息时,根据报文所对应的接入用户的认证结果进行处理,具体包括:
该认证过程为链路层认证,即PE路由器的接口已启用链路层认证协议时,处理模块45在报文所对应的接入用户认证成功后,将接入用户的认证信息加入相对应的接入用户信息表,其中,如果接入用户所对应的报文的IP地址为固定地址,处理模块45直接将IP地址填入接入用户信息表,如果报文所对应的接入用户的IP地址需要另行获取,处理模块45在报文的接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给接入用户,并将地址填入接入用户信息表;
该认证过程为非链路层认证,即PE路由器的接口启用非链路层认证协议时,处理模块45在公网地址池中选择一个地址,分配给报文所对应的接入用户,在该接入用户认证成功后,处理模块45在报文的接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给接入用户,并将地址和该报文所对应的接入用户的其他认证信息填入相对应的接入用户信息表。
需要指出的是,在具体的应用场景中,上述的链路层认证和其他认证(非链路层认证)的情况可以分别存在于不同的应用场景下,也可以同时存在于同一个应用场景下,这样的变化并不影响本发明的保护范围。
进一步的,PE路由器还包括:
识别模块46,用于当接口接收到VPN实例发送的报文时,识别报文的类型;
如果报文为广播报文或组播报文,查询模块42查询VPN实例所绑定的三层接口的接入用户信息表中是否已经存在该报文所对应的接入用户的认证信息,如果有,则通信模块44用IP承载层信息对报文进行封装,通过广播或组播形式发送给VPN的所有CE设备,如果没有,则丢弃报文;
如果报文为单播报文,查询模块42查询VPN实例所绑定的三层接口的接入用户信息表,将报文的目的地址与接入用户信息表中的地址信息进行比较,如果相同,则通信模块44用IP承载层信息对报文进行封装,并将报文单播发送给目的地址,如果不同,则丢弃报文。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,实现了用户接入PE设备的过程中,基于接入用户绑定VPN实例,并实现用户报文在相应VPN实例内的转发,降低了用户接入VPN实例的配置过程的复杂度,并可以在用户认证通过后动态分配用户绑定的VPN实例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种虚拟专用网络VPN实例的划分方法,应用于包括至少一个服务商网络边缘PE路由器和至少一个用户网络边缘CE设备的网络系统中,其中,所述CE设备组成一个或多个VPN实例,其特征在于,所述PE路由器中的三层接口与所述PE路由器上所有的VPN实例相绑定,所述PE路由器建立接口信息表记录各接口所对应的接入类型,并建立接入用户信息表记录各接入类型所对应的接入信息,所述方法具体包括以下步骤:
当所述PE路由器的接口接收到发送给VPN实例的报文时,所述PE路由器查询所述接口信息表,确定所述接口当前的接入类型;
所述PE路由器根据所述接入类型,将所述报文中的报文信息与所述接入用户信息表中的信息相比较,判断是否存在相同的接入信息;
如果存在相同的接入信息,所述PE路由器将所述报文转发给所述接入信息相对应的VPN实例。
2.如权利要求1所述的方法,其特征在于,所述PE路由器根据所述接入类型,将所述报文中的报文信息与所述接入用户信息表中的信息相比较,判断是否存在相同的接入信息,具体为:
所述PE路由器根据所述接入类型,将所述报文中的IP承载层信息与所述接入用户信息表中的链接信息相比较,判断是否存在相同的字段;
如果存在相同的字段,进一步判断该相同字段中的接口信息是否一致;
如果一致,则所述PE路由器确认所述报文和所述接入用户信息表中存在相同的接入信息。
3.如权利要求2所述的方法,其特征在于,如果不存在相同的接入信息,所述方法还包括所述PE路由器根据所述报文所对应的接入用户的认证结果进行处理,具体为:
认证过程具体为链路层认证,所述PE路由器在所述报文所对应的接入用户认证成功后,将所述接入用户的认证信息加入所述接入用户信息表,其中,如果所述接入用户所对应的报文的IP地址为固定地址,所述PE路由器直接将所述IP地址填入所述接入用户信息表,如果所述接入用户的IP地址需要另行获取,所述PE路由器在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址填入所述接入用户信息表。
4.如权利要求2所述的方法,其特征在于,如果不存在相同的接入信息,所述方法还包括所述PE路由器根据所述报文所对应的接入用户的认证结果进行处理,具体为:
认证过程具体为非链路层认证,所述PE路由器在公网地址池中选择一个地址,分配给所述报文所对应的接入用户,在所述接入用户认证成功后,所述PE路由器在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址和所述报文所对应的接入用户的其他认证信息填入所述接入用户信息表。
5.如权利要求3所述的方法,其特征在于,所述报文所对应的接入用户认证成功后,还包括:
当所述PE路由器的接口的认证方式为本地认证时,所述PE路由器接收本地用户数据库发送的预先设置的所述报文所对应的接入用户所属的VPN实例的信息;
当所述PE路由器的接口的认证方式为远程认证时,所述PE路由器接收认证服务器发送的预先设置的所述报文所对应的接入用户所属的VPN实例的信息。
6.如权利要求5所述的方法,其特征在于,所述PE路由器接收本地用户数据库或认证服务器发送的预先设置的所述报文所对应的接入用户所属的VPN实例的信息,具体为:
所述PE路由器接收通过Radius协议附在报文中传输的所述报文所对应用户所属的VPN实例的信息。
7.如权利要求1所述的方法,其特征在于,还包括:
当所述PE路由器接收到所述VPN实例发送的报文时,所述PE路由器识别所述报文的类型;
如果所述报文为广播报文或组播报文,所述PE路由器查询所述VPN实例所绑定的三层接口的接入用户信息表中是否已经存在所述报文所对应的接入用户的认证信息,如果有,则用IP承载层信息对所述报文进行封装,通过广播或组播形式发送给所述VPN的所有CE设备,如果没有,则丢弃所述报文;
如果所述报文为单播报文,所述PE路由器查询所述VPN实例所绑定的三层接口的接入用户信息表,将所述报文的目的地址与所述接入用户信息表中的地址信息进行比较,如果相同,则用IP承载层信息对所述报文进行封装,并将所述报文单播发送给目的地址,如果不同,则丢弃所述报文。
8.一种PE路由器,应用于包括至少一个PE路由器和至少一个CE设备的网络系统中,其中,所述CE设备组成一个或多个VPN实例,其特征在于,具体包括:
设置模块,用于设置各三层接口与所述PE路由器上所有的VPN实例之间的绑定关系,建立接口信息表记录各接口所对应的接入类型,并建立接入用户信息表记录各接入类型所对应的接入信息;
查询模块,与所述设置模块相连接,用于当接口接收到发送给VPN实例的报文时,查询所述设置模块所设置的接口信息表,确定所述接口当前的接入类型;
判断模块,与所述查询模块和所述设置模块相连接,用于根据所述查询模块所确定的接入类型,将所述报文中的报文信息与所述接入类型在所述接入用户信息表中所对应的的信息相比较,判断是否存在相同的接入信息;
通信模块,与所述判断模块相连接,如果所述判断模块判断存在相同的接入信息,用于将所述报文转发给所述接入信息相对应的VPN实例;
处理模块,与所述判断模块和所述设置模块相连接,用于在所述判断模块判断不存在相同的接入信息时,根据所述报文所对应的接入用户的认证结果进行处理。
9.如权利要求8所述的PE路由器,其特征在于,所述判断模块,具体用于:
根据所述查询模块所查询的接入类型,将所述报文中的IP承载层信息与所述接入用户信息表中的链接信息相比较,判断是否存在相同的字段;
如果存在相同的字段,所述判断模块进一步判断该相同字段中的接口信息是否一致;
如果一致,则所述判断模块确认所述报文和所述接入用户信息表中存在相同的接入信息。
10.如权利要求8所述的PE路由器,其特征在于,
认证过程具体为链路层认证,所述处理模块在所述报文所对应的接入用户认证成功后,将所述接入用户的认证信息加入所述接入用户信息表,其中,如果所述接入用户所对应的报文的IP地址为固定地址,所述处理模块直接将所述IP地址填入所述接入用户信息表,如果所述接入用户的IP地址需要另行获取,所述处理模块在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址填入所述接入用户信息表。
11.如权利要求8所述的PE路由器,其特征在于,
认证过程具体为非链路层认证,所述处理模块在公网地址池中选择一个地址,分配给所述报文所对应的接入用户,在所述接入用户认证成功后,所述处理模块在所述接入用户归属的VPN实例所对应的地址池中选择一个地址,分配给所述接入用户,并将所述地址和所述报文所对应的接入用户的其他认证信息填入所述报文相对应的接入用户信息表。
12.如权利要求8所述的PE路由器,其特征在于,还包括:
识别模块,用于当接口接收到所述VPN实例发送的报文时,识别所述报文的类型;
如果所述报文为广播报文或组播报文,所述查询模块查询所述VPN实例所绑定的三层接口的接入用户信息表中是否已经存在所述报文所对应的接入用户的认证信息,如果有,则所述通信模块用IP承载层信息对所述报文进行封装,通过广播或组播形式发送给所述VPN的所有CE设备,如果没有,则丢弃所述报文;
如果所述报文为单播报文,所述查询模块查询所述VPN实例所绑定的三层接口的接入用户信息表,将所述报文的目的地址与所述接入用户信息表中的地址信息进行比较,如果相同,则所述通信模块用IP承载层信息对所述报文进行封装,并将所述报文单播发送给目的地址,如果不同,则丢弃所述报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101344817A CN101808038B (zh) | 2010-03-29 | 2010-03-29 | 一种vpn实例的划分方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101344817A CN101808038B (zh) | 2010-03-29 | 2010-03-29 | 一种vpn实例的划分方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101808038A CN101808038A (zh) | 2010-08-18 |
CN101808038B true CN101808038B (zh) | 2012-02-08 |
Family
ID=42609660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101344817A Active CN101808038B (zh) | 2010-03-29 | 2010-03-29 | 一种vpn实例的划分方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101808038B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908996B (zh) * | 2010-08-24 | 2012-02-29 | 福建星网锐捷网络有限公司 | 接入私有网络的方法、数据传输方法及装置和系统 |
CA2841166C (en) | 2011-07-08 | 2016-12-06 | Virnetx, Inc. | Dynamic vpn address allocation |
EP2667541B1 (en) * | 2012-05-23 | 2015-08-05 | Alcatel Lucent | Connectivity service orchestrator |
CN107547467B (zh) * | 2016-06-23 | 2021-09-24 | 中兴通讯股份有限公司 | 一种电路认证处理方法、系统及控制器 |
CN111049721B (zh) * | 2019-12-12 | 2021-06-29 | 广州鲁邦通物联网科技有限公司 | 一种OpenVPN集群及其构建方法、通信方法、系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1150726C (zh) * | 2002-10-01 | 2004-05-19 | 华中科技大学 | 一种安全网络传输方法及其系统 |
US20050152393A1 (en) * | 2004-01-13 | 2005-07-14 | Wen-Chih Lin | Method of establishing connection between wireless communication devices |
CN1614968A (zh) * | 2004-10-29 | 2005-05-11 | 港湾网络有限公司 | 虚拟个人网络系统内部服务器和客户端的通信方法 |
CN101114971A (zh) * | 2006-07-27 | 2008-01-30 | 华为技术有限公司 | 基于IPv6地址结构实现虚拟专用网的方法 |
-
2010
- 2010-03-29 CN CN2010101344817A patent/CN101808038B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101808038A (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101461198B (zh) | 中继网络系统及终端适配装置 | |
CN101527740B (zh) | 一种动态地址分配的方法、装置及系统 | |
CN101616014B (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
CN102307144B (zh) | 一种trill网络中dhcp报文转发方法和路由桥 | |
CN102801625A (zh) | 一种异构网络二层互通的方法及设备 | |
CN106559292A (zh) | 一种宽带接入方法和装置 | |
CN101808038B (zh) | 一种vpn实例的划分方法和设备 | |
CN102158409B (zh) | 一种ip报文转发控制方法及其设备 | |
CN101052022B (zh) | 一种虚拟专用网用户访问公网的系统和方法 | |
CN101617305A (zh) | 使用基于以太网的隧道的、用于mpls和第2层vpn的边界网关协议过程 | |
CN104885416A (zh) | 在混合通信网络中桥接网络设备 | |
JP2001189751A (ja) | ラベル交換通信ネットワークの仮想専用ネットワークを支援するシステム、素子及び方法 | |
CN101908996B (zh) | 接入私有网络的方法、数据传输方法及装置和系统 | |
CN100393062C (zh) | 将核心网接入多协议标记交换虚拟专用网的方法 | |
CN100514929C (zh) | 一种虚拟专用局域网的报文转发方法及装置 | |
CN101114973A (zh) | 一种虚拟专用网内的报文转发方法、系统和边缘设备 | |
CN105763385A (zh) | 流量调度方法及装置 | |
CN101110746B (zh) | 运营商边缘设备、城域以太接入网及其处理数据的方法 | |
WO2011009331A1 (zh) | 虚拟私有网的路由标签分配方法与装置 | |
CN102546433A (zh) | 基于mpls vpn的数据转发方法和边缘设备 | |
CN105453513A (zh) | 报文转发方法、转发表项下发方法及网络设备 | |
CN102571375B (zh) | 组播转发方法、装置及网络设备 | |
CN103067278A (zh) | 一种数据帧的传输处理方法、设备及系统 | |
CN101729422B (zh) | 一种利用BGP实现MPLS L3VPN私网QoS的方法及装置 | |
CN103269300B (zh) | 一种实现异构网络互联的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |