基于IPv6地址结构实现虚拟专用网的方法

文档序号:7965133阅读:195来源:国知局
专利名称:基于IPv6地址结构实现虚拟专用网的方法
技术领域
本发明涉及通信领域,尤其涉及一种基于IPv6地址结构实现虛拟专用网 的方法。
背景技术
IPv6的地址长度的增加,使IPV6的地址可被更清晰的层次化,例如以下 划分策略
IPv6地址被划分为多个全球路由等级,在等级的最上层,由lntemet地址 授权机构分配地址块给顶级集聚(TLA),这些TLA地址可以分配给永久的 lnternet服务提供者和电信运营商。TLA再分配地址块给下 一 级集聚 (NLA) , NLA分配给大的lnternet服务提供者和一些全球性的互联网络机 构。NLA (提供者)可以将其地址再往下分给它的定购者。由于在相同TLA 下的NLA地址有相同的TLA前缀,所以,路由很有效率。具有相同提供者的 定购者有着同样的NLA地址前缀。
基于集聚的分配方案是基于一定数量的高层次的交换节点,永久的 lnternet服务提供者和电信运营商通过这些节点互联。因为信息交换是全球性 的,所以这些具有IPv6地址等级的交换节点有一定的地理分布。通常,这些 节点被提供给大的运行商。
基于IPV6的地址聚合结构中,头3个地址为单播或多播等的地址类型。 接下来的13位分配给世界上不同的TLA。接下来的32位分配给下一层的提供 者和定购者。
下一层的集聚可以再划分NLA地址域来创建她们自己的等级,比如可以 将NLA地址映射到现有的较大的ISP,下面再划分给较小的ISP,等等。
由于目前骨干路由器很缺乏,因此随着lnternet继续扩张,IPv6的等级路
由的应用是使得骨干路由器控制路由表的唯一办法。通过基于集聚的地址等 级,定购者的内部网段可以通过高级集聚点来访问,这使得骨干路由器通过 TLA地址前缀来汇总路由表。
高一等级(层次)的路由器可以只查看TLA地址前缀来快速计算路由。 IPv6的巨大等级地址空间允许进行更为分散的地址分配。
基于集聚的地址只是IP v6地址空间的 一 部分,其它的地址范围在多播 时,或只需要在一个有限范围内具有一个唯一的地址时分配给站点本地地址 和链路本地地址。据IETF,站点本地地址是过时了的概念, 一些特殊的地址 概念在IPV6的地址空间中可以使用,如下所示
1、 链路本地地址供企业内部使用,不被公共的注册^/L构使用。链路本 地地址用于一个链路范围内的应用,也可以作为在一些站点得到全球单播地 址前的临时的、"过渡的"("bootstrapping")站点地址。
2、 站点本地地址在站点内使用的地址,类似于IPv4的私网地址。
3、 多播地址定义一组接口。发给一个多播地址的数据包将被发往多播 组的所有接口,在IPV6中没有广播地址。广播地址由多播地址所取代。
4、 多播地址描述
ffx1 :节点本地范围,不会转发出该节点。
ffx2:链路本地范围,不会由路由器转发。(用于链路范围)
ffx5:站点本地地址,不会转发出该站点。
ffx8:组织本地地址,不会转发出该组织。该类地址由路由协议控制。 ffxe:全球范围。
5、 任播地址用于一组接口。但是转发到任播地址的数据包将净皮路由 到具备该地址的一组接口中最近的接口。任播地址和仝球地址在同一个范 围。
6、 嵌入IPv4地址的IPv6地址IPv6过渡机制提供一种技术,可以通 过IPv4的路由结构将IPv6的包以隧道的方式传输。使用这种技术的IPv6节 点被分配给特殊的IPv6单播地址,这种地址的低32位是IPv4的地址。称这 种地址为"与IPv4兼容的IPv6地址,,,格式如下
80 bits
16 bits
32 bits
用于"IPv4兼容的IPv6地址"必须是一个唯一的全球单播IPv4地址。 另夕卜,定义了一种嵌入IPv4地址的IPv6地址。这种地址用IPv6的地址来表 示IPv4节点。该地址被称为"映射IPv4的IPv6地址",格式如下
80 bits
16 bite
32 bits
0000000..............................................0000000
FFFF
IPV4 address
与本发明有关的现有技术是IPv6 over BGP/MPLS VPN技术。
现有技术存在如下缺陷
1、 采用MPLS封装IPv6报文,带来附加开销;
2、 要求骨干网必须支持MPLS,必须运行某种标签分发协议,如LDP协 议,带来附加开销;
3、 跨越自治系统的方法复杂,开销大;
4、 访问lnternet的方法复杂;
5、不能用于IPv4site,通过IPv6网络的互连,形成VPN。

