一种实现虚拟专用网访问的方法

申请号 CN200610073193.9 申请日 2006-04-12 公开(公告)号 CN101051985A 公开(公告)日 2007-10-10
申请人 华为技术有限公司; 发明人 管红光;
摘要 本 发明 提供一种实现虚拟专用网 访问 的方法,该方法包括,在PE的源VPN中配置静态路由,在静态路由的出 接口 配置需要访问的目的VPN,在转发信息表中为静态路由设置VPN访问的标志;当PE接收到源VPN发来的包含目的IP地址的数据报文时,则根据该目的IP地址查找该源VPN的转发信息表;若转发信息表中对应该目的IP地址的路由带有VPN访问标志,则根据静态路由的出接口查找需要访问的目的VPN的转发信息表;在目的VPN的转发信息表中,根据该目的IP地址查找到真正的出接口,从而将报文转发出去。本发明的访问方法不需要在源VPN转发信息表中存放所有到达目的VPN网段的路由,从而节省了大量的转发信息表项空间。
权利要求

1.一种实现虚拟专用网访问的方法,该方法包括:在PE的源VPN中配置静态路由,在静态路由的出接口配置需要访问的目的VPN,在转发信息表中为静态路由设置VPN访问的标志;当PE接收到源VPN发来的包含目的IP地址的数据报文时,则根据该目的IP地址查找该源VPN的转发信息表;若转发信息表中对应该目的IP地址的路由带有VPN访问标志,则根据静态路由的出接口查找需要访问的目的VPN的转发信息表;在目的VPN的转发信息表中,根据该目的IP地址查找到真正的出接口,从而将报文转发出去。
2.根据权利要求1所述的方法,其特征在于:所述PE为BRAS设备。
3.根据权利要求1所述的方法,其特征在于:所述PE为仅需要配置出接口而不需要静态配置下一跳的设备。
4.根据权利要求1至3任一项所述的方法,其特征在于:各PE之间通过建立LSP通道进行连接。
5.根据权利要求1至3任一项所述的方法,其特征在于:各PE之间通过GRE隧道进行连接。
6.一种实现虚拟专用网访问的方法,该方法包括:在PE的源VPN中配置静态路由,在静态路由的出接口配置需要访问的目的VPN,在转发信息表中为静态路由设置VPN访问的标志;当其中一个PE接收到源VPN发来的包含目的IP地址的数据报文时,根据该目的IP地址查找该源VPN的转发信息表;若转发信息表中对应的路由是从另一个PE上通告过来的远端路由,则将报文进行封装发送给另一个PE;当另一个PE收到报文之后,查找源VPN的转发信息表,若表中对应该目的IP地址的路由带有VPN访问标志,则根据静态路由的出接口查找需要访问的目的VPN的转发信息表;在目的VPN的转发信息表中,根据该目的IP地址查找到真正的出接口,从而将报文转发出去。
7.根据权利要求6所述的方法,其特征在于:所述PE为BRAS设备。
8.根据权利要求6所述的方法,其特征在于:所述PE为仅需要配置出接口而不需要静态配置下一跳的设备。
9.根据权利要求6至8任一项所述的方法,其特征在于:各PE之间通过LSP通道进行连接。
10.根据权利要求6至8任一项所述的方法,其特征在于:各PE之间通过GRE隧道进行连接。

说明书全文

一种实现虚拟专用网访问的方法

技术领域

发明涉及BGP/MPLS虚拟专用网,尤其涉及实现BGP/MPLS虚拟专用网访问的方法。

背景技术

