IPv6组播技术的研究

发布时间:2003-11-26 作者:梅飞 / 龚俭 Mei Fei / Gong Jian 阅读量:

1 IPv6的产生

   互联网络协议(IP)产生于20世纪70年代,经过20年的发展,目前已经成为最主流的网络层协议。但它的很多设计已经制约了互联网的进一步发展。

   早在1992年,人们就开始讨论制订下一代互联网络协议(IPng)。1995年,IETF(因特网工程任务组)采用了SIPP(简单因特网协议)作为IPng的制订基础。IPng被IANA(因特网编号管理局)正式赋予版本号6,即IPv6。1996年,IPv6的基本协议规范发表,并于1998年发表了修订版。IPv6扩展了地址空间,并提供了对数据传输的完整性和安全性的支持,支持规模更大的网络结构,以及网络的自动配置、更快的路由选择、更有效的路由聚合、增强的组播技术等。目前工业界广泛认可IPv6的优势,并且开始进行IPv4向IPv6的演进工作。各大路由器厂商已经开始提供IPv6路由支持,各种操作系统也开始嵌入IPv6协议栈。由于目前IPv4网络的商业化运行,在演进过程中会出现多种不同类型的混合网络,主机会同时具备IPv4和IPv6双协议栈,然后逐渐进化到纯IPv6网络。

   2 组播技术的产生和发展

  近年来互联网的飞速发展产生了很多新应用,特别是高带宽需求的多媒体应用。为了缓解网络“瓶颈”问题,业内提出了以下4种主要解决方案:增加网络带宽;采用QoS(服务质量)机制,控制不同业务的带宽使用;服务器的分散和集群;IP组播(IP Multicast)技术。其中,IP组播技术由于它所具有的独特优越性——在IP组播网络中,即使用户数量成倍增加,主干网络带宽不需要随之增加,而成为通行的网络技术之一。

  如图1所示,组播是一种允许一个或多个发送者(组播源)发送同一报文到多个接收者的技术。组播源将一份报文发送到特定组播地址,组播地址不同于单播地址,它并不特定属于某单个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文者加入这个群组。这样,无论有多少个组播报文接收者,整个网络中任何一条链路只传送单一的报文,大大节省了带宽。


图1 组播流程示意图

  (1)组播群组管理

   IGMP(群组管理协议)被用来动态地管理群组成员加入和退出。当一台主机希望加入一个群组,它向本地的组播路由器发送IGMP消息。组播路由器监听IGMP消息,并作出相应的操作。同时它还周期性地发送查询,以维持当前活跃的群组。

   IGMP有多个版本。其中IGMPv1只有两种消息,分别是成员查询和成员报告。通过这两种消息以完成最基本的群组加入和群组维护工作。IGMPv2基本上与IGMPv1相同,主要的区别是增加了一个离开群组的消息,这样就以通告的方式退出一个群组,而在IGMPv1中要通过组播路由器发出查询请求,发现没有响应才能确定群组成员的离开。目前正在制订的IGMPv3增加了源点过滤的功能,它允许一个群组加入者通知组播路由器所希望接收的组播数据源点,即只有该源点的数据才会被接收[1,2]。

  (2)组播路由

   在组播中,报文由组播源发送到一组主机。为了保证所有加入群组的主机都能接收到报文,需要一种描述报文在网络中所经过路径的方法,这就是组播分发树。组播树有3种基本类型:泛洪法、有源树和共享树。组播路由就是确定从组播源到群组的接收方所有成员的组播分发树。为了提高分发效率,组播路由方法必须在保证接收群组所有成员都能接收到组播报文的条件下,尽量减少网络资源占用量和组播的发送范围。组播路由协议可以分为稠密模式和稀疏模式两大类。

   3 IPv6对组播技术的继承和增强

  由于组播技术的优越性,IETF在制订IPv6协议时保留了组播,而取消了广播;并且为了更好地使用和管理组播应用,IPv6对组播作了进一步的增强,主要表现在以下方面。

  3.1 组播地址

  IPv6组播地址格式如图2所示。IPv6组播地址的前8位为11111111;4位的组播标志用于区分众所周知组播地址(值为0)和临时组播地址(值为1),该字段的高3位保留;4位的范围字段决定了组播报文能游走的范围。已分配的范围字段值如下(其他值或者还没有分配,或者已经保留):

  • 1:节点局部——节点局部报文禁止从端口输出
  • 2:链路局部——链路局部报文不能被路由器转发
  • 5:网点局部——网点的定义由该网点的组播路由器管理员决定
  • 8:组织局部——组织的定义由该组织的组播路由器管理员决定
  • 14:全球


