CN100450065C - 一种提供虚拟专用网站点之间通信的方法 - Google Patents

一种提供虚拟专用网站点之间通信的方法 Download PDF

Info

Publication number
CN100450065C
CN100450065C CNB2005101027074A CN200510102707A CN100450065C CN 100450065 C CN100450065 C CN 100450065C CN B2005101027074 A CNB2005101027074 A CN B2005101027074A CN 200510102707 A CN200510102707 A CN 200510102707A CN 100450065 C CN100450065 C CN 100450065C
Authority
CN
China
Prior art keywords
outlet
vpn
website
ipv4
loop
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.)
Expired - Fee Related
Application number
CNB2005101027074A
Other languages
English (en)
Other versions
CN1852212A (zh
Inventor
谷志慧
郜帅
李德丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005101027074A priority Critical patent/CN100450065C/zh
Publication of CN1852212A publication Critical patent/CN1852212A/zh
Application granted granted Critical
Publication of CN100450065C publication Critical patent/CN100450065C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种提供虚拟专用网站点之间通信的方法,包括步骤:在源VPN站点的出口提供商边缘设备(PE)和目的VPN站点的入口PE之间建立标签交换路径(LSP);利用LSP实现源VPN站点和目的VPN站点之间的路由信息的学习;根据获得的目的VPN站点路由信息,源VPN站点发送VPN业务流到目的VPN站点,实现通信。根据本发明,实现了当BGP/MPLS VPN骨干网及VPN站点为IPv4/IPv6混合网络情况时VPN站点间的通信,通过对现有设备进行简单改进,在IPv4向IPv6过渡时期能够继续提供BGP/MPLS VPN增值业务。

Description

一种提供虚拟专用网站点之间通信的方法
技术领域
本发明属于虚拟专用网(VPN)技术,特别是一种提供跨多自治系统(AS)IPv4(互联网协议版本4)/IPv6(互联网协议版本6)混合网络边界网关协议(BGP)/多协议标签交换(MPLS)VPN站点之间通信的方法。
背景技术
BGP/MPLS VPN利用MPLS网络的标签特性,以及BGP协议中的多协议扩展属性,在提供商边缘设备(PE)路由器上为不同的VPN用户建立不同的虚拟路由转发表(VRF),通过BGP多协议扩展属性通告VPN路由信息,从而在VPN用户间实现路由隔离和通告,并提供VPN服务。另外,跨多自治系统BGP/MPLS VPN是指提供BGP/MPLS VPN服务的MPLS骨干网由多个自治系统构成,VPN站点间的通信跨越了多个自治系统。
BGP/MPLS VPN技术已为世界众多的设备提供商和服务提供商所关注,很多产品已提供对该技术的支持。关于跨多自治系统BGP/MPLS VPN,RFC2547bis提出了三种解决方案,分别是:在自治系统边界路由器(ASBR)上建立端到端的VRF;在ASBR间利用BGP多协议扩展属性传递VPN路由信息;在PE之间建立多跳EBGP对等体关系,传递VPN路由信息。现有技术中有骨干网跨越多自治系统的IPv4BGP/MPLS VPN站点之间通信的解决方案,在此将该技术方案称为现有技术一。
图1为根据现有技术一,骨干网跨越多自治系统的IPv4 BGP/MPLS VPN站点之间通信的解决方案的示意图。
如图1所示,站点(SITE)1和站点3同属于VPN A,站点2和站点4同属于VPNB,PE1和ASBR1同属于AS 100,PE2和ASBR2同属于AS200。为了在站点1和站点3之间建立通信,站点1和站点3首先相互学习能够到达对方站点的VPN路由信息。现有技术一的关键点是通过在两端PE之间建立起EBGP关系,利用BGP多协议可达属性直接发布VPN路由信息,其中这些路由信息的发布属于控制流信息。
现有技术一只解决了MPLS骨干网和VPN站点均为IPv4网络下VPN站点间的互相通信问题,无法解决当BGP/MPLS VPN骨干网以及VPN站点为IPv4/IPv6混合网络情况下VPN站点间的通信问题。
现有技术中还有一种骨干网为IPv4或者IPv6单自治系统,VPN站点为IPv6孤岛的BGP/MPLS解决方案,将该解决方案称为现有技术二。
图2为根据现有技术二,骨干网为IPv4或者IPv6单自治系统,VPN站点为IPv6孤岛的BGP/MPLS解决方案示意图。
如图2所示,站点1和站点3同属于VPN A,站点2和站点4同属于VPN B,站点1、站点2、站点3和站点4都是基于IPv6,MPLS骨干网属于AS 100且基于IPv4。如果要在站点1和站点3之间建立通信,必须首先要互相学习到能够到达对方站点的VPN路由信息。由于站点1和站点3属于IPv6站点,骨干网为基于IPv4的MPLS网络,所以必须利用在IPv4MPLS骨干网中传递IPv6VPN路由信息。草案draft-ietf-13vpn-bgp-IPv6-02提供了相应的解决办法,它利用BGP多协议可达属性在IPv4MPLS骨干网平台上发布IPv6VPN路由信息。这些路由信息的发布属于控制流信息。
现有技术二只解决了骨干网为IPv4或IPv6单自治系统,VPN用户站点为IPv6网络下VPN站点间通信问题,但是无法解决当BGP/MPLS VPN骨干网以及VPN站点为IPv4/IPv6混合网络情况下VPN站点间的通信问题。
现有技术中还有一种实现由纯IPv6主机发起到纯IPv4主机通信的传输中继转换技术,也就是利用传输中继转换器(TRT)的技术,将TRT技术称为现有技术三。
图3为根据现有技术三,实现由纯IPv6主机发起到纯IPv4主机通信的传输中继转换技术的示意图。
如图3所示,由于网络1中的主机与网络2中的主机采用的是不同的IP版本,不能够直接相互通信,因此网络1中的IPv6主机与网络2中的IPv4主机通信的前提是它们具有相同的域名系统。首先,IPv6主机A向站点1中的域名服务-应用层网关(DNS-ALG)发送IPv6域名服务(DNS)请求,DNS-ALG分别向网络1和网络2中的DNS服务器转发该IPv6DNS请求及转换后的IPv4DNS请求;接着,网络2中的DNS服务器向网络1中的DNS-ALG返回主机B的IPv4地址,DNS-ALG在此地址前添加特定前缀构造IPv6地址,并将该IPv6地址返回给网络1中的IPv6主机A;然后,网络1中的IPv6主机A利用此地址作为目的地址构造IPv6数据包,该数据包根据指定前缀被路由到TRT,在主机A与TRT之间建立TCP/IPv6会话;接着,TRT取出从主机A收到的IPv6数据包中的TCP报文及目的地址中的后32位地址,TRT利用此32位地址作为目的IPv4地址,将取出的TCP报文封装为IPv4报文,发往真正的IPv4目的主机B,在TRT与IPv4主机B之间建立TCP/IPv4会话;最后,通过TRT与源IPv6主机之间建立TCP/IPv6会话,与目的IPv4主机建立TCP/IPv4会话,来中继IPv6主机A到IPv4主机B的数据流,从而实现两个相邻网络的IPv6主机到IPv4主机的通信。
但是,TRT技术只能解决6TO4主机间的通信,而不能解决4TO6主机间的通信,且该技术仅能解决紧邻IPv4网络和IPv6网络间的通信问题。
总之,随着IPv6取代IPv4的进程不断加快,在实际应用中会经常出现骨干网为跨多自治系统的IPv4/IPv6混合网络、用户站点为IPv4/IPv6混合网络的网络结构。但是在这种网络结构中,依靠现有的BGP/MPLS VPN解决方案,却无法解决VPN站点间的通信问题。
发明内容
有鉴于此,本发明的主要目的是提出一种提供跨多自治系统IPv4/IPv6BGP/MPLS VPN站点之间通信的方法,以实现MPLS骨干网跨越多个自治系统、且MPLS骨干网和VPN用户站点均为IPv4/IPv6混合网络的BGP/MPLS VPN站点之间的通信。
为达到上述目的,本发明的技术方案是这样实现的:
一种提供跨多自治系统互联网协议版本4(IPv4)/互联网协议版本6(IPv6)混合网络边界网关协议(BGP)/多协议标签交换(MPLS)虚拟专用网(VPN)站点之间通信的方法,包括以下步骤:
A、在源VPN站点的出口提供商边缘设备PE和目的VPN站点的入口PE之间建立标签交换路径LSP;
B、利用所述LSP实现所述源VPN站点和所述目的VPN站点之间的路由信息的学习;
C、根据获得的所述目的VPN站点的路由信息,源VPN站点发送VPN业务流到目的VPN站点,从而实现源VPN站点和目的VPN站点之间的通信。
步骤A所述建立LSP为建立双向的LSP。
所述建立双向的LSP为建立双向的IPv4LSP或双向的IPv6LSP。
步骤A所述建立LSP包括:
A11、根据源VPN站点的出口PE所在自治系统的IP版本类型,将相同IP版本类型的源VPN站点的出口PE环回地址路由信息重分配到本自治系统的自治系统边界路由器ASBR的边界网关协议BGP中,并为该环回地址路由信息分配标签;
A12、该ASBR向邻接该自治系统的出口ASBR通告该出口PE的环回地址路由信息,并将对应该出口PE的环回地址路由信息的标签操作信息写入标签转发信息表LFIB中;
A13、邻接该自治系统的出口ASBR接收该出口PE的环回地址路由信息,为其分配标签,并向所述邻接该自治系统的出口ASBR的自治系统的入口ASBR通告该环回地址路由信息,下一跳地址为该出口ASBR的环回地址,其版本与该出口PE的环回地址路由信息的IP版本相同,并在该出口ASBR的LFIB中写入相应的标签交换信息;
A14、该自治系统的入口ASBR接收到该出口PE的环回地址路由信息,为其分配标签,并根据本自治系统的IP版本类型,在该路由信息下一跳地址前添加或舍去前缀,再查找到下一跳的LSP标签,作为入口ASBR的LFIB中对应该出口PE的环回地址路由信息的栈顶标签,并将相应的标签交换信息写入该入口ASBR;
A15、该自治系统的入口ASBR向邻接域内的出口ASBR通告该出口PE的环回地址路由信息,下一跳为该入口ASBR的环回地址,其版本与出口PE环回地址路由信息的IP版本相同,邻接域内的出口ASBR接收到该出口PE的环回地址路由信息,为其分配标签,并向本自治系统的入口ASBR进行通告,下一跳地址为该邻接域内出口ASBR的环回地址,其版本与该出口PE的环回地址路由信息的IP版本相同,并在该出口ASBR的LFIB中写入相应的标签交换信息,直至入口PE接收到该出口PE的环回地址路由信息;
A16、判断该出口PE与入口PE所在自治系统的IP版本类型是否相同,如果相同,则该入口PE将接收到的出口PE的环回地址路由信息写入转发信息表(FIB)中;在入口PE与出口PE相同IP版本类型的环回地址之间建立LSP,并且建立出口PE到入口PE的LSP;否则,如果不相同,若通告来的为出口PE的IPv6环回地址路由信息,而入口PE为所在自治系统的版本类型为IPv4,则将所述出口PE的IPv6环回地址路由信息的目的前缀及下一跳的前缀舍去,转换为出口PE的IPv4环回地址路由信息且写入入口PE的FIB,若通告来的为出口PE的IPv4环回地址路由信息,则将所述出口PE的IPv4环回地址路由信息直接写入入口PE的FIB中,在入口PE建立到出口PE的LSP。
步骤A所述建立LSP包括:
A21、将出口PE的IPv4环回地址路由信息以静态路由的方式写入本自治系统ASBR的BGP中,并为该IPv4环回地址路由信息分配标签;
A22、所述ASBR向邻接该自治系统的出口ASBR通告该出口PE的IPv4环回地址路由信息,并将对应该出口PE的IPv4环回地址路由信息的标签操作信息写入LFIB中;
A23、邻接该自治系统的出口ASBR接收出口PE的IPv4环回地址路由信息,为其分配标签,并向所述邻接该自治系统的出口ASBR的自治系统的入口ASBR通告该路由信息,下一跳地址为该出口ASBR的IPv4环回地址;并在出口ASBR的LFIB中写入对应该出口PE的IPv4环回地址路由信息的标签交换信息;
A24、该自治系统的入口ASBR接收该出口PE的IPv4环回地址路由信息,为其分配标签,并根据本自治系统是否为IPv6网络,决定是否将该路由下一跳地址前添加前缀,再查找到下一跳的LSP标签,作为入口ASBR的LFIB中对应该出口PE的IPv4环回地址路由信息的栈顶标签,并将相应的标签交换信息写入该入口ASBR;
A25、该自治系统的入口ASBR向邻接域内的出口ASBR通告该出口PE的IPv4环回地址路由信息,下一跳地址为该入口ASBR的IPv4环回地址;邻接域内的出口ASBR接收到该出口PE的IPv4环回地址路由信息后,为其分配标签,并向本自治系统的入口ASBR通告该路由信息,下一跳地址为该出口ASBR的IPv4环回地址,并在该出口ASBR的LFIB中写入对应该出口PE的IPv4环回地址路由信息的标签交换信息,重复此过程直至入口PE接收到该出口PE的IPv4环回地址路由;
A26、入口PE接收到出口PE的IPv4环回地址路由信息,若入口PE所在的自治系统的IP版本为IPv4,则直接查找到该路由下一跳的LSP标签,将出口PE的IPv4环回地址路由信息写入入口PE的FIB中;若入口PE所在的自治系统的IP版本为IPv6,则在该出口PE路由信息的下一跳前添加前缀,查找到下一跳的LSP标签,将出口PE的IPv4环回地址路由信息写入入口PE的FIB中,建立入口PE到出口PE的LSP。
所述步骤B包括:
B1、利用所述LSP,建立源VPN站点的出口PE与目的VPN站点的入口PE之间的TCP连接,在源VPN站点的出口PE与目的VPN站点的入口PE之间进行外部边界网关协议(EBGP)对话;
B2、将建立TCP连接的TCP报文、以及通告VPN路由信息的BGP报文均封装为MPLS报文,且沿所述LSP传递;接收到源VPN站点路由信息的入口PE,根据VPN路由信息的IP版本类型,决定是否对该VPN路由信息的下一跳进行处理,从而查找到下一跳的LSP标签,并将接收到的VPN路由信息写入入口PE相应的虚拟路由转发表(VRF)中;
B3、源VPN站点的出口PE和目的VPN站点的入口PE,分别将接收到的VPN路由信息通告给所述源VPN站点和目的VPN站点。
所述源VPN站点和目的VPN站点为同类网站点,所述步骤C包括:
C1、源VPN站点发出的所述VPN业务流被转发到本源VPN站点的用户边缘设备(CE)路由器;
C2、所述源VPN站点的CE路由器根据路由表信息,将所述VPN业务流转发到入口PE;
C3、所述入口PE根据相应虚拟路由转发表(VRF)中的VPN路由信息,将所述VPN业务流封装为MPLS包,沿所述入口PE与出口PE之间的LSP转发给出口PE;
C4、出口PE还原接收到的所述VPN业务流,并将其转发给所述目的VPN站点的CE路由器,并由CE路由器转发至所述目的VPN站点。
所述源VPN站点和目的VPN站点为异类网站点,并且在所述源VPN站点上增加域名服务-应用层网关(DNS)-(ALG)和传输中继转换器(TRT)设备,并且在目的VPN站点上增加DNS-ALG和TRT设备,且所述源VPN站点为IPv4主机、所述目的主机为IPv6主机,所述步骤C包括:
C11、源VPN站点向与其连接的DNS-ALG发起DNS请求;
C12、所述与源VPN站点连接的DNS-ALG根据配置的DNS服务器列表,向同一VPN的其他VPN站点内的DNS服务器发送DNS请求或转换后的DNS请求;
C13、目的VPN站点的DNS服务器向源VPN站点的DNS-ALG返回解析得到的目的VPN站点的IP地址;
C14、源VPN站点内DNS-ALG从具有特定地址前缀的IPv4地址池中任选一个IPv4地址,返回给源VPN站点;
C15、源VPN站点以接收到的IPv4地址为目的地址,构造IPv4数据包,且该数据包被路由到本源VPN站点内的TRT;
C16、所述TRT在映射表中查找该数据包目的地址对应的IPv6地址,根据学习到的目的VPN站点的IPv6VPN路由信息,在源VPN站点与目的VPN站点之间分别建立TCP/IPv4和TCP/IPv6连接,并且中继报文。
所述源VPN站点和目的VPN站点为异类网站点,并且预先在所述源VPN站点上增加DNS-ALG和TRT设备,并且在目的VPN站点上增加DNS-ALG和TRT设备,且源VPN站点为IPv6主机、目的主机为IPv4主机,所述步骤C包括:
C21、源VPN站点向与其连接的DNS-ALG发起DNS请求;
C22、所述DNS-ALG根据配置的DNS服务器列表,向同一VPN的其他VPN站点内的DNS服务器发送DNS请求或转换后的DNS请求
C23、目的VPN站点的DNS服务器向源VPN站点的DNS-ALG返回解析得到的目的VPN站点的IP地址;
C24、源VPN站点内的TRT在接收到的IPv4地址前添加特定地址前缀,构造为IPv6地址返回给源VPN站点;
C25、源VPN站点以接收到的IPv6地址为目的地址构造IPv6数据包,且该数据包被路由到本源VPN站点内的TRT;
C26、所述TRT取出该数据包目的地址的后32位,作为新的目的地址,根据学习到的目的VPN站点的IPv4VPN路由信息,在源VPN站点与目的VPN站点之间分别建立TCP/IPv6和TCP/IPv4连接,并且中继报文。
所述在源VPN站点上增加DNS-ALG和TRT设备,并且在目的VPN站点上增加DNS-ALG和TRT设备为:将所述DNS-ALG和TRT设备结合在同一路由设备中,并且在所述源VPN站点和目的VPN站点上分别增加所述结合的同一路由设备。
所述中继报文为中继TCP报文或UDP报文。
从以上的技术方案可以看出,本发明针对MPLS骨干网为跨多个自治系统的IPv4/IPv6混合网络,VPN用户站点为IPv4/IPv6混合网络的拓扑结构,提出骨干网跨多个自治系统IPv4/IPv6混合网络的BGP/MPLS VPN解决方案,首先在源VPN站点的出口提供商边缘设备PE和目的VPN站点的入口PE之间建立标签交换路径LSP;然后利用所述LSP实现所述源VPN站点和所述目的VPN站点之间的路由信息的学习;最后根据获得的所述目的VPN站点的路由信息,源VPN站点发送VPN业务流到目的VPN站点,从而实现了源VPN站点和目的VPN站点之间的通信。应用本发明后,应用本发明以后,可以解决IPv4向IPv6过渡阶段,当BGP/MPLS VPN骨干网为IPv4/IPv6混合网络时,BGP/MPLS VPN站点之间的通信问题。因特网服务提供商能够在IPv4向IPv6过渡时期,对现有设备进行简单改进就可以继续提供BGP/MPLS VPN增值业务。
附图说明
图1为根据现有技术一,骨干网跨越多自治系统的IPv4BGP/MPLS VPN解决方案的示意图。
图2为根据现有技术二,骨干网为IPv4或者IPv6单自治系统、VPN站点为IPv6孤岛的BGP/MPLS解决方案示意图。
图3为根据现有技术三,实现由纯IPv6主机发起到纯IPv4主机通信的传输中继转换技术的示意图。
图4为本发明的跨多自治系统IPv4/IPv6 BGP/MPLS VPN站点之间通信的方法流程图。
图5为根据本发明实施例在PE间建立LSP的第一方法实例流程图。
图6为根据本发明实施例在PE间建立LSP的第二方法实例流程图。
图7为根据本发明实施例,跨多自治系统IPv4/IPv6混合网络BGP/MPLSVPN同类网站点间通信的网络拓扑示意图。
图8为根据本发明实施例的PE4 IPv4环回地址路由向PE1通告过程示意图。
图9为根据本发明实施例的PE1 IPv6环回地址路由向PE4通告过程示意图。
图10为根据本发明实施例的站点7 VPN路由100.0.0.0/8通告到站点1过程示意图。
图11为根据本发明,跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN同类网站点之间通信方法流程示意图。
图12为根据本发明,IPv4/IPv6混合网络跨多自治系统BGP/MPLS VPN的异类网通信网络拓扑示意图。
图13为根据本发明,跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN异类网站点之间通信方法流程示意图。
图14为根据本发明实施例的PE2 IPv4环回地址路由在IPv6网络中ASBR2的处理示意图。
图15为根据本发明实施例的PE2对接收到的PE1 IPv6环回地址路由进行处理写入FIB中的示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
图4为本发明的跨多自治系统IPv4/IPv6 BGP/MPLS VPN站点之间通信的方法流程图。如图4所示,该方法包括以下步骤:
步骤401:在源VPN站点的出口PE和目的VPN站点的入口PE之间建立标签交换路径LSP;
在这里,优选建立双向的LSP,其中可以建立双向的IPv4 LSP,也可以建立双向的IPv6 LSP。
步骤402:利用建立的LSP实现源VPN站点和目的VPN站点之间的路由信息的学习。
步骤403:根据获得的目的VPN站点的路由信息,源VPN站点发送数据到目的VPN站点,从而实现源VPN站点和目的VPN站点之间的通信。
其中,将建立TCP连接的TCP报文、传递VPN路由信息的BGP报文以及传递VPN业务流的IP数据报文均封装为MPLS报文,在所述建立的LSP内进行传递,而不仅仅只是将VPN业务流封装为MPLS报文在出口PE和入口PE之间进行传递。其中,在入口PE的VRF中对应VPN路由信息的标签均为三层标签。
以上过程中,在步骤401提到在源VPN站点的出口PE和目的VPN站点的入口PE之间建立LSP。图5为根据本发明实施例在PE间建立双向LSP的第一方法流程图。
如图5所示,在源VPN站点的出口PE和目的VPN站点的入口PE之间建立双向LSP的第一方法包括以下步骤:
步骤501:根据出口PE所在自治系统的IP版本类型,将相同IP版本的出口PE环回地址路由信息重分配到本自治系统ASBR的BGP中,并为该路由信息分配标签;
步骤502:ASBR向邻接自治系统的出口ASBR通告该出口PE的环回地址路由信息,并将对应出口PE环回地址路由信息的标签操作信息写入LFIB中;
步骤503:邻接自治系统的出口ASBR接收到该出口PE的环回地址路由信息,为其分配标签,并向本自治系统的入口ASBR通告此路由信息,下一跳地址为出口ASBR的环回地址,其版本与该PE环回地址路由信息的IP版本相同,并在出口ASBR的LFIB中写入相应的标签交换信息;
步骤504:邻接自治系统的入口ASBR接收到该出口PE的环回地址路由信息,为其分配标签,并根据本自治系统的IP版本类型,将该路由信息下一跳地址前添加或舍去::前缀,再查找到下一跳的LSP标签,作为入口ASBR的LFIB中对应该PE环回地址路由的栈顶标签。栈底标签为出口ASBR通告该PE环回地址路由信息时携带来的标签;
步骤505:该自治系统的入口ASBR再向邻接域内的出口ASBR通告该出口PE的环回地址路由信息,重复以上过程。直至入口PE接收到出口PE的环回地址路由信息;
步骤506:判断出口PE与入口PE所在自治系统的IP版本是否相同,如果相同则执行步骤507,执行完步骤507之后执行步骤509并结束;如果不相同则执行步骤508及其后续步骤:
步骤507:入口PE根据接收到的出口PE环回地址路由的下一跳信息,查找到下一跳的LSP标签,将接收到的出口PE的环回地址路由信息写入FIB中,在入口PE与出口PE相同IP版本的环回地址之间建立LSP;
步骤508:若通告来的为出口PE的IPv6环回地址路由信息,而入口PE所在的自治系统IP版本为IPv4,则将其目的前缀及下一跳的前缀::舍去,转换为出口PE的IPv4环回地址路由信息也添加进入口PE的FIB;若通告来的为出口PE的IPv4环回地址,而入口PE所在的自治系统IP版本为IPv6,则在该路由下一跳前添加前缀::,查找到下一跳的LSP标签,将该出口PE的IPv4环回地址路由信息写入入口PE的FIB。直接将此地址写入入口PE的FIB中,在入口PE建立到出口PE的IPv4 LSP。
步骤509:同理建立出口PE到入口PE的LSP,出口PE和入口PE之间的双向LSP成功建立。
注意到,在根据本发明实施例在PE间建立双向LSP的第一方法中,出口PE、入口PE以及ASBR均为IPv4/IPv6双栈,且其IPv6环回地址必须配置为IPv4环回地址的兼容地址。
图6为根据本发明实施例在PE间建立双向LSP的第二方法流程图。如图6所示,包括以下步骤:
步骤601:无论出口PE所在的自治系统IP版本为何版本,均将出口PE的IPv4环回地址路由信息以静态路由的方式写入本自治系统ASBR的BGP中,并为该路由信息分配标签;
步骤602:ASBR向邻接自治系统的出口ASBR通告该出口PE的IPv4环回地址路由信息,并将对应该出口PE的IPv4环回地址路由信息的标签操作信息写入LFIB中;
步骤603:邻接自治系统的出口ASBR接收到出口PE的IPv4环回地址路由信息,为其分配标签,并向本自治系统的入口ASBR通告此路由信息,下一跳地址为出口ASBR的IPv4环回地址,并在出口ASBR的LFIB中写入对应该出口PE IPv4环回地址路由的标签交换信息;
步骤604:邻接自治系统的入口ASBR接收到该出口PE的IPv4环回地址路由信息,为其分配标签,并根据本自治系统是否为IPv6网络,决定是否将该路由下一跳地址前添加::前缀,再查找到下一跳的LSP标签,作为入口ASBR的LFIB中对应该PE IPv4环回地址路由的栈顶标签,其中栈底标签为出口ASBR通告该出口PE IPv4环回地址路由时携带来的标签;
步骤605:该自治系统的入口ASBR再向邻接域内的出口ASBR通告该出口PE的IPv4环回地址路由信息,重复以上过程。直至入口PE接收到该出口PE的IPv4环回地址路由;
步骤606:无论入口PE所在的网络IP版本为IPv4或IPv6,均将出口PE的IPv4环回地址路由信息写入出口PE的FIB中,建立入口PE到出口PE的IPv4LSP;
步骤607:同理建立出口PE到入口PE的LSP;出口PE与入口PE之间双向的IPv4 LSP建立成功。
注意到,在根据本发明实施例在PE间建立双向LSP的第二方法中,出口PE、入口PE以及ASBR均为IPv4/IPv6双栈,且其IPv6环回地址必须配置为IPv4环回地址的兼容地址。
针对MPLS骨干网为跨越多个自治系统的IPv4/IPv6混合网络,需要解决该拓扑结构下VPN同类网站点和异类网站点之间的相互通信。
(一)VPN同类网站点间的通信
图7为根据本发明实施例,跨多自治系统IPv4/IPv6混合网络BGP/MPLSVPN同类网站点间通信的网络拓扑示意图。图7中站点1、站点2接入PE1,站点6、站点7接入PE4;其中,站点1和站点7属于VPN A,站点2和站点6属于VPN B;站点1、站点7为IPv4网络,站点2和站点6为IPv6网络;在MPLS骨干网络中,AS100为IPv6网络,AS200和AS400为IPv4网络;PE1和ASBR1属于AS100,ASBR2和ASBR3属于AS200,ASBR4和PE4属于AS400。
下面以站点7的VPN路由通告到站点1,站点1向站点7发送业务流为例,对本发明实施例中VPN同类网站点之间的通信进行详细说明。
图7中主要设备的配置信息如下:
1、PE1、PE2、PE3、PE4和ASBR1、ASBR2、ASBR3、ASBR4都运行IPv4/IPv6双协议栈,且以上各设备的IPv6环回地址为IPv6兼容IPv4地址;
2、在PE1与ASBR1之间,ASBR2与ASBR3之间、ASBR4与PE4之间配置IBGP对等体;PE1与PE4之间配置EBGP对等体;ASBR1与ASBR2之间,ASBR3与ASBR4之间配置EBGP对等体;配置这些设备的对等体关系时均以各设备的环回地址进行配置;在各PE和CE之间运行IGP、EBGP或静态路由;在各个AS内部运行IGP;
注意到,对IPv6VPN站点中的IPv6地址格式,以及MPLS骨干网中P路由器的地址格式并无特殊要求。
要在VPN站点间建立通信,首先需要在VPN站点间通告路由信息。对于MPLS骨干网络为IPv4/IPv6混合网络的BGP/MPLS VPN,需要跨越IPv4/IPv6骨干网络建立出口PE与入口PE之间的LSP。利用该路径可以建立出口PE与入口PE之间的TCP连接,在PE之间进行EBGP会话。建立TCP连接的TCP报文以及通告VPN路由信息的BGP报文,均封装为MPLS报文沿PE间的LSP传递,并由出口PE将接收到的VPN路由信息通告给本端相应的VPN站点,从而实现VPN站点间路由信息的学习。
首先,建立PE4和PE1之间的双向IPv4 LSP,该LSP的建立可总结为:在每个AS内为PE4和PE1的IPv4环回地址建立两级标签,栈底标签为BGP报文通告PE4/PE1 IPv4/IPv6环回地址路由时携带的标签,栈顶标签为ASBR在本自治系统内建立的,到PE4/PE1 IPv4/IPv6环回地址路由下个中继的LSP标签。
图8为根据本发明实施例的PE4 IPv4环回地址路由向PE1通告过程示意图。图8中显示了PE4 IPv4环回地址路由信息向PE1进行通告的过程,建立PE1到PE4的LSP具体过程如下:
1)在AS400内运行内部网关协议(比如OSPF、IS-IS),根据标签分发协议可建立PE4和ASBR4之间双向的LSP,利用PE4和ASBR4之间的IPv4LSP建立TCP/IPv4连接,进行IBGP会话;
2)ASBR4重分配PE4的IPv4环回地址路由(60.0.0.1/32)到BGP路由表中;当重分配PE4IPv4环回路由到BGP路由表时,触发ASBR4为该路由重分配一个标签(100);根据重分配进BGP路由表的PE4 IPv4环回地址路由60.0.0.1/32,查找ASBR4到地址60.0.0.1的LSP标签(10),作为PE4IPv4环回地址路由的子标签。
通过以上操作在ASBR4的MPLS标签转发信息表(LFIB)中写入如下条目:
in interface    out interface    in label    out label 1    out label 2
E1              E0               100         -----          10
该条目表明,当ASBR4从接口E1接收到标签为100的MPLS包,则交换标签10,并将该MPLS包从接口E0转发出去。
3)ASBR4与ASBR3之间为EBGP对等体,ASBR4通过MP-EBGP向ASBR3通告标签为100的PE4环回地址路由信息,且ASBR3收到该路由信息后重新为该路由信息分配标签(200);
ASBR3的LFIB中有如下条目:
in interface  out interface    in label    out label 1    out label 2
E0            E1               200         100            ----
该条目表明,当ASBR3从接口E0接收到标签为200的MPLS包,则交换标签100,从E0接口将该MPLS包转发出去。
4)ASBR3和ASBR2属于AS200,根据标签分发协议在ASBR3和ASBR2之间建立双向IPv4 LSP,利用该双向LSP可进行ASBR2和ASBR3之间的TCP/IPv4连接和IBGP会话,ASBR3将PE4带标签(200)的IPv4环回地址路由60.0.0.1/32,通过IBGP会话通告给ASBR2,并指定下个中继为ASBR3的IPv4环回地址40.0.0.1;
5)ASBR2收到PE4带标签(200)的IPv4环回地址路由60.0.0.1/32,为该路由重新分配标签(300),同时取出该路由的下个中继(40.0.0.1),查找ASBR2到该下个中继的IPv4LSP标签(20),将该LSP标签作为PE4IPv4环回地址路由的子标签,在MPLS转发表中为该路由(60.0.0.1/32)写入一个二层标签;ASBR2的LFIB中写入如下条目:
in interface    out interface    in label    out label 1    out label 2
E1              E0               300         200            20
该条目表明,当ASBR2从接口E1接收到标签为300的MPLS包,则交换标签200,并压入栈顶标签20,然后将该MPLS包从接口E0转发出去。
6)ASBR2将到PE4带标签(300)的的IPv4环回地址路由(60.0.0.1/32)通过EBGP通告给ASBR1;ASBR1为该路由重新分配标签(400),ASBR1和PE1所在的网络为IPv6网络,因此根据标签分发协议在ASBR1与PE1之间建立双向IPv6LSP,进行TCP/IPv6会话。ASBR1通过IBGP将PE4(60.0.0.1/32)的带标签(400)IPv4环回地址路由通告给PE1,并指定下个中继为ASBR1的IPv4环回地址(20.0.0.1);
ASBR1的LFIB中写入如下条目:
in interface    out interface    in label    out label 1    out label 2
E0              E1               400         300            ----
该条目表明,当ASBR1从接口E0接收到标签为400的MPLS包,则交换标签300,然后将该MPLS包从接口E1转发出去。
7)PE1收到该IPv4路由后,取出下个中继(ASBR1的IPv4环回地址20.0.0.1),在该下个中继前加前缀::,查找PE1到::20.0.0.1的LSP标签(30),作为PE4环回地址路由的子标签。在PE1的转发表中写入对应PE4环回地址路由的两级标签;
在PE1的FIB中写入如下条目:
Destination    out interface    in label    out label 1    out label 2
60.0.0.1/32    E0               -----       400            30
该条目表明,当PE1中有目的地址为60.0.0.1的IP数据包,则该IP包将被封装为栈顶标签为30,栈底标签为400的MPLS包,从接口E0转发出去。
通过以上步骤,PE1学习到PE4的IPv4环回地址路由信息60.0.0.1/32,以及IPv6环回地址路由信息,且在转发信息表中建立了对应该路由信息的标签,从而建立PE1到PE4的IPv4LSP。通过在PE4的IPv4环回地址路由的目的前缀及下一跳前添加前缀,写入PE1的FIB,也可学习到PE4的IPv6环回地址路由信息。PE4到PE1的LSP的建立与上类似,不过由于PE 1所在的网络为IPv6网络而有所差别,PE1 IPv6环回地址路由向PE4通告过程如图9所示:
图9为根据本发明实施例的PE1 IPv6环回地址路由向PE4通告过程示意图。由于PE1所在的MPLS骨干网络为IPv6网络,故与上述建立PE1到PE4 LSP的过程相比,在ASBR1以及PE4的处理有所区别,其详细过程如下:
1)AS 100内运行内部网关协议(如OSPF、IS-IS),根据标签分发协议建立PE1和ASBR1之间双向的IPv6 LSP,利用PE1和ASBR1之间的IPv6LSP建立TCP/IPv6连接,进行IBGP会话;
2)由于ASBR1与PE1所在的网络为IPv6网络,因此,ASBR1重分配PE1的IPv6环回地址路由(::10.0.0.1/128)到ASBR1的BGP路由表中;当ASBR1重分配PE1的IPv6环回地址路由(::10.0.0.1/128)到BGP路由表时,触发ASBR1为该路由重分配一个标签(500);
根据PE1的IPv6环回地址路由::10.0.0.1/128,查找ASBR1到::10.0.0.1的LSP标签(50),作为PE1IPv6环回地址路由的子标签。
ASBR1的标签转发信息表(LFIB)中有如下条目:
in interface    out interface    in label    out label 1    out label 2
E1              E0               500         -----          50
该条目表明,当ASBR1从接口E1接收到标签为500的MPLS包,则交换标签50,并将该MPLS包从接口E0转发出去。
3)ASBR1与ASBR2之间为EBGP对等体,ASBR1将PE1带标签(500)的IPv6环回地址路由::10.0.0.1/128通过EBGP通告给ASBR2,且ASBR2为该路由重新分配标签(600);
ASBR2的LFIB中有如下条目:
in interface    out interface    in label    out label 1    out label 2
E0              E1               600         500            ----
该条目表明,当ASBR2从接口E0接收到标签为600的MPLS包,则交换标签500,然后将该MPLS包从接口E0转发出去。
4)ASBR3和ASBR2属于AS200,在ASBR3与ASBR2之间通过IPv4LSP建立TCP/IPv4会话,利用IBGP对等体进行路由通告。ASBR2将PE1带标签(600)的IPv6环回地址路由(::10.0.0.1/128)通告给ASBR3[3],并指定下个中继为ASBR2的IPv6环回地址(::30.0.0.1);
5)ASBR3收到PE1带标签的IPv6环回地址路由,为该路由重新分配标签(700),并通过EBGP通告给ASBR4。此外,ASBR3取出该路由的下个中继::30.0.0.1,去掉下一中继的前缀::,ASBR3查找到30.0.0.1的IPv4LSP标签(60),将该LSP标签作为到PE1IPv6环回地址路由的子标签。因此,在ASBR3的转发表中可以为PE1的IPv6环回地址路由(::10.0.0.1/128)写入一个二层标签;
ASBR3的LFIB中写入如下条目:
in interface    out interface    in label    out label 1    out label 2
E1        E0        700        600        60
该条目表明,当ASBR3从接口E1接收到标签为700的MPLS包,则交换标签600,并压入栈顶标签60,然后将该MPLS包从接口E0转发出去。
6)ASBR4为该路由重新分配标签(800),ASBR4和PE4之间有双向IPv4 LSP,ASBR4通过IBGP将PE1的IPv6环回地址路由(::10.0.0.1/128)携标签(800)通告给PE4,并指定下个中继为ASBR4的IPv6环回地址(::50.0.0.1)。
在ASBR4的LFIB中有如下条目:
in interface    out interface    in label    out label 1    out label 2
E0              E1               800         700            -----
该条目表明,当ASBR4从接口E0接收到标签为800的MPLS包,则交换标签700,并将该MPLS包从接口E1转发出去。
7)PE4收到该IPv4路由后,取出该路由的下个中继(::50.0.0.1),去掉下个中继的地址前缀::,查找PE4到50.0.0.1的LSP标签(70),作为到PE1IPv6环回地址路由的子标签。在PE4的MPLS转发表中写入对应PE1 IPv6环回地址路由的两级标签。
在PE4的MPLS转发信息表中有如下条目:
Destination      out interface    out label 1    out label 2
::10.0.0.1/128   E0               800            70
经过以上过程PE1的IPv6环回地址路由通告到PE4,且在PE4的转发信息表中建立了对应PE1IPv6环回地址的两层标签。但是由于需要在PE1与PE4之间建立TCP/IPv4连接,PE4应当学习到对应PE1的IPv4路由的两级标签,才能够在PE1与PE4之间通过LSP建立TCP/IPv4连接。因此,这里需要将PE4转发信息表中,对应PE1IPv6环回地址路由的标签信息转换为PE1IPv4环回路由的标签信息,写入转发信息表。
从图9可以看出,PE1的IPv6环回地址路由与PE1的IPv4环回地址路由,对应的标签信息实际是相同的。在PE1的IPv6环回地址路由通告到PE4的过程中,沿途ASBR仅仅在标签转发信息表中写入了对应的标签信息,即,只要PE4为目的地址为PE1IPv4环回地址的IP包压入与IPv6环回地址相同的标签,封装为MPLS包,则沿途ASBR必能将该IP包转发至PE1。
因此,当PE4接收到带有标签,且具有::前缀的IPv6路由信息时,向转发信息表中写入对应该IPv6路由的标签信息后,舍去目的前缀以及下一跳地址前的::,其他信息不表,添加到转发信息表中。因此,在PE4的转发信息表中会添加如下条目:
Destination    out interface    out label 1    out label 2
10.0.0.1/32    E0               800            70
该条目表明,当PE4中有目的地址为10.0.0.1/32的IP数据包,则该IP包将被封装为MPLS包,压入栈顶标签70,栈底标签800,从接口E0转发出去。
至此,完成了PE4到PE1的LSP的建立,连同前述的PE1到PE4的LSP的建立,在PE1与PE4之间建立了双向的IPv4LSP路径。利用这对双向IPv4LSP路径,可以建立PE1与PE4之间的TCP/IPv4连接以及PE1与PE4的EBGP对等体关系与会话。将PE1与PE4之间进行TCP/IPv4连接的TCP报文,BGP进行VPN路由通告的BGP报文均封装在MPLS报文中沿PE1与PE4之间的LSP进行传递。
下面以站点7VPN路由(100.0.0.0/8)通告到站点1为例,详细说明VPN站点间路由信息的发布,VPN路由(100.0.0.0/8)的发布过程如图10所示:
图10为本发明的站点7VPN路由100.0.0.0/8通告到站点1过程示意图。
如图10所示,站点VPN路由100.0.0.0/8向站点1通告的具体步骤如下:
1)PE4与CE7之间配置静态路由、EBGP或RIPv2,CE7将站点7中VPN路由(100.0.0.0/8)通告到PE4,且该路由的下个中继为CE7面向PE4的接口IPv4地址;
2)PE4根据收到路由的接口,将CE7通告来的路由信息存入对应VPN站点7的VRFA中,并为该路由分配标签1000,同时将该VPN路由写入MPLS标签转发表中。
PE4与PE1之间已经通过LSP建立了TCP/IPv4连接和EBGP会话,因此PE4向PE1发送UPDATE报文通告VPN路由,该VPN路由(100.0.0.0/8)的下个中继设置为PE4的IPv4环回地址(60.0.0.1),PE4查找MPLS转发信息表,将该UPDATE报文封装为MPLS报文发往PE1,外层标签为70,内层标签为800,从E0口发往P4;
3)封装为MPLS报文的UPDATE报文沿PE4到PE1的LSP,在各个ASBR路由器以及P路由器进行查找MPLS转发表,按照前述的MPLS标签转发信息表中的标签操作进行转发,将UPDATE报文转发至PE1;
4)PE1接收到该UPDATE报文后,将VPN路由(100.0.0.0/8,标签1000)根据路由目标属性存入VRFA中,由于该VPN路由的下个中继为(60.0.0.1),在PE 1的转发信息表中查找对应该下个中继的MPLS标签,可以找到对应(60.0.0.1)的两层标签为30,400,因此在PE1的VRF A中写入的VPN路由100.0.0.0/8有三层标签,栈顶标签为30,栈间标签为400,栈底标签为1000。
PE1的VRF A中写入如下条目:
Destination    out interface    bottom label    middle label   top label 2
100.0.0.0/8    E0               1000            400            30
该条目表明,当PE1中有目的前缀为100.0.0.0/8的IP数据包,则该IP包被封装为MPLS包,栈顶标签为30,栈间标签为400,栈底标签为1000,并从接口E0转发出去。
通过静态路由、IGP或EBGP,PE1将该VPN路由路由通告到VPN A站点1的CE1,下个中继为PE1面向CE1的接口IPv4地址。
5)CE1收到该路由后,写入本地路由表,并通过IGP通告到站点1内的各路由器。
至此,就完成了站点7中的VPN路由向站点1的通告。
完成了VPN站点间的路由通告,则可根据VPN路由信息向对端站点发送业务流,以下将以站点1中的主机向站点7中的主机(100.0.0.1)为例,说明业务流的具体转发过程:
1)站点1中的主机向默认网关发送目的地址为100.0.0.1的业务流,查找到目的地址路由的下个中继为CE1,业务流被路由到CE1;
2)CE1查找路由表,该目的地址的下个中继为PE1,则该业务流被路由到PE1;
3)PE1根据收到业务流的接口,在VRF A中利用最大前缀匹配查找到该目的地址的VPN路由,找到路由信息为100.0.0.0/8的VPN路由,栈顶标签为30,栈间标签为400,栈底标签为1000,因此IP业务流被封装为MPLS报文,压入三层标签1000,400,30,并从接口E0口转发往P1路由器;
4)该业务流沿PE1到PE4的LSP,在中间P路由器和ASBR上根据MPLS转发表进行栈顶标签和栈间标签的交换,直至转发至PE4。
5)PE4收到该业务流后弹出栈底标签1000,取出IPv4数据包,并根据标签1000将IPv4数据包转发给CE7。
6)CE7根据本地路由表,将收到的IPv4业务流转发至相应的路由设备直至目的主机。
图11为本发明的跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN同类网站点之间通信方法流程示意图。
如图11所示,包括以下步骤:
步骤1101:在出口PE与入口PE间采用一定的方法建立双向的IPv4 LSP或IPv6 LSP;
步骤1102:VPN站点的CE路由器将本站点的VPN路由通告到与之相连的出口PE,写入出口PE相应的IPv4/v6VRF中;
步骤1103:根据出口PE与入口PE建立双向LSP采用的IP版本类型,建立它们之间的TCP/IPv4或TCP/IPv6连接,进而建立MP-EBGP会话。且建立TCP连接的报文及进行BGP会话的报文均封装为MPLS包沿出口PE与入口PE间的LSP进行传递;
步骤1104:出口PE向入口PE通告与之相连的VPN站点内的路由,且下一跳地址为出口PE与VPN路由IP版本相同的环回地址;
步骤1105:入口PE学习到出口PE通告来的VPN路由,并根据接收到的VPN路由及入口PE所在自治系统的IP版本类型,对下一跳进行处理,查找到下一跳(即出口PE)的LSP标签,在相应的VRF中写入对应该VPN路由的三层标签;
步骤1106:入口PE向与自己相连的相应VPN站点内的CE路由器通告从出口PE学习到的VPN路由;
步骤1107:CE路由器将学习到的对端VPN站点内的路由通告到本站点内的其他路由设备;
步骤1108:源VPN站点发出的VPN业务流被本站点内路由设备转发到本站点CE路由器;
步骤1109:CE路由器根据路由表信息,将VPN业务流转发到入口PE;
步骤1110:入口PE根据相应VRF中的VPN路由信息,将VPN业务流封装为MPLS包,沿入口PE到出口PE的LSP转发给出口PE;
步骤1111:出口PE还原接收到的VPN业务流,并将其转发给目的站点的CE路由器,并由CE路由器转发至目的主机。以上过程中,步骤1101~步骤1107属于控制流的传递;步骤1108~步骤1111属于业务流的转发。
至此完成了跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN同类网站点之间的通信,下面描述跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN异类网站点间的通信。
(二)VPN异类网站点间的通信
图12为本发明的IPv4/IPv6混合网络跨多自治系统BGP/MPLS VPN的异类网通信网络拓扑示意图。与同类网VPN站点间通信相比,在互相通信的VPN异类网站点中增加了TRT设备及DNS服务器。图12中,站点1、站点2接入PE1,站点3接入PE2,站点4接入PE6,站点5、站点6接入PE4;其中,站点1、站点4和站点6属于VPN A,站点3属于VPN C,站点2和站点5属于VPN B;站点2、站点3、站点4、站点5为IPv4网络,站点1、站点6为IPv6网络;MPLS骨干网络中,AS100和AS300为IPv6网络,AS200为IPv4网络;PE1和ASBR1属于AS100,ASBR3和PE6属于AS200,ASBR2和PE4属于AS300。
在图12中,DNS-ALG为一个DNS代理,用于接收用户终端的DNS请求,并将其根据需要进行转换转发给真正的DNS服务器,同时对DNS应答进行处理,返回发出DNS请求的用户终端。从用户终端的角度DNS-ALG就是一个DNS服务器;TRT用于处理接收到的IP报文,在源VPN站点与目的主机间进行TCP报文的中继,此处的TRT设备是将DNS-ALG与TRT结合在一起的同一路由设备。
图12中主要设备的配置信息如下:
1、PE、CE路由器、ASBR、TRT、DNS服务器运行IPv4/IPv6双协议栈,且各ASBR与PE的IPv6环回地址均为IPv6兼容IPv4地址;
2、在同一个AS内的PE和ASBR之间配置IBGP,属于不同AS的邻接ASBR之间配置EBGP;各PE与其相连CE之间运行IGP、EBGP或静态路由;各个AS内部路由器间运行IGP;
注意,此处对IPv6VPN站点中的IPv6地址格式、MPLS骨干网中P路由器的地址格式无特殊要求。
下面以站点1和站点4通信为例,说明跨多个自治系统的IPv4/IPv6混合网络BGP/MPLS VPN的异类网VPN站点间的通信。
无论同类网或异类网VPN站点间的通信,都需要先进行VPN路由信息的通告,使得各个VPN站点能够学习到远端的VPN路由信息,再根据此路由信息转发业务流。控制流的传递可采用VPN同类网站点间通信的过程与方法。以站点4中VPN IPv4路由通告到站点1为例说明如下:
在PE1与PE6之间互相通告各自的VPN路由信息,必须在PE1与PE6之间建立双向的LSP,通过该对LSP建立PE1与PE6之间的TCP/IPv4连接,承载通告VPN路由信息的BGP报文。
PE1与PE6之间双向LSP的建立过程与VPN同类网站点通信中PE间的LSP建立过程相同:即,将PE1、PE6的IPv4/IPv6环回地址路由分别重分配到ASBR1与ASBR3的BGP表中,并分配标签;通过MBGP相互通告到对方,分别写入各自的转发信息表。以此在PE1与PE6之间建立标签交换路径。
建立完PE1到PE6的双向IPv4LSP,则可以进行PE间VPN路由的通告。以下将说明站点4内IPv4VPN路由通告到站点1的过程,其中包括到站点4内的DNS服务器,TRT的路由信息:
1)VPN站点4中的CE配置为IPv4/IPv6双栈,在CE4与PE6之间配置静态路由、IGP或EBGP。CE4将站点4中的IPv4 VPN路由通告给PE6,且分别将这些路由写入PE6的IPv4VRFA和IPv6 VRFA中。因此,站点4中DNS服务器的IPv4路由、TRT的IPv4路由以及站点中其他VPN IPv4路由写入PE6的IPv4 VRFA中;
2)通过PE6与PE1之间的双向IPv4 LSP,建立PE1与PE6之间的TCP/IPv4连接,进行EBGP会话,根据PE6到PE1的LSP标签,PE6将通告VPN路由的BGP报文封装为MPLS报文,发往PE1;
3)PE1收到PE6通告来的站点4的VPN路由后,根据路由目标属性写入自己的VRF A转发表中,并分别将IPv4VPN路由转发到本端相应的VPN站点。这里,由于CE1是双协议栈设备,因此,PE1将VPN站点4的IPv4VPN路由通告给双栈路由器CE1;
4)由于站点1内的DNS服务器、TRT均为IPv4/IPv6双协议栈,CE1将PE1通告来的IPv4VPN路由通告给站点1中的DNS服务器、TRT。站点1中的TRT学习到了站点4中DNS服务器的路由;
至此,就完成了将站点4中IPv4VPN路由信息通告到站点1。
建立站点1中的IPv6主机与站点4中的IPv4主机之间的相互通信,其前提是站点1的IPv6网络与站点4的IPv4网络之间采用了相同的域名系统,但是由于站点1中的TRT映射IPv4地址到IPv6地址的方法与站点4中的TRT映射IPv6地址到IPv4地址的方法有所不同,因此以下将分别详细说明站点1到站点4业务流的传递,以及站点4到站点1业务流的传递:
站点1中的IPv6主机A向站点4中的IPv4主机B发起通信过程:
1)站点1的IPv6主机A要同站点4的IPv4主机B进行通信,首先向站点1的TRT发送IPv6 DNS(“AAAA”)请求。通过上述站点4中VPN路由向站点1通告的过程,站点1中的TRT学习到站点4中DNS服务器的路由,因此,站点1中的TRT向本站点中的DNS服务器发送DNS请求(“AAAA”),向站点4中的DNS服务器发送转换后的IPv4 DNS请求(“A”),直到收到DNS应答;这里假设,站点4的DNS服务器解析出主机B的IPv4地址为DNS应答,因为站点4中的DNS也如上可以学习到站点1中TRT的路由,因此站点4中的DNS应答被路由回站点1中的TRT;
2)站点1内的TRT在返回的主机B的IPv4地址前添加一个可路由到自己的特定前缀,组成一个IPv6地址,并将该地址返回给请求主机A,IPv6主机A用该IPv6地址(特定前缀+主机B的IPv4地址)作为目的地址构造IPv6数据包,发往默认网关;
3)因为主机A发出的该IPv6数据包具有特定前缀,因此该IPv6数据包被路由到TRT。TRT与主机A建立TCP/IPv6会话,同时取出IPv6数据包中的TCP报文以及目的地址的后32位地址;
4)TRT用此32位地址作为新的目的地址(主机B的IPv4地址),用取出的TCP报文构造IPv4数据包,发往主机B。因为站点1中的TRT已经学习到了站点4中的IPv4VPN路由,因此TRT可以与主机B建立TCP/IPv4会话,将该IPv4数据包路由到主机B;
通过TRT在主机A与主机B之间进行TCP中继,完成了站点1中的IPv6主机向站点4中的IPv4主机的业务流的传递。
站点4中的IPv4主机B向站点1中的IPv6主机A发起通信过程:
1)站点4的IPv4主机B要同站点1的IPv6主机A进行通信,首先应向站点4的TRT发送IPv4DNS(“A”)请求。通过VPN路由的传递,站点4中的TRT已学习到站点1中DNS服务器的路由,因此,站点4中的TRT向本站点中的DNS服务器发该DNS请求(“A”),向站点1中的DNS服务器发送经过转换的IPv6 DNS(“AAAA”)请求,直到收到DNS应答;
2)假定从站点1的DNS服务器返回主机A的IPv6地址为DNS应答,由于站点1中的DNS服务器已经学习到站点4中TRT的路由,因此该DNS应答被路由回站点4中的TRT;
3)在站点4的TRT中有一个包含特定地址前缀的IPv4地址池[4],目的地址包含前缀最大匹配,该前缀的IPv4数据包能够被路由到TRT自身,同时该地址前缀的路由也必须同VPN路由一起通告到其它相应的VPN站点。因此,当站点4中的TRT收到的DNS应答为IPv6地址,TRT从地址池中取出一个IPv4地址,作为该IPv6地址的映射地址,返回给请求主机B,同时将该映射记录到映射表中;
4)主机B收到TRT返回的IPv4地址,用此地址构造IPv4数据包发往默认网关;
5)因为该IPv4数据包的目的地址具有特定地址前缀,因此该IPv4数据包被路由到站点4中的TRT;
6)站点4中的TRT与源VPN主机B之间建立TCP/IPv4会话,传递IPv4业务流。同时TRT查找其映射表,找到与该IPv4目的地址对应的IPv6地址(主机A的IPv6地址),用该IPv6地址作为新的目的地址,取出从主机B收到的IPv4数据包中的TCP报文,构造IPv6数据包;
7)由于站点4中的TRT已经学习到了站点1中的IPv6 VPN路由,因此,站点4中的TRT可以与目的主机A建立TCP/IPv6连接,将该IPV6数据包转发至主机A。
经过站点4中的TRT进行TCP中继,VPN IPv4站点中的主机B向VPNIPv6站点中的主机A发送的IPv4业务流,在站点4的TRT进行TCP报文的提取和IPv6数据包的构造,被转发至IPv6目的主机B,从而完成了站点4中IPv4主机向站点1中IPv6主机的通信。
图13为根据本发明,跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN异类网站点之间通信方法流程示意图。
如图13所示,该方法包括以下步骤:
步骤1301:VPN站点内的路由通过CE路由器通告到与之相连的出口PE;
步骤1302:出口PE向入口PE通过它们之间的双向LSP通告VPN站点内路由;
步骤1303:由于配置CE路由器为IPv4/v6双栈,因此入口PE可向属于同一VPN的异类网站点通告学习到的VPN路由;
步骤1304:异类网站点学习到对端VPN站点的路由,其中包括DNS服务器、TRT(DNS-ALG)路由及其他VPN路由;
步骤1305:VPN站点内主机向本站点内TRT(DNS-ALG)发起DNS请求;
步骤1306:DNS-ALG根据配置的DNS服务器列表,向同一VPN的其他VPN站点内的DNS服务器发送DNS请求或转换后的DNS请求;
步骤1307:目的站点的DNS服务器向源站点的DNS-ALG返回解析得到的目的主机的IP地址;
步骤1308:判断是否源VPN站点为IPv4主机且目的主机为IPv6主机,如果是则执行步骤1309及其后续步骤;否则执行步骤1312及其后续步骤;
在这里,也就是当源VPN站点为IPv4主机且目的主机为IPv6主机时,执行步骤1309~步骤1311,当源VPN站点为IPv6主机且目的主机为IPv4主机时,执行步骤1312~步骤1314。
步骤1309:源站点内DNS-ALG从具有特定地址前缀的IPv4地址池中任选出一个IPv4地址,返回给源VPN站点;
步骤1310:源VPN站点以接收到的IPv4地址为目的地址,构造IPv4数据包,且由于特定的地址前缀,该数据包被路由到本站点内的TRT;
步骤1311:TRT在映射表中查找该数据包目的地址对应的IPv6地址,根据学习到的目的站点的IPv6VPN路由,在源VPN站点与目的主机间分别建立TCP/IPv4和TCP/IPv6连接,中继TCP或UDP报文;
步骤1312:源站点内的TRT在接收到的IPv4地址前添加特定地址前缀,构造为IPv6地址返回给源VPN站点;
步骤1313:源VPN站点以接收到的IPv6地址为目的地址构造IPv6数据包,且由于特定的地址前缀,该数据包被路由到本站点内的TRT;
步骤1314:TRT取出该数据包目的地址的后32位,作为新的目的地址。根据学习到的目的站点的IPv4VPN路由,在源VPN站点与目的主机间分别建立TCP/IPv6和TCP/IPv4连接,中继TCP或UDP报文。
至此,完成了跨多自治系统IPv4/IPv6混合网络BGP/MPLS VPN异类网站点间的通信。
以上过程中,在骨干网的每个自治系统内,为了减少各个PE、PE与ASBR、各个ASBR之间的IBGP全连接数目,可以在每个自治系统内设置路由反射器,完成同样工作。
以上过程中,在上述图9所示的过程中,PE4为了学习到PE1的环回地址路由,需要将PE1的IPv6环回地址路由从IGP重分配到ASBR1,再通告到PE4。可以采用的另外一种方法是将PE1的IPv4环回地址路由作为静态路由写入ASBR1的BGP表中,并为其分配标签,再将该带标签的PE1 IPv4环回地址路由通告到PE4,以此建立PE4到PE1的LSP。
综述,对于IPv4/v6混合网络跨域BGP/MPLS VPN中VPN路由信息的传递,采用跨越IPv4/v6混合网络的MPLS骨干网,在出口PE与入口PE之间建立LSP,并且将建立TCP连接的TCP报文、传递VPN路由的BGP报文以及传递VPN业务流的IP数据报均封装为MPLS报文,在该LSP内进行传递,而不仅仅是只将VPN业务流封装为MPLS报文在出口PE与入口PE间进行传递,并且在入口PE的VRF中对应VPN路由的标签均为三层标签。
关于PE间建立双向LSP:首先,各个PE以及ASBR都配置IPv4/v6双协议栈,其中PE的IPv6环回地址为IPv6兼容IPv4地址,利用这种地址结构的特殊性,在PE之间建立LSP。
而且,当PE环回地址路由的路由每经过一个自治系统,要离开该自治系统时,需要根据传递的该PE环回地址路由的下个中继信息、IP版本类型,以及本自治系统的IP版本类型,对下个中继做相应变化,查找出口ASBR到该下个中继的LSP标签,以此为PE环回地址路由在每个自治系统内建立二级标签。
此时,若传递的是PE的IPv4环回地址路由,该路由的通告要离开一个IPv6MPLS骨干网络(或到达对端出口PE时),则首先需要在下一跳地址前添加前缀::,ASBR再查找到下一跳的LSP标签,作为该PE IPv4环回地址路由在ASBR的LFIB中的栈顶标签(或出口PE的FIB中的栈顶标签)。
图14为根据本发明实施例的PE2IPv4环回地址路由在IPv6网络中ASBR2的处理示意图。如图14所示,假设AS200为IPv6网络,当ASBR2收到标签为200,下一跳为40.0.0.1的PE2IPv4环回地址路由60.0.0.1/32时,为该路由重新分配标签300,并将下一跳地址前添加前缀::,查找到FIB中到::40.0.0.1的LSP标签20,则在ASBR2的LFIB中就可为该VPN路由建立两级标签,即输入标签为300,输出栈顶标签为20,栈底标签为200。若传递的PE IPv4环回地址路由经过的是IPv4 MPLS骨干网络,则可直接根据下一跳地址查找ASBR到下一跳的LSP标签,作为该PE环回地址路由在ASBR的LFIB中两级标签的栈顶标签。
假如传递的是PE IPv6环回地址路由,该路由的通告要离开一个IPv4MPLS网络时,需要舍去下一跳地址的前缀::,再查找到下一跳的LSP标签,作为ASBR的LFIB中对应该PE IPv6环回地址路由两级标签中的栈顶标签。若传递的PE IPv6环回地址路由经过的是IPv6 MPLS骨干网络,则可直接根据下一跳地址查找到下一跳的LSP标签,作为该PE IPv6环回地址路由在ASBR的LFIB中两级标签的栈顶标签。
另外,若出口PE和入口PE所在的网络均为IPv4网络,则建立的PE间双向LSP是根据两端PE的IPv4环回地址而建立的且通过此LSP建立TCP/IPv4连接;若出口PE和入口PE所在的网络均为IPv6网络,则根据其IPv6环回地址建立PE间的双向LSP,且过此LSP建立TCP/IPv6连接;
若入口PE和出口PE一端所在的网络为IPv4网络,另一端所在的网络为IPv6网络,则可以有三种方法建立PE间双向LSP:
a)IPv6骨干网络中的PE IPv6环回地址重分配到本自治系统的ASBR后,将该IPv6路由通告到IPv4网络内的入口PE,入口PE接收到带标签的IPv6路由,则可判断出该路由为对端PE的环回地址路由,在将该IPv6环回地址路由写入FIB中时,可依据此判断将目的前缀及下一跳的::前缀舍去,添加一条对应的IPv4路由条目到FIB中,其标签及接口信息不变,这样可在IPv4网络内PE的FIB中写入对端PE的IPv4环回地址路由及标签信息,可依据此信息建立PE IPv4环回地址路由间的双向IPv4LSP,进而建立TCP/IPv4连接。
图15为根据本发明实施例的PE2对接收到的PE1IPv6环回地址路由进行处理写入FIB中的示意图。如图15所示,当PE1的IPv6环回地址路由::10.0.0.1/32通告到PE2,则PE2可根据其为带标签的IPv6路由判断出是对端PE的环回地址路由,从而将该路由的目的前缀及下一跳地址的::前缀舍去,其他信息不变转换为IPv4路由,再添加到PE2的FIB中。利用此信息建立PE2到PE1的IPv4LSP。
b)与a)中的方法相反,当IPv6网络中的PE接收到对端PE的IPv4环回地址路由,判断出为带标签的IPv4路由,则在该路由的目的前缀及下一跳前添加前缀::转换为IPv6路由信息,写入FIB中,根据IPv6环回地址建立PE间的双向IPv6LSP,进而建立PE间的TCP/IPv6连接。
c)在IPv6骨干网络的ASBR中关闭BGP路由检查功能,直接将PE的IPv4环回地址作为静态路由写入BGP中,并为该路由分配标签。向对端IPv4网络内的PE通告此带标签的IPv4环回地址路由,以IPv4环回地址路由建立PE间的双向IPv4LSP,进而建立TCP/IPv4连接。以图10为例,直接将PE1的IPv4环回地址路由作为静态路由写入ASBR1的BGP中,并为该路由分配标签,向PE2通告PE1的IPv4环回地址路由,建立PE间的双向IPv4LSP及TCP/IPv4连接。
另外,在本发明中,利用TRT设备实现BGP/MPLS VPN异类网站点间通信。在相互通信的异类网VPN站点内分别设置TRT,用于中继本站点内主机发起的通信;在相互通信的VPN站点内也分别设置DNS服务器,用于对本站点内的域名提供解析服务,且DNS服务器中配置的上一级DNS服务器地址为本站点中TRT地址;将TRT同DNS-ALG并为同一设备。
IPv4网络中的TRT引入NAT-PT的思想,在TRT中还应当设置一个IPv4地址池,为从IPv6VPN站点解析回的IPv6地址提供映射的IPv4地址。
本发明针对MPLS骨干网为跨多个自治系统的IPv4/IPv6混合网络,VPN用户站点为IPv4/IPv6混合网络的拓扑结构,提出跨多自治系统IPv4/IPv6BGP/MPLS VPN站点之间通信的方法,以实现MPLS骨干网跨越多个AS、且MPLS骨干网和VPN用户站点均为IPv4/IPv6混合网络的BGP/MPLS VPN站点之间的通信。应用本发明,因特网服务提供商能够在IPv4向IPv6过渡时期,通过对现有设备进行简单改进,继续提供BGP/MPLSVPN增值业务。应用本发明以后,可以解决IPv4向IPv6过渡阶段,当BGP/MPLS VPN骨干网为IPv4/IPv6混合网络时,BGP/MPLS VPN同类网站点以及异类网站点间的通信问题。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1、一种提供跨多自治系统互联网协议版本4IPv4/互联网协议版本6IPv6混合网络边界网关协议BGP/多协议标签交换MPLS虚拟专用网VPN站点之间通信的方法,其特征在于,包括以下步骤:
A、在源VPN站点的出口提供商边缘设备PE和目的VPN站点的入口PE之间建立标签交换路径LSP;
B、利用所述LSP实现所述源VPN站点和所述目的VPN站点之间的路由信息的学习;
C、根据获得的所述目的VPN站点的路由信息,源VPN站点发送VPN业务流到目的VPN站点,从而实现源VPN站点和目的VPN站点之间的通信。
2、根据权利要求1所述的方法,其特征在于,步骤A所述建立LSP为建立双向的LSP。
3、根据权利要求2所述的方法,其特征在于,所述建立双向的LSP为建立双向的IPv4LSP或双向的IPv6LSP。
4、根据权利要求1所述的方法,其特征在于,步骤A所述建立LSP包括:
A11、根据源VPN站点的出口PE所在自治系统的IP版本类型,将相同IP版本类型的源VPN站点的出口PE环回地址路由信息重分配到本自治系统的自治系统边界路由器ASBR的边界网关协议BGP中,并为该环回地址路由信息分配标签;
A12、该ASBR向邻接该自治系统的出口ASBR通告该出口PE的环回地址路由信息,并将对应该出口PE的环回地址路由信息的标签操作信息写入标签转发信息表LFIB中;
A13、邻接该自治系统的出口ASBR接收该出口PE的环回地址路由信息,为其分配标签,并向所述邻接该自治系统的出口ASBR的自治系统的入口ASBR通告该环回地址路由信息,下一跳地址为该出口ASBR的环回地址,其版本与该出口PE的环回地址路由信息的IP版本相同,并在该出口ASBR的LFIB中写入相应的标签交换信息;
A14、该自治系统的入口ASBR接收到该出口PE的环回地址路由信息,为其分配标签,并根据本自治系统的IP版本类型,在该路由信息下一跳地址前添加或舍去前缀,再查找到下一跳的LSP标签,作为入口ASBR的LFIB中对应该出口PE的环回地址路由信息的栈顶标签,并将相应的标签交换信息写入该入口ASBR;
A15、该自治系统的入口ASBR向邻接域内的出口ASBR通告该出口PE的环回地址路由信息,下一跳为该入口ASBR的环回地址,其版本与出口PE环回地址路由信息的IP版本相同,邻接域内的出口ASBR接收到该出口PE的环回地址路由信息,为其分配标签,并向本自治系统的入口ASBR进行通告,下一跳地址为该邻接域内出口ASBR的环回地址,其版本与该出口PE的环回地址路由信息的IP版本相同,并在该出口ASBR的LFIB中写入相应的标签交换信息,直至入口PE接收到该出口PE的环回地址路由信息;
A16、判断该出口PE与入口PE所在自治系统的IP版本类型是否相同,如果相同,则该入口PE将接收到的出口PE的环回地址路由信息写入转发信息表FIB中;在入口PE与出口PE相同IP版本类型的环回地址之间建立LSP,并且建立出口PE到入口PE的LSP;否则,如果不相同,若通告来的为出口PE的IPv6环回地址路由信息,而入口PE所在自治系统的版本类型为IPv4,则将所述出口PE的IPv6环回地址路由信息的目的前缀及下一跳的前缀舍去,转换为出口PE的IPv4环回地址路由信息且写入入口PE的FIB,若通告来的为出口PE的IPv4环回地址路由信息,则将所述出口PE的IPv4环回地址路由信息直接写入入口PE的FIB中,在入口PE建立到出口PE的LSP。
5、根据权利要求1所述的方法,其特征在于,步骤A所述建立LSP包括:
A21、将出口PE的IPv4环回地址路由信息以静态路由的方式写入本自治系统ASBR的BGP中,并为该IPv4环回地址路由信息分配标签;
A22、所述ASBR向邻接该自治系统的出口ASBR通告该出口PE的IPv4环回地址路由信息,并将对应该出口PE的IPv4环回地址路由信息的标签操作信息写入LFIB中;
A23、邻接该自治系统的出口ASBR接收出口PE的IPv4环回地址路由信息,为其分配标签,并向所述邻接该自治系统的出口ASBR的自治系统的入口ASBR通告该路由信息,下一跳地址为该出口ASBR的IPv4环回地址;并在出口ASBR的LFIB中写入对应该出口PE的IPv4环回地址路由信息的标签交换信息;
A24、该自治系统的入口ASBR接收该出口PE的IPv4环回地址路由信息,为其分配标签,并根据本自治系统是否为IPv6网络,决定是否将该路由下一跳地址前添加前缀,再查找到下一跳的LSP标签,作为入口ASBR的LFIB中对应该出口PE的IPv4环回地址路由信息的栈顶标签,并将相应的标签交换信息写入该入口ASBR;
A25、该自治系统的入口ASBR向邻接域内的出口ASBR通告该出口PE的IPv4环回地址路由信息,下一跳地址为该入口ASBR的IPv4环回地址;邻接域内的出口ASBR接收到该出口PE的IPv4环回地址路由信息后,为其分配标签,并向本自治系统的入口ASBR通告该路由信息,下一跳地址为该出口ASBR的IPv4环回地址,并在该出口ASBR的LFIB中写入对应该出口PE的IPv4环回地址路由信息的标签交换信息,重复此过程直至入口PE接收到该出口PE的IPv4环回地址路由;
A26、入口PE接收到出口PE的IPv4环回地址路由信息,若入口PE所在的自治系统的IP版本为IPv4,则直接查找到该路由下一跳的LSP标签,将出口PE的IPv4环回地址路由信息写入入口PE的FIB中;若入口PE所在的自治系统的IP版本为IPv6,则在该出口PE路由信息的下一跳前添加前缀,查找到下一跳的LSP标签,将出口PE的IPv4环回地址路由信息写入入口PE的FIB中,建立入口PE到出口PE的LSP。
6、根据权利要求1所述的方法,其特征在于,所述步骤B包括:
B1、利用所述LSP,建立源VPN站点的出口PE与目的VPN站点的入口PE之间的TCP连接,在源VPN站点的出口PE与目的VPN站点的入口PE之间进行外部边界网关协议EBGP对话;
B2、将建立TCP连接的TCP报文、以及通告VPN路由信息的BGP报文均封装为MPLS报文,且沿所述LSP传递;接收到源VPN站点路由信息的入口PE,根据VPN路由信息的IP版本类型,决定是否对该VPN路由信息的下一跳进行处理,从而查找到下一跳的LSP标签,并将接收到的VPN路由信息写入入口PE相应的虚拟路由转发表VRF中;
B3、源VPN站点的出口PE和目的VPN站点的入口PE,分别将接收到的VPN路由信息通告给所述源VPN站点和目的VPN站点。
7、根据权利要求1所述的方法,其特征在于,所述源VPN站点和目的VPN站点为同类网站点,所述步骤C包括:
C1、源VPN站点发出的所述VPN业务流被转发到本源VPN站点的用户边缘设备CE路由器;
C2、所述源VPN站点的CE路由器根据路由表信息,将所述VPN业务流转发到入口PE;
C3、所述入口PE根据相应虚拟路由转发表VRF中的VPN路由信息,将所述VPN业务流封装为MPLS包,沿所述入口PE与出口PE之间的LSP转发给出口PE;
C4、出口PE还原接收到的所述VPN业务流,并将其转发给所述目的VPN站点的CE路由器,并由CE路由器转发至所述目的VPN站点。
8、根据权利要求1所述的方法,其特征在于,所述源VPN站点和目的VPN站点为异类网站点,并且预先在所述源VPN站点上增加域名服务-应用层网关DNS-ALG和传输中继转换器TRT设备,并且在目的VPN站点上增加DNS-ALG和TRT设备,且所述源VPN站点为IPv4主机、所述目的VPN站点为IPv6主机,所述步骤C包括:
C11、源VPN站点向与其连接的DNS-ALG发起DNS请求;
C12、所述与源VPN站点连接的DNS-ALG根据配置的DNS服务器列表,向同一VPN的其他VPN站点内的DNS服务器发送DNS请求或转换后的DNS请求;
C13、目的VPN站点的DNS服务器向源VPN站点的DNS-ALG返回解析得到的目的VPN站点的IP地址;
C14、源VPN站点内DNS-ALG从具有特定地址前缀的IPv4地址池中任选一个IPv4地址,返回给源VPN站点;
C15、源VPN站点以接收到的IPv4地址为目的地址,构造IPv4数据包,且该数据包被路由到本源VPN站点内的TRT;
C16、所述TRT在映射表中查找该数据包目的地址对应的IPv6地址,根据学习到的目的VPN站点的IPv6VPN路由信息,在源VPN站点与目的VPN站点之间分别建立TCP/IPv4和TCP/Pv6连接,并且中继报文。
9、根据权利要求1所述的方法,其特征在于,所述源VPN站点和目的VPN站点为异类网站点,并且预先在所述源VPN站点上增加DNS-ALG和TRT设备,并且在目的VPN站点上增加DNS-ALG和TRT设备,且源VPN站点为IPv6主机、目的VPN站点为IPv4主机,所述步骤C包括:
C21、源VPN站点向与其连接的DNS-ALG发起DNS请求;
C22、所述DNS-ALG根据配置的DNS服务器列表,向同一VPN的其他VPN站点内的DNS服务器发送DNS请求或转换后的DNS请求;
C23、目的VPN站点的DNS服务器向源VPN站点的DNS-ALG返回解析得到的目的VPN站点的IP地址;
C24、源VPN站点内的TRT在接收到的IPv4地址前添加特定地址前缀,构造为IPv6地址返回给源VPN站点;
C25、源VPN站点以接收到的IPv6地址为目的地址构造IPv6数据包,且该数据包被路由到本源VPN站点内的TRT;
C26、所述TRT取出该数据包目的地址的后32位,作为新的目的地址,根据学习到的目的VPN站点的IPv4VPN路由信息,在源VPN站点与目的VPN站点之间分别建立TCP/IPv6和TCP/IPv4连接,并且中继报文。
10、根据权利要求8或9所述的方法,其特征在于,所述在源VPN站点上增加DNS-ALG和TRT设备,并且在目的VPN站点上增加DNS-ALG和TRT设备为:将所述DNS-ALG和TRT设备结合在同一路由设备中,并且在所述源VPN站点和目的VPN站点上分别增加所述结合的同一路由设备。
11、根据权利要求8或9所述的方法,其特征在于,所述中继报文为中继传输控制协议TCP报文或用户数据报协议UDP报文。
CNB2005101027074A 2005-09-09 2005-09-09 一种提供虚拟专用网站点之间通信的方法 Expired - Fee Related CN100450065C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101027074A CN100450065C (zh) 2005-09-09 2005-09-09 一种提供虚拟专用网站点之间通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101027074A CN100450065C (zh) 2005-09-09 2005-09-09 一种提供虚拟专用网站点之间通信的方法

