IPv6组管理协议 MLD研究
林予松 贺 磊 汪斌强
(国家数字交换 系统工程技术研究中心 ,郑州 450002)
(郑州大学网络中心,郑州 450052)
E-mail:lys@mail.ndsc.com.cn
摘 要 MLD是在 IPv6环境下重要的组播组管理协议 ,该文研究 了MLD两个协议版本的工作原理、报文格 式以及主要
特点,分析了协议行为的有限状态机,给出了MLDv2对源特定组播的支持和时原有协议的改进。
关键词 MLD IPv6 源特定组播
文章编号 1002—8331一(2004)36—0131—03 文献标识码 A 中图分类号 TP393
Research on IPv6 Multicast Group M anagement Protocol
Lin Yusong ‘ He Lei W ang Binqiang
(National Distal Switching System Research Center,Zhengzhou 450002)
(Network Center,Zhengzhou University,Zhengzhou 450052)
Abstract: MLD is an important protocol in IPv6 muhicast technology.This paper analyses the 2 versions of MLD and
introduces the working principles,message formats and properties of the protocols.How to support the new multicast
technology ,Source Specific Muhicast,is also presented.
Keywords:MLD,IPv6,Source—specific Multicast
组管理协议是在网络中实现组播的重要协议 ,它的主要功
能是在主机和路由器之间交换必要的信息,使得路由器知道在
连接的网段上有哪些主机需要提供组播服务。在运行 IPv6的
网络里 ,新 的组管理协议 MLD(Muhicast Listener Discovery)协
议取代了原来的在 IPv4网络中使用的IGMP协议。目前 MLD
协议有两个版本 ,分别是 v1和 v2。
该文针对 IPv6环境下的 MLD协议进行研究 ,描述了 MLD
两个协议版本的工作原理、报文格式以及主要特点,同时也分
析 了 MLDv2对源特定组播 (Source Specific Muhicast)的支持
和对原有协议的改进 。
l MLDvl
MLDvl协议只能用于 IPv6环境 ,与运行在 IPv4环境下的
IGMP协议相比,其最大的变化在于使用ICMPv6报文承载数
据,而不像 IGMP直接使用IP报文承载数据。
MLDvl协议的工作方式与 IGMPv2协议类似。路 由器定期
发送查询报文,主机如果想加入组播组,则通过报告报文对路
由器进行响应。主机退出组播组时,发送退出报文给路由器。主
机之间采用响应抑制机制来避免发送重复确认。
1.1 MLDvl的报文格式
MLD协议是 ICMPv6协议 的一个子协议。在一个 IPv6数
据报文中,通过将 Next Header字段的值置为 58来表示该报
文的数据部分是一个MLD协议报文;同时将 Hop Limit字段
置为 1,增加逐跳选项头(Hop—by—hop options header)中的路
由器告警选项(Router Alert option)。路由器告警选项的目的是
强制路由器查看该报文的内容。
类型 码点 校验码
最大响应延迟 保鼙
组地址
图 1 MLDvl报文格式
MLDvl报文格式与IGMPv2报文相比有些改变,主要是增
加了码点字段。其格式如图 1所示,主要内容如下:
(1)类型字段(Type):8bit。MLDvl中有三种报文类型。
① 130:组播监听者查询(Multicast Listener Query)报文。
用于路 由器向主机查询组成员状态。查询分为两种类型 :通用
查询(General Query),组地址字段置为全 O,对所有的组进
行组成 员查 询 ;特定组 地址 查询 (Muhicast—address—specific
Query),针对特定的组进行组成员查询,报文中的组地址字段
置为特定组的地址。
②131:组播监听者报告(Muhicast Listener Report)报文。
用于主机向路由器报告加入某个组播组的信息。
⑧132:组播监听者结束(Muhicast Listener Done)报文。用
于主机向路由器报告离开某个组播组的信息。
(2)码点字段(Code):8bit。初始值为O。
基金项目:国家863高技术研究发展计划信息技术领域重大专项项目基金资助(编号:2001AA124011)
作者简介:林予松(1973一),男,讲师,博士生,主要研究方向:组播,核心路由器设计。贺磊(1974一),男,博士生,主要研究方向:网络管理,核心路由
器设计 。汪斌强(1963-),男,教授 ,博士生导师,主要研究方向:宽带 IP网络。
计算机工程与应用 2004.36 131
维普资讯
(3)校验和字段 :16bit。
(4)最大响应时间字段(Max Resp Delay):16bit。只有在组
播监听者查询报文中有效,主机必须在最大响应时间到达之前
发出成员关系报告报文。通过该值 ,路 由器可以调节组成员的
离开延迟。
(5)组地址地段 :128bit。在通用组查询中,置为 0;在特定
组查询时,该字段存放要查询的组播组的地址。在报告和完成
报文中,分别用于存放主机要加入和离开的组地址。
1.2 MLDvl的工作原理
路由器通过MLD协议来探察子网内有哪些主机需要接收
组播报文。在路由器内部有一个列表,保存着在路由器连接的
子网内有组成员的组播组地址 ,并且针对每一个组地址有一个
计时器。路由器只知道某一个组地址有无接收者,并不知道子
网内有多少接收者或者接收者是哪台主机。
如果路由器有多个网络接口连接在同一个网段上,则路由
器需要选择其中一个作为发送 IPv6数据报文的源地址。同时,
该接口必须设置为允许接收所有的数据链路层组播地址。
当一个网段内连接有多台路由器的时候,必须选举一台路
由器作为查询路由器(Querier router),其余的自然成为非查询
路由器(Non—Querier router)。选举的机制是 IP地址最小的路
由器当选。非查询路由器中有一个 Other Querier Present计时
器,当该计时器到期仍没有收到来 自查询路由器的报文,则认
为该查询路由器失效,重新开始新的选举。
路由器定期向子网内所有的主机广播查询报文(目的地址
为FF02::1),目的是获得主机的报告报文。在路由器刚开始工
作时,会快速连续地发送查询报文,以便尽快搜集到子网内的
组成员信息。
当主机接_收到一个查询报文后,就为每一个要接收的组地
址启动一个延迟定时器。定时器的值在f0,Max Resp Delay]之
间取一个随机数。如果查询报文中的Max Resp Delay字段被
置为0,则定时器立刻到期。定时器到期后,主机会发送一个报
告报文给路由器,通知路由器主机想接收的组播组地址。
如果一 台主机在定时器还未到期时 ,就收到其 它主机通告
路由器的报告报文,则读取该报文的组地址,如果和自己需要
通告的组地址相同,则立刻停止相应的定时器,并不再发送关
于该组地址的报告报文,这样就可以避免多台主机发送相同内
容的报告报文给路由器,这种机制称为“响应抑制”。
路由器收到来 自主机的报告报文后,查看其中的组地址,
如果该地址未在路由器的组地址列表中,则将其添加到组地址
列表中,同时为其启动一个相应的定时器;如果该地址已经在
路由器的组地址列表中,则将相应的定时器恢复最大值。如果
一 个组地址的定时器到期了,则说明该组地址在子 网内已经没
有接收者了,路由器会将此组地址从列表中删除。
当一台主机想要加入某个组播组时,可以不必等待路由器
的查询报文,而是直接向路由器发送报告报文。为了保障该报
文的可靠性,一般会进行重传。
当一台主机想要离开某个组播组时,必须发送一个离开报
文(类型 132)给子网内的路由器 (目的地址 :FF02::2)。路由器
收到离开报文后,会首先查看该组地址是否在组地址列表中,
如果在 ,则发送一个特定组地址查询给子网内的所有主机。在
一 定的时间内,路由器收不到来自主机的应答,则会认为该组
已经没有接收者,于是将该组地址从列表中删除。非查询路由
132 2Oo4.36计算机工程与应用
器会忽略所有的离开报文。
1.3 主机工作状态转换图
使用状态转换图能够很好地反应主机的变化状态。对于任
意一个单独接口上的一个单独的IPv6组播地址,一台主机可
能是以下三种状态中的一种 :
(1)非监听状态(Non—Listener State)。当主机没有在接 口
上监听任何一个组播地址时的状态。没有上层协议或者应用要
求接收组播数据,这是任何一个网络接口的初始状态,此时在
主机上不需要存储空间。
(2)延时监听状态(Delaying Listener State)。这时主机正
在监听某些组播地址,但是由于计时器尚未到期,还没有向路
由器发送报告报文。
(3)空闲监听状态(Idle Listener State)。此时主机正在监
听某些组播地址,并且也没有报告延时计时器在工作中。
一 共有 5个事件会触发主机改变状态 :
(1)开始监 听事件(Start Listening Event)。主机开始想要
监听某个组播地址。这个事件只能发生在非监听状态。
(2)停止监听事件(Stop Listening Event)。主机停止监听
某个组播地址。这个事件只能在延时监听或者空闲监听状态下
发生。
(3)查询报文收到事件(Query Received Event)。主机收到
一 个来自路由器的查询报文。在非监听状态下,该报文被忽略。
(4)报告报文收到事件(Report Received Event)。主机收到
一 个来自其它主机的报告报文。在非监听状态和空闲监听状态
下,该报文被忽略。
(5)计时器到期事件(Timer Expired Event)。当针对某一
个报告报文的计时器到期后发生这一事件,该事件只能在延时
监听状态下发生。
对于其它情况,比如收到无效的MLD报文,或者报文类型
不是查询和报告 ,则丢弃相应的报文。
针对上述的5种事件,会有7种动作(Actions)发生。
(1)发送报告报文 (Report Message)。
(2)发送结束报文(Done Message)。
(3)Set flag。如果主机是某个组播地址的最后一个成员。
(4)Clear flag。如果 主机不是某 个组播地 址的最 后一个
成员。
(5)计时器开始计时。
(6)重置计时器。为计时器赋予一个新的值。
(7)停止计时器。
状态的转变由事件触发,事件同时触发了相应的动作:如
图2所示。
图 2 主机状态转换图
维普资讯
这里需要说明的是 ,set flag表示主机成为该组 最后一 个
成员,clear flag表示主机不是最后一个成员。例如,在延时监
听状态,如果在计时器没有到期的时候,收到一个来 自其它主
机的报告报文,则说明另有主机向路由器发送了报告报文,因
此,该主机就不必再发送报告报文了(停止计时器),同时说明
该主机也不是该组播组的最后一个成员,因此 clear flag。
1.4 路由器状态转换图
连接在同一网段上的路由器有两种类型:一种是查询路由
器;另一种是非查询路由器。查询路由器负责在网段内发送查
询报文。
有 3种事件会触发路由器改变类型:
(1)查询计时器到期。这个事件只能发生在查询路由器上。
(2)收到来 自更小 IP地址 的查询报文。
(3)查询路由器存活计时器到期。查询路由器存活计时器
运行在非查询路由器上,表示查询路由器的存活状态。一旦该
计时器到期,非查询路由器就会认为查询路由器出了故障,将
会重新进行查询路由器选举。
对于上述的事件,会产生不同的动作:
(1)启动查询间隔计时器。该计时器用于控制查询路由器
每次发送查询报文的时间间隔。
(2)启动查询路由器存活计时器。
(3)发送通 用查 询报文 。通用查询报文 的 目的地 址是 :
FF02::1。
路由器在两种类型间切换 的示意图如图 3所示。
初始状态1 .1查询路由器
收到来 自更
小 IP地址的
查询报文 (启
动查询路 由
器存活计时
器)
非重询路由器
图 3 路由器状态转换图
查询计时器到期
(发送通用查询
报文.启动通用
查询计时器)
王询路由器存活
计时器到期 (发
送通 用查 询报
文,启动初始通
用报文计时器)
收到来自更小 IP
地址的重询报文
(启动重询路由
器存活计时器)
2 MLDv2
MLDv2的提出,主要是为了配合源特定组播的实现,非常
类似于 IGMPv3对于 IGMPv2的改进。源特定组播 (SSM
Source Specific Muhicast)是一种区别于传统组播的新的业务
模型,它使用组播组地址和组播源地址同时来标识一个组播会
话,而不是向传统的组播服务那样只使用组播组地址来标识一
个组播会话。SSM保留了传统PIM—SM模式中的主机显式加入
组播组的高效性,但是跳过了PIM—SM模式中的共享树和 RP
规程。SSM特别适合于点到多点的组播服务,例如视频点播、在
线网络教学等业务,但是在多点到多点的应用场合还是需要
ASM模式。
为了在 IPv6网络中实施SSM组播业务,除了要求网络端
到端地支持网络组播和SSM模式外,同时还要求网络和应用
支持 MLDv2协议栈。
MLDv2协议是 ICMPv6协议的子协议 ,MLDv2的报文类型
有以下四种:
(1)Type=130:Muhicast Listener Query
(2)Type=lIANA尚未确定】:Version 2
Report
(3)Type=131:Version 1 Muhicast Listener Report
(4)Type=132:Version 1 Muhicast Listener Done
其中后两种报文是为了兼容 MLDvl协议
MLDv2的工作原理和 MLDvl并没有本质的改变 ,只是在
某些地方做了改进和优化。以下列出了MLDv2的主要改进:
(1)支持源特定组播SSM;
(2)主机可以维护每个接口上每个套接字上的组播接收状
态,并且针对每一个组播地址可以定义一个过滤模式和一组源
地址 ;
(3)路由器中,除了组播地址列表外,还维护着每个组播地
址相关的过滤模式、源地址列表、源计时器等信息。而在
MLDvl中,路由器只维护一个组播地址列表;
(4)QRV和 QQIC字段可以使同一网段上的MLDv2路由
器保持同步;
(5)主机可以定义要接收的组播源地址 ;
(6)最大响应时间增加到 140分钟,适合于较大的网络;
(7)辅助数据字段为将来的应用预留了空间;
(8)报告报文 中可 以包含多个针对不同组播地址的记录,
而MLDvl中,针对每个组播地址都需要发送一个报告报文,因
此MLDv2可以有效地减少网络通信量;
(9)在 MLDv2中,取消了前面版本中的响应抑制功能,主
要原因是:①使用响应抑制时,路由器只知道子网上是否有组
成员,而不知道有几个组成员,以及成员是哪些主机;取消响应
抑制,路由器就可以记录每一个组成员的信息,可以开发记帐
等功能;②许多网桥或者二层/三层交换机在实现 MLD监听功
能时,为了避免响应抑制,一般不转发网段间的 MLD报文 取
消了响应抑制后,可以简化这些设备的设计;⑧取消响应抑制
后。主机不必处理来自其它主机的报文,简化了主机的实现;
(10)在查询报文中,增加了S标志位,可以提高系统的健
壮性 ;
(11)取消了MLDvl中的完成报文(Done Message)。
3 总结
MLD协议是 IPv6环境下支持组播必不可少的协议 一
MLDvl与IPv4下的IGMPv2协议有类似的工作机制,主要用
于在主机和路由器间交换组成员加入和退出的信息。MLDv2
是在MLDvl的基础上,增加了对源特定组播的支持。目前大部
分的 IPv6网络设备和主机操作系统协议栈都支持 MLDvl,
MLDv2目前只是Intemet Draft,还需要进一步地完善。
(收稿 日期 :2004年 6月)
参考文献
1.Deefing s.Host Extensions for IP Muhicasting[S].RFC 1 1 12.IETF、
1989
2.Fenner W.Intemet Group Management Protoco1.Version 2IS].RFC
2236,IETF,1997
(下转 232页)
计算机工程与应用 2004.36 133
维普资讯
and Bioengineering,1984;26:1189—1197
6.Vapnik V N.The Nature of Statistical Learning Theory[M】.New York:
Springer-Verlag,1995
7.Vapnik V N.Statistical Learning Theory[M].New York:Wiley.1998
825cholkopf B,Smola A,Muller K-1LKernel principal component analysis
【C】.In:Proceedings of ICANN'97,Springer Lecture Notes in Computer
Science,1997:583-589
9.王士同编著.神经模糊系统及其应用【M】.北京:北京航空航天大学出
版社 ,l998
l0.王旭东,邵惠鹤.基于神经网络的通用软测量技术【J】.自动化学报,
1998;24(5):702-706
(上接 133页)
3.Cain B,Deering S,Kouvelas I et a1.Internet Group Management Pro—
tocol,Version 3【S】.RFC 3376,IETF,2002
4.Fenner B.IANA Considerations for IPv4 Internet Group Management
Protocol(IGMP)2[S].RFC 3228,IETF,2002
5.Deering S.Muhicast Listener Discovery(MLD)for IPv6[S].RFC 2710.
IETF,l999
6.Bhauacharyya S.An Overview of Source—Specific Multicast(SSM)[S].
RFC 3569,IETF,2003
7.Holbrook H.Using IGMPv3 and MLDv2 For Source-Specific Multi—
cast[Z].Internet draft,draft—holbrook—idmr—igmpv3-ssm-04.txt.IETF.
2003
8.Vida R.Muhicast Listener Discovery Version 2(MLDv2)for IPv6【Z】.
Internet draft,draft—vida—mld—v2—07.txt.IETF,2003
9.岩延等.组播路由协议设计及应用【M】.北京:人民邮电出版社,2002
10.CISCO SYSTEMS[美】.韦新译.域间组播解决方案【M】.北京:人民邮电
出版社 ,2003
(上接 138页 )
于更有利的位置。在第五步,若A单方面终止协议,公告栏的
存在约束了它的这种行为,因为所有人都可以看到公告栏。
公平性:单方面终止协议不会破坏协议的公平性。若 不
诚实,就不会通过A的验证。若 A不诚实,在公告栏中公布假
消息,也不会通过 的验证。若它在发送完消息后又修改公告
栏或密钥库中的消息,将被记录处记载,在争议解决时被揭露
出来。
因此,该协议满足以上五个性质,是一个公平的交换协议。
7 结论
该文提出了一个不含可信第三方的公平的多方不可否认
协议。该协议不要求协议双方具有相同的计算能力,能抵抗外
界干扰,且发送者用公告栏公布消息,防止了信道传输中可能
出现的截获、重传等问题,高效实用。(收稿日期:2004年7月)
参考文献
1.Yongfei Han.Investigation of Non-Repudiation Protocols.In IEEE In—
formation Th eory and Its application,1996
2.G Chiou,W Chen.Secure broadcasting using the seeul~lock[J].IEEE
Trans on Software Engineering,1989;15(8):929-934
3.A S TANENBAUM.Computer Network[M].3rd edition,The Nether-
lands,Prentice Hall,Inc,1996
4.M Roe.Cryptography and evidence[D].Phd Thesis.University of Cam—
bridge,1997
5.N Asokan ,V Shoup,M Waidner.Asynchronous protocols for optimistic
fair exchange[C].In:1998 IEEE Symposium on Security and Privacy,
1998:6~l7
(上接 178页 )
4 结论
k-means算法是一种常用的聚类方法,但随机初始选取聚
类中心的方式限制了该方法的性能,该文改进的方法根据数据
的自然分布选取初始聚类中心,实验表明改进后的方法具有较
高的聚类准确率。(收稿日期:2004年6月)
参考文献
1.La Jolla.Ahematives to the k-means algorithm that find better clus-
tering.Department of Computer Science and Engineering,University of
California,San Diego,CA92093
2.Kanfan L,Rousseeuw PJ.Finding Groups in Data:an Introduction to
Cluster Analysis[M].New York:John Wiley&Sons.1990
3.Guha S,Rastogi R,Shim K.CURE:an efficient clustering algorithm
for large databases[C].In:Haas LM,Tiwary A eds.Proceedings of the
ACM SIGMOD International Conference on Management of Data,
Seattle:ACM Press.1998:73—84
4.Agrawal R,Gehrke J,Gunopolos D et a1.Automatic subspace cluster-
ing of high dimensional data for data mining application[C].In:Haas
LM .Tiwary A eds.Proceed ings of the ACM SIGMOD International
Conference on Management of Data,Seattle:ACM Press,1998:94~105
5.朱明.数据挖掘【M】.中国科学技术大学出版社,2002
(上接 204页 )
汽车工业、航空、航海等领域有较广泛的应用。该文的研究是基
于分布式实时控制研究的一个子课题。通过上面的一个简单的
试验,对该文的算法进行了验证,时钟同步的性能和效果都很
满意。采用该协议不仅可以用于CAN总线,也可以用于其他广
播式网络 ,应用 的前景很大。由于现场总线和基于现场总线的
节点的特点:总线的传输速率不是很高;总线节点的计算能力
232 2004.36计算机工程与应用
有限及总线节点成本较低等,也决定了同步的效果不能同基于
工作站的分布式系统相比较。(收稿日期:2004年6月)
参考文献
1.邬宽明.CAN总线原理和应用系统设计【M】.北京:北京航空航天大学
出版社,1996一ll
2.Phillips SJA 1000 Stand-alone CAN-Controller.Product specification
维普资讯