Light weight MLDv2 协议的研究与实现.doc
《Light weight MLDv2 协议的研究与实现.doc》由会员分享,可在线阅读,更多相关《Light weight MLDv2 协议的研究与实现.doc(8页珍藏版)》请在三一办公上搜索。
1、Light weight MLDv2 协议的研究与实现龙柏炜北京邮电大学,北京 (100876)E-mail:verylongkama摘要:MLD 协议是 IPv6 组播框架中必备协议之一。MLDv2 协议引入的源过滤的机制支 持源特定组播模型,但同时增加了路由器实现的复杂性。Light Weight MLDv2 (简称LW-MLDv2)协议通过删减排除模式、简化消息处理流程,显著提高 MLD 协议性能。文章 阐述了在 XORP 路由器平台上实现 LW-MLDv2 协议的路由器端协议栈,并分析 LW-MLDv2协议改进依据和特性。关键词:IP 组播,XORP,MLDv2,LW-MLDv2中图分
2、类号:TP3931.引言近年来,IPv6 技术已经处于部署阶段,IPv6 的很多领域的研究不断深化。下一代互联 网络的重要技术组播,以其能够节约发送者的资源、极大节省网络带宽资源、实时性好等优 点,成为一种备受关注的基础网络技术。IPv6 网络部署组播技术分为两个方面:1,路由器上部署组播路由协议。目前重要的组 播路由协议包括 DVMRP,MOSPF,CBT 以及 PIM。其中 PIM-SM 协议由于其简单有效以 及与单播路由协议的无关性,成为域内组播协议的首选。在 PIM-SM 的基础上,IETF 组织 又提出了 PIM-SSM 协议,这是一种支持源特定组播业务模型的组播路由协议。2,接入路
3、 由器或三层设备上部署组播组管理协议。IPv6 网络部署为 MLD 系列协议。MLD 协议是组 播MLD 是 IPv6 组播的基本组成部分,并直接影响 IPv6 组播的其它领域,如安全组播、 应用编程接口、路由器基础结构、应用协议等。MLD 目前具有 3 个兼容的版本: MLDv11, MLDv22,LW-MLDv23。MLDv1 实现了基本的组播功能。MLDv2 为了支持源特定组播4, 在 MLDv1 的基础之上增加了源过滤模式。LW-MLDv2 在 MLDv2 基础上对过滤模式进行了 简化,通过删减源过滤模式多余的状态机和处理流程,使得 MLD 协议更加高效和适合应用。本文第 2 节将简要
4、介绍 MLDv2 协议及其存在问题,第 3 节详细描述和分析 LW-MLDv2 协议,第 4 节在 XORP 路由器平台基础上的实现 LW-MLDv2 协议路由器端和在 NetBSD 系 统上实现 LW-MLDv2 主机端,并对兼容性进行分析,第 5 节总结全文。2.MLDv2 协议简介MLD 协议是路由器与其直接相连主机之间的协议,主要功能是管理希望加入或离开一 个组播组的主机和管理希望接收或者拒收从某特定源发来的数据包。MLD 协议有三类消息 类型3:1,组播侦听者查询消息;一般查询消息(General Query),用于发现在直连的链路上 组播征听者。特定组播地址查询消息(Multica
5、st Address Specific Query),用于发现一个特定 的组播地址在本地链路上的所有组播侦听者。特定源组播查询消息(Multicast Address and Source Specific Query),用于发现一个特定源的组播地址在本地链路上的所有组播侦听者。2, 组播侦听者报告消息(General Report);3,组播侦听者 Done 消息。MLDv2 协议由 MLDv1 协议发展而来,主要在 MLDv1 的基础上增加了对组播源的包含 和排除两种过滤模式的支持。主机端在报告消息中附带一个包含列表(Include List)或一个排- 8 -除列表(Exclude Li
6、st)。包含列表告知路由器只对某一特定组播组中来自特定源地址的数据感兴趣。排除列表告知路由器只对某一特定组播组中特定源地址之外的数据感兴趣。这种源特 定模式增加了组播组的复用,使得使用相同组播组的组播树互不干扰。路由器端维护组播组 状态表,包含组播组地址,组计时器,组过滤模式及相应的源列表和源计时器,通过采用组 计时器和源计时器来维护组播组和组播源,在收到主机的报告消息时,需要综合考虑报告消 息的过滤模式以及组播组当前所处的过滤模式,然后对组播接收状态表做相应修改,同时路 由器不停的周期性向网络内发送查询消息,以即时获取主机的组播组接收状态。组播组的过滤模式提高了组播接收者对特定组播源的挑选能
7、力,却大大的增加了路由器 的处理复杂性。每当收到一个报告消息或者计时器超时,组播路由器就需要考虑组播组的过 滤模式,源列表,源列表中的各个源计时器等因素。由于路由器对组播接收状态表的修改策 略过于复杂,当子网中组播用户数量较大,用户频繁切换组播组,或者修改组播组接收状态 时,会对路由器的处理性能造成较大影响。LW-MLDv2 简化 MLDv2 过于复杂的逻辑结构, 提高协议效率,下一章我们将详细描述和分析 LW-MLDv2。3.LW-MLDv2 协议分析MLD 协议是路由器与其直接相连主机之间的协议,主要功能是管理希望加入或离开一 个组播组的主机和管理希望接收或者拒收从某特定源发来的数据包。M
8、LD 协议有三类消息 类型3:1,组播侦听者查询消息;一般查询消息(General Query),用于发现在直连的链路上 组播征听者。特定组播地址查询消息(Multicast Address Specific Query),用于发现一个特定 的组播地址在本地链路上的所有组播侦听者。特定源组播查询消息(Multicast Address and Source Specific Query),用于发现一个特定源的组播地址在本地链路上的所有组播侦听者。2, 组播侦听者报告消息(General Report);3,组播侦听者 Done 消息。MLDv2 协议由 MLDv1 协议发展而来,主要在 MLD
9、v1 的基础上增加了对组播源的包含 和排除两种过滤模式的支持。主机端在报告消息中附带一个包含列表(Include List)或一个排 除列表(Exclude List)。包含列表告知路由器只对某一特定组播组中来自特定源地址的数据感 兴趣。排除列表告知路由器只对某一特定组播组中特定源地址之外的数据感兴趣。这种源特 定模式增加了组播组的复用,使得使用相同组播组的组播树互不干扰。路由器端维护组播组 状态表,包含组播组地址,组计时器,组过滤模式及相应的源列表和源计时器,通过采用组 计时器和源计时器来维护组播组和组播源,在收到主机的报告消息时,需要综合考虑报告消 息的过滤模式以及组播组当前所处的过滤模式
10、,然后对组播接收状态表做相应修改,同时路 由器不停的周期性向网络内发送查询消息,以即时获取主机的组播组接收状态。组播组的过滤模式提高了组播接收者对特定组播源的挑选能力,却大大的增加了路由器 的处理复杂性。每当收到一个报告消息或者计时器超时,组播路由器就需要考虑组播组的过 滤模式,源列表,源列表中的各个源计时器等因素。由于路由器对组播接收状态表的修改策 略过于复杂,当子网中组播用户数量较大,用户频繁切换组播组,或者修改组播组接收状态 时,会对路由器的处理性能造成较大影响。LW-MLDv2 简化 MLDv2 过于复杂的逻辑结构, 提高协议效率,下一章我们将详细描述和分析 LW-MLDv2。3.1
11、LW- MLDv2 协议的提出依据随着组播业务的展开,在实际应用中几乎没有采用排除模式的场景。用户通常只指明希 望接收特定的组播源的数据,而极少会排除某些组播源数据。即使子网中的某个用户希望排除某些组播源的数据,但如果子网内同时却有其他用户希望接收这些组播源的数据时,路由器仍需要将这些数据发往该子网,排除模式在很多情况下是很难达到其设想的效果。在 IETF 组织新提出的源特定组播标准4中,对 MLDv2 也做出了相应的修改,即不允 许主机向路由器发送组播组地址在 SSM 地址范围内的排除模式报告消息。因此 MLD 协议 也必须对其包含与排除的过滤模式作出相应的修改。因此需要在 MLDv2 的基
12、础上,删去其 中的排除模式,同时对排除模式的相关的处理流程进行等价替换。3.2 LW- MLDv2 协议描述3.2.1 MLDv2 的保留部分为了保持对以前版本的兼容,LW-MLDv2 协议保留了查询-响应模式和查询及报告报文 的格式。对查询路由器的选举规则,协议的参数设置要求和建议作了保留,对协议的源包含 模式的基本处理逻辑流程做了保留。变化的地方主要是在对过滤模式的简化以及状态的描述 变化。3.2.2 状态简化部分LW-MLDv2 删去了 MLDv2 中的 Exclude 过滤模式,保留了 ASM(MLDv2 的 Exclude(*,G) 和 Include 两种状态。组播组的信息结构由
13、MLDv2 的(IPv6 Multicast Address,Group Timer, Filter Mode,Source List( IPv6 Source Address, Source Timer)改变为 LW-MLDv2 的(IPv6Multicast Address,Group Timer,Source List(IPv6 Source Address, Source Timer)。图 1 组播组的状态转移图LW-MLDv2 的组计时器用于区分 ASM 状态和 Include 状态,图 1 为 LW-MLDv2 的一 个组播组的状态转移图。组计时器大于 0 表示组播组处于 ASM
14、状态;组计时器等于 0 则表 示组播组处于 Include 状态;当组计时器超时,如果该组播组记录的源列表不为空,则该组 播组记录切换至 Include 状态,否则将该组播组记录删除。LW-MLDv2 的源计时器则用来保 证组播源的有效性。LW-MLDv2 路由器端协议不需要为每个组播组都维护它的过滤模式信 息,简化了消息处理流程和过滤模式切换的处理。在图 1 中组播源列表 x 均为包含模式。 LW-MLDv2 删除了排除过滤模式,因此一些在 MLDv2 中的报告消息存在于 LW-MLDv2 协 议的意义不大,但是 LW-MLDv2 为了兼容 MLDv2 版本,LW-MLDv2 对这些消息进行
15、了等 价转换。等价转换列表如表 1 所示,表中可以看出消息主要变化在对单独排除某特定源的消息转化为不排除任何源的操作。表 1 报告消息的等价转换列表MLDv2 报告LW-MLDv2 的等价消息IS_IN(x)ALLOW(x)IS_EX(x)IS_EX()TO_IN(x)TO_IN(x)TO_EX(x)IS_EX()ALLOW(x)ALLOW(x)BLOCK(x)BLOCK(x)3.2.3 处理流程简化部分在 MLDv2 协议中,当路由器收到主机端发来的报告消息时,需要根据当前组播组所处 的过滤模式决定消息处理流程。在 LW-MLDv2 协议中,由于删除了 Exclude 过滤模式,使 得大部分
16、的报告消息在 ASM 和 Include 状态下具有相同的处理流程,大大简化了路由器的 处理流程。只有 TO_IN 类型的报告消息需要根据当前组播组的状态判断是否需要发送组特 定查询消息。LW-MLDv2 报告消息具体处理流程如表 2 所示。表 2 LW-MLDv2 路由器端协议消息处理规则表源列表报告消息新源列表操作AIS_IN(B)A+B设置 B 的源计时器AIS_EX(B)A设置组计时器AALLOW(B)A+B设置 B 的源计时器ABLOCK(B)A发送组和源特定查询消息 Q(G,A*B)ATO_IN(B)A+B发送组和源特定查询消息 Q(G,A-B),如果组计时器值大于 0,则发送组特
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Light weight MLDv2 协议的研究与实现 协议 研究 实现
链接地址:https://www.31ppt.com/p-5191003.html