Publications (2)

Publication Number Publication Date
CN1852212A CN1852212A (zh) 2006-10-25
CN100450065C true CN100450065C (zh) 2009-01-07

Family

ID=37133682

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101027074A Expired - Fee Related CN100450065C (zh) 2005-09-09 2005-09-09 一种提供虚拟专用网站点之间通信的方法

Country Status (1)

Country Link
CN (1) CN100450065C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405797C (zh) * 2006-12-01 2008-07-23 清华大学 BGP协议软件的IPv4 over IPv6扩展方法
EP2693702B1 (en) 2011-04-22 2017-07-12 Huawei Technologies Co., Ltd. Method and label switched router (lsr) for initiating label distribution protocol (ldp) session connection establishment
CN102857424B (zh) * 2012-08-30 2015-04-15 杭州华三通信技术有限公司 一种mpls网络中lsp的建立方法和设备
CN103888359B (zh) * 2012-12-21 2017-04-12 杭州华三通信技术有限公司 路由计算方法及网络设备
CN104734929B (zh) * 2013-12-18 2019-03-01 华为技术有限公司 路由扩散的方法及装置
CN103986654B (zh) * 2014-05-05 2017-11-28 新华三技术有限公司 一种lsp生成方法和设备
CN105530159B (zh) * 2016-01-19 2018-12-18 武汉烽火网络有限责任公司 一种实现跨IPv6和IPv4的VPN互访的方法和系统
CN113518104B (zh) * 2021-03-11 2024-02-27 网宿科技股份有限公司 一种数据报文的处理方法、中转设备及系统
CN113098750A (zh) * 2021-03-11 2021-07-09 网宿科技股份有限公司 一种站点互连方法、系统及中转设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003069621A (ja) * 2001-08-23 2003-03-07 Hitachi Ltd 経路情報取り扱い方法
CN1455560A (zh) * 2003-05-22 2003-11-12 北京港湾网络有限公司 多协议标签交换虚拟专用网相互通信的方法
CN1507230A (zh) * 2002-12-10 2004-06-23 ��Ϊ�������޹�˾ 一种多协议标签交换虚拟专用网的实现方法
US20040151181A1 (en) * 2003-02-04 2004-08-05 Chu Thomas P. Methods and systems for providing MPLS-based layer-2 virtual private network services
CN1649320A (zh) * 2004-01-20 2005-08-03 华为技术有限公司 基于网络的虚拟专用网中保证服务质量的系统及其方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003069621A (ja) * 2001-08-23 2003-03-07 Hitachi Ltd 経路情報取り扱い方法
CN1507230A (zh) * 2002-12-10 2004-06-23 ��Ϊ�������޹�˾ 一种多协议标签交换虚拟专用网的实现方法
US20040151181A1 (en) * 2003-02-04 2004-08-05 Chu Thomas P. Methods and systems for providing MPLS-based layer-2 virtual private network services
CN1455560A (zh) * 2003-05-22 2003-11-12 北京港湾网络有限公司 多协议标签交换虚拟专用网相互通信的方法
CN1649320A (zh) * 2004-01-20 2005-08-03 华为技术有限公司 基于网络的虚拟专用网中保证服务质量的系统及其方法

