虚拟专用网络路由转发实例的实现方法及装置的制作方法

文档序号:7747774阅读:255来源:国知局
专利名称:虚拟专用网络路由转发实例的实现方法及装置的制作方法
技术领域
本发明涉及通讯领域,尤其涉及一种虚拟专用网络路由转发实例的实现方法及装置。
背景技术
在L3VPN (Virtual Private Network,虚拟专用网络)中,属于同一 VPN 的PE (Provider Edge,服务端设备)之间利用 MPLS (Multi-Protocol LabelSwitching,多协 议标签交换)协议建立LSP (Label Switched Path,标签交换路径)通道,通过BGP (Border Gateway Protocol,边界网关协议)承载路由信息进行路由交互,CE(Custom Edge,客户端 设备)与PE之间使用动态路由协议进行路由学习,通过PE和PE之间、PE和CE之间的路 由交互,客户的路由器学习到同一个VPN的路由信息,并通过这些路由信息进行数据通讯, 从而实现L3VPN功能,PE设备上保存并管理分属不同VPN的多份路由信息。目前,主要有以下几种方法实现VRF (VPN Routing & Forwardinglnstance,VPN路 由转发实例)多路由表一种是通过修改IPV4协议栈,对PE设备上的接口和路由表关联VPN_ID,具有相 同VPN_ID的接口使用相关联的路由表,这种方法的缺陷是需要维护管理多份路由表,多个 路由芯片存储多份IPV4路由表,增加了成本,且多份路由表不利于存储到路由芯片中;另一种是使用Iinux虚拟空间技术虚拟多个协议栈来实现的方法,这种方式的缺 陷在于性能有所下降,同样需要管理多份路由表。因此,可知现有技术中长期以来一直存在现有的VRF的实现方法成本较高以及 VPN访问速度较慢的问题,因此有必要提出改进的技术手段,来解决此问题。

