基于虚拟局域网的实现多角色主机的方法

文档序号:7761948阅读:209来源:国知局
专利名称:基于虚拟局域网的实现多角色主机的方法
技术领域
本发明涉及虚拟局域网(VPN),尤其是涉及VPN中的实现多角色主机的方法。
背景技术
VPN(Virtual Private Network,虚拟局域网),是企业或特定用户群体利用公共网络(如运营商的网络资源)来构建自己的私有网络、以满足自身应用需求;通过VPN,企业或特定用户群体可在其分支机构、远程用户、商业伙伴等之间建立安全、可靠的连接、低成本地传输数据。传统的VPN网络是建立在IP技术基础上的,它使用IP网络设施对专用广域网仿真,是企业或特定用户群体利用公共IP网络来构建自己的私有网络。MPLS/BGP VPN,是一种在公共网络中使用多协议标签交换(MPLS)技术和边界网关协议(BGP)来提供IP VPN业务,以其为基础形成了RFC2547标准(RFC,请求注释协议,Internet的标准),该标准所述VPN是一种运营商提供的VPN(Provider Provide VPN,PP VPN),VPN设备位于网络侧,由运营商为用户提供VPN服务,用户设备不需要感知VPN,只要连接到运营商提供的PE设备即可。参考图1。图1中,服务提供商的骨干网络由P设备和PE设备组成。图1所示的设备中CE(Custom Edge,用户边缘路由器)是用户网络中的一个组成部分,有接口直接与服务提供商相连,一般是路由器,用于将VPN的一个用户站点(Site)连接到PE。
PE(Provider Edge,骨干网边缘路由器)即运营商边缘路由器,是运营商网络的边缘设备,是MPLS/BGP VPN业务的实现主体,它为每一个VPN用户站点维护一个独立的路由表,与用户的CE直接相连。MPLS网络中,对VPN的所有处理都发生在PE路由器上。
P(Provider,骨干网核心路由器)运营商网络中的骨干路由器,主要不和CE直接相连。P路由器具有MPLS基本转发能力。
现在基于RFC2547的PP VPN解决方案中,要求将一个接口和一个VPN实例相关联,即将这一个接口赋予某一个VPN属性,表明从这个接口来的数据业务都要接入接口所关联的VPN,或者说从这个接口接入的用户只能访问这个特定的VPN,同样从这个接口流入的数据业务也只能是这个接口所属于的VPN的业务。但是在很多应用下,不能保证一个接口下所连的客户都是属于同一个VPN的,例如,一些特殊服务器,或者是政府网络的一些重要的主机,它们所能接入的VPN和同一地域内的其它主机是不一样的,这些主机通常要求有更多的访问权限,不受一个VPN的限制,即要求这种主机具有多角色的能力。还有那些通过拨号认证方式通过接入服务器认证,然后接入不同VPN的客户也要求具有多角色的能力,由于它们在地域上是和其他主机在一起的,如果通过同一个接口接入VPN,根据RFC2547中的PP VPN的解决方案,就制约这些特殊主机可以接入的VPN的多样性和特殊性。另外,当一个地域内的各主机所能访问的VPN都不一样的话,那样就根本不需要将这个地域的接入链路和某个VPN相关联,完全可以根据用户接入的实际需要,来实现用户的VPN的接入。
在目前基于RFC2547的PP VPN的方案应用中,对于这种多角色主机还没有提出解决方案,因此,在实际组网应用中,只有把这样的特殊主机以单独的接口接入PE,然后使用Extranet网络拓扑来解决这个问题。例如在图2中,主机PC1要求具有访问VPN1和VPN2的多角色能力,将PC1以一个单独的接口或链路接入运营商的边缘路由器PE1,通过配置PE1上的VPN转发表实现PC1的多角色。但是这样,如果这种特殊主机所能访问的VPN差异较大时,对于每一种VPN访问差异的主机都需要独占一个接入接口,这样VPN数量和关系都会积聚膨胀,将导致大量接口资源的浪费和管理上的麻烦。

