Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, SYSTEM AND NETWORK NODE FOR DS-LITE NETWORK ARCHITECTURE TO BEAR MULTICAST SERVICE
Document Type and Number:
WIPO Patent Application WO/2012/152180
Kind Code:
A1
Abstract:
Disclosed is a method for a lightweight dual-stack-lite (DS-lite) network architecture to bear a multicast service, including: when a multicast address family transition router element (mAFTR) receives an IPv4 multicast message sent from a multicast source, translating the same as an IPv6 multicast message, and sending the same to an mB4; and when the mB4 receives the IPv6 multicast message, translating the same as the IPv4 multicast message, and sending the same to a downstream multicast receiver. Disclosed at the same time are a system and network node for a DS-lite network architecture to bear a multicast service. By way of the solution of the present invention, the IPv4 multicast message can be completely converted into an IPv6 multicast message for transmitting in the IPv6 network, improving the transmission efficiency of the IPv4 multicast message in the IPv6 network, and utilizing the multicast capability of the IPv6 network to the greatest extent.

Inventors:
MA GAOFENG (CN)
QIN CHAO (CN)
JIN LIZHONG (CN)
Application Number:
PCT/CN2012/074551
Publication Date:
November 15, 2012
Filing Date:
April 23, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
MA GAOFENG (CN)
QIN CHAO (CN)
JIN LIZHONG (CN)
International Classes:
H04L29/06
Foreign References:
CN1897575A2007-01-17
Other References:
Q. WANG ET AL.: "Multicast Extensions to DS-Lite Technique in Broadband Deployments", IETF INTERNET-DRAFT DRAFT-QIN-SOFTWIRE-DSLITE-MULTICAST-03.TXT, 14 March 2011 (2011-03-14), Retrieved from the Internet
Attorney, Agent or Firm:
CHINA PAT INTELLECTUAL PROPERTY OFFICE (CN)
北京派特恩知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权利要求书

1、 一种轻量级双协议栈(DS-lite ) 网络架构承载组播业务的方法, 其 特征在于, 该方法包括:

当组播地址族翻译路由器( mAFTR )接收到组播源发送的 IPv4组播报 文时, 将所述 IPv4组播报文翻译成 IPv6组播报文, 并将所述 IPv6组播报 文发送到 mB4;

当 mB4接收到所述 IPv6组播报文时,将所述 IPv6组播报文翻译成 IPv4 组播艮文, 并将所述 IPv4组播艮文组播到组播接收者。

2、 根据权利要求 1所述的方法, 其特征在于, 所述 mAFTR将 IPv4组 播报文翻译成 IPv6组播报文为: 新建 IPv6组播报文, 将所述 IPv6组播报 文报头中的所有字段基于所述 IPv4组播报文报头填写, 报文内容不变。

3、 根据权利要求 1所述的方法, 其特征在于, 所述 mAFTR将 IPv4组 播报文翻译成 IPv6组播报文为:

所述 mAFTR新建 IPv6组播报文,将新建的 IPv6组播报文报头中的版 本( Version ) 字段置为 6; 传输种类 ( Traffic Class )字段值置为与 IPv4组 播报文中的服务类型 ( TOS )相同; 流量标签( Flow Label )字段值置为 0; 有效荷载长度( Playload Length )字段值为 IPv4组播报文的完整长度( Total Length )值减去 IPv4头的长度值; 下一个报头 ( Next Header ) 的值从 IPv4 组播报文报头中的协议 ( protocol )字段获得; 跳数限制 (Hop Limit )字段 的值与 IPv4组播报文中的生存时间 (TTL )字段值相同; 源地址(Source Address )字段的值从 IPv4组播 4艮文的源地址获得; 目的地址( Destination Address )字段的值从 IPv4组播 4艮文的目的地址获得; 所述 IPv6组播 4艮文 中的内容与 IPv4组播报文中的内容相同。

4、 根据权利要求 1所述的方法, 其特征在于, 所述 mB4将所述 IPv6 组播报文翻译成 IPv4组播报文为: 新建 IPv4组播报文, 将所述 IPv4组播 报文报头中的所有字段基于所述 IPv6组播报文报头填写, 报文内容不变。

5、 根据权利要求 1所述的方法, 其特征在于, 所述 mB4将所述 IPv6 组播报文翻译成 IPv4组播报文为:

所述 mB4新建 IPv4组播报文, 将所述 IPv4组播报文报头中的 Version 字段置为 4; 互联网头文件长度(Internet Header Length )值置为 5; TOS 值置为 IPv6组播报文中的 Traffic Class的值; Total Length值置为 IPv6组播 报文中 playload值力口上 IPv4头长度的值; Identification, Flags, Fragment Off 字段值都置为 0; TTL字段的值为 IPv6组播报文中的 Hop Limit字段的值; Source Address字段的值为 IPv6组播报文中的源地址映射到 IPv4组播报文 的源地址; Destination Address字段的值为 IPv6组播报文中的组播地址映射 到 IPv4组播报文中的组播地址; 所述 IPv4组播报文中的内容与 IPv6组播 报文中的内容相同。

