lw-igmpv3协议在xorp平台上的分析与实现
浅析多播协议IGMP三个版本的区别

浅析多播协议IGMP三个版本的区别王浦衡【期刊名称】《《科技视界》》【年(卷),期】2019(000)034【总页数】2页(P207-208)【关键词】多播协议; IGMP; TCP/IP【作者】王浦衡【作者单位】湖南化工职业技术学院湖南株洲 412000【正文语种】中文【中图分类】TP212.9; TN929.51 多播协议IGMP 介绍IGMP 英文全称Internet Group Management Protocol,中文称多播协议或者组播协议,是TCP/IP 协议簇中负责联网设备节点多播成员管理的协议,用于管理各IP 主机以及和其连接的路由器共同搭建维护多播组成员关系。
截至目前,有V1/V2/V3 三个版本多播协议。
这三个版本的IGMP 都支持“任意信源多播”;V3 版本可以直接支持“指定信源多播”,而V1 和V2 两个版本则需要在IGMP 指定信源多播映射技术支持下才能支持“指定信源多播”。
2 多播工作原理图1 IGMP 查询原理图2.1 v1 版多播协议工作机制v1 版IGMP 协议通过查询报文和响应报文来实现对多播组成员的管理。
当一个多播网络中存在多个多播路由器时,因为所有的多播路由器都能从主机节点接收到IGMP 成员发送过来的关系报告报文,所以,只需要指定一个路由器能发送IGMP 查询报文就可以了,因此这个时候就需要有一个选举机制来选出其中某一个路由器作为IGMP 查询器。
如图1 所示,假设PC-B 与PC-C 想要接收到多播组信源为G1 的多播数据,而PC-A 想要收到多播组信源为G2 的多播数据,那么主机加入多播组以及IGMP 协议查询器路由器(RB)与主机构建成员组关系的基本过程应该是:1)网络中的主机首先将主动向查询路由器发送成员关系报告报文用来申明它要加入的多播组,而不是被动等待IGMP 协议查询路由器发来的IGMP 查询报文;2)IGMP 查询路由器以目的地址为224.0.0.1 周期性向本地网段内的所有路由器与主机发送IGMP 查询报文;3)本网段内主机和路由器收到查询报文之后,延时定时器先到时的主机或路由器会先以多播的方式向G1(查询器)发送IGMP 成员关系报文报告自己属于多播组G1。
实验五 利用WIRESHARK分析IGMP协议

协议分析实验报告年级:姓名:学号:实验日期: 2013-04-10实验名称:利用wireshark分析IGMP协议一、实验目的分析IGMP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、协议简介Internet组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。
IGMP信息封装在IP报文中,其IP的协议号为2。
它用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
igmp不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。
所有参与组播的主机必须实现igmp。
报告报文字段说明:Type(8bit)0x22成员关系报告Reserved(8bit)和Reserved(16bit):都是表示保留字段,不过在IGMP中为了使它们都保持对应的长度,所以才有了长度上的区别,它在发送的时候是以0填充,在接收的时候是不作任何处理的。
校验和校验和是对整个IGMP消息以16位为一段进行取反求和。
为了计算校验和,校验和字段首先必须被置0。
当收到一个数据,在处理之前,必须先对校验和进行验证。
Number_of_Group_Records(M):该字段表示该报告报文中包含有几个组记录GroupRecord[i](i从1到M):一个主机可能需要点播多个组播地址的组播业务,每个记录包含了对应于其中一个组播地址的源地址列表等信息,它受到Number_of_Group_Records的大小的影响。
每一个组记录字段是一整块数据,其含有的信息是关于发送者在报告发送接口上的某一个多播组的成员关系。
每一个GroupReocrd的内部格式如下:字段说明:AuxDataLen:辅助数据长度含有在组记录中的辅助数据的实际长度,其单位是32bit字。
它有可能是0,这就表示辅助数据不存在。
IGMP协议