发明内容
有鉴于现有技术存在现有的VRF的实现方法成本较高以及VPN访问速度较慢的问 题而做出本发明,为此本发明的主要目的在于提供一种虚拟专用网络路由转发实例的实现 方法及装置,其中根据本发明实施例的虚拟专用网络路由转发实例的实现方法包括分别将本端PE学习到的多条IPv4路由地址转换为多条IPv6路由地址;根据转换 后的多条IPv6路由地址组建IPv6路由表;PE根据IPv6路由表转发接收的数据。优选地,PE通过以下方式至少之一学习多条IPv4路由地址本端PE分别与客户 端设备(CE)之间运行动态路由协议,生成多条IPv4路由地址;本端PE与对端PE之间运行 动态路由协议,生成IPv4路由地址;本端PE与对端PE之间运行边界网关协议,得到IPv4 路由地址。优选地,将IPv4路由地址转换为IPv6路由地址进一步包括根据CE所属VPN的 VPN标识将生成的IPv4路由地址转换为IPv6路由地址,其中,公网路由的VPN标识设置为 O。
优选地,PE根据IPv6路由表转发接收的数据进一步包括PE接收来自CE的IPv4 数据;若IPv4数据的目的地址非PE,则PE将IPv4数据转换为IPv6数据;根据IPv6路由 表查找转换后的IPv6数据的下一跳地址,并将IPv6数据再转换为IPv4数据后进行转发。优选地,IPv6数据包括IPv6包头、扩展包头、IPv4包头、IPv4类型数据的数据净荷。根据本发明实施例的虚拟专用网络路由转发实例的实现装置包括 转换模块,用于分别将本端PE学习到的多条IPv4路由地址转换为多条IPv6路由 地址;建立模块,用于根据经过转换模块转换后的多条IPv6路由地址组建IPv6路由表;转 发模块,用于根据IPv6路由表转发接收的数据。优选地,该装置还包括路由学习模块,其与转换模块连接,用于通过以下方式至 少之一学习多条IPv4路由地址分别与CE之间运行动态路由协议,生成多条IPv4路由地 址;与对端PE之间运行动态路由协议,生成IPv4路由地址;与对端PE之间运行边界网关协 议,得到IPv4路由地址。优选地,转换模块根据CE所属VPN的VPN标识将生成的IPv4路由地址转换为IPv6 路由地址,其中,公网路由的VPN标识设置为0。优选地,转发模块进一步包括接收子模块,用于接收来自CE的IPv4数据;转换 子模块,用于若接收子模块接收的IPv4数据的目的地址非本端,则将IPv4数据转换为IPv6 数据;查询子模块,用于根据建立模块组建的IPv6路由表查找转换后的IPv6数据的下一跳 地址;发送子模块,用于将IPv6数据转换为IPv4数据后,根据查询子模块查找到的地址进 行转发。优选地,IPv6数据包括IPv6包头、扩展包头、IPv4包头、IPv4类型数据的数据净荷。与现有技术相比,根据本发明的上述技术方案,通过将IPv4路由转换为IPv6路 由,并由一份IPv6路由表统一管理IPv4的多份路由表,节约了成本,并提高了 VPN访问速度。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的VPN路由转发实例的实现方法的流程图;图2是根据本发明实施例的IPv4与IPv6地址转换的结构图;图3是根据本发明实施例的应用场景示意图;图4是根据本发明实施例的的PE与CE之间路由学习的处理流程图;图5是根据本发明实施例的的PE与PE之间路由学习的处理流程图;图6是根据本发明实施例的的IPV4与IPV6数据封装的结构图;图7是根据本发明实施例的的VPN客户之间的数据处理流程图;图8是根据本发明实施例的VPN路由转发实例的实现装置的结构框图。
具体实施例方式本发明通过使用IPv6技术来实现IPv4下VRF的技术方案,通过IPv6协议128位IP地址的特点将IPv4的多份路由表配合VPN_ID写入到IPv6路由表中,统一进行管理,便 于同步路由到支持IPv6协议的路由芯片中,提高VPN访问速度,相对于需要多个路由芯片 存储多份IPv4路由表的方法节约了成本,同时也便于后续对L3VPN网络进行升级以支持 IPv6协议。为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本 发明作进一步地详细说明。根据本发明的实施例,提供了一种VPN路由转发实例的实现方法。图1是根据本发明实施例的VPN路由转发实例的实现方法的流程图,如图1所示, 该方法包括步骤S102,分别将本端PE学习到的多条IPv4路由地址转换为多条IPv6路 由地址;具体地,根据CE所属VPN的VPN标识将生成的IPv4路由地址转换为IPv6 路由地址,其中,公网路由的VPN标识设置为0;参考图2,地址转换公式为VPN_ ID[16bit]+0[80bit]+IPv4[32bit] = IPv6[128bit]。步骤S104,根据转换后的多条IPv6路由地址组建IPv6路由表。步骤S106,PE根据IPv6路由表转发接收的数据。下面结合附图详细描述上述各处理的细节。首先,PE需要与CE以及对端PE之间学习路由信息,具体地,PE通过但不限于下面 的方式学习路由信息,并进行路由地址转换。(I)PE与CE之间路由学习过程参考图3及图4,图3是根据本发明实施例的应用场景示意图,图4是根据本发明 实施例的PE与CE之间路由学习的处理流程图。本端PE(PEl)与CE之间、对端PE(PE2)与 CE之间分别进行路由学习,具体过程如图4所示,包括以下步骤步骤S402,PE1[192. 193. 1. 18]与CEl [188. 1. 1. 18]之间运行动态路由协议,生成 IPv4路由;步骤S404,PE2[192. 193. 2. 18]与CE4[188. 1. 2. 18]之间运行动态路由协议,生成 IPv4路由;步骤S406,将生成的IPv4路由进转换为IPv6路由。根据现有协议,IPv4地址为 32比特,通常用4个8位的十进制数表示;IPv6地址为128比特,通常用8个16位的十六 进制数表示。地址转换的格式如图2所示,此处不赘述。将转换后的地址写入PE1/PE2的 IPv6路由表中,并同步到路由芯片中,本次流程处理结束。(2) PE与PE之间路由学习流程。参考图3及图5,图5是根据本发明实施例的PE与PE之间路由学习的处理流程图。 本端PE(PEl)与对端PE(PE2)之间进行路由学习,具体过程如图5所示,包括以下步骤步骤S502,PE1[192. 193. 1. 18]与 PE2[192. 193. 2. 18]之间运行动态路由协议,生 成IPv4路由。步骤S504,将生成的IPv4路由进行转换为IPv6路由,写入PEl和PE2的IPv6路由表中,并同步到路由芯片中;地址转换参考图2,此处不赘述。步骤S506,PEl与PE2之间运行BGP协议,交换IPv4路由信息。步骤S508、将交换的IPv4路由进行转换,写入PEl和PE2的IPv6路由表中,并同步到路由芯片中,其中的地址转换请参考图2,此处不赘述。通过上述处理,已经建立由多条IPv6路由地址组成的IPv6路由表,即通过128位IPv6地址的特点把IPv4的多份路由表配合VPN_ID写入到一份IPv6路由表中。下面进行具体的数据处理,PE设备的NP (网络处理单元)同时运行IPv4和IPv6 双协议栈,根据CE设备端发送数据的目的地址决定运行模式,如目的地址为本PE设备,则 运行IPv4协议,完成CE与PE设备的通讯;否则对IPv4数据进行转换运行IPv6协议,转发 至路由芯片进行下一步处理。图6是根据本发明实施例的IPv4与IPv6数据封装的结构图,IPv4数据封装为 IPv6数据的方法包括但不限于IPv6包头+扩展包头+IPv4包头+IPv4数据净荷。NP接收到本端PE设备发送的IPv4数据,通过LSP通道发送到对端PE设备,完成 PE与PE设备间的通讯;NP接收到路由芯片转发的IPv6数据,对IPv6数据进行转换和解 包,并通过LSP通道发送解包后的IPv4数据到对端PE设备。参考图3及图7理解上述处理,图7是根据本发明实施例的VPN客户之间的数据 处理流程图,如图7所示,VPN客户之间的数据处理包括以下步骤步骤S702,VPN_ID 为 100 的 VPN 客户[192.168.1.1]向属于同一 VPN 的设备 [192. 168. 1. 100]发送 IPv4 数据;步骤S704,查询CE1[188. 1. 1. 18]设备的路由表,转发此IPv4数据到路由的下一 跳PEl设备;步骤S706,PEl [192. 193. 1. 18]设备的NP板对此数据进行IPv6封装和地址转换 处理,处理后的目的地址为[64:0:0:0:0:0:BC01:112];步骤S708,查询PEl的路由芯片,找出公网下一跳地址为 PE2
,发送数据到对应的 NP 板;步骤S710,PE1的NP板转换和解包此数据为IPv4数据,通过已建立的LSP发送到 PE2 ;步骤S712、PE2[192. 193. 2. 18]接收到此IPv4数据后,经过NP板对此数据进行 IPv6封装和地址转换处理;步骤S714,查询PE2的路由芯片,找出下一跳地址为 CE4 [64 0 0 0 0 0 BCOl 212],发送数据到对应的 NP ;步骤S716,NP转换和解包此数据为IPv4数据,发送此数据到CE4 ;步骤S718,查询CE4[188. 1. 2. 18]路由表,发送数据到目的设备 [192. 168. 1. 100],本次流程处理结束。根据本发明的上述实施例,通过由一份IPv6路由表统一管理IPv4的多份路由表, 节约了成本,并提高了 VPN访问速度。装置实施例根据本发明的实施例,还提供了一种VPN路由转发实例的实现装置。图8是根据本发明实施例的VPN路由转发实例的实现装置的结构框图,如图8所 示,该装置包括转换模块10,用于分别将本端PE学习到的多条IPv4路由地址转换为多条IPv6路 由地址;转换模块10根据CE所属VPN的VPN标识将生成的IPv4路由地址转换为IPv6路由地址,其中,公网路由的VPN标识设置为O。建立模块20,用于根据经过转换模块10转换后的多条IPv6路由地址组建IPv6路
由表; 转发模块30,用于根据IPv6路由表转发接收的数据。转发模块30可以进一步 包括接收子模块,用于接收来自CE的IPv4数据;转换子模块,用于若接收子模块接收的 IPv4数据的目的地址非本端,则将IPv4数据转换为IPv6数据;查询子模块,用于根据建立 模块组建的IPv6路由表查找转换后的IPv6数据的下一跳地址;发送子模块,用于将IPv6 数据转换为IPv4数据后,根据查询子模块查找到的地址进行转发。并且,该装置还包括路由学习模块40,其与转换模块10连接,用于通过以下方式 至少之一学习多条IPv4路由地址分别与CE之间运行动态路由协议,生成多条IPv4路由 地址;与对端PE之间运行动态路由协议,生成IPv4路由地址;与对端PE之间运行边界网关 协议,得到IPv4路由地址。在具体实施过程中,根据本发明实施例的VPN路由转发实例的实现装置的具体工 作流程请参考图1至图7的处理,此处不赘述。综上所示,根据本发明上述技术方案,通过将IPv4路由转换为IPv6路由,并由一 份IPv6路由表统一管理IPv4的多份路由表,节约了成本,并提高了 VPN访问速度。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人 员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
一种虚拟专用网络(VPN)路由转发实例的实现方法,其特征在于,包括分别将本端服务端设备(PE)学习到的多条IPv4路由地址转换为多条IPv6路由地址;根据转换后的多条IPv6路由地址组建IPv6路由表;所述PE根据所述IPv6路由表转发接收的数据。
2.根据权利要求1所述的方法,其特征在于,所述PE通过以下方式至少之一学习多条 IPv4路由地址所述本端PE分别与客户端设备(CE)之间运行动态路由协议,生成多条IPv4路由地址;所述本端PE与所述对端PE之间运行动态路由协议,生成IPv4路由地址; 所述本端PE与所述对端PE之间运行边界网关协议,得到IPv4路由地址。
3.根据权利要求2所述的方法,其特征在于,所述将IPv4路由地址转换为IPv6路由地 址进一步包括 根据所述CE所属VPN的VPN标识将生成的所述IPv4路由地址转换为IPv6路由地址, 其中,公网路由的VPN标识设置为O。
4.根据权利要求1所述的方法,其特征在于,所述PE根据所述IPv6路由表转发接收的 数据进一步包括所述PE接收来自所述CE的IPv4数据;若所述IPv4数据的目的地址非所述PE,则所述PE将所述IPv4数据转换为IPv6数据; 根据所述IPv6路由表查找转换后的所述IPv6数据的下一跳地址,并将所述IPv6数据 再转换为IPv4数据后进行转发。
5.根据权利要求4所述的方法,其特征在于,所述IPv6数据包括IPv6包头、扩展包 头、IPv4包头、IPv4类型数据的数据净荷。
6.一种VPN路由转发实例的实现装置,其特征在于,包括转换模块,用于分别将本端PE学习到的多条IPv4路由地址转换为多条IPv6路由地址;建立模块,用于根据经过所述转换模块转换后的多条IPv6路由地址组建IPv6路由表;转发模块,用于根据所述IPv6路由表转发接收的数据。
7.根据权利要求6所述的装置,其特征在于,还包括路由学习模块,其与所述转换模块连接,用于通过以下方式至少之一学习多条IPv4路 由地址分别与CE之间运行动态路由协议,生成多条IPv4路由地址; 与所述对端PE之间运行动态路由协议,生成IPv4路由地址; 与所述对端PE之间运行边界网关协议,得到IPv4路由地址。
8.根据权利要求7所述的装置,其特征在于,所述转换模块根据所述CE所属VPN的VPN 标识将生成的所述IPv4路由地址转换为IPv6路由地址,其中,公网路由的VPN标识设置为 O0
9.根据权利要求6所述的装置,其特征在于,所述转发模块进一步包括 接收子模块,用于接收来自所述CE的IPv4数据;转换子模块,用于若所述接收子模块接收的所述IPv4数据的目的地址非本端,则将所 述IPv4数据转换为IPv6数据;查询子模块,用于根据所述建立模块组建的所述IPv6路由表查找转换后的所述IPv6 数据的下一跳地址;发送子模块,用于将所述IPv6数据转换为IPv4数据后,根据所述查询子模块查找到的 地址进行转发。
10.根据权利要求9所述的装置,其特征在于,所述IPv6数据包括IPv6包头、扩展包 头、IPv4包头、IPv4类型数据的数据净荷。
全文摘要
本发明公开了一种虚拟专用网络路由转发实例的实现方法及装置,其中该方法包括分别将本端PE学习到的多条IPv4路由地址转换为多条IPv6路由地址;根据转换后的多条IPv6路由地址组建IPv6路由表;PE根据IPv6路由表转发接收的数据。通过本发明,能够提高VPN访问速度。
文档编号H04L12/46GK101841481SQ201010162980
公开日2010年9月22日 申请日期2010年4月30日 优先权日2010年4月30日
发明者蒋彦波 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1