6、 根据权利要求 1至 5任一项所述的方法, 其特征在于, 该方法进一 步包括: 在任意信源组播(ASM )模式中, mAFTR接收到 IPv4组播报文 为注册报文时, mAFTR解封装注册报文后得到 IPv4组播报文。

7、一种 DS-lite网络架构承载组播业务的系统, 其特征在于, 该系统包 括: mAFTR, mB4; 其中,

所述 mAFTR,用于接收到组播源发送的 IPv4组播 4艮文时,将所述 IPv4 组播报文翻译成 IPv6组播报文, 并将所述 IPv6组播报文发送到 mB4; 所述 mB4, 用于接收到所述 IPv6组播 4艮文时, 将所述 IPv6组播 4艮文 翻译成 IPv4组播报文, 并将所述 IPv4组播报文组播到组播接收者。

8、 根据权利要求 7所述的系统, 其特征在于, 所述 mAFTR, 具体用 于接收到组播源发送的 IPv4组播报文时, 新建 IPv6组播报文, 将该 IPv6 组播报文报头中的所有字段基于所述 IPv4组播报文报头填写, 报文内容不 变。 9、 根据权利要求 7所述的系统, 其特征在于, 所述 mB4, 具体用于接 收到 mAFTR发送的 IPv6组播报文时, 新建 IPv4组播报文, 将该 IPv4组 播报文报头中的所有字段基于所述 IPv6组播报文报头填写,报文内容不变。

10、 一种 DS-lite网络承载组播业务的网络节点, 其特征在于, 所述网 络节点包括 mAFTR, 所述 mAFTR接收到组播源发送的 IPv4组播 4艮文时 , 将所述 IPv4组播报文翻译成 IPv6组播报文, 并将所述 IPv6组播报文发送 到 mB4。

Description:
DS-lite网络架构承载组播业务的方法、 系统和网络节点 技术领域

本发明涉及网络通信的组播技术, 尤其涉及一种轻量级双协议栈 ( DS-lite, Dual-Stack-lite ) 网络架构承载组播业务的方法、 系统和网络节 点。 背景技术

在 IPv4到 IPv6的演进中, 很多业务仍然是 IPv4格式, 而且很多客户 端设备无法很快的更新或升级到 IPv6, 因此 IPv4和 IPv6将共存很长一段 时间, 在这段演进时间中, 在推进 IPv6服务的同时, 需要保证 IPv4服务需 要不被打断, DS-lite 网络架构是个很好的解决方案。 但是在现有的一些业 务如网络电视(IPTV )等, 存在着组播的需求, 而现阶段 DS-lite网络架构 只覆盖了单播服务的应用。

Draft-qin-softwire-delite-multicast 实现了采用 DS-lite 网络架构进行 4-6-4组播的需求, 其网络拓朴图如图 1所示, 其中 mB4 ( Multicast Basic Bridging BroadBand element )是 DS-lite网络架构组播中两个基本功能模块 之一, 一般位于客户端设备 ( CPE ), 主要用于 Internet组管理协议 ( IGMP, Internet Group Management Protocol )到组播侦听发现协议 ( MLD, Multicast Listener Discover )的转换以及将 IPv4-in-IPv6组播报文解封装成相应的 IPv4 组播报文, 并发送到合适的 IPv4 组播接收者; 组播地址族翻译路由器 ( mAFTR, multicast Address Family Transition Router element ), 主要用于将 IPv4组播源的 IPv4组播报文封装成相应的 IPv4-in-IPv6组播报文,并在 IPv6 接入网的合适的 IPv6组播分布树中发送。

在 IPv6组播分布树建立完毕后, IPv4组播源发送 IPv4组播报文到达 mAFTR; 当 mAFTR接收到该 IPv4组播报文后, mAFTR根据 IPv4组播报 文的地址在 IPv4组播路由表中进行查找,如果在 IPv4组播路由表中找到接 口匹配的地址, 那么 mAFTR对这个 IPv4组播报文进行封装, 在封装过程 中使用预先给 mAFTR配置的前缀, 利用无状态映射算法, 将 IPv4组播报 文中的 IPv4 地址映射到相应的 IPv4-embedded IPv6 地址, 并用这些 IPv4-embedded IPv6地址作为源地址和组播地址, 将 IPv4组播报文封装为 IPv4-in-IPv6组播报文, 其中, 在 IPv4-in-IPv6组播报文中, mAFTR并不对 收到的 IPv4组播 ^艮文的源地址和目的地址做任何的 NAT转换, mAFTR将 IPv4-in-IPv6组播报文沿着 IPv6组播分布树发送到相应的 mB4; 当 mB4收 到 IPv4-in-IPv6组播报文时, mB4首先检查 IPv4-in-IPv6组播报文的组播地 址是否在预先分配的 mPrefix范围内、 以及源地址是否在分配的 uPrefix范 围内, 如果不在, 则会丟弃该 IPv4-in-IPv6组播报文, 如果都在, 则解封装 该 IPv4-in-IPv6组播报文, 从而得到原始的 IPv4组播报文, 并且将这个报 文组播到下游的 IPv4组播接收者。