IGMP协议IGMP协议是一种基于IP协议的组播协议,它定义了用于在Internet上进行组播传输的支持协议。
IGMP协议允许主机加入和离开一个组播组,以便接收该组的组播数据。
IGMP协议的全称是Internet Group Management Protocol,它是一种通信协议,用于在Internet上进行组播传输。
组播传输是一种数据传输方式,在这种方式下,一组数据同时可以被多个地址接收。
组播传输在许多应用中都非常有用,比如视频会议和实时数据分发等。
IGMP协议是在不同计算机之间通信的IP网络中进行组播传输的重要协议之一。
在IP网络中,IGMP协议负责协调主机的组播群体,确保组播数据能够从数据源传递到所有指定接收者,同时保证网络资源被合理利用。
在本文中,我们将详细讨论IGMP协议的工作方式、协议数据单元、协议版本和应用领域等问题。
一、IGMP协议的工作方式在IP网络中,组播传输需要一个有效的组播群组来工作。
组播群组是由一个组播地址来定义的,这个地址分配给一个特定的IP多播地址。
IGMP协议可以帮助确定哪个主机位于一个组播群体的成员,以便组播数据包来源发送组播数据包并控制它们的传递路由。
如果没有IGMP协议的支持,组播路由可能会向协议类型为多路广播的所有接口转发数据,尽管这些接口上没有主机加入组播群体。
这将产生不必要的网络流量和负载,相应地消耗更多的网络资源。
此外,如果没有IGMP协议的支持,多个接口所在的网络上可能会出现群体成员的不一致状态。
由此可见IGMP协议对组播传输的工作非常重要。
在IGMP 协议的支持下,主机可以向网络上发送特殊的IGMP包,以通知路由设备它们希望加入或离开组播群体。
路由设备通过接收和处理这些IGMP包来维护组播群体和转发组播数据包。
IGMP 协议的工作方式为主机和路由设备间的通信建立了一套规范的协议内容。
二、IGMP协议的协议数据单元IGMP协议的协议数据单元(Protocol Data Unit,PDU)是IGMP报文,如图1所示。
linux igmp 分析

对于通用成员关系查询,需要将 Multicast ip address 设置为 0;对于特定组成员关系查询, 需要将 Multicast ip address 值设置为要查询的组播组地址。
其中 ip 头部中的目的地址为 224.0.0.1 或者要查询的组播组地址 b)成员关系报告
TYPE(0x16)
Max Resp Time
CheckSum
Multicast ip address
Max Resp Time:最大回复时间,此处设置为 0。 需要将 Multicast ip address 值设置为加入的组播组地址。 c)离开组消息
TYPE(0x17)
Max Resp Time
CheckSum
Multicast ip address
a)成员关系查询
TYPE(0x11)
Max Resp Time
CheckSum
Multicast ip address
Max Resp Time:最大回复时间,对于成员关系查询报文,需要设置该时间,组播组成员收 到成员关系查询后,会根据该值来确定回复时间。
有两种成员关系查询报文:通用成员关系查询与特定组成员关系查询。
Max Resp Time:最大回复时间,此处设置为 0。 需要将 Multicast ip address 值设置为离开的组播组地址。其中 ip 头中的目的地址设置为 224.0.0.2 或者要离开的组播组地址
查询器机制:共享网段上组播路由器的选举机制:同一网段上有多个路由器时,具有最新 ip 地址的组播路由器充当查询器。
/*组播组数据库转发表,该结构体将所有的组播组数据库转发项通过 hash 数组连接到一起
*/
struct net_bridge_mdb_htable
IGMP协议