BGP(边际网关协议)/MPLS(多协议标签交换)三层VPN(虚拟专用网)利用BGP协议扩展进行VPN标签路由通告,利用MPLS标签交换进行数据转发,它通过VPN实例来进行路由隔离从而限制不同VPN用户之间的互相访问。在实际的网络规划中,有时需要两个VPN中某些地址网段中的用户进行互通,或者VPN中某些地址网段中的用户可以访问公网。因此,为了更灵活的进行组网,需要提供一种不同VPN(或者VPN和公网)之间进行访问的解决方案。
目前,已经开发了能够实现不同VPN用户之间访问的方法。该方法主要是通过在多色主机所在VPN站点所连接的PE(骨干网边缘路由器)上,设置多角色主机可以访问的VPN报文转发表的访问控制策略。这样,当PE接收到来自上述VPN站点的数据报文时,根据报文的源地址识别发出报文的主机身份,如果为多角色主机,再根据报文的源地址获取要访问的目的VPN的信息,根据该信息查找相应的VPN报文转发表并转发报文,否则,根据主机所接入的接口的VPN属性来转发报文。
上述解决方案可以实现不同VPN之间的访问,它通过在PE上配置策略路由使来自CE(客户端路由器)的报文可以访问多个VPN,同时为使其它VPN的信息能够从PE发送到CE,需要在其它VPN上配置静态路由,并静态指定连接CE的接口作为下一跳。
上述现有技术存在如下问题:1、由于需要将目的VPN中到达目的网段的路由引入到源VPN转发信息表中,并且下发到源VPN的FIB(转发信息表),因此在源VPN中要引入目的VPN中到达目的网段路由,需要占用源VPN过多的转发信息表和FIB存储空间;2、这种技术不能够实现BRAS(宽带远程接入服务器)设备或其他无法静态配置下一跳的设备上不同VPN用户之间的访问。因为它为使其它VPN的信息能够从PE发送到用户,需要在其它VPN上配置静态路由,并指定BRAS设备用户地址作为下一跳。对于BRAS设备来说,到达用户的主机路由是在用户上线时候动态添加的,只能配置出接口而不能静态配置下一跳,所以该技术不能够用于BRAS设备上用户侧VPN之间的访问。

发明内容

基于上述理由,本发明提供了一种实现虚拟专用网访问的方法,该方法包括:在PE的源VPN中配置静态路由,在静态路由的出接口配置需要访问的目的VPN,在转发信息表中为静态路由设置VPN访问的标志;当PE接收到源VPN发来的包含目的IP地址的数据报文时,则根据该目的IP地址查找该源VPN的转发信息表;若转发信息表中对应该目的IP地址的路由带有VPN访问标志,则根据静态路由的出接口查找需要访问的目的VPN的转发信息表;在目的VPN的转发信息表中,根据该目的IP地址查找到真正的出接口,从而将报文转发出去。
本发明进一步提供了一种实现虚拟专用网访问的方法,该方法包括:在PE的源VPN中配置静态路由,在静态路由的出接口配置需要访问的目的VPN,在转发信息表中为静态路由设置VPN访问的标志;当其中一个PE接收到源VPN发来的包含目的IP地址的数据报文时,根据该目的IP地址查找该源VPN的转发信息表;若转发信息表中对应的路由是从另一个PE上通告过来的远端路由,则将报文进行封装发送给另一个PE;当另一个PE收到报文之后,查找源VPN的转发信息表,若表中对应该目的IP地址的路由带有VPN访问标志,则根据静态路由的出接口查找需要访问的目的VPN的转发信息表;
在目的VPN的转发信息表中,根据该目的IP地址查找到真正的出接口,从而将报文转发出去。
通过本发明的访问方法,不需要在源VPN路由表中存放所有到达目的VPN网段的路由,从而节省了大量的路由表项空间,并且可以灵活方便的实现BRAS设备等设备的用户侧VPN(或者用户侧VPN和公网)访问,也可以实现网络侧VPN(或者网络侧VPN和公网)访问。
附图说明
图1所示为BGP/MPLS VPN组网结构图;图2为不跨PE时根据本发明的VPN访问数据转发流程;图3为跨PE时根据本发明的VPN访问数据转发流程。

具体实施方式