发明内容
本发明的目的在于提供一种基于虚拟局域网的实现多角色主机的方法,使用该方法实现主机的多角色具有较强的灵活性和可管理性。
为达到上述目的,本发明提供的基于虚拟局域网的实现多角色主机的方法,包括在多角色主机所在虚拟局域网(VPN)站点所连接的骨干网边缘路由器(PE)上,设置多角色主机可以访问的VPN报文转发表,将该VPN站点的接口与所在VPN相关联;当PE接收到来自上述VPN站点的数据报文时,根据报文的源地址识别发出报文的主机身份,如果为多角色主机,再根据报文的源地址获取目的VPN的信息,根据该信息查找相应的VPN报文转发表并转发报文,否则,根据主机所属VPN的报文转发表转发报文。
在多角色主机需要访问的每一个VPN的转发表中配置一条静态路由,该路由的下一跳为多角色主机所属的VPN接口名。
但是,在多角色主机本身所属于的VPN中可以不配置静态路由。
将所述静态路由发布到除多角色主机所属VPN以外的VPN内部。
当属于同一VPN站点的多角色主机为两个以上时,将上述多角色主机的地址设置为连续。
当多角色主机为一个时,所述静态路由为一条主机路由;当多角色主机为多个时,所述静态路由为网段路由。
在PE上配置对于多角色主机的过滤策略,并将该策略与包含多角色主机的VPN站点的接口相关联,以便在PE接收到来自多角色主机所在VPN站点的数据报文时,根据报文的源地址识别发出报文的主机身份。
包含多角色主机的VPN站点可以通过公网接口连接到PE。
本发明提供的另一种基于运营商虚拟局域网的实现多角色主机的方法,包括
在多角色主机所在VPN站点所连接的骨干网边缘路由器(PE)上,创建多角色主机可以访问的虚拟局域网(VPN)报文转发表;当PE接收到来自上述VPN站点的数据报文时,根据报文的源地址和目的地址识别发出报文的主机可以接入的VPN,根据该VPN的报文转发表转发用户报文。
在PE设备上建立VPN访问控制表,该表包括源地址和VPN字段,用于描述报文源地址所标识的用户与VPN的访问关系。
由于本发明通过在多角色主机所在VPN站点所连接的PE上设置多角色主机可以访问的VPN报文转发表的方式,不但易于实现基于运营商虚拟局域网的多角色主机,还可以通过在PE上配置对于多角色主机的过滤策略或设置多角色主机表,使实现的多角色主机具有较强的灵活性和可管理性。