IGMP协议本合同目录一览1. IGMP协议概述1.1 IGMP协议的作用1.2 IGMP协议的版本1.3 IGMP协议的报文类型2. IGMP协议的运行原理2.1 IGMP协议的运行流程2.2 IGMP协议的查询过程2.3 IGMP协议的报告过程3. IGMP协议的配置与参数3.1 IGMP协议的配置文件3.2 IGMP协议的参数设置3.3 IGMP协议的参数优化4. IGMP协议的调试与维护4.1 IGMP协议的调试工具4.2 IGMP协议的故障排查4.3 IGMP协议的维护策略5. IGMP协议的安全性与稳定性5.1 IGMP协议的安全机制5.2 IGMP协议的稳定性保障5.3 IGMP协议的故障应对措施6. IGMP协议的兼容性与扩展性6.2 IGMP协议的扩展功能6.3 IGMP协议的升级策略7. IGMP协议在网络中的应用场景7.1 IGMP协议在组播中的应用7.2 IGMP协议在VPN中的应用7.3 IGMP协议在流媒体中的应用8. IGMP协议的实施与监管8.1 IGMP协议的实施规范8.2 IGMP协议的监管要求8.3 IGMP协议的违规处理9. IGMP协议的培训与技术支持9.1 IGMP协议的培训内容9.2 IGMP协议的技术支持范围9.3 IGMP协议的培训与支持期限10. IGMP协议的知识产权与保密10.1 IGMP协议的知识产权归属10.2 IGMP协议的保密条款10.3 IGMP协议的保密期限11. IGMP协议的违约责任与争议解决11.1 IGMP协议的违约行为11.2 IGMP协议的违约责任11.3 IGMP协议的争议解决方式12. IGMP协议的签订与生效12.2 IGMP协议的签订程序12.3 IGMP协议的生效条件13. IGMP协议的变更与解除13.1 IGMP协议的变更条件13.2 IGMP协议的解除条件13.3 IGMP协议的变更与解除程序14. IGMP协议的终止与后续事宜14.1 IGMP协议的终止条件14.2 IGMP协议的终止程序14.3 IGMP协议终止后的后续事宜第一部分:合同如下:1. IGMP协议概述1.1 IGMP协议的作用IGMP(Internet Group Management Protocol,互联网组管理协议)是一种由互联网协议族(IP)定义的协议,主要用于在IP网络中,组播路由器与主机之间进行组播组成员关系的维护和管理。
LW-IGMPv3(轻量级互联网组管理协议)的研究与实现

LW-IGMPv3(轻量级互联网组管理协议)的研究与实现随着互联网的迅速普及,网络技术已经渗透到人们的工作、生活、娱乐等各个角落。
IP组播技术以其高效的网络带宽利用率日益赢得人们的青睐。
组管理协议IGMPv3是IP组播体系结构的重要组成部分,但是协议的逻辑结构过于复杂,不利于实际应用。
针对此问题,华为公司提出了“LW-IGMPv3/MLDv2草案”,对IGMPv3协议进行简化。
论文对草案中提出的LW-IGMPv3协议进行了研究与分析,并在XORP开源路由器平台上实现了该协议,在此基础上,对协议进行全面的测试及分析。
论文首先介绍课题的研究背景,对目前互联网IP组播技术的研究现状进行概要的介绍,通过对组播体系结构的分析,阐明了互联网组管理协议IGMP在组播体系结构中的重要性。
然后对IGMP协议的发展和各个版本IGMP协议进行简要介绍和对比,并重点分析了IGMPv3协议。
论文接下来在深入分析了华为公司提出的LW-IGMPv3/MLDv2草案的基础上,阐明了LW-IGMPv3协议的改进依据,然后对LW-IGMP协议和IGMPv3协议在消息种类,协议流程,组播路由协议接口,协议兼容性等方面进行对比,并对LW-IGMPv3的简化程度进行了分析。
在此基础上,论文详细介绍了LW-IGMPv3协议在XORP路由器平台的设计及实现过程。
然后对LW-IGMPv3协议进行了全面的测试,包括功能性,兼容性及性能测试。
测试结果表明,LW-IGMPv3协议能够正确并有效的支持组播业务,并表现出对低版本IGMP协议的良好兼容性,在一定情况下能够显著提高IGMP协议及组播路由协议性能,对优化路由器在IP组播大规模应用中的性能具有重要意义。
论文最后总结了作者在研究生期间的主要工作并对系统的不足和下一步的改进方向做了一些阐述。
IGMP-v3协议交流文档