上述 draft-qin-softwire-dslite-multicast主要描述了当网络 4-6-4时,使 用 Ds-lite 网络架构作为过渡方案时的组播情形, 其中, 使用 IPv4-in-IPv6 的隧道技术通过 IPv6网络来发送 IPv4组播报文, 虽然可以减轻 mAFTR的 负担并且能够利用 IPv6网络的组播能力,但是, 这种方案只是将 IPv4组播 报文中的 IPv4地址映射到相应的 IPv4-embedded IPv6地址,仅相当于在 IPv4 组播报文上增加了用于在 IPv6 网络传送的报文头, IPv4组播报文仍旧为 IPv4格式, 这样不利于该 IPv4组播报文在 IPv6网络中的传送效率, 不能 最大的利用 IPv6网络的组播能力。 发明内容

有鉴于此, 本发明的主要目的在于提供一种 DS-lite网络架构承载组播 业务的方法、 系统和网络节点,提高 IPv4组播报文在 IPv6网络中的传送效 率, 最大的利用 IPv6网络的组播能力。

为达到上述目的, 本发明的技术方案是这样实现的:

本发明提供的一种 DS-lite网络架构承载组播业务的方法,该方法 括: 当 mAFTR接收到组播源发送的 IPv4组播报文时,将所述 IPv4组播报 文翻译成 IPv6组播 4艮文, 并将所述 IPv6组播 4艮文发送到 mB4;

当 mB4接收到所述 IPv6组播报文时,将所述 IPv6组播报文翻译成 IPv4 组播艮文, 并将所述 IPv4组播艮文组播到组播接收者。

上述方案中, 所述 mAFTR将 IPv4组播报文翻译成 IPv6组播报文为: 新建 IPv6组播报文,将所述 IPv6组播报文报头中的所有字段基于所述 IPv4 组播报文报头填写, 报文内容不变。

上述方案中, 所述 mAFTR将 IPv4组播报文翻译成 IPv6组播报文为: 所述 mAFTR新建 IPv6组播报文, 将新建的 IPv6组播报文报头中的版本 ( Version )字段置为 6; 传输种类 ( Traffic Class ) 字段值置为与 IPv4组播 报文中的服务类型 (TOS, Type Of Service )相同; 流量标签( Flow Label ) 字段值置为 0; 有效荷载长度( Playload Length )字段值为 IPv4组播报文的 完整长度( Total Length )值减去 IPv4头的长度值;下一个报头( Next Header ) 的值从 IPv4组播报文报头中的协议(protocol )字段获得; 跳数限制 (Hop Limit )字段的值与 IPv4组播报文中的生存时间 ( TTL, Time to Live )字段 值相同; 源地址( Source Address )字段的值从 IPv4组播报文的源地址获得; 目的地址( Destination Address )字段的值从 IPv4组播 4艮文的目的地址获得; 所述 IPv6组播报文中的内容与 IPv4组播报文中的内容相同。

上述方案中,所述 mB4将所述 IPv6组播报文翻译成 IPv4组播报文为: 新建 IPv4组播报文,将所述 IPv4组播报文报头中的所有字段基于所述 IPv6 组播报文报头填写, 报文内容不变。

上述方案中,所述 mB4将所述 IPv6组播报文翻译成 IPv4组播报文为: 所述 mB4新建 IPv4组播报文, 将所述 IPv4组播报文报头中的 Version 字 段置为 4; 互联网头文件长度 ( Internet Header Length )值置为 5; TOS值 置为 IPv6组播报文中的 Traffic Class的值; Total Length值置为 IPv6组播报 文中 playload值力口上 IPv4头长度的值; Identification, Flags, Fragment Off 字段值都置为 0; TTL字段的值为 IPv6组播报文中的 Hop Limit字段的值; Source Address字段的值为 IPv6组播报文中的源地址映射到 IPv4组播报文 的源地址; Destination Address字段的值为 IPv6组播报文中的组播地址映射 到 IPv4组播报文中的组播地址; 所述 IPv4组播报文中的内容与 IPv6组播 报文中的内容相同。

上述方案中, 该方法进一步包括: 在任意信源组播(ASM, Any-Source

Multicast )模式中, mAFTR接收到 IPv4组播报文为注册报文时, mAFTR 解封装注册报文后得到 IPv4组播报文。

本发明提供的一种 DS-lite网络架构承载组播业务的系统,该系统 括: mAFTR, mB4; 其中,

所述 mAFTR,用于接收到组播源发送的 IPv4组播 4艮文时,将所述 IPv4 组播报文翻译成 IPv6组播报文, 并将所述 IPv6组播报文发送到 mB4; 所述 mB4, 用于接收到所述 IPv6组播 4艮文时, 将所述 IPv6组播 4艮文 翻译成 IPv4组播报文, 并将所述 IPv4组播报文组播到组播接收者。

上述方案中, 所述 mAFTR, 具体用于接收到组播源发送的 IPv4组播 报文时,新建 IPv6组播报文,将该 IPv6组播报文报头中的所有字段基于所 述 IPv4组播报文报头填写, 报文内容不变。

上述方案中, 所述 mB4, 具体用于接收到 mAFTR发送的 IPv6组播报 文时,新建 IPv4组播报文,将该 IPv4组播报文报头中的所有字段基于所述 IPv6组播报文报头填写, 报文内容不变。