发明内容
本发明的目的是提供一种基于IPv6地址结构实现虚拟专用网的方法,本 发明利用IPv6地址容纳VPN信息,而且统一VPN报文与普通IP报文的转发流 程,可在纯IPv6网络上承载VPN流量,解决了现有技术骨干网必须支持 MPLS,以及采用MPLS封装IPv6报文带来附加开销问题。
本发明的目的是通过以下技术方案实现的
本发明提供一种基于IPv6地址结构实现虚拟专用网的方法,其包括
A、 基于IPv6地址结构设置虚拟专用网VPN内各个站点的VPN本地地址 和VPN全局地址;
B、 根据所述设置的本地地址和全局地址建立所述VPN中各站点的路由 信息,并根据所述路由信息,通过VPN内各站点传输VPN报文。
其中,所述步骤A具体包括
A1、基于IPv6地址结构设置VPN内各个站点的VPN本地地址和VPN全局
地址;
A2 、建立所述VPN本地地址和VPN全局地址间的映射关系。 其中,所述步骤B具体包括
B1、根据所述设置的本地地址和全局地址,在VPN内的PE设备上配置 所述VPN中各站点的路由信息;
B2、在每个站点上配置所述站点与与其相关联的站点间的路由信息; B3、根据所述路由信息,通过VPN内各站点传输VPN报文。 其中,所述步骤B1具体包括
B11、在初始化时,在PE设备中配置VPN site,并为其赋予VPN site
ID;
B12、当VPN内有单播报文时,PE设备根据所述VPN site ID生成VPN内 各个站点的IPv6聚合路由;
B13、所述PE设备通过路由协议将所述IPv6聚合路由发布给VPN的P设 备和/或目的PE;
B14、所述P设备和/或目的PE根据所述VPN site ID中包含的VPN ID信 息,与本地配置的VPN sitelD中的VPN ID进行比较,若相同,则保存此路 由;否则丢弃所述路由;
或,
B15、在初始化时,在PE设备中配置VPN site,并为其分配VPN group ID信息;
B16、当VPN内有组播报文时,通过组播路由协议,将所述分配的VPN group ID信息加入到组4番组中的各个VPN site中;
或,
B17、在初始化时,通过VPN的PE设备配置VPN内各个site,并为所述 各个site分别分配VPN site ID信息、入口路由目标RT信息和出口 RT信息;
B18、当VPN内有单播报文时,PE设备根据所述VPN site ID信息、入口 RT信息和出口RT信息生成IPv6聚合路由信息,并在所述IPv6聚合路由信息 中添加出口 RT信息中包含的RT扩展团体属性,然后通过路由协议将其发布 给VPN的P设备和/或目的PE;
B19、所述P设备和/或目的PE根据所述VPN路由中的RT扩展团体属性信 息,与本地配置的入口RT信息中的RT扩展团体属性信息进行比较,若至少 有一个RT扩展团体属性信息相同,则保存此路由;否则丟弃所述路由。
其中,所述步骤B2具体包括
B21、在各个VPN站点上静态配置其与与其相关联的站点间的路由信
息;
成,
B22、在各个VPN站点上通过在PE设备与PE设备间运行路由协议,获得 与所述site相关联的站点的路由信息。 其中,所述步骤B22具体包括
B221、通过在本地PE设备上设置的站点发布VPN路由信息给目标PE设 备,所述VPN路由信息携带所述站点的VPN site ID信息;
B222、所述目标PE接收到所述VPN路由信息时,根据所述VPN site ID 信息检查其内是否存在与本地PE上设置的站点属于同一VPN的站点,若存在 属于同一个VPN的站点,则将所述站点的信息加入到本地PE上设置的站点的 路由信息中。
其中,当在VPN内部的各个站点之间转发报文时,所述步骤B3具体包