+-
-+
.
.
.
.
.
.
| Source Addres +-
-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
.
Auxiliary Data
.
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IP 为0Xc0),并且在IP头中携带 Router Alert O
2113]的方式发送。
? IGMP消息(黄色代表本文描述的):
Type Number (hex) 0x11
Message Name Membership Query
0x12 Version 1 Membersh 0x16 Version 2 Membersh 0x17 Version 2 Leave Gro
IPMulticastListen( socket, interface, multicast-address, filter-mode,
IGMP协议与实现

IGMP协议与实现IGMP(Internet Group Management Protocol)是一种在多播网络中使用的网络层协议,主要用于IPv4网络中支持多播的接口设备及主机之间的通信。
IGMP协议主要用于在主机和路由器之间传递多播组成员关系信息,以便能够及时和有效地进行多播数据的传送。
本文将从IGMP协议的设计目标、工作原理、实现方式和应用等方面进行详细介绍。
一、IGMP协议的设计目标:1.支持主机从组播组中加入和离开的动态管理功能;2.保证组播组成员关系的一致性;3.能够高效地处理组播数据包;4.能够即时地对主机的组播组成员关系变化进行通知;5.能够与其他关键的网络层协议(如IP协议、路由选择协议等)进行有效地集成。
二、IGMP协议的工作原理:1.主机发现组播组:主机可以通过发送IGMP报文给路由器来加入一个组播组。
路由器会在收到这个报文后记录下主机的IP地址和组播组的IP地址,形成一个组播组成员的列表。
2.组播组成员的列表更新:当主机加入或离开一个组播组时,路由器会根据IGMP报文的内容来更新组播组成员的列表。
3.组播组成员关系的一致性:路由器会周期性地向组播组中的成员发送嗅探报文来验证成员的有效性,以保持组播组成员关系的一致性。
4.组播数据的转发:当路由器收到一个组播数据包时,它会根据组播组成员的列表来判断需要将这个数据包发送给哪些成员。
三、IGMP协议的实现方式:1.基于硬件的实现:在一些高性能的路由器和交换机中,IGMP协议的功能可以由硬件来完成。
这样可以提高路由器和交换机的处理速度和转发能力。
2.基于软件的实现:在一些低成本的设备中,IGMP协议的功能可以由软件来完成。
这样可以降低设备的成本,并提高设备的灵活性和可扩展性。
四、IGMP协议的应用:1. IPTV(Internet Protocol Television):IGMP协议可以在IPTV 网络中用于传输多播视频数据,使得用户能够高质量地观看视频节目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LW-IGMPv3协议在XORP平台上的分析与实现1刘吉雯北京邮电大学网络与交换国家重点实验室,北京 (100876)E-mail:serenemarch@摘要:互联网组管理协议是IP组播框架中极为重要的组成部分,目前网络中广泛采用的IGMPv3协议引入的源过滤的机制虽然可以很好地支持源特定组播模型,但同时却增加了路由器实现的复杂性。
针对此问题,华为公司提出一种名为LW-IGMPv3的IGMP路由器端协议简化方案,通过删减排除模式、简化消息处理流程等一系列改进,旨在提高IGMP协议和组播路由协议在IP组播大规模应用中的性能表现。
本文详细阐述了此简化方案的改进依据、原理和特性,并通过在开源路由器平台XORP上实现LW-IGMPv3协议,对此简化方案的可行性进行分析。
关键词:IP组播,互联网组管理协议,XORP,LW-IGMPv31.引言随着IPTV,视频会议,多媒体远程教学,远程医疗等应用的开展,组播技术的优势和重要性逐渐显现出来。
采用单播技术构建的传统网络已经无法满足新兴宽带网络应用在带宽和网络服务质量方面的要求,随之而来的是网络延时、数据丢失等等问题。
此时通过引入IP组播技术,有助于解决以上问题IGMP协议是IP组播体系架构的一个重要组成部分,在IGMP的最新版本IGMP版本3(IGMPv3) [1]中,协议的逻辑结构过于复杂,不利于实际应用,且原协议中的一些状态在目前的一般组播应用中并没有相应的场景。
通过对IP组播体系结构的研究,我们在华为公司的“轻量级互联网组管理协议草案”的基础上,提出一种轻量级互联网组管理协议(LW-IGMPv3),通过简化协议逻辑架构,从而减轻路由器的负担,提高路由器效率,为组播路由协议提供更好的接入服务。
为了协议实现简便,文中特引入开源路由器平台XORP,XORP全称为可扩展的开放性路由平台(eXtensible Open Router Platform)。
XORP得到了Intel,美国国家科学资金,微软,Vyatta等机构和公司的支持。
XORP运行在Linux或者FreeBSD操作系统平台上(最近版本支持windows2003),它为当前大多数的路由协议提供了支持,比如BGP,OSPF,RIP等。
XORP作为一个低成本的路由器平台,它没有特别高的配置要求,作为一个软件路由器平台可以运行在普通的个人计算机或服务器,能达到100Mb/s的网络路由要求。
XORP采用一种新颖的进程间通信架构,通过不同的模块分别处理各种协议,这使得我们仅需修改IGMP协议模块就可快速实现新的协议机制。
本文第2节将详细描述轻量级组管理协议的简化方案,第3节介绍LW-IGMPv3在XORP 平台上的实现,第4节对LW-IGMPv3的协议兼容性进行分析,第5节总结全文。
2.轻量级互联网组管理协议(LW-IGMPv3)2.1互联网组管理协议(IGMP)协议IGMP协议运行于主机和与之直接相连的组播路由器之间,它提供了主机和组播路由器之间维护组成员关系的机制。
IGMP协议实现的功能分为组播路由器部分和主机部分。
如果主机想加入某个组播组,首先主动子网内的查询路由器发送组播组成员关系报道报文,该报1本课题得到华为公司项目基金的资助。
文中包含了组播组的地址;在接收到路由器的查询报文后,如果想继续接收某些组播组的数据包,便发送报道报文响应组播路由器的查询。
组播路由器部分的主要功能是周期性在所连接的物理网络上发送查询,以获得组成员关系列表,并对组成员关系列表进行维护。
如果同一网段上存在多个组播路由器,只需要一个路由器定期发送查询便可,这时会产生查询者选举,IP地址低的路由器获胜。
其他路由器监听担当查询者角色的路由器的状态,一旦发现该路由器失效,便进行新一轮的查询者选举。
目前IGMP共有三个版本:IGMPv1[2], IGMPv2[3], IGMPv3。
高版本提供向上兼容的功能。
IGMPv1己经不再使用,仅被高版本的协议提供了对它的兼容。
目前的组播设备中广泛使用的是IGMPv2。
最新标准IGMPv3是为了支持SSM业务模型[4]而提出,目前支持的系统还比较有限,但随着SSM的发展,可以预见IGMPv3将迅速取代IGMPv2协议。
尽管IGMPv3引入的滤过滤机制提高了组播接收者对特定组播源的挑选能力,却大大的增加了路由器的处理复杂性。
目前,IETF的Mboned工作组对IGMPv3的讨论和修改仍在进行中,许多研究者已经提交了IETF草案,建议修改、简化IGMPv3协议。
本文正是在华为公司提出的“轻量级互联网组管理协议草案”的基础上,对IGMPv3路由器端协议做出的简化,并对改进后的协议进行实现和分析。
2.2 轻量级互联网组管理协议的提出依据随着组播业务的展开,人们逐渐发现在实际应用中,几乎没有采用排除模式的应用场景。
因为用户通常会指明希望接收特定的组播源地址,而不会特意的排除某些组播源地址。
即使子网中的某个用户希望排除某个组播源的数据,但如果子网内同时却有其他用户希望接收这些组播源的数据时,路由器仍需要将这些数据发往该子网,因此排除模式在很多情况下是很难发挥其设想的效果的2.3 轻量级互联网组管理协议描述2.3.1 对IGMPv3的保留部分LW-IGMPv3协议仍采用查询-响应模式,其中查询路由器的选举、定期发送查询报文以及查询和报告报文的格式都没有变化。
图 1 IGMPv3中的查询器状态转移图Fig 1 The querier state of IGMPv3图 2 IGMPv3中的非查询器状态转移图Fig 2 The non-querier state of IGMPv32.3.2 对IGMPv3状态的简化LW-IGMPv3删去了原IGMPv3中的Exclude过滤模式,只保留ASM(即原IGMPv3协议中的Exclude(*,G))和Include两种状态,同时路由器端协议在每个支持组播的接口上维护的组播接收状态表信息中也删去了过滤模式字段,而修改为以组定时器区分协议状态,组定时器用于区分ASM状态和Include状态,组定时器大于0表示组播组处于ASM状态;组定时器等于0则表示组播组处于Include状态;当组定时器超时,如果该组播组记录的源列表不为空,则该组播组记录切换至Include状态,否则将该组播组记录删除。
源定时器则用来保证该组播源的有效性。
LW-IGMPv3路由器端协议不需要为每个组播组都维护它的过滤模式信息,这有利于减小协议开销,简化消息处理流程,避免了IGMPv3在过滤模式切换时的工作量。
此外,在IGMPv3中,当组播组处于EXCLUDE状态时,路由器需要为同一个组播组维护两种源列表,即包含列表和排除列表,包含列表中记录网络中仍存在接收者的源信息,排除列表则真正表示网络中希望排除的组播源。
两种源列表还会根据一定规则相互转换。
组播地址组定时器源列表{(源地址,源定时器)}232.7.7.7 110 {(A.100),(D,150)}图 3 LW-IGMPv3组播接收状态信息表Fig 3 An example reception state of LW-IGMPv32.3.3 对消息处理流程的简化在原IGMPv3协议中,当路由器收到主机端发来的报告消息时,需要根据组播组当前所处的过滤模式决定消息处理流程。
在改进后的协议中,由于删除了Exclude过滤模式,且ASM 和Include两种状态只需要通过组定时器进行区分,这使得大部分的报告消息在ASM和Include状态下具有相同的处理流程,只需要根据消息类型,对源列表,源定时器,组定时器作相应修改,或发送组和源特定查询消息,只有TO_IN类型的报告消息需要根据组播组当前状态(组定时器是否大于0)判断是否需要发送组特定查询消息,大大简化了路由器的处理流程。
(见表1)表1 LW-IGMPv3端协议消息处理规则表Tab.1 Operation rules of LW-IGMPv3旧的源列表报告消息类型新的源列表相关操作A IS_IN(B) A+B 设置B的源定时器A IS_EX(B) A 设置组定时器A ALLOW(B) A+B 设置B的源定时器A BLOCK(B) A 发送组和源特定查询消息Q(G,A*B)A TO_IN(B) A+B 发送组和源特定查询消息Q(G,A-B),如果组定时器值大于0,则发送组特定查询消息Q(G)A TO_EX(B) A 设置组定时器3.LW-IGMPv3在XORP平台上的实现3.1 XORP平台架构图4 XORP框架Fig 4 The architecture of XORP在XORP框架中(图4),FEA(抽象数据转发引擎)完成对IP数据包的转发,FEA可以用软件和硬件这两种方式替代,方便以后升级到硬件路由器。
而各种单播,组播路由协议则在不同的组件中实现,单播模块主要包括RIP,BGP4,ospf,IS-IS等,组播协议则支持PIM-SM,IGMP/MLD。
策略配置模块为用户提供了路由器配置功能,通过读取配置文件和命令行输入(CLI),用户可以在运行中启动和关闭模块,或添加新模块。
LW-MLDv2协议组件作为一个独立的组件,同样有其内部结构。
如图3所示,LW-MLDv2协议组件主要有配置和监控模块,以及网络接口管理模块组成。
一个LW-MLDv2协议组件运行在一台路由器上,路由器上组件间交互通过XRL中间件。
以面向对象的设计方法,LW-MLDv2协议组件分为配置和监控模块、网络接口模块、组管理模块、源管理模块,每一个模块为一个对象,映射为代码实现中的一个类。
LW-MLDv2协议组件管理着路由器上网络接口,为每一个网络接口生成一个接口对象和生成一个管理和配置对象。
当一个组播组A加入时,网络接口管理对象为A生成一个组管理对象,如果报告为源特定组播方式,则A的组管理对象为每一个特定源生成一个源管理对象。
各个管理对象负责管理协议中对应部分的管理逻辑,使得软件结构清晰,简化了程序实现,同时有利于协议的修改和代码的改进。
从图5中可以看到,软件的模块可以划分为五个部分:对外接口,监控和配置模块,网络接口管理模块,组管理模块,源管理模块。
其中除了对外接口外,其余部分均为功能实现的模块。
图5 LW-MLDv2内部架构图Fig 5 The inner architecture of LW-IGMPv3 module3.2 LW-IGMPv3协议在XORP平台上的实现图6 LW-IGMPv3类关系图Fig 6 Class Diagram of LW-IGMPv3由于XORP 基于严格的组件化架构,组件化的特性使我们能够通过用LW-IGMPv3模块替换原来IGMPv3组件,从而在XORP 平台上实现LW-IGMPv3协议。