图2  IPv6组播地址格式

  从IPv6的组播地址格式定义,可见其相对于IPv4所具有的优越性:

  (1)具有足够的地址空间。IPv4所定义的地址空间只相当于16个A类地址,对于全球的组播应用来说是远远不够的。而IPv6的地址空间从理论上来说,可以达到2 120个。

  (2)范围字段的应用。组播地址不同于单播地址,它不专属于某一个主机或应用。除了少数为协议实现而预留的地址外,其他地址都是根据需求动态地分布给组播应用的用户。这样会出现一个组播地址同时被多个组播应用所使用的情况,这就需要保证它们之间传播的范围不会重叠。IPv4虽然使用了TTL(报文存活时间)来控制组播报文传送的范围,但是TTL不够精确,还是会存在不同应用间报文范围重叠的情况。而IPv6在地址格式中规定了范围字段,这样就可以很方便地划分组播域,根据组播域来控制组播应用的传播范围。

  每个组播域有自己的组播地址空间,该地址空间的组播报文只在本组播域中转发,域的边界路由器不向域外转发该地址空间的组播报文。这样可以划分范围从小到大、依次包含的多层次组播域,即多个处于相同层次的范围较小的组播域组成一个更高层次的范围较大的组播域。不同层次的组播域的组播地址空间不相互重叠,相同层次的组播域可以有相同的组播地址空间。其优点在于用户可以根据自己的要求选择使用适当组播域的组播地址,使组播报文在期望范围内转发,以保证组播应用的有序运行[3]。

  3.2 MLD协议

  MLD协议(组播监听发现协议)是从IGMPv2协议中派生出来,专门用于IPv6组播群组的管理。其主要功能为:IPv6路由器利用MLD协议发现直接相连的链路上是否有组播组成员,以及相邻的路由器正在监听哪些组播地址。IPv6路由器上运行的组播路由协议根据这些信息,保证组播报文能发送给正确的接收者。

  虽说MLD协议的前身是IGMPv2,但是MLD协议不使用IGMP报文格式,而是使用全新的ICMPv6的报文格式(ICMPv6协议是为IPv6网络定义的一套控制信息协议)。从某种意义上说,MLD协议就是ICMPv6协议的一个子集[4,5]。

  4 IPv6组播技术的研究方向

  随着IPv6网络的逐步演进以及组播应用的飞速增长,组播服务势必会成为下一代IPv6 Internet上的一种主要的网络服务。目前许多制订关于组播技术的协议标准,在服务于IPv4的基础上,都充分考虑了对IPv6的支持。虽然它们目前的研究重点环境是IPv4,但是作为IPv6的研究者来说,需要将更多的注意力放在组播在IPv6环境下所体现的新特性上。

  4.1 组播地址管理

  组播应用需要一个组播地址管理方法来得到地址。组播服务可以通过3种方法来得到组播地址,分别是:

  (1)编码方式:将组播地址写入程序代码,使之成为程序的一部分,或者固化在ROM中。该方法适用于IANA静态分配的组播地址。

  (2)通告方式:组播服务随机挑选一个组播地址,然后在使用该地址之前向网络通告它将要使用的地址。目前Mbone(组播主干网)中的组播服务就是使用这种方式,其代表工具为SDR(会议目录工具)。

  (3)算法推导方式:使用一种程序化的算法为组播服务分配一个在全球范围内不与其他服务冲突的组播地址。

  组播地址管理中的另一个主要问题是组播域的发现。组播域是一个组播服务的有效传播范围,不同的组播域有不同的组播地址空间,所以组播域的发现也就是用户选择组播地址空间的过程。

  目前,IETF在组播地址管理方面成立了MALLOC(组播地址分配)工作组。该工作组的工作重点是制订与组播地址相关的一系列协议规范,为全球范围的组播地址分配提供保证。其主要工作成果包括:Internet组播地址分配体系结构(MAAA)、组播地址动态分配协议(MADCAP)、组播地址分配协议(AAP)、组播地址集申请协议(MASC)等等。同时,IETF的Mbone工作组制订了关于组播域发现的组播域声明协议(MZAP)。上述协议的制订充分考虑了IPv6组播地址的特性,并制订了相关的IPv6组播地址分配标准[6-8]。

  4.2 组播网络管理

  网管早已成为网络技术的一个热点,在这方面的研究成果和产品都很多。但是到目前为止,网管的重点主要集中在对单播流量的管理上,而对于组播流量却鲜有涉及。虽然有些技术在单播模式的网管和组播模式的网管上是同样适用的,但是,单播通信与组播通信在机制上的根本区别必然要求组播模式网管采用不同的技术。这就造成了主要针对单播流量进行管理的网络管理产品无法对组播流量进行有效的管理。同时,随着组播技术的广泛使用,组播流量在网络流量中所占的比重越来越大,对组播流量进行管理的需求也越发迫切。所以目前针对组播流量的网管技术研究正在成为一个新兴的热点。

  虽然SNMP(简单网络管理协议)通过MIB(管理信息库)定义被管理对象,它本身和网络传输协议无关,可以完全应用于IPv6环境下(目前IETF已经制订了IPv6相关的MIB),但是IPv6环境下的组播网管具有更多的新特性。例如规模更大的IPv6网络需要更健壮的网络管理,SNMP信息的处理需要更高的安全性等等。目前绝大多数路由器厂商提供IPv6路由支持,这为IPv6环境下的组播网管的研究提供了很好的条件[9-11]。

  4.3 可靠组播传输

  组播报文是通过UDP(用户数据报协议)进行传输的,所以它缺乏TCP(传输控制协议)所提供的可靠传输的功能。有些组播服务(如视频/音频服务)是可以容忍一定的丢包率的,而对于另一些组播服务如MFTP(Multicast FTP),则要求可靠的组播服务。虽然目前有许多可靠组播协议,例如:SRM(可升级可靠组播)协议、RMTP(可靠组播传输协议)、TMTP(基于树的组播传输协议),并且一些已经被商业化,但都还没形成标准。

  IETF的RMT(可靠组播传输)工作组和IRTF(因特网研究部)的RMRG(可靠组播研究组)也正在进行相关协议标准的制订。其内容包括:如何在大规模组播环境下保证可靠的组播传输,其中又包括:设计基于负确认机制(NACK)的可靠组播协议、设计基于树型确认机制的可靠组播协议、设计使用前向纠错机制的异步分层编码协议等;支持延期加入的接收者;可靠组播的安全问题等[12-14]。

  4.4 组播网络安全

  网络安全不论是对单播网络还是对组播网络的正常运行都是至关重要的。组播网络安全与单播网络安全有着相似的要求:用户认证,数据一致性检查,数据加密,用户授权等方面。但是,考虑到组播技术的特点,如多点到多点传输,无需加入群组就可以向群组中发送数据等,在组播网络中实现网络安全的难度更大。组播网络安全的内容包括:限制发送者、限制接收者、限制访问、验证组播内容、保护接收者、穿越防火墙。

  IETF的MSEC工作组(组播安全研究组)和IRTF的GSEC工作组(组安全研究组)也正在进行组播安全的相关协议标准的制订。其工作内容包括:定义组播安全总体结构(包括总体功能模块及其间的相互关系);定义组播密钥管理方法等等[15,16]。

  5 结束语

  在1999年9月,东南大学与清华大学、华南理工大学合作承担国家“863”计划通信技术主题“九五”第2期研究课题:IPv6示范网络的建设及其关键技术的研究。在该研究项目中,我们的工作重点是建设IPv6示范网络的CERNET华东(北)地区中心节点,为华东(北)地区单位加入IPv6示范网络创造条件,并且承担了IPv6组播技术的研究。

  我们成功地将Mbone中著名的音频会议工具vat移植到IPv6的环境下,并自行开发了支持IPv6的组播服务器mcastmp3。该工具组播MP3格式的音频文件,实现了在IPv6示范网络上传输组播多媒体数据流的要求,而且充分注意了协议无关性,可以支持IPv6和IPv4双协议,为开发与协议无关的网络通信软件进行了有益的尝试。上述工具的源代码可以在http://www.njnet6.edu.cn获得。

  根据IETF制订的组播地址分配体系,我们开发了组播地址动态分配服务器,用于对CERNET华东(北)地区提供IPv4和IPv6组播地址的分配和管理,为组播应用的展开(例如远程教育)提供了支持。

  IPv6协议和组播技术作为目前热门的研究领域,相应的协议和标准还在不断的制订、讨论和变化中,这些都需要我们积极地参与研究、开发和实践。

  参考文献