本发明提供的一种 DS-lite网络承载组播业务的网络节点, 所述网络节 点包括 mAFTR, 所述 mAFTR接收到组播源发送的 IPv4组播报文时,将所 述 IPv4组播报文翻译成 IPv6组播报文, 并将所述 IPv6组播报文发送到 mB4。

本发明提供了一种 DS-lite网络架构承载组播业务的方法、 系统和网络 节点, 当 mAFTR接收到组播源发送的 IPv4组播报文时 , 将该 IPv4组播报 文翻译成 IPv6组播报文, 并将该 IPv6组播报文发送到 mB4; 当 mB4接收 到该 IPv6组播报文时, 将该 IPv6组播报文翻译成 IPv4组播报文, 并将该 IPv4组播报文组播到下游的组播接收者; 如此, 能够将 IPv4组播报文完全 转化为 IPv6组播报文在 IPv6网络中传送, 提高 IPv4组播报文在 IPv6网络 中的传送效率, 最大的利用 IPv6网络的组播能力。 附图说明

图 1为现有技术中 DS-lite组播网络拓朴示意图;

图 2为本发明实现一种 DS-lite网络架构承载组播业务的方法的流程示 意图;

图 3为本发明配置 uPrefix和 mPrefix64的网络架构示意图;

图 4为本发明地址映射示意图;

图 5为本发明实例一中 IPv6组播分布树的建立的网络架构示意图; 图 6为本发明实例二中 IPv6组播分布树的建立的网络架构示意图; 图 7为本发明 SSM模式的网络架构示意图;

图 8为本发明在 SSM模式中实现 DS-lite网络架构承载组播业务的方法 的流程示意图;

图 9为本发明 ASM模式的网络架构示意图;

图 10为本发明在 ASM模式中实现 DS-lite网络架构承载组播业务的方 法的流程示意图。 具体实施方式

本发明的基本思想是: 当 mAFTR接收到组播源发送的 IPv4组播报文 时, 将该 IPv4组播报文翻译成 IPv6组播报文, 并将该 IPv6组播报文发送 到 mB4;当 mB4接收到该 IPv6组播报文时,将该 IPv6组播报文翻译成 IPv4 组播 4艮文, 并将该 IPv4组播 ^艮文组播到下游的组播接收者。

下面通过附图及具体实施例对本发明做进一步 的详细说明。

本发明实现一种 DS-lite网络架构承载组播业务的方法, 如图 2所示, 该方法包括以下几个步驟:

步驟 101 : 当 mAFTR接收到组播源发送的 IPv4组播报文时,将该 IPv4 组播报文翻译成 IPv6组播报文, 并将该 IPv6组播报文发送到 mB4;

具体的, 当 mAFTR接收到组播源发送的 IPv4组播报文时, mAFTR根 据 IPv4组播报文的地址在 IPv4组播路由表中进行查找, 如果在 IPv4组播 路由表中找到匹配的接口地址,则 mAFTR将 IPv4组播报文翻译成 IPv6组 播才艮文, 并通过 IPv6组播分布树将该 IPv6组播才艮文发送到 mB4;

所述 mAFTR将 IPv4组播报文翻译成 IPv6组播报文 ,一般是新建 IPv6 组播报文,将该 IPv6组播报文报头中的所有字段基于所述 IPv4组播报文报 头填写, 报文内容不变, 具体为: 所述 mAFTR新建 IPv6组播报文, 将该 IPv6组播报文报头中的 Version字段置为 6; Traffic Class字段值置为与 IPv4 组播报文中的 TOS相同; Flow Label 字段值置为 0; Playload Length字段 值为 IPv4组播报文减去 IPv4头的长度值; Next Header的值从 IPv4组播报 文报头中的 protocol字段获得; Hop Limit字段的值与 IPv4组播报文中的 TTL字段值相同; Source Address字段的值从 IPv4组播报文的源地址获得; Destination Address字段的值从 IPv4组播报文的目的地址获得、 忽略 IPv4 组播报文中的 IPv4选项字段; 该 IPv6组播报文中的内容与 IPv4组播报文 中的内容相同。 所述 Source Address字段的值从 IPv4组播报文的源地址获得, 一般是 mAFTR根据配置的单播前缀(uPrefix, unicast Prefix ) 以及利用无状态映 射算法, 将 IPv4组播报文的源地址映射到 IPv6组播报文的源地址。

所述 Destination Address字段的值从 IPv4组播 4艮文的目的地址获得, 一般是 mAFTR根据配置的组播前缀( mPrefix64 , multicast Prefix )利用无 状态映射算法,将 IPv4组播报文的组播地址映射到 IPv6组播报文的组播地 址。

进一步的,本步驟还包括:若在 IPv4组播报文的负载中存在 TCP、 UDP 和 ICMP的校验和 ( checksum ), 则根据映射得到的 IPv6组播报文的源和组 播地址重新计算校验和。

本步驟中, 所述 uPrefix和 mPrefix64的配置方法, 结合图 3所示, 包 括:

( 1 ) CPE和 mAFTR向动态主机配置协议 6 ( DHCPv6 )服务器发送 DHCPv6请求报文, 请求获取 uPrefix和 mPrefix64;

( 2 ) DHCPv6服务器收到所述 DHCPv6请求才艮文后, 将 mPrefix64