在本发明的BGP/MPLS组网方案中,允许采用BRAS及其他只能静态配置出接口而不能静态配置下一跳的设备作为PE,BRAS用户直接和PE设备进行连接,VPN1的用户分别通过PE1和PE2接入,VPN2用户只通过PE2接入,PE1和PE2之间通过IGP(内部网关协议)和MPLS信令协议建立LSP通道,PE1和PE2之间也可以采用GRE(Generic Routing Encapsulation,通用路由封装协议)等类型隧道替代LSP通道。
通过本方案既可以实现同一PE上不同用户侧VPN(PE2上VPN1和VPN2)之间的访问,也可以跨PE实现不同用户侧VPN(PE1上VPN1和PE2上的VPN2)之间的访问。
如图1所示,能够实现在PE2上的VPN1和VPN2的用户访问,这属于同一PE上不同用户侧VPN之间的访问;还能够实现PE1相连的VPN1、和PE2相连的VPN2的访问,这属于跨PE的VPN访问。
由于本方案通过配置静态路由方式实现VPN访问,因此需要在PE2上配置一条静态路由,在路由的出接口绑定目的VPN实例,同理如果在PE2上配置两条静态路由,一条用于去向路由,另外一条用于回程路由,则还可以实现VPN之间的互访。
在配置完成之后,路由管理会将绑定目的VPN实例的静态路由下发FIB(转发信息表),并在出接口设置标志表明需要访问另一VPN实例;
若先配置静态路由,再在出接口下绑定目的VPN实例,则需要将以前配置的静态路由标志更新;若将目的VPN实例和静态路由出接口解绑定,则需要将FIB中相应的标志进行清除。
若支持微码转发,则需要将出接口标志、目的VPN实例ID下发微码。
数据转发时,首先在源VPN实例的FIB中根据目的地址网段进行查找,若出接口配置了需要访问另一VPN实例的标志,则再根据目的VPN实例ID到该VPN实例的FIB表项中查找真正的出接口。
下面结合图2详细描述本发明的数据转发流程:1、路由器收到IP数据报文,查找源VPN(VPN1)实例FIB;2、在源VPN实例(VPN1)FIB中根据报文的目的地址命中一条用于VPN访问的路由,即该条路由的出接口带有用于VPN访问的标志;3、取出配置VPN访问路由时存储的目的VPN实例(VPN2)索引,查找目的VPN实例FIB;4、在目的VPN实例(VPN2)FIB中,根据报文的目的地址查找到真正的出接口,从而将报文转发出去。
以上是同一PE上不同VPN之间的访问,另外这种方案也可以实现跨PE的VPN访问,如图中和PE1相连的VPN1、和PE2相连的VPN2二者之间访问,这种方案详述如下:在PE2上的配置和上面描述的基本相同,需要配置两条静态路由,在相应出接口下分别和对应的目的VPN实例绑定。但是由VPN2到达VPN1的那条静态路由的目的网段需要配置为与PE1相连的VPN1中的地址网段。
表项下发和不跨PE的VPN访问下发过程相同。
在PE2上需要将从VPN1到VPN2的这条静态路由引入BGP,然后将这条路由通告给PE1。
PE2从VPN2收到报文之后,根据目的网段在VPN2的FIB中查找到出接口设有VPN访问的标志,则到VPN1的FIB中进行二次查找,这时出接口为到PE1的LSP通道,需要封装两层标签进行MPLS转发,最终将报文送到PE1。
在PE1上通过查找VPN1的FIB将报文从相应接口发送出去,到达VPN1中的用户。
PE1收到VPN1中的用户的回应报文,查找VPN1的FIB,出接口为到PE2的LSP通道,需要封装两层标签进行MPLS转发,最终将报文送到PE2。在PE2上查找VPN1的FIB,在出接口设置有VPN访问标志时,再到VPN2的FIB中进行二次查找,最终将报文从相应接口发送出去,到达VPN2中的用户。
图3为跨PE用户访问的流程,其能够实现CE1与CE3之间的访问。图中的OL1、OL2为PE1-P-PE2之间LSP的标签,即外层标签。如图3所示,跨PE用户访问的流程为:1、从路由器PE1上收到IP数据报文,查找源VPN(VPN1)实例FIB;2、在源VPN实例(VPN1)FIB中根据报文的目的地址命中一条路由,该路由是从PE2上通告过来的远端路由;3、将报文进行MPLS VPN封装,即在PE1上首先封装一层VPN标签L1做为内层标签,再封装一层PE1和PE2之间的LSP隧道标签OL1做为外层标签发送出去;在P(骨干路由器)设备上将外层标签OL1交换为OL2发送出去(若没有使用倒数第二跳弹出);4、路由器PE2从LSP隧道收到报文之后,依次弹出外层标签OL2和内层VPN标签L1,查找源VPN(VPN1)实例FIB,剩下的过程和不跨PE的转发流程一样,最后将报文转发到CE3从而到达最终用户;5、从CE3到达CE1的回应报文流程和报文正向流程类似。
如上所述可以看出,本发明的访问方法不需要在源VPN转发信息表中存放所有到达目的VPN网段的路由,从而节省了大量的转发信息表项空间,并且可以灵活方便的实现BRAS设备的用户侧VPN(或者用户侧VPN和公网)访问,也可以实现网络侧VPN(或者网络侧VPN和公网)访问。同时,本发明的访问方法在对PE的静态配置中,仅需要配置出接口而不需要静态配置下一跳,因此允许采用BRAS或其他只能静态配置出接口而无法静态配置下一条的设备做为PE。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
QQ群二维码
意见反馈