1 Fenner W.Internet Group Management Protocol. Version 2.IETF RFC2236, 1997
2 Cain B.Internet Group Management Protocol. Version 3.Internet-Drafts,2002
3 Hinden R, Deering S.IP Version 6 Addressing Architecture.Internet-Drafts,2001
4 Conta A, Deering S. Internet Control Message Protocol(ICMPv6) for the Internet Protocol Version 6(IPv6)Specification. IETF RFC 2463, 1998
5 Deering S, Fenner W. Multicast Listener Discovery(MLD) for IPv6. IETF RFC 2710,1999
6 Thaler D, Handley M, Estrin D. The Internet Multicast Address Allocation Architecture. IETF RFC 2908, 2000
7 Hanna S, Patel B, Shah M. Multicast Address Dynamic Client Allocation Protocol (MADCAP). IETF RFC 2730, 1999
8 Handley M, Stephen R H. Multicast Address Allocation Protocol (AAP). Internet-Drafts, 2000
9 Almeroth K.Managing IP Multicast Traffic: A First Look at the Issues, Tools, and Challenges. IP Multicast Initiative white paper, 1999
10 Diot C, Levine B, Lyles J, et al. Deployment issues for the IP multicast service and architecture. IEEE Networks, 2000
11 Sarac K, Kevin C A. Supporting Multicast Deployment Efforts: A Survey of Tools for Multicast Monitoring. Journal of High Speed Networking——Special Issue on Management of Multimedia Networking, 2001
12 Handley M, Whetten B, Kermode R, et al.The Reliable Multicast Design Space for Bulk Data Transfer. IETF RFC 2887, 2000
13 Whetten B, Vicisano L, Kermode R, et al. Reliable Multicast Transport Building Blocks for One-to-Many Bulk-Data Transfer. IETF RFC 3048, 2001
14 Luby M, Vicisano L, Gemmell J, et al. The Use of Forward Error Correction in Reliable Multicast. Internet-Drafts, 2001
15 Hardjono T, Canetti R, Baugher M, et al. Secure IP Multicast: Problem Areas, Framework and Building Blocks. Internet-Drafts, 1999
16 Harney H,Colegrove A,Harder E, et al. Group Secure Association Key Management Protocol. Internet-Drafts, 2001

[摘要] 文章在简介IPv6和组播技术的基础上,详细介绍了IPv6下的组播新特性,指出目前IPv6组播技术的几个研究方向,最后介绍了有关IPv6组播技术的研究成果。

[关键词] IP版本6;组播;群组管理协议;组播路由;组播主干网;组播地址

[Abstract] Based on the brief introduction to IPv6 and the multicast technology, this article presents new features of IPv6 multicast in detail, points out key fields for the research of the present IPv6 multicast technology, and ends with some research results in the field of IPv6 multicast.

[Keywords] IPv6; Multicast; IGMP; Multicast route; Mbone; Multicast address