B31 、根据所述设置的VPN内各个站点的VPN本地地址构造VPN报文的 源地址和目的地址;
B32、根据所述站点上配置的路由信息,采用标准的单/组播转发机制, 将所述VPN报文转发给所述目的地址对应的站点。
其中,当在入口PE设备转发报文时,所述步骤B3具体包括
B33、所述入口PE对接收到的报文进行分析,得到所述报文的源地址对 应的site;
B34、为所述报文添加所述源地址对应的site的VPNsitelD信息,并将源 地址转换为源VPN全局地址;
B35、根据所述报文携带的目的地址查找相应的目的site的路由信息,获 得目的VPN site ID信息;
B36、根据所述获得的目的VPN site ID将所述报文携带的目的地址转换 为目的VPN全局地址,并4艮据所述目的VPN site ID信息将所述才艮文转发给对
应的site;
或,
B37、所述入口PE对接收到的报文进行分析,得到所述报文的源地址对 应的site;
B38、通过添加对应的site的VPN site ID信息,将源地址转换为源VPN 全局地址;
B39、通过添加VPN group ID信息,将所述报文携带的目的地址转换为 目的VPN全局组播地址;
B310、根据所述VPN group ID信息查找在PE设备上保存的组播路由信 息,获得相应的目的VPNsitelD信息,并根据所述目的VPNsitelD信息将所 述报文组播给对应的site。
其中,当通过P设备转发报文时,所述步骤B3具体包括
B311、所述P设备接收到单播报文时,根据获得的目的site的聚合路 由,采用标准的IPv6路由方式将所述报文转发给出口PE;
或,
B312、所述P设备接收到组播报文时,根据所述报文中携带的VPN全局 组播地址中的VPN group ID信息,查找组播路由信息,得到相应的多播组中 的各个site的site ID信息;
B313、根据所述得到的各个site ID信息将所述组播报文组播给相应的多 播组中的各个site。
其中,当在出口PE设备转发报文时,所述步骤B3具体包括
B314、当出口PE设备接收到单播报文时,将所述报文的源、目的全局 地址转换为VPN内部的单播本地地址;
B315、根据目的全局地址中的VPN site ID信息查找并获得对应的site的 本地路由4言息;
B316 、根据所述获得的本地路由信息转发所述报文;
或,
B317、当出口PE设备接收到组播报文时,将所述报文的源全局地址转 换为VPN内部的本地地址;
B318、根据报文携带的目的地址中的VPN group ID信息查找并获得对应 的site的本地路由信息并根据所述获得的本地路由信息将目的全局地址地址 转换为VPN内部的组播本地地址;
B319、根据转换后的VPN内部的组播本地地址中的group ID信息转发所 述报文。
其中,当所述VPNsite访问因特网时,所述步骤B3具体包括
B320、所述VPN site根据VPN site ID信息将VPN内site的源本地地址转
换为源全局地址,并将目的本地地址转换为因特网全局地址; B321、 #4居转换后的因特网全局地址访问因特网。 其中,在所述步骤B3之前包括
在所述入口PE设备中配置其与VPN site连接的接口仅接收目的地址为 VPN本地地址以及lnternet全局地址的报文,并拒绝接收目的地址为VPN全局 i也址的才艮文;以及,
在所述P设备中配置拒绝接收源/目的地址为VPN本地地址的报文。
其中,在所述步骤B3之前还包括
B322、当所述出口PE接收到报文后,提取所述报文中的源地址中的 VPN site隨息;
B323、根据所述VPN site ID信息,检查所述报文进入本出口 PE的接口 是否为获得VPN site聚合路由的接口,若是,则通过出口PE转发所述报文, 否则,丟弃所述报文。
其中,当VPN内存在IPv4站点时,所述步骤B1还包括
在PE设备上为所述IPv4站点分配IPv4的VPN site ID,并根据所述分配的 IPv4 site ID信息,在PE设备上配置各个IPv4站点的IPv4路由信息;
或,
在PE设备上为所述IPv4站点分配IPv4的VPN group ID,并通过组播路由 协议,在PE设备上将所述分配的IPv4的VPN group ID信息加入到组播组中的 各个VPN site中。
其中,当VPN内存在IPv4站点时,所述步骤B2还包括
在各个IPv4站点上为所述IPv4站点分配IPv4的VPN site ID信息,并根据 所述分配的IPv4 site ID信息,在各个IPv4站点上分别配置其与相关联的IPv4 站点间IPv4路由信息;
或,
在各个IPv4站点上为所述IPv4站点分配IPv4的VPN group ID,并通过组 播路由协议,在各个IPv4站点上将所述分配的IPv4的VPN group ID信息加入 到组播组中的各个VPN site中。
其中,当通过VPN内IPv6骨干网转发IPv4报文时,所述步骤B3具体包
括;
B324、当入口PE接收到IPv4单播报文时,首先分析所述报文的源IPv4 地址,并根据所述源地址信息查找所述配置的IPv4路由信息,得到相应的目 的IPv4地址信息,然后将所述源和目的IPv4地址转换为内嵌IPv4的IPv6单播 地址,并根据所述目的地址转发所述IPv4报文;
B325、当所述P设备接收到所述报文时,根据所述IPv6聚合路由信息转 发所述报文给出口 PE设备;
B326、出口PE设备根据所述报文中携带的IPv4的VPN site ID信息确定 所述报文的目的地址对应的站点为IPv4站点时,则查找IPv4路由信息,将所 述目的IPv6地址转换为IPv4目的地址,并根据所述IPv4目的地址将所述报文
转发给对应的目的站点; 或,
B327、当入口PE接收到IPv4组播报文时,首先分析所述报文的源IPv4 地址,并根据所述源地址信息查找所述配置的IPv4路由信息,得到相应的目 的IPv4地址信息,然后将所述源和目的IPv4地址转换为内嵌IPv4的IPv6单播 地址,并根据所述目的地址在IPv6网中转发所述IPv4报文;
B328、当所述报文到达出口PE设备时,出口PE设备根据所述报文中携 带的IPv4的VPN group ID信息确定所述报文的目的地址对应的站点为IPv4站 点时,则查找IPv4路由信息,将所述目的IPv6地址转换为IPv4目的地址,并 根据所述IPv4目的地址将所述报文转发给对应的目的站点。
由上述本发明提供的技术方案可以看出,本发明基于IPv6地址结构设置 虛拟专用网VPN内各个站点的VPN本地地址和VPN全局地址;然后根据所述 设置的本地地址和全局地址建立所述VPN中各站点的路由信息,并根据所述 路由信息,通过VPN内各站点传输VPN报文。本发明利用IPv6地址容纳VPN 信息,而且统一VPN报文与普通IP报文的转发流程,可在纯IPv6网络上承载 VPN流量,解决了现有技术骨干网必须支持MPLS,以及采用MPLS封装IPv6 报文带来的附加开销问题;
另外,本发明^4居目的地址前缀的区别,各个site可以同时访问Internet 和VPN,从而实现简便;在跨越自治系统时,只需将VPN site、 VPN group 的路由发布到相邻的自治系统,无需自治系统边界路由器存储/转发VPN路 由,也无需多层标签栈,从而实现比较简单;另外,通过本发明,VPN组成 关系清晰,VPN路由只需要携带固定长度的site ID,便于处理;而且VPN site前缀由运营商PE添加,并且在入口PE作合法性检查,在出口PE作RPF检 查,保证了VPN的安全性。再者,IPv4 site无需升级到IPv6,即可通过IPv6 骨干网互连,形成VPN。