( ff00:abc::/96 )和 uPrefix ( 2001 :db8::/96 ) 附带在 DHCPv6应答报文的选 项中发送到 CPE和 mAFTR;

( 3 ) CPE和 mAFTR收到 DHCPv6应答报文后,记录选项中的 uPrefix 和 mPrefix64, 完成配置。

当然, 上述 CPE和 mAFTR的 uPrefix和 mPrefix64的配置也可以通过 其他方法配置, 比如直接通过管理员手动给 CPE和 mAFTR配置, 但必须 保证给 CPE和 mAFTR所配置的前缀必须相同; 这里, 所述 CPE上一般有 mB4 , 即给 CPE配置的 uPrefix和 mPrefix64也同时配置在 mB4上。

在 CPE和 mAFTR获得前缀后,所述将 IPv4组播报文的源地址映射到 IPv6组播 4艮文的源地址和将 IPv4组播 ^艮文的组播地址映射到 IPv6组播报 文的组播地址, 其具体映射过程如图 4所示:

在图 4 中, IPv4 组播报文的组播地址 ( 230.1.2.3 ) 与 mPrefix64 ( ff00:abc::/96 )映射到 IPv6组播报文的组播地址( ff00:abc::230.1.2.3 ), IPv4 组播 4艮文的源地址(192.1.2.3 ) 与 uPrefix ( 2001:db8::/96 ) 映射到 IPv6组 播报文的源地址( 2001:db8:: 192.1.2.3 )。

下面用实例一和二对本步驟中所述 IPv6组播分布树的建立进行详细描 述。

实例一:如图 5所示, mAFTR位于 MLD Querier/ΡΙΜνό指定路由器( DR Designated Router ) 时, 如果部署指定信源组播 (SSM , Source-Specific Multicast )模式, 假设 IPv4组播源为 S ( 192.1.2.3 ), IPv4接收者 A要接受 S的组播报文时, 需要加入相应的 IPv4组播组, IPv6组播分布树的建立的 具体步驟如下:

( 1 ) IPv4接收者 A发送 IGMP报告报文给 CPE1 , 在 IGMP报告报文 中指示需要加入 IPv4组播组的地址 G ( 230.1.2.3 );

( 2 )位于 CPE1上的 mB4接收到所述 IGMP报文后,根据预先配置的 mPrefix64 和 uPrefix 以及无状态映射算法生成 IPv4 组播组的地址 G ( 230.1.2.3 )相对应的 IPv6组播组地址 G, ( ff00:abc::230.1.2.3 ),即:将 IPv4 组播组的地址 G映射到 IPv6组播组地址 G, ( ff00:abc: :230.1.2.3 )、 IPv4源

S映射到 IPv6源 S,( 2001 :db8::192.1.2.3 ),之后 mB4发送 MLD 4艮文到 MLD Querier/PIMv6 DR , 在所述 MLD 报文中 包含 IPv6 组播组地址

G'(ff00:abc::230.1.2.3);

( 3 )mAFTR对 MLD中的 IPv6组播组地址 G,检验通过后 ,生成 PIMv4 加入( Join )报文,所述 PIMv4 Join报文包含 IPv4接收者 A想要加入的 IPv4 组播组的地址 G ( 230.1.2.3 );

具体的, 由于 mAFTR位于 MLD Querier/ΡΙΜνό DR上, 当 mAFTR收 到这个 MLD报文后, 根据所述 IPv6组播组地址 G,检查相应的记录并将接 收到这个 MLD报文的端口加入到 Out-Interface-List中, 如果没有相应的记 录, mAFTR生成与这个 IPv6组播组地址 G,对应的新的记录。 mAFTR检验 MLD报文中的 IPv6组播组地址 G, ( ff00:abc: :230.1.2.3 )的前缀是否属于配 置的 mPrefix64 , 如果检验通过, 那么 mAFTR 从 IPv6 组播组 G, ( ff00:abc::230.1.2.3 ) 中映射出相应的 IPv4组播组的地址 G ( 230.1.2.3 ), 并检验相对应的 IPv4组播路由表,将隧道接口添加到 Out-Interface-List中, mAFTR还生成一个 PIMv4 Join报文, 所述 PIMv4 Join报文包含想要加入 的 IPv4组播组的地址 G ( 230.1.2.3 )。

( 4 ) mAFTR将 PIMv4 Join报文发送到 RP ( Rendezvous Point )或者

IPv4组播源。

这样, 一条 IPv6组播分布树就已经建立, IPv4组播源的组播报文可以 通过这个组播分布树发送数据到 IPv4接收者 A。

实例二: 如图 6所示, mAFTR位于更上游的 PIMv6路由器中, 如果部 署 SSM模式, 假设 IPv4组播源为 S ( 192.1.2.3 )。 IPv4接收者 A要接受 S 的组播数据时, 需要加入相应的 IPv4组播组, IPv6组播分布树的建立的具 体步驟如下:

( 1 ) IPv4接收者 A发送 IGMP报告报文给 mB4, 在 IGMP报告报文 中指示需要加入 IPv4组播组的地址 G ( 230.1.2.3 );