图1是MPLS/BGP VPN模型图;图2是现有的多角色主机的实现方法原理图;图3是多角色主机访问不同VPN的结构图;图4是本发明所书方法的实施例流程图;图5是多角色主机的数据流控制示例图。
具体实施例方式
下面结合附图对本发明作进一步详细的描述。
在现有的基于RFC2547的PP VPN应用方案中,只能通过接口来区分不同的VPN,例如在图3所示的网络中,VPN1的站点1(site1)通过一个接口接入骨干网的PE1设备,这个接口被绑定在VPN1下。根据RFC2547的规定,从这个接口进入的数据业务都应该通过PE1设备中VPN1的转发表来转发,也就是说,只要接入了VPN1,就无法再访问VPN1以外的设备或被VPN1以外的设备来访问,这样就限制了VPN1 site1中的所有主机只能属于VPN1。但是在实际组网中,往往不能保证VPN1 site1中的所有主机的VPN属性是相同的,比如这当中可能有一台服务器PC1,它是大家共享的服务器,其它的多个VPN中的用户也都可以访问它;或者是这台PC是一个具有某种特权的主机,它可以访问分属多个VPN网络中的资源。上述需求说明,在实际组网中,需要消除只能通过接口来区分VPN业务的局限性,实现通过同一个接口接入PE的site中的多角色主机用户可以实现访问不同的VPN和同时访问多个VPN的需求,而且,上述VPN中的用户也可以访问该site中的该多角色主机。
本发明是这样解决这个应用需求的,在骨干网的PE设备上根据数据报的源地址来区别每一个主机,如果是确认这个主机是一个有特殊访问需求的用户,就根据这个用户的访问需求,把它接入所能够访问的VPN网络,使该特殊用户能够访问需要的VPN。而对于那些普通的VPN用户仍然按照接入接口所属于的VPN进行网络访问。具体说,本发明是这样解决这个应用需求的,在PE设备上根据数据报的源地址来区分这种特殊属性的主机,对于这种特殊主机,根据需要配置允许它可以访问的各个VPN,而对于没有这些特权的主机,也通过它的源地址来判断其身份,让它接入接口所属于的VPN,走正常的转发流程。比如图3中的PC1,它从VPN1的接口接入,在PE上根据这种主机来的数据报获取其源地址来识别出其身份,然后根据数据报的目的地址让它去查找不同VPN的转发表,这样,从PC1出去的数据报可以到达其它VPN的site,同样也需要从其它VPN的site来的数据报也能转发到这台特殊的PC1,因此,在PE1上其它的允许PC1访问的VPN内部配置一条静态路由,下一跳是VPN1私网接口名或是地址,这条静态路由可能是一条主机路由,也可能是网段路由,即在VPN1 site中这样的特殊角色的主机比较多的时候,给这些主机分配相同的子网地址。再将这些静态路由发布到不同的VPN内部。对于这个多角色主机本身所属于的VPN,就是接入接口所关联的VPN中可以配置静态路由,也可以不配置静态路由,因为可以使用动态路由协议交换路由。
下面以图3为例说明本发明。图3是一个简单的MPLS VPN网络,其中存在三个VPN,VPN1,VPN2,VPN3,其中site1在地域上是属于VPN1的,它通过一个接口serial 0接入PE1,来访问VPN1的其它site.不过由于组网的原因在site1中有一台主机PC1,它是一台服务器,除了被VPN1内的用户访问外,VPN2,VPN3中的用户也需要访问这台服务器,因此这台服务器是不能仅仅接入VPN1的,但是也不希望让这台服务器以单独的一个接口接入PE1,此时,采用本发明所述的方法对相关的PE设备进行配置和操作就可以解决这个问题。
假设图中的PC1的地址为10.110.1.1,通过VPN1 site1接入骨干网的PE1;VPN1 site2的地址为100.1.0.0/16,VPN2 site1的地址为100.2.0.0/16,VPN3 site1的地址为100.3.0.0/16,接入骨干网的PE2;VPN1 site3的地址为100.4.0.0/16,VPN2 site2的地址为100.5.0.0/16,VPN3 site3的地址为100.6.0.0/16,接入骨干网的PE3。由于PE1上有多角色主机PC1的接入,PE1上必须有自己所接入的Site中的多角色主机PC1要访问的所有VPN的转发表信息,这就需要在PE1上需要配置相应的VPN1、VPN2、VPN3的报文转发表,同时还需要在上述VPN转发表下配置静态路由,使从其它VPN,即VPN2、VPN3的Site来的数据报文可以流入VPN1 Site的多角色主机。说明上述方法的具体步骤参考图4。首先进行步骤1在主机PC1所在VPN站点VPN1 Site1所连接的骨干网边缘路由器PE1上,设置主机PC1可以访问的虚拟局域网(VPN)报文转发表。即设置三个VPN,VPN1、VPN2和VPN3的报文转发表。如采用下述设置VPN1的命令设置上述VPN1转发表,同理设置VPN2、VPN3的转发表。
ip vrf VPN1;创建一个名为VPN1的VPNrd 100∶1;配置这个VPN1的RD(路由分辨符)标识是100∶1
route both 100∶1;配置这个VPN1的VPN策略是引入、引出都是100∶1。
以上的配置可以让数据报文流入正确的VPN,那么回来的数据报文也需要确保可以通过私网接口serial 0流入,由于本例中VPN1 Site1中只有一个多角色主机PC1,因此在VPN2、VPN3内部配置一条静态路由,下一跳可以是VPN1私网接口名,这条静态路由为一条主机路由,因此可以采用如下述命令所示的配置ip route vrf VPN2 10.110.1.1 255.255.255.255 serial 0;ip route vrf VPN3 10.110.1.1 255.255.255.255 serial 0;在VPN2,VPN3中分别配置一条目的地址是10.110.1.1,下一跳出接口是serial 0的静态路由。
这样,通过配置静态路由可以将从VPN2,VPN3来的数据流导入接口serial 0。将上述静态路由发布到VPN2、VPN3的内部。
这样设置的VPN1、VPN2和VPN3转发表为VPN1100.1.0.0/16 nexthoppe2100.4.0.0/16 nexthoppe3VPN2100.2.0.0/16 nexthoppe2100.5.0.0/16 nexthoppe310.110.1.1 nexthopserial 0VPN3100.3.0.0/16 nexthoppe2100.6.0.0/16 nexthoppe310.110.1.1 nexthopserial 0然后进行步骤2将VPN1 site1接入PE1的接口serial 0与VPN1关联起来,将接口serial 0绑定到VPN1下,如采用下述命令实现interface serial 0;使用串口serial 0;ip vrf forwarding VPN1;将serial 0关联在VPN1下;
ip addr 10.110.0.2 255.255.0.0;配置这个接口的IP地址为10.110.0.2。
在步骤3配置对于主机PC1的过滤策略,如采用下述命令实现access-list 101 per 10.110.1.1 any;配置一条允许源地址为10.110.1.1的报文通过的策略,101为策略号。
在步骤4将配置的对于主机PC1的过滤策略与私网接口serial 0相关联,以便在PE1接收到来自多角色主机所在VPN1站点的数据报文时,根据报文的源地址识别出主机PC1的身份。如采用下述命令实现interface serial 0;使用串口serial 0;special-host access-list 101 access-vpn VPN1 VPN2 VPN3;符合101访问策略的数据报可以访问VPNVPN1,VPN2,VPN3。
综合以上的配置能够使VPN1中的多角色主机PC1可以被VPN1,VPN2,VPN3所访问,如果site1中相同访问属性的主机较多的话,可以通过合理规划的方法,让它们的地址连续,以便这些主机处于相同的子网中,这样可以大大的简化在PE1设备上的配置麻烦,这样,可以直接配置对于一个网段的过滤策略,即配置网段路由。如access-list 101 permit 10.110.0.0 255.255.0.0 any;配置一条允许源地址属于10.110.0.0网段的报文通过的策略。
再配置反向的静态路由指向这个特殊的网段,如ip route vrf VPN2 10.110.0.0 255.255.0.0 serial 0ip route vrf VPN3 10.110.0.0 255.255.0.0 serial 0如果需要更改用户所能访问的VPN,只要在PE上灵活的更改访问策略就可以实现。对于策略匹配不成功的数据报文,将其直接接入接口所属的VPN。如果用户有访问公网的需求,可以在所能访问的VPN中没有找到转发项的情况下去查公网的转发表,接入公网,当然前提是VPN的地址空间是私有地址空间。可以如下配置
special-host access-list 101 access-vpn VPN1 VPN2 VPN3 Internet;如果符合访问策略101的数据报在VPN1,VPN2,VPN3中都没有找到转发信息的话,可以让它查公网的转发表转发。
另外,如果site1中的各主机所需要接入的VPN都差别比较大的时候,可以不再将接入PE的接口关联到某个私网下,而是采用公网接口,但在这个接口上不应有路由协议的交互,以免用户使用私网地址空间时私网路由泄露进公网。如果使用公网地址空间,可以直接实现用户的不同VPN和公网的同时接入,实现Internet的访问。在此情况下,对于策略匹配不成功的数据报文,可以直接根据公网的转发表转发。
最后在步骤5,PE1对接收到的报文进行转发,实现多角色主机的多VPN访问,和多VPN中的用户对多角色主机PC1的共享。
上述步骤5的具体实现参考图5。当PE1接收到来自VPN1 Site1的数据报文时,根据数据报的源地址与事先配置好的策略规则来做策略匹配,如果匹配成功,说明发出数据报的主机为多角色主机,因此匹配成功的数据报根据策略配置来访问相应的VPN,去查可以访问的VPN的转发表,找到转发项后,和正常的转发流程进行转发。因此,如果数据报是来自于PC1的,则会匹配成功,从而通过相应的VPN转发表转发出去;如果数据报是来自普通用户的,则不会匹配成功,只能VPN1的转发表转发。也可以同时根据数据报的目的和源地址一次定位到这个数据报文应该去查的VPN的转发表,然后进行报文的转发。
回来的数据流,即来自VPN2的数据报文,通过PE1发布出去的静态路由,从PE2转发到PE1,然后通过数据报文的内层标签转发到VPN1 site1,到达多角色主机PC1。
总之,通过在PE1设备上灵活的调整策略,就可以控制所连接的site中各个主机的访问的VPN范围。
需要说明的是,第一,在PE1上也可以设置多角色主机表,并将该主机表与包含多角色主机PC1的VPN1 Site1的接口相关联。该表可以仅包括报文源地址,这样,在PE1接收到来自多角色主机所在VPN站点的数据报文时,可以根据报文的源地址与该表中的报文源地址相匹配,就能识别发出报文的主机身份。
第二,在PE设备上建立VPN访问控制表,该表包括源地址和VPN字段,用于描述报文源地址所标识的用户与VPN的访问关系。这样,当PE1接收到来自VPN2、VPN3站点的数据报文时,根据报文的源地址识别出发出报文的主机可以接入的VPN,根据该VPN的报文转发表转发用户报文。如果上述VPN访问表包括目的地址字段,更有利于报文的转发。这种情况尤其适用于所接入的VPN Site中所访问的VPN比较分散,且难以确定的情况,同时也可以满足公网用户接入的需求。
权利要求
1.一种基于虚拟局域网的实现多角色主机的方法,包括在多角色主机所在虚拟局域网(VPN)站点所连接的骨干网边缘路由器(PE)上,设置多角色主机可以访问的VPN报文转发表,将该VPN站点的接口与所在VPN相关联;当PE接收到来自上述VPN站点的数据报文时,根据报文的源地址识别发出报文的主机身份,如果为多角色主机,再根据报文的源地址获取目的VPN的信息,根据该信息查找相应的VPN报文转发表并转发报文,否则,根据主机所属VPN的报文转发表转发报文。
2.根据权利要求1所述的基于虚拟局域网的多角色主机的实现方法,其特征在于在多角色主机需要访问的每一个VPN的转发表中配置一条静态路由,该路由的下一跳为多角色主机所属的VPN接口名。
3.根据权利要求2所述的基于虚拟局域网的多角色主机的实现方法,其特征在于在多角色主机本身所属于的VPN中不配置静态路由。
4.根据权利要求2所述的基于虚拟局域网的多角色主机的实现方法,其特征在于将所述静态路由发布到除多角色主机所属VPN以外的VPN内部。
5.根据权利要求4所述的基于虚拟局域网的多角色主机的实现方法,其特征在于当属于同一VPN站点的多角色主机为两个以上时,将上述多角色主机的地址设置为连续。
6.根据权利要求5所述的基于虚拟局域网的多角色主机的实现方法,其特征在于当多角色主机为一个时,所述静态路由为一条主机路由;当多角色主机为多个时,所述静态路由为网段路由。
7.根据权利要求1、2、4、5或6所述的基于虚拟局域网的多角色主机的实现方法,其特征在于在PE上配置对于多角色主机的过滤策略,并将该策略与包含多角色主机的VPN站点的接口相关联,以便在PE接收到来自多角色主机所在VPN站点的数据报文时,根据报文的源地址识别发出报文的主机身份。
8.根据权利要求7所述的基于虚拟局域网的多角色主机的实现方法,其特征在于包含多角色主机的VPN站点通过公网接口连接到PE。
9.一种基于虚拟局域网的多角色主机的实现方法,包括在多角色主机所在VPN站点所连接的骨干网边缘路由器(PE)上,创建多角色主机可以访问的虚拟局域网(VPN)报文转发表;当PE接收到来自上述VPN站点的数据报文时,根据报文的源地址和目的地址识别发出报文的主机可以接入的VPN,根据该VPN的报文转发表转发用户报文。
10.根据权利要求9所述的基于虚拟局域网的多角色主机的实现方法,其特征在于在PE设备上建立VPN访问控制表,该表包括源地址和VPN字段,用于描述报文源地址所标识的用户与VPN的访问关系。
全文摘要
本发明公开了一种基于虚拟局域网的实现多角色主机的方法,该方法在多角色主机所在VPN站点所连接的骨干网边缘路由器(PE)上,设置多角色主机可以访问的虚拟局域网(VPN)报文转发表的访问控制策略,这样,当PE接收到来自上述VPN站点的数据报文时,根据报文的源地址识别发出报文的主机身份,如果为多角色主机,再根据报文的源地址获取要访问的目的VPN的信息,根据该信息查找相应的VPN报文转发表并转发报文,否则,根据主机所接入的接口的VPN属性来转发报文;采用上述方案易于实现基于运营商虚拟局域网的多角色主机,同时具有较强的灵活性和可管理性。
文档编号H04L12/28GK1516401SQ03101399
公开日2004年7月28日 申请日期2003年1月6日 优先权日2003年1月6日
发明者董伟嗣 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1