Also Published As

Publication number Publication date
CN1852212A (zh) 2006-10-25

Similar Documents

Publication Publication Date Title
CN100450065C (zh) 一种提供虚拟专用网站点之间通信的方法
CN100387019C (zh) 跨混合网络的多协议标签交换虚拟专用网的实现方法
CN100411381C (zh) 跨不同自治系统的混合网络vpn站点间的通信方法和系统
US9432213B2 (en) IP forwarding across a link state protocol controlled ethernet network
CN103546374B (zh) 一种边缘二层网络中转发报文的方法和装置
CN100550841C (zh) 自治系统边界路由器路由发布方法及自治系统边界路由器
CN100433691C (zh) 一种虚拟专用网络的路由方法
CN102413060B (zh) Vpls网络中用户专线通信方法及设备
CN100505674C (zh) 一种虚拟专用网内的报文转发方法、系统和边缘设备
CN102075438B (zh) 单播数据帧传输方法及装置
CN102739501B (zh) 二三层虚拟私有网络中的报文转发方法和系统
JP2015523788A (ja) 個別管理方式を使用する仮想転送インスタンスの遠端アドレスへのvlanタグ付きパケットのルーティング
CN101455030A (zh) 动态共享风险节点组(srng)成员发现
CN102449964A (zh) 一种三层虚拟专有网路由控制方法、装置及系统
CN100481817C (zh) 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法
CN103731349B (zh) 一种以太网虚拟化互联邻居间报文转发方法和边缘设备
CN102801625A (zh) 一种异构网络二层互通的方法及设备
CN100484080C (zh) 一种虚拟私有网的路由引入方法、系统和运营商边缘设备
CN101800691A (zh) 一种建立网络中数据转发路径的方法、设备和系统
CN103326915A (zh) 实现三层虚拟专用网络的方法、设备及系统
CN100559772C (zh) 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法
CN102546433A (zh) 基于mpls vpn的数据转发方法和边缘设备
CN102368726A (zh) 一种应用于l2vpn的转发方法及装置
CN104283782A (zh) 多协议标签交换网络中确定报文转发路径的方法和装置
CN100414919C (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20180909

CF01 Termination of patent right due to non-payment of annual fee