( 2 )位于 CPE1上的 mB4接受到所述 IGMP报告报文后,根据预先配 置的 mPrefix64和 uPrefix以及无状态映射算法生成 IPv4组播组的地址 G ( 230.1.2.3 )相对应的 IPv6组播组地址 G, ( ff00:abc::230.1.2.3 ),即:将 IPv4 组播组的地址 G映射到 IPv6组播组地址 G, ( ff00:abc: :230.1.2.3 )、 IPv4源 S映射到 IPv6源 S,( 2001 :db8::192.1.2.3 ),之后 mB4发送 MLD 4艮文到 MLD Querier/PIMv6 DR , 在所述 MLD 报文中 包含 IPv6 组播组地址 G'(ff00:abc::230.1.2.3);

( 3 ) PIM DR收到所述报文 MLD报文后 , 经过 MLD Querier 的处理 生成 PIMv6 Join报文, 在 PIMv6 Join报文中包含 IPv6组播组地址 G, ( ff00:abc::230.1.2.3 ), PIM DR将生成的 PIMv6 Join才艮文发送到 mAFTR;

( 4 ) mAFTR对所述 PIMv6 Join报文中的 IPv6组播组地址 G,检验通 过后, 生成 PIMv4 Join报文, 所述 PIMv4 Join报文包含 IPv4接收者 A想 要加入的 IPv4组播组的地址 G ( 230.1.2.3 );

具体的, mAFTR收到所述 PIMv6 Join报文后, 根据所述 PIMv6 Join 报文中的 IPv6组播组地址 G, ( ff00:abc: :230.1.2.3 )检查相应的记录并将接 收到所述 PIMv6 Join报文的端口加入到 Out-Interface-List中, 如果没有相 应的记录, mAFTR生成与 IPv6组播组地址 G,对应的新的记录,之后 mAFTR 检验 PIMv6 Join报文中的 IPv6组播组地址 G, ( ff00:abc::230.1.2.3 )的前缀 是否属于配置的 mPrefix64 ( ff00:abc::/96 ), 如果检险通过, 那么 mAFTR 从 IPv6组播组地址 G, ( ff00:abc: :230.1.2.3 )中映射出相应的 IPv4组播组的 地址 G ( 230.1.2.3 ) , 并检险相对应的 IPv4组播路由表, 将隧道接口添加到 Out-Interface-List中, mAFTR还生成一个 PIMv4 Join报文,所述 PIMv4 Join 报文包含想要加入的 IPv4组播组的地址 G ( 230.1.2.3 )。

( 5 ) mAFTR将 PIMv4 Join报文发送到 RP或者 IPv4组播源。

这样, 一条 IPv6组播分布树就已经建立, IPv4组播源的组播报文可以 通过这个组播分布树发送数据到 IPv4接收者 A。

步驟 102: 当 mB4接收到该 IPv6组播才艮文时, 将该 IPv6组播才艮文翻 译成 IPv4组播报文, 并将该 IPv4组播报文组播到下游的组播接收者;

具体的, 当 mB4收到 IPv6组播报文后, 检验该 IPv6组播报文的组播 地址是否与配置的 mPrefix64匹配、 源地址是否与配置的 uPrefix匹配, 在 均匹配时, mB4将该 IPv6组播报文翻译成 IPv4组播报文, 并根据该 IPv4 组播报文中的组播成员信息将该 IPv4组播报文组播到下游的组播接收者; 所述 mB4将该 IPv6组播报文翻译成 IPv4组播报文, 一般是新建 IPv4 组播报文,将该 IPv4组播报文报头中的所有字段基于所述 IPv6组播报文报 头填写, 报文内容不变, 具体为: 所述 mB4新建 IPv4组播报文, 将该 IPv4 组播报文报头中的 Version 字段置为 4; Internet Header Length值置为 5; TOS值置为 IPv6组播报文中的 Traffic Class的值; Total Length值置为 IPv6 组播报文中 playload值加上 IPv4头长度的值; Identification、 Flags、 Fragment Off字段值都置为 0; Time to Live字段的值为 IPv6组播报文中的 Hop Limit 字段的值; Source Address字段的值为 IPv6组播报文中的源地址映射到 IPv4 组播报文的源地址; Destination Address字段的值为 IPv6组播报文中的组播 地址映射到 IPv4组播报文中的组播地址;该 IPv4组播报文中的内容与 IPv6 组播报文中的内容相同。

为了实现上述方法, 本发明还提供一种 DS-lite网络架构承载组播业务 的系统, 该系统包括: mAFTR、 mB4; 其中,

所述 mAFTR, 用于接收到组播源发送的 IPv4组播报文时, 将该 IPv4 组播报文翻译成相应的 IPv6组播报文, 并将该 IPv6组播报文发送到 mB4; 所述 mB4, 用于接收到该 IPv6组播报文时, 将该 IPv6组播报文翻译 成相应的 IPv4组播报文, 并将该 IPv4组播报文组播到下游的组播接收者; 所述 mAFTR, 具体用于接收到组播源发送的 IPv4组播报文时, 新建 IPv6组播报文, 将该 IPv6组播报文报头中的所有字段基于所述 IPv4组播 报文报头填写, 报文内容不变;