图1为VPN结构示意囝; 图2为本发明的流程图。
具体实施例方式
本发明提供一种基于IPv6地址结构实现虚拟专用网的方法,其核心为 首先基于IPv6地址结构设置虚拟专用网VPN内各个站点的VPN本地地址和 VPN全局地址;然后根据所述设置的本地地址和全局地址建立所述VPN中各 站点的路由信息,并根据所述路由信息,通过VPN内各站点传输VPN报文。
本发明提供的第一实施例,基于如图1所示的传统的运营商提供的VPN 结构,在所述VPN中,包括CE设备、入口PE设备、P设备和出口PE设备。 其中PE设备和P设备构成VPN公网,CE设备和PE设备构成VPN内网。在上 述设备中设置站点(Site),每个Site均有ID,内部/全局各有一个,分别称 为VPN本地Site ID和全局Site ID,其中,全局Site ID可以与VPN公网地址的 SitelD相同,^f旦有不同的前缀。
其具体实现过程如图2所示,包括
步骤100、基于IPv6地址结构设置各个站点的虚拟专用网VPN本地地址 和VPN全局地址,并在所述VPN全局地址中使用site ID标识各站点。 设置VPN本地地址的过程如下
类似链路本地地址和站点本地地址设置方法设置VPN本地地址,VPN本 地地址仅在VPN内网有效,VPN内网中各设备间互访,均采用这种地址。 单播VPN本地地址结构设置为如下所示的结构
I 10 bits I 54-n bits | n bits | 64 bits |
+----------+--------------------------+----------------------------+
I prefix I reserved I subnet ID|interface ID |
+----------+--------------------------+----------------------------+
为了允许目前的主机、路由器不加修改即可使用VPN本地地址,采用与 站点本地地址相同的前缀类型,如11111"011设置VPN本地单接地址,如 下
I10 bits I 38 bits | 16 bits | 64 bits |
+----------+--------------------------+----------------------------+
UllllllOlli reserved | subnet ID|interface ID |
+----------+--------------------------+----------------------------+
组播VPN本地地址结构设置为如下所示的结构
8 I 4 I 4 I 112-n
|llllllll|figs I scop I reserved | group ID
+--------+----+----+-----------------------------------------
其中,flgs字段包含4个比特,如下
|0|V|0|T| +—+—+—+—+
将flgs字段中的V比特(第10位)设置为1,标识其是VPN组播地址;为 了兼容RFC3306,将第11比特设置为0; T比特(第12位)设置为1 ,标识所 述组播地址是非永久的。scop段(13-16位)为1000,表示VPN内网中有效
的组播地址。如此设置后,形成如下的格式
i 8 i 4 | 4 | 80| 32 +--------+----+----+-----------------------------------------
11111111110101110001 reserved | group ID
+--------+----+----+-----------------------------------------
VPN全局地址用于在运营商网络,即VPN公网上对VPN内的目的地址进 行寻址。运营商只关心路由器如何到达一个VPN站点,以及到达哪个VPN站 点,而不关心如<可到达VPN内部目的站点。
VPN全局地址不同于全局公网地址,路由器必须防止不同VPN的VPN全 局地址相互可达。
设置VPN全局地址的过程如下
单播VPN全局地址设置为如下结构
I 48-n bits 1 n bits | 64 bits |
|vpn global routing prefix| subnet ID | interface ID |
为了在VPN公网中寻址到一个VPN Site,将所述vpn global routing prefix设置为包含一个前缀002,以及一个VPN Site ID的结构;Subnet ID和 interface ID仅用于保存VPN内部单播地址,在VPN公网上寻址时被忽略。如 此设置后,形成如下结构
I 3 I 45 bits I 16 bits | 64 bits i
+—+---------------------+-----------+----------------------------+
|002| VPN site ID | subnet ID | interface ID |
组播VPN全局地址设置为如下结构:
8 I4 I4 I 112-n-m Im In ---------+----+----+---------------+--------------+-------------
11111111ifigs I scop I reserved| VPN group ID | group ID
---------+----+----+---------------+--------------+-------------
其中,VPN group ID表示VPN的各个Site之间传播组播报文的组播组。
当scop字段设置为1110时,表示所述地址为在全局有效的组播地址。group ID仅用于保存VPN内部的组播地址,在公网上寻址时被忽略。如此设置后, 形成如下的结构
i 8 i 4 I 4 I 48 I 32 | 32 | +--------+----+----+--------------+--------------+---------------+
Ulllllll|010l|lll0| reserved | VPN group ID I group ID |
+--------+----+----+---------------+--------------+---------------+
上述设置的单播VPN本地地址和VPN全局地址之间可互相映射,在映射 时,所述lnterface ID、 subnet ID字段在映射时保持不变,处理其它字段时, 根据全局/本地地址的结构特征,添加不同的前缀,并添加或清除VPN site ID信息。
组播VPN全局地址由VPN本地地址映射而成,在映射时,按照全局/本地 地址的特征设置scop字段,并添加或清除VPN group ID。
步骤200、建立各个site间的连接关系,即VPN的拓朴关系。 VPN拓朴关系的建立方法包括如下三种
第一种,使用单播VPN全局地址中的VPN Site ID字段中的部分字段标识 VPN,即VPN ID,如果一些Site属于同一个VPN网络,则它们具备同样的 VPNID。 VPN site ID格式如下
I 45_m bits Im bits |
i VPN ID ISite ID |
第二种方式,为单播VPN全局地址中的VPN site ID字段附加路由属性来 表达VPN拓朴关系。这种路由属性可采用BGP扩展团体属性中的目标路由 (Route Target; RT)的格式。
第三种方式,在VPN内的PE设备上静态配置一个site与其它相关联的site 间的VPN关系,形成VPN拓朴关系。
步骤300、配置所述VPN内各个site设备的路由属性信息。 步骤300的具体实施过程如下
步骤310、在PE设备上配置VPN内的各个site间的路由信息。
针对步骤200中的通过第一种方式形成的VPN拓朴关系,在初始化时, PE设备配置VPN内的各个site,并为其分配相应的VPN site ID信息,PE设备 根据所述VPN site ID信息生成IPv6聚合路由,称为VPN site路由,例如 002:VPN site ID::/48,并通过路由协议发布给VPN的P设备以及其它PE设 备。目的PE设备根据所述VPN site ID信息中包含的VPN ID信息,与本地配 置的VPN site ID中的VPN ID进行匹配,如果相同,则保存这条路由,否则丢 弃。具体实时过程包括如下步骤
步骤311、在PE设备中设置VPN site,并为其赋予VPN site ID;
步骤312、 PE设备根据所述VPN site ID生成IPv6聚合路由,即VPN site 路由;
步骤313、所述PE设备通过路由协议将所述IPv6聚合路由发布给VPN的 P设备和/或目的PE;
步骤314、所述P设备和/或目的PE根据所述VPN site ID中包含的VPN ID 信息,与本地配置的VPN site ID中的VPN ID进行比较,若相同,则保存此路 由;否则丢弃所述路由。
经过上述过程后,属于同一个VPN的各个Site之间可达,不属于同一个 VPN的各个Site之间不可达。
如果VPN内有组播报文,则当PE设备配置VPN site时,需要为所述VPN site分配VPN group ID信息,并通过组播路由协议,将其加入到组播组 (group)中的VPNsite中。
针对步骤200中通过第二种方式形成的VPN拓朴关系,当VPN内仅仅转 发单播报文时,通过初始化,在VPN的PE设备上配置VPN内的各个site,并 为所述各个site分别分配VPN site ID、入口 RT列表和出口 RT列表。PE设备 根据这些信息生成一个IPv6聚合路由信息,例如002:VPN site ID::/48,并添 加出口RT列表中包含的RT扩展团体属性,通过路由协议发布给P设备以及其 它PE设备。目的PE设备将VPN路由中的RT列表与本地入口RT列表进行匹 配,如果至少有一个RT扩展属性相同,则保存这条路由,否则丢弃。这样, 根据RT扩展属性的匹配关系,可构造full mesh, hub-spoke请提供相应的中 文等多种VPN拓朴形式,并可以构造lntranet, Extranet请提供相应的中文 等。具体实施过程包括如下步骤
步骤315、在初始化时,通过VPN的PE设备配置VPN内各个site,并为
所述各个site分别分配VPN site ID信息、入口路由目标RT信息和出口RT信 自
步骤316、 PE设备根据所述VPN site ID信息、入口RT信息和出口RT信 息生成IPv6聚合路由信息;
步骤317、在所述IPv6聚合路由信息中添加出口RT信息中包含的RT扩展 团体属性,并通过路由协议将其发布给VPN的P设备和/或目的PE;
步骤318、所述P设备和/或目的PE根据所述VPN路由中的RT扩展团体属 性信息,与本地配置的入口RT信息中的RT扩展团体属性信息进行比较,若 至少有一个RT扩展团体属性信息相同,则保存此路由;否则丟弃所述路由。
如果VPN内有组播报文,则通过PE配置VPN内各个site时,为所述各个 site分配VPN group ID信息,然后,PE设备通过组播路由协议,将所述VPN group ID4言息-力口入5iJ纟且才番纟且(group)的各个site。
经过上述步骤后,无论哪种方式,最终在PE上为每个site形成一个路由 列表,在所述列表中包含了与所述site存在VPN关系的各个site的site ID信息。
步骤320、在各个site上配置所述site的路由信息。具体实施过程包括如 下步骤
步骤321、静态配置各个site间的路由信息;
或,
步骤322、通过在PE设备与PE设备间运行路由协议,获得与所述site属 于同一VPN的其它Site的路由信息。 步骤322的实施过程具体包括
首先,本地PE设备发布VPN路由信息给目标PE设备,所述VPN路由信 息携带本地PE设备上设置的site的VPN site ID信息。
接着,所述目标PE接收到所述VPN路由信息时,根据所述VPN site ID 信息检查其内是否存在与本地PE上设置的Site属于同一VPN的Site,若存在 属于同一个VPN的Site,则将所述Site的信息加入到本地PE上设置的Site的路 由信息中。
所述Site的路由信息包含了所述site以及与所述site有VPN关系的全部site
的路由信息。
步骤400、基于上述设置的site路由信息实现VPN报文的传输。具体实施 过程如下
当在VPN内部的各个site之间转发报文时
由于通过上述配置过程,在每个Site均已经获得到达其它site的路由,故 能够采用标准的单/组播转发机制。所述Site通过标准的单播/组播转发机制转 发VPN报文给VPN内部的其它Site设备,所述报文携带的源/目的地址均采用 VPN内部地址格式构造。
当需要通过入口 PE设备中的site转发VPN报文时
由于通常全局VPN地址,包括源/目的地址只能由PE生成,为防止伪造的VPN报文进入骨干网,在PE设备上需要进行入口检查,即在PE设备连接 各个site的接口上,配置其仅接收目的地址为VPN本地地址以及lnternet全局 地址的报文,拒绝接收目的地址为VPN全局地址的报文。同时配置其它接口 不接收源/目的地址为VPN本地地址的报文。以及配置P设备不接收源/目的地 址为VPN本地地址的报文。
当在入口PE设备转发VPN报文时,首先,要识别所述VPN报文属于哪个 Site, —般采用接口/子接口方式来识别,也可以根据IPv6三元组/IPv4五元组 A/LAN/DSCP等多种方式来进行识别。 一旦识别之后,对于单播报文,在所 述报文携带的源地址结构中增加VPN site ID信息,将源地址转换为源VPN全 局地址,然后,根据目的地址,查找PE设备上保存的site路由信息,当找到 对应的目的site的site ID信息后,则根据所述目的site ID信息将报文中携带的 目的地址转换为目的VPN全局地址,然后根据转换后的目的VPN全局地址, 将所述VPN报文转发到下一跳。对于组播报文,首先添加源VPN site ID,将 源地址转换为源VPN全局地址;然后添加VPN group ID信息,将目的地址转 换为目的VPN全局组播地址;然后根据所述VPN group ID信息在PE设备上保 存的组播路由信息中查找对应的目的site ID信息,最后根据所述查找到的目 的site ID信息将所述VPN报文进行转发。具体实施过程如下
当在入口 PE设备转发单播报文时,包括
步骤411、所述入口PE对接收到的报文进行分析,得到所述报文的源地 址对应的site;
步骤412、为所述报文添加所述源地址对应的site的VPN site ID信息,并 将源地址转换为源VPN全局地址;
步骤413、根据所述报文携带的目的地址查找相应的目的site的路由信 息,获得目的VPN site ID信息;
步骤414、根据所述获得的目的VPN site ID将所述报文携带的目的地址
转换为目的VPN全局地址,并根据所述目的VPN site ID信息将所述报文转发 给对应的site。
当在入口 PE设备转发组播报文时,包括
步骤421、所述入口PE对接收到的报文进行分析,得到所述报文的源地 址对应的site;
步骤422、通过添加对应的site的VPN site ID信息,将源地址转换为源 VPN全局地址;
步骤423、通过添加VPN group ID信息,将所述报文携带的目的地址转 换为目的VPN全局组播地址;此处的VPN group ID信息从哪里获得?
步骤424、根据所述VPN group ID信息查找在PE设备上保存的组播路由 信息,获得相应的目的VPN site ID信息,并根据所述目的VPN site ID信息将 所述"t艮文组播给对应的site。
当需要在P设备转发VPN报文时
对于单播报文,由于P设备已经获得了到达目的site的聚合路由,因此, 采用标准的IPv6路由转发即可到达出口PE。对于组播报文,需要根据VPN全 局组播地址中的VPN group ID信息,查找组播路由信息,进行转发。其不同 于标准的组播转发流程,而是按照最长匹配的方式根据组播聚合路由进行转 发,也称为组播聚合路由转发。具体实施过程如下
当通过P设备转发单播VPN报文时,包括
步骤431、所述P设备接收到单播报文时,根据获得的目的site的聚合路 由,采用标准的IPv6路由方式将所述报文转发给出口PE; 当通过P设备转发组播VPN报文时,包括
步骤432、所述P设备接收到组播报文时,根据所述报文中携带的VPN全 局组播地址中的VPN group ID信息,查找组播路由信息,得到相应的多播组 中的各个site的site ID信息;
步骤433、根据所述得到的各个site ID信息将所述组播报文组播给相应 的多播组中的各个site。
当需要通过出口PE设备转发VPN报文时
当需要通过出口PE设备转发报文时,为防止入口PE上的误配置或安全 检查失效,在出口PE上,应该防止进入的报文设置了非法源site ID。方法 是当所述出口PE接收到报文后,首先提取所述报文中的源地址中的VPN sitelD信息;然后,根据所述VPN site ID信息,检查所述报文进入本出口PE 的接口是否为获得VPN site聚合路由的接口,若是,则通过所述出口PE转发 所述报文,否则,丟弃所述报文。
在出口PE上转发VPN报文时,对于单播报文,首先将源、目的全局地址 转换成VPN内部的单播本地地址,然后根据转换后的目的地址中的site ID信 息,查找对应的本地site路由信息,并根据所述信息转发所述VPN报文。对 于组播报文,将源地址转换为VPN内部的组播本地地址,并根据目的地址中 的VPN group ID信息,定位到本地site,将目的全局地址地址转换为VPN内 部的组播本地地址,然后根据转换后的VPN内部的组播本地地址中的group ID信息转发所述^^文。具体实施过程如下
当在出口PE设备转发单播报文时,包括
步骤451、当出口PE设备接收到单播报文时,将所述报文的源、目的全 局地址转换为VPN内部的单播本地地址;
步骤452、根据目的全局地址中的VPN site ID信息查找并获得对应的site 的本地路由信息;
步骤453 、根据所述获得的本地路由信息转发所述报文;
当在出口 PE设备转发组播报文时,包括
步骤454、当出口PE设备接收到组播报文时,将所述报文的源全局地址 转换为VPN内部的本地地址;
步骤455、根据报文携带的目的地址中的VPN group ID信息查找并获得 对应的site的本地路由信息并根据所述获得的本地路由信息将目的全局地址 地址转换为VPN内部的组播本地地址;
步骤456、根据转换后的VPN内部的组播本地地址中的group ID信息转
发所述报文。
上述过程描述了VPN内各个site之间互相访问的过程,VPN site除了访问 VPN内其它site外,还可以同时访问lnternet。
当所述VPN site访问因特网时,所述VPN site根据VPN site ID信息将 VPN内site的本地地址转换为因特网全局地址,并根据转换后的因特网全局 地址访问因特网。
VPN内部的本地地址转换为lnternet全局地址的格式如下所示
|3| 45 bits I 16 bits | 64 bits |
10011 global routing prefix| subnet ID | interface ID |
+——+---------------------+------------+----------------------------+
上述格式为RFC3587标准格式,其中,global routing prefix可以通过 VPN sitelD自动生成。
通过本发明,可以看出,在转发VPN报文时,采用了标准的IPv6路由转 发方式,因此在跨越自治系统时,只需要将VPN内各个site,或VPN内的组 播组(group)的路由信息发布到相邻的自治系统,以及属于同一个VPN网 络的PE设备之间分发VPN内各个site的路由即可。
通过本发明,还能够实现IPV4站点的互联,即通过IPv6骨干网络将多个 IPv4网络互相连接起来,或者接入采用IPv4地址的VPN用户,此时对于单播 报文,VPN内的PE设备对每个IPv4 site,仍然分配一个IPv6的VPN site ID; 对于组播报文,对每个IPv4 site仍然分配一个VPN group ID,同时维护IPv4 路由信息,并保存到IPv4路由信息中,但这种IPv4路由信息携带一个路由属
29
性,包含IPv4所属的VPNsitelD。
通过VPN拓朴发现过程,PE设备获得site内部的IPv4路由后,要增加 VPN site ID属性,发布给其它PE设备,目的PE设备检查这个site是否与本地 的某个site属于同一个VPN,如果相同,则保存这条路由,否则丢弃。
从CE设备进入PE设备的单播报文,根据入接口等信息确定它源自哪个 site,然后查找IPv4路由表,确定相应的目的site,然后将源/目的IPv4地址转 换为内嵌IPv4的IPv6 VPN单播地址,格式如下
I 3 I 45 bits I 32 I 16 I 32 bits I
+—+-------------------------------+--------+--------------------------+
10021 VPN site ID |reserved|FFFF| IPv4 address i
+——+-----------------------------+--------+----+---------------------+
然后根据目的site,找到下一跳进行转发。进入P设备的单播报文,P设 备根据上述地址,查找VPN site的聚合路由,进行转发。到达出口PE时,根 据VPN site ID,获知其目的地址是一个IPv4 site,转换为IPv4地址,查找 IPv4路由表转发给CE。
从CE进入PE的组播报文,首先根据入接口等信息确定它源自哪个site, 确定VPN group,然后将源地址转换为内嵌IPv4的IPv6 VPN单播地址,将目 的地址转换为内嵌IPv4的IPv6 VPN组播地址,格式如下
I 8 I 4 I 4 I 48 I32 | 32 !
|11111111|0101|1110| reserved | VPN group ID | IPv4 address |
+--------+----+----+---------------h------------------------------+
然后根据VPN group,在骨干网内进行转发。到达出口PE时,根据VPN group ID,知道其目的地是一个IPv4 site,转换为IPv4组播地址,然后转发 给CE。
由上述本发明的具体实施方案可以看出,本发明利用IPv6地址结构,无
需附加VPN前缀即可组成VPN地址,VPN网络内部本地地址的寻址和VPN报 文的封装都基于IPv6地址结构,VPN网络中站点的路由不需要采用特殊方 法,采用普通的IPv6路由即可实现,也不需要采用特殊的隧道来封装VPN报 文。而且在VPN骨干网内部不需要保存、也不需要发布VPN内部各个站点的 路由信息。因此,其存在如下显著效果
1、 利用IPv6地址容纳VPN信息,VPN报文无需附加的开销;
2、 VPN报文与普通IP报文的转发流程统一,可在纯IPv6网络上承载VPN 流量;
3、 P设备仅维护VPNsite聚合路由,开销小;
4、 VPN组成关系清晰,VPN路由只需要携带固定长度的site ID,便于处
理;
5、 根据目的地址前缀的区别,site可以同时访问lnternet和VPN,实现简
便;
6、 VPN site前缀由运营商PE添加,并且在入口PE作合法性检查,在出 口PE作RPF检查,保证了VPN的安全性;
7、 IPv4 site无需升级到IPv6,即可通过IPv6骨干网互连,形成VPN;
8、 跨越自治系统的方法实现简单,无需自治系统边界路由器存储/转发 VPN路由,也无需多层标签栈。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到的变化或替换,例如IPv4站点间的互联的情况,都应涵盖在本发明 的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为 准。
权利要求
1、一种基于IPv6地址结构实现虚拟专用网的方法,其特征在于,包括A、基于IPv6地址结构设置虚拟专用网VPN内各个站点的VPN本地地址和VPN全局地址;B、根据所述设置的本地地址和全局地址建立所述VPN中各站点的路由信息,并根据所述路由信息,通过VPN内各站点传输VPN报文。
2、 根据权利要求1所述的方法,其特征在于,所述步骤A具体包括A1、基于IPv6地址结构设置VPN内各个站点的VPN本地地址和VPN全局地址;A2、建立所述VPN本地地址和VPN全局地址间的映射关系。
3、 根据权利要求1所述的方法,其特征在于,所述步骤B具体包括B1、根据所述设置的本地地址和全局地址,在VPN内的PE设备上配置 所述VPN中各站点的路由信息;B2、在每个站点上配置所述站点与与其相关联的站点间的路由信息; B3、根据所述路由信息,通过VPN内各站点传输VPN报文。
4、 根据权利要求3所述的方法,其特征在于,所述步骤B1具体包括 B11、在初始化时,在PE设备中配置VPN site,并为其赋予VPN siteID;B12、当VPN内有单播报文时,PE设备根据所述VPN site ID生成VPN内 各个站点的IPv6聚合路由;B13、所述PE设备通过路由协议将所述IPv6聚合路由发布给VPN的P设 备和/或目的PE;B14、所述P设备和/或目的PE根据所述VPN site ID中包含的VPN ID信 息,与本地配置的VPN site ID中的VPN ID进行比较,若相同,则保存此路 由;否则丢弃所述路由; 或,B15、在初始化时,在PE设备中配置VPN site,并为其分配VPN group ID信息;B16、当VPN内有组播报文时,通过组播路由协议,将所述分配的VPN group ID信息加入到组播组中的各个VPN site中;或,B17、在初始化时,通过VPN的PE设备配置VPN内各个site,并为所述 各个site分别分配VPN site ID信息、入口路由目标RT信息和出口 RT信息;B18、当VPN内有单播报文时,PE设备根据所述VPN site ID信息、入口 RT信息和出口RT信息生成IPv6聚合路由信息,并在所述IPv6聚合路由信息 中添加出口 RT信息中包含的RT扩展团体属性,然后通过路由协议将其发布 给VPN的P设备和/或目的PE;B19、所述P设备和/或目的PE根据所述VPN路由中的RT扩展团体属性信 息,与本地配置的入口RT信息中的RT扩展团体属性信息进行比较,若至少 有一个RT扩展团体属性信息相同,则保存此路由;否则丟弃所述路由。
5、 根据权利要求3所述的方法,其特征在于,所述步骤B2具体包括 B21、在各个VPN站点上静态配置其与与其相关联的站点间的路由信息;或,B22、在各个VPN站点上通过在PE设备与PE设备间运行路由协议,获得 与所迷site相关联的站点的路由信息。
6、 根据权利要求5所述的方法,其特征在于,所述步骤B22具体包括 B221、通过在本地PE设备上设置的站点发布VPN路由信息给目标PE设备,所述VPN路由信息携带所述站点的VPN site ID信息; B222、所迷目标PE接收到所迷VPN路由信息时,根据所迷VPN site ID 信息检查其内是否存在与本地PE上设置的站点属于同一VPN的站点,若存在 属于同一个VPN的站点,则将所述站点的信息加入到本地PE上设置的站点的 路由信息中。
7、 根据权利要求3所述的方法,其特征在于,当在VPN内部的各个站点 之间转发报文时,所述步骤B3具体包括B31、根据所述设置的VPN内各个站点的VPN本地地址构造VPN报文的 源i也址和目的i也址;B32、根据所述站点上配置的路由信息,采用标准的单/组播转发机制, 将所述VPN报文转发给所述目的地址对应的站点。
8、 根据权利要求3所述的方法,其特征在于,当在入口PE设备转发报文 时,所述步骤B3具体包括B33、所述入口PE对接收到的报文进行分析,得到所述报文的源地址对 应的site;B34、为所述报文添加所述源地址对应的site的VPN site ID信息,并将源 地址转换为源VPN全局地址;B35、根据所述报文携带的目的地址查找相应的目的site的路由信息,获 得目的VPN sitelD信息;B36、根据所述获得的目的VPN site ID将所述报文携带的目的地址转换 为目的VPN全局地址,并根据所述目的VPN site ID信息将所述报文转发给对 应的site;或,B37、所述入口PE对接收到的报文进行分析,得到所述报文的源地址对 应的site;B38、通过添加对应的site的VPN site ID信息,将源地址转换为源VPN 全局地址;B39、通过添加VPN group ID信息,将所述报文携带的目的地址转换为 目的VPN全局组播地址;B310、根据所述VPN group ID信息查找在PE设备上保存的组播路由信 息,获得相应的目的VPN site ID信息,并根据所述目的VPN site ID信息将所 述报文组播给对应的site。
9、 根据权利要求3所述的方法,其特征在于,当通过P设备转发报文 时,所述步骤B3具体包括B311、所述P设备接收到单播报文时,根据获得的目的site的聚合路 由,采用标准的IPv6路由方式将所述报文转发给出口PE; 或,B312、所述P设备接收到组播报文时,根据所述报文中携带的VPN全局 组播地址中的VPN group ID信息,查找组播路由信息,得到相应的多播组中 的各个site的site ID信息;B313、根据所述得到的各个site ID信息将所述组播报文组播给相应的多 播组中的各个site。
10、 根据权利要求3所述的方法,其特征在于,当在出口PE设备转发报 文时,所述步骤B3具体包括B314、当出口PE设备接收到单播报文时,将所述报文的源、目的全局 地址转换为VPN内部的单播本地地址;B315、根据目的全局地址中的VPN site ID信息查找并获得对应的site的 本地路由信息;B316、根据所述获得的本地路由信息转发所述报文;或,B317、当出口PE设备接收到组播报文时,将所述报文的源全局地址转换为VPN内部的本地地址;B318、根据报文携带的目的地址中的VPN group ID信息查找并获得对应 的site的本地路由信息并4艮据所述获得的本地路由信息将目的全局地址地址 转换为VPN内部的组播本地地址;B319、根据转换后的VPN内部的组播本地地址中的group ID信息转发所 述报文。
11、 根据权利要求3所述的方法,其特征在于,当所述VPN site访问因 特网时,所述步骤B3具体包括B320、所述VPN site根据VPN site ID信息将VPN内site的源本地地址转换为源全局地址,并将目的本地地址转换为因特网全局地址; B321、根据转换后的因特网全局地址访问因特网。
12、 根据权利要求8所述的方法,其特征在于,在所述步骤B3之前包括在所述入口PE设备中配置其与VPN site连接的接口仅接收目的地址为 VPN本地地址以及lnternet全局地址的报文,并拒绝接收目的地址为VPN全局 地址的报文;以及,在所述P设备中配置拒绝接收源/目的地址为VPN本地地址的报文。
13、 根据权利要求10所述的方法,其特征在于,在所述步骤B3之前还包括..B322、当所述出口PE接收到报文后,提取所述报文中的源地址中的 VPNsitelD信息;B323、根据所述VPN site ID信息,检查所述报文进入本出口 PE的接口 是否为获得VPN site聚合路由的接口,若是,则通过出口PE转发所述报文, 否则,丟弃所述报文。
14、 根据权利要求3所述的方法,其特征在于,当VPN内存在IPv4站点 时,所述步骤B1还包括在PE设备上为所述IPv4站点分配IPv4的VPN site ID,并根据所述分配的 IPv4 site ID信息,在PE设备上配置各个IPv4站点的IPv4路由信息;或,在PE设备上为所述IPv4站点分配IPv4的VPN group ID,并通过组播路由 协议,在PE设备上将所述分配的IPv4的VPN group ID信息加入到组播组中的 各个VPN site中。
15、 根据权利要求3所述的方法,其特征在于,当VPN内存在IPv4站点 时,所述步骤B2还包括在各个IPv4站点上为所述IPv4站点分配IPv4的VPN site ID信息,并根据 所述分配的IPv4 site ID信息,在各个IPv4站点上分别配置其与相关联的IPv4 站点间IPv4路由信息;或,在各个IPv4站点上为所述IPv4站点分配IPv4的VPN group ID,并通过组 播路由协议,在各个IPv4站点上将所述分配的IPv4的VPN group ID信息加入 到组播组中的各个VPN site中。
16、 根据权利要求3所述的方法,其特征在于,当通过VPN内IPv6骨干 网转发IPv4报文时,所述步骤B3具体包括;B324、当入口PE接收到IPv4单播报文时,首先分析所述报文的源IPv4 地址,并根据所述源地址信息查找所述配置的IPv4路由信息,得到相应的目 的IPv4地址信息,然后将所述源和目的IPv4地址转换为内嵌IPv4的IPv6单播 地址,并根据所述目的地址转发所述IPv4报文;B325、当所述P设备接收到所述报文时,根据所述IPv6聚合路由信息转 发所述报文给出口PE设备;B326、出口PE设备根据所述报文中携带的IPv4的VPN site ID信息确定 所述报文的目的地址对应的站点为IPv4站点时,则查找IPv4路由信息,将所 迷目的IPv6地址转换为IPv4目的地址,并根据所述IPv4目的地址将所述报文 转发给对应的目的站点; 或,B327、当入口PE接收到IPv4组播报文时,首先分析所述报文的源IPv4 地址,并根据所述源地址信息查找所述配置的IPv4路由信息,得到相应的目 的IPv4地址信息,然后将所述源和目的IPv4地址转换为内嵌IPv4的IPv6单播 地址,并根据所述目的地址在IPv6网中转发所述IPv4报文;B328、当所述报文到达出口PE设备时,出口PE设备根据所述报文中携 带的IPv4的VPN group ID信息确定所述报文的目的地址对应的站点为IPv4站 点时,则查找IPv4路由信息,将所述目的IPv6地址转换为IPv4目的地址,并 根据所述IPv4目的地址将所述报文转发给对应的目的站点。
全文摘要
本发明涉及一种基于IPv6地址结构实现虚拟专用网的方法,其核心是首先基于IPv6地址结构设置虚拟专用网VPN内各个站点的VPN本地地址和VPN全局地址;然后根据所述设置的本地地址和全局地址建立所述VPN中各站点的路由信息,并根据所述路由信息,通过VPN内各站点传输VPN报文。通过本发明,不仅能够利用IPv6地址容纳VPN信息,而且根据目的地址前缀的区别,各个站点site可以访问Internet和VPN,从而实现简便;在跨越自治系统时,只需将VPN site、VPN group的路由发布到相邻的自治系统,无需自治系统边界路由器存储/转发VPN路由,也无需多层标签栈,从而实现比较简单。
文档编号H04L12/56GK101114971SQ20061010381
公开日2008年1月30日 申请日期2006年7月27日 优先权日2006年7月27日
发明者斌 李 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1