具体的 ,所述 mAFTR接收到组播源发送的 IPv4组播报文时,新建 IPv6 组播报文, 将该 IPv6组播报文报头中的 Version字段置为 6; Traffic Class 字段值置为与 IPv4组播报文中的 TOS相同; Flow Label字段值置为 0; Playload Length字段值为 IPv4组播 4艮文减去 IP头的长度值; Next Header 的值从 IPv4组播报文报头中的 protocol获得; Hop Limit的值与 IPv4组播 报文中的 TTL值相同; Source Address字段的值从 IPv4组播报文的源地址 获得; Destination Address字段的值从 IPv4组播报文的目的地址获得、 忽略 IPv4组播报文中的 IPv4选项字段; 该 IPv6组播报文中的内容与 IPv4组播 报文中的内容相同;

所述 mB4,具体用于接收到 mAFTR发送的 IPv6组播报文时 ,新建 IPv4 组播报文,将该 IPv4组播报文报头中的所有字段基于所述 IPv6组播报文报 头填写, 报文内容不变;

具体的 , 所述 mB4接收到 mAFTR发送的 IPv6组播报文时,新建 IPv4 组播报文,将该 IPv4组播报文报头中的 Version字段置为 4; Internet Header Length值置为 5; TOS值置为 IPv6组播报文中的 Traffic Class的值; Total Length 值置为 IPv6 组播报文中 playload 值加上 IPv4 头长度的值; Identification, Flags、 Fragment Off字段值都置为 0; Time to Live字段的值 为 IPv6组播报文中的 Hop Limit字段的值; Source Address字段的值为 IPv6 组播报文中的源地址映射到 IPv4组播报文的源地址; Destination Address 字段的值为 IPv6组播报文中的组播地址映射到 IPv4组播报文中的组播地 址。

所述 mAFTR, 具体用于通过 IPv6组播分布树将所述 IPv6组播艮文发 送到 mB4o

进一步的, 所述 mAFTR, 还用于接收到 IPv4组播 4艮文为注册 4艮文时, 解封装所述注册报文后得到 IPv4组播报文。

基于上述系统, 本发明还实现一种 DS-lite网络架构承载组播业务的网 络节点 , 该网络节点包括 mAFTR , 所述 mAFTR接收到组播源发送的 IPv4 组播报文时, 将所述 IPv4组播报文翻译成 IPv6组播报文, 并将所述 IPv6 组播 4艮文发送到 mB4; 所述 mAFTR, 具体用于接收到组播源发送的 IPv4组播 ^艮文时, 新建 IPv6组播报文, 将该 IPv6组播报文报头中的所有字段基于所述 IPv4组播 报文报头填写, 报文内容不变;

具体的 ,所述 mAFTR接收到组播源发送的 IPv4组播报文时 ,新建 IPv6 组播报文, 将该 IPv6组播报文报头中的 Version字段置为 6; Traffic Class 字段值置为与 IPv4组播报文中的 TOS相同; Flow Label字段值置为 0; Playload Length字段值为 IPv4组播 4艮文减去 IP头的长度值; Next Header 的值从 IPv4组播报文报头中的 protocol获得; Hop Limit的值与 IPv4组播 报文中的 TTL值相同; Source Address字段的值从 IPv4组播报文的源地址 获得; Destination Address字段的值从 IPv4组播才艮文的目的地址获得、 忽略 IPv4组播报文中的 IPv4选项字段; 该 IPv6组播报文中的内容与 IPv4组播 报文中的内容相同。 实施例一:

本实施例如图 7所示, SSM模式中, IPv4 network中的主机^ 192.1.2.3 ) 要通过 IPv6网络向 IPv4接收者 A所在的 IPv4组播组发送 IPv4组播报文, 则实现 DS-lite网络架构承载组播业务的方法, 如图 8所示, 该方法包括以 下几个步驟:

步驟 201: 主机 B生成 IPv4组播艮文, 并将该 IPv4组播艮文发送到 mAFTR, 其中源地址为主机 B的地址 S ( 192.1.2.3 ), 目的地址为 IPv4组 播组的地址 G ( 230.1.2.3 );

步驟 202: 当 mAFTR接收到所述 IPv4组播才艮文后, 将该 IPv4组播报 文翻译成 IPv6组播艮文, 并通过 IPv6组播分布树将该 IPv6组播 文发送 到 mB4;

具体的, 当 mAFTR接收到所述 IPv4组播报文后, mAFTR根据 IPv4 组播报文的地址在 IPv4组播路由表中进行查找,如果在 IPv4组播路由表中 找到匹配的接口地址 , 则 mAFTR将 IPv4组播报文翻译成相应的 IPv6组播 报文, 并通过 IPv6组播分布树将该 IPv6组播报文发送到 mB4;

所述 mAFTR将 IPv4组播 4艮文翻译成相应的 IPv6组播报文, 具体为: 所述 mAFTR新建 IPv6组播报文, 将该 IPv6组播报文报头中的 Version字 段置为 6; Traffic Class字段的值置为与 IPv4组播报文中的 TOS相同; Flow Label 字段值置为 0; Playload Length字段值置为 IPv4组播报文减去去 IP 头的长度值; Next Header的值从 IPv4组播报文报头中的 protocol获得; Hop Limit的值与 IPv4组播报文中的 TTL值相同; Source Address的值为根据配 置的 uPrefix前缀以及利用无状态映射算法, 将 IPv4组播报文的源地址 S ( 192.1.2.3 ) 映射到 IPv6 组播报文的源地址 S, ( 2001:db8::192.1.2.3 ); Destination Address字段的值为根据配置的 mPrefix64利用无状态映射算法, 将 IPv4 组播 ^艮文的组播地址映射到 IPv6 组播 ^艮文的组播地址 G, ( ff00:abc::230.1.2.3 ); 忽略 IPv4组播报文中的 IPv4选项字段; 该 IPv6组 播报文中的内容与 IPv4组播报文中的内容相同。

步驟 203: 当 mB4收到该 IPv6组播报文时, 将该 IPv6组播报文翻译 成 IPv4组播报文, 并将该 IPv4组播报文组播到下游的 IPv4接收者 A; 具体的, 当 mB4收到 IPv6组播报文后, 检验该 IPv6组播报文的组播 地址 G, ( ff00:abc: :230.1.2.3 )是否与配置的 mPrefix64 ( ff00:abc::/96 )匹配、 源地址 S, ( 2001:db8::192.1.2.3 )是否与配置的 uPrefix ( 2001:db8::/96 ) 匹 配, 在均匹配时, mB4将该 IPv6组播报文翻译成 IPv4组播报文, 并根据 该 IPv4组播报文中的组播成员信息将该 IPv4组播报文组播到下游的 IPv4 接收者 A;

所述 mB4将该 IPv6组播报文翻译成 IPv4组播报文,具体为:所述 mB4 新建 IPv4组播报文,将该 IPv4组播报文报头中的 Version字段置为 4; Internet Header Length值置为 5; Type Of Service值置为 IPv6组播报文中的 Traffic Class的值; Total Length值置为 IPv6组播报文中 playload加上 IPv4头长度 的值; Identification, Flags、 Fragment Off字段值都置为 0; Time to Live字 段的值 0为 IPv6组播报文中的 Hop Limit字段的值; Source Address的值为 IPv6组播报文中的源地址 S, ( 2001:db8::192.1.2.3 )映射到 IPv4组播报文中 的源地址 S ( 192.1.2.3 ); Destination Address的值为 IPv6组播报文中的组播 地址 G, ( ff00:abc::230.1.2.3 ) 映射到 IPv4 组播报文中的组播地址 G ( 230.1.2.3 )。

实施例二:

本实施例如图 9所示, ASM中, IPv4 network中的某一主机 B( 192.1.2.3 ) 要通过 IPv6网络向 IPv4接收者 A所在的 IPv4组播组发送 IPv4组播报文, 则实现 DS-lite网络架构承载组播业务的方法,如图 10所示,该方法包括以 下几个步驟:

步驟 301 : 主机 B生成 IPv4组播报文, 并将该 IPv4组播报文发送到主 机 B所在的 DR, DR将该 IPv4组播报文发送到 mAFTR, 其中源地址为主 机 B的地址 S ( 192.1.2.3 ), 目的地址为 IPv4组播组的地址 G ( 230.1.2.3 ); 这里, 如果主机 B是第一次向外组播, 那么 DR封装该 IPv4组播报文 为注册报文, 并且发送给作为 RP的 mAFTR; 如果已经存在从 RP到 DR 所在的 SPT,那么 DR则把该 IPv4组播报文直接发送给作为 RP的 mAFTR。

步驟 302: 当 mAFTR接收到所述 IPv4组播报文后, 将该 IPv4组播报 文翻译成 IPv6组播艮文, 并通过 IPv6组播分布树将该 IPv6组播 文发送 到 mB4;

具体的, 当 mAFTR接收到所述 IPv4组播报文后, 如果所述 IPv4组播 报文为注册报文, 那么 mAFTR解封装注册报文后得到 IPv4组播报文, 并 向主机 B发送加入 ^艮文; 如果 mAFTR收到为封装的 IPv4组播报文, 那么 mAFTR则向主机 B所在的 DR发送注册停止报文( Register-Stop Message ); mAFTR根据 IPv4组播报文的地址在 IPv4组播路由表中进行查找, 如果在 IPv4组播路由表中找到匹配的接口地址, 则 mAFTR将 IPv4组播报文翻译 成 IPv6组播 4艮文,并通过 IPv6组播分布树将该 IPv6组播 4艮文发送到 mB4; 所述 mAFTR将 IPv4组播报文翻译成 IPv6组播报文的方法与步驟 202 类似, 这里不再赘述。

步驟 303: 当 mB4收到该 IPv6组播报文时, 将该 IPv6组播报文翻译 成 IPv4组播报文, 并将该 IPv4组播报文组播到下游的 IPv4接收者 A; 这里, 所述 mB4将该 IPv6组播报文翻译成 IPv4组播报文的方法与步 驟 203类似, 这里不再赘述。

综上所述,本发明的方案通过 mAFTR和 mB4对组播 4艮文进行 IPv4与 IPv6的转换, 能够将 IPv4组播报文完全转化为 IPv6组播报文在 IPv6网络 中传送, 提高 IPv4组播报文在 IPv6网络中的传送效率, 最大的利用 IPv6 网络的组播能力。

以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。