IGMP技术总结

合集下载

IGMP使用详解

IGMP使用详解

IGMP一、Internet 组管理协议IGMP 是Internet 组管理协议(Internet Group Management Protocol)的缩写。

IGMP 在TCP/IP 协议中的位置:应用层协议(FTP,HTTP,SMTP)TCP UDP ICMP IGMPIPARP RARPMACPHY在了解 IGMP 协议的之前,我们首先看看以太网对报文的处理方法。

我们知道,目前使用的以太网(ethernet)有一个特点,当一个报文在一条线路上传输时,该线路上的所有主机都能够接收到这个报文。

只是当报文到达MAC 层时,主机会检测这个报文是不是发送给自己的,如果不是该报文就会被丢弃。

常用的抓包软件ethereal, sniffer 都可以捕获当前物理线路上的所有报文,不管该报文的目的地址是不是自己。

以太网中有一种特殊的报文广播包其目的mac 地址全为0xff,所有的主机都必须接收。

说到 IGMP 不能不提“组播”的概念。

假如现在一个主机想将一个数据包发给网络上的若干主机,有什么方法可以做到呢一个方法是采用广播包发送,这样网络上的所有主机都能够接收到,另一种方式是将数据包复制若干份分别发给目的主机。

这两个方法都存在问题:方法一,广播的方法导致网络上所有的主机都能接收到,占用了网络上其他主机的资源。

方法二,由于所有目的主机接收的报文都是相同的,采用单播方式显然效率很低。

为了解决上面所述的问题,人们提出了“组播”的概念,控制一个报文发送给对该报文感兴趣的主机,IGMP 就是组播管理协议。

我们来看一个简单的组播应用场景PC,如何处理呢首先STB 要发起一个连接请求,也就是IGMP report 报文,加入到电视直播的组播组中。

同样当STB 要断开连接的时候就发送一个IGMP leave 报文。

Router 也需要知道当前有哪些STB 加入了组播组,防止有的STB 异常掉线了,却依然占用系统资源。

Router 周期性的发送IGMP query 报文查询组播组情况,STB 接到query 报文后发送report 消息到router。

IGMP学习总结

IGMP学习总结

IGMP学习心得:有关IGMP的RFC文档,本人看过后,感觉实在是太枯燥泛味了,深受其“害”,为此,我对其作了一个简单的总结,如有错误之处及时指出。

在IGMP协议中定义了各种烦琐的定时器,以下我罗列出了一些比较重要的定时器。

有助于我们理解IGMP协议具体的实现过程。

查询间隔(query-interval)查询间隔是指查询者发送普通查询(general query)之间的时间间隔。

查询报告间隔(max query response time)就是周期性普通查询数据报中的最大响应时间,缺省值是100(10秒)。

当一台主机收到一个普通查询,它为收到查询的那个接口所在的组设置延迟定时器。

每个定时器都被设置成不同的随机值(降低并发的概率),该随机值采用主机所能达到的最高时间精度,值的范围是(0,max query response time)组成员关系间隔组成员关系间隔是指一台多播路由器在确定某一个网络内的某一个组内没有成员之前,必须要经过的时长。

其它查询者存在间隔(querier timeout)通常情况下,每一个物理网络只有一个查询者。

所有的多播路由器在启动的时候,在它的每一个相连的网络中都是查询者。

如果一个多播路由器接收到另一台多播由器的一个查询消息,并且它的IP地址要比自己小,那它在该网络中要马上变成一个非查询者,因为一个子网内只允许存在一个查询者。

其它查询者存在间隔是指一台路由器在确定网络内没有其它作为查询者的路由器存在之前,必须要经过的时长。

启动查询间隔启动查询间隔是指在查询者启动的时候,发送普通查询之间的间隔。

因为在多播路由器启动的时候,为了快速并可靠地确定组成员信息,路由器应当间隔较小的发送多个普通查询。

它的缺省值是1/4的查询间隔。

最后一个成员查询间隔(Last member query response time)最后一个成员查询间隔是指为响应离开组消息而发送的指定组查询(group specific query)中的最大响应时间,同时它也是指定组查询间的时间间隔。

IGMP原理简介【华为】

IGMP原理简介【华为】

IGMP原理简介IGMP 协议是IP 组播在末端网络上使用的主机对路由器的信令机制,分为两个功能部分:主机侧和路由器侧。

IGMP 工作机制如下所述:1. 接收者主机向所在的共享网络报告组成员关系。

2. 处于同一网段的所有使能了IGMP 功能的组播路由器选举出一台作为查询器,查询器周期性地向该共享网段发送组成员查询消息。

3. 接收者主机接收到该查询消息后进行响应以报告组成员关系。

4. 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。

如果超时无响应,组播路由器就认为网段中没有该组播组的成员,从而取消相应的组播数据转发。

5. 所有参与组播传输的接收者主机必须应用IGMP 协议。

主机可以在任意时间、任意位置、成员总数不受限制地加入或退出组播组。

6. 支持组播的路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员。

而各主机只需要保存自己加入了哪些组播组。

IGMPv1工作机制IGMPv1 协议主要基于查询和响应机制完成组播组管理。

在多路由器共享网段上,由三层路由协议选举出唯一的组播信息转发者(Assert Winner 或DR),并作为IGMPv1 的查询器,负责该网段的组成员关系查询。

网络上IGMPv1 消息交互如图9-1 所示。

主机加入组播组的基本过程如下:1. IGMP 查询器(RouterB)周期性地向共享网段内所有主机以组播方式(目的地址为组播地址)发送普遍组Query 查询消息。

该报文的目的地址为224.0.0.1,表示该网段上的所有主机和路由器。

2. 网段内所有主机都接收到该普遍组查询消息。

如果主机(如HostB 和HostC)希望加入某组播组G1,则以组播方式发送Report 报告。

该报文的目的地址为224.0.0.1,报文中携带组播组G1 的地址信息。

3. 网段中所有主机和路由器都接收到该Report 报告,并获知组播组G1 地址信息,此时网段中其它也希望加入该组播组G1 的主机将不再发送针对相同组播组的Report 报告。

IGMP技术总结(2)

IGMP技术总结(2)

5. 组播模型分类根据接收者对组播源处理方式的不同,组播模型分为以下三类:∙ASM 模型:Any-Source Multicast,任意信源组播在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。

众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。

在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。

∙ SFM 模型:Source-Filtered Multicast,信源过滤组播该模型继承了ASM 模型,从发送者角度来看,两者的组播组成员关系完全相同。

SFM 模型在功能上对ASM 模型进行了扩展。

在SFM 模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。

因此,接收者只能收到来自部分组播源的组播数据。

从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。

∙SSM 模型:Source-Specific Multicast,指定信源组播在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。

该模型为用户提供了一种能够在客户端指定组播源的传输服务。

SSM 模型与ASM 模型的根本区别在于:SSM 模型中的接收者已经通过其它手段预先知道了组播源的具体位置。

SSM 模型使用与ASM/SFM 模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。

6. IP组播▪对于IP 组播,需要关注下列问题:∙组播源将组播信息传输到哪里?即组播寻址机制;∙网络中有哪些接收者?即主机注册;∙这些接收者需要从哪个组播源接收信息?即组播源发现;∙组播信息如何传输?即组播路由。

▪IP 组播属于端到端的服务,组播机制包括以下四个部分:∙寻址机制:借助组播地址,实现信息从组播源发送到一组接收者;∙主机注册:允许接收者主机动态加入和离开某组播组,实现对组播成员的管理;∙组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树将报文从组播源传输到接收者;∙组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP 协议栈必须支持组播信息的发送和接收。

IGMP及抓包分析

IGMP及抓包分析

IGMPIGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。

它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

到目前为止,IGMP 有三个版本:1、IGMPv1(由RFC 1112 定义)2、IGMPv2(由RFC 2236 定义)3、IGMPv3(由RFC 3376定义)一、IGMPv11.1报文格式1、版本:版本字段包含IGMP版本标识,因此设置为1。

2、类型:成员关系查询(0x11)成员关系报告(0x12)3、校验和4、组地址:当一个成员关系报告正被发送时,组地址字段包含组播地址。

当用于成员关系查询时,本字段为0,并被主机忽略。

1.2组成员加入过程当一个主机希望接收一个组播组的数据,则发送成员加入报告给组播组。

IGMPv1 join包如下:1.3查询与响应过程路由器RTA(IGMP查询器)周期性地(默认60秒)向子网内所有主机(224.0.0.1代表子网内所有主机)发送成员关系查询信息。

所有主机收到IGMPv1成员关系查询信息,一主机首先向组播组发送IGMPv1成员关系报告。

组的其他成员监听到报告后抑制自己的成员关系报告发送。

1.4 抑制机制当主机收到IGMP成员关系查询时,对它已经加入的每个组播组启动一个倒计数报告计时器。

各个报告计时器初始值为从0到最大响应之间一个随机数,默认值是10秒。

计时器到时的主机则主动发送成员关系报告,目的地为该主机所属的组地址。

其它主机收到该成员关系报告,则抑制成员关系报告的发送,并删除计时器。

1.5 组成员离开过程主机“默不作声”地离开组(不发送报告了)。

路由器发送成员关系查询信息。

路由器没有收到该组的IGMP报告,则再发送成员关系信息(3次查询周期过后)。

组播组超时,剪枝。

二、IGMPv22.1报文格式1、类型成员关系查询(0x11)常规查询:用于确定哪些组播组是有活跃的,即该组是否还有成员在使用,常规查询地址由全零表示;特定组查询:用于查询某具体组播组是否还有组成员。

详解IGMP(Internet组管理协议)报文及协议

详解IGMP(Internet组管理协议)报文及协议

1引言本文将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP)。

它让一个物理网络上的所有系统知道主机当前所在的多播组。

多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。

IGMP在RFC 1112中定义[Deering 1989].正如ICMP一样,IGMP 也被当作IP 层的一部分。

IGMP报文通过IP数据报进行传输。

不像我们已经见到的其他协议,IGMP有固定的报文长度,没有可选数据。

图13-1显示了IGMP报文如何封装在IP数据报中。

IGMP(Internet组管理协议)报文及协议(图一)IGMP报文通过IP首部中协议字段值为2来指明。

2 IGMP报文图1 3 - 2显示了长度为8字节的IGMP报文格式。

IGMP(Internet组管理协议)报文及协议(图二)这是版本为1的IGMP.IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。

检验和的计算和ICMP协议相同。

组地址为D类IP地址。

在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。

在下一节中,当介绍IGMP如何操作时,我们将会更详细地了解它们。

3 IGMP 协议3.1 加入一个多播组多播的基础就是一个进程的概念(使用的术语进程是指操作系统执行的一个程序),该进程在一个主机的给定接口上加入了一个多播组。

在一个给定接口上的多播组中的成员是动态的—它随时因进程加入和离开多播组而变化。

这里所指的进程必须以某种方式在给定的接口上加入某个多播组。

进程也能离开先前加入的多播组。

这些是一个支持多播主机中任何API所必需的部分。

使用限定词“接口”是因为多播组中的成员是与接口相关联的。

一个进程可以在多个接口上加入同一多播组。

Stanford大学伯克利版Unix中的IP 多播详细说明了有关socket API的变化,这些变化在Solaris 2.x和ip(7)的文档中也提供了。

这里暗示一个主机通过组地址和接口来识别一个多播组。

了解IGMP协议组播协议在网络通信中的应用

了解IGMP协议组播协议在网络通信中的应用

了解IGMP协议组播协议在网络通信中的应用在网络通信中,IGMP(Internet Group Management Protocol)协议是一种用于组播通信的协议。

组播是一种将数据包同时传输给一组特定主机的通信方式,可以有效地减少网络流量和带宽的消耗。

IGMP协议主要用于在IPv4网络中支持组播通信,并且在实现多媒体和视频流传输、网络游戏和实时数据同步等方面广泛应用。

IGMP协议的基本原理是,通过将主机加入到特定的组播组中,并且通过定期发送IGMP报文来维持和管理这些组,使得主机能够接收到组播流。

IGMP报文有三种类型,分别是成员查询报文(Membership Query)、成员报告报文(Membership Report)和成员离开报文(Leave Group)。

在网络通信中的应用中,IGMP协议在以下几个方面起着重要作用:1. 组播流传输:IGMP协议允许主机加入到特定的组播组中,以接收到组播流。

这在多媒体和视频流传输方面非常有用,因为可以将流媒体的数据同时传输给一组特定的接收者,而不需要为每个接收者单独发送数据包。

这样可以有效地减少网络流量和带宽的消耗。

2. 网络游戏:在网络游戏中,IGMP协议可以用于实现多人游戏的实时数据同步。

通过将玩家加入到一个组播组中,可以将游戏数据同时传输给所有的玩家,以保持游戏的同步性。

这对于需要实时数据传输和互动的游戏非常重要。

3. 实时应用:IGMP协议还可以在其他实时应用中使用,例如视频会议和IP电话。

通过将参与会议或通话的主机加入到一个组播组中,可以实现实时的音视频传输,并且所有参与者都能够同时接收到会议或通话的内容。

总结起来,IGMP协议在网络通信中的应用非常广泛,尤其在多媒体传输、网络游戏和实时数据同步等方面起着重要的作用。

它通过允许主机加入和管理组播组,实现了有效的组播通信,从而减少了网络流量和带宽的消耗,提高了网络传输的效率。

对于那些需要同时传输给多个接收者的数据,IGMP协议是一种非常有用的通信协议。

IGMP技术总结

IGMP技术总结

IGMP技术总结1. IGMP 简介IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。

它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

IGMP 的版本到目前为止,IGMP 有三个版本:∙IGMPv1(由RFC 1112 定义)∙IGMPv2(由RFC 2236 定义)∙IGMPv3(由RFC 3376 定义)所有版本的IGMP 都支持ASM(Any-Source Multicast,任意信源组播)模型;IGMPv3 可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而IGMPv1 和IGMPv2 则需要在IGMP SSM Mapping 技术的支持下才能应用于SSM 模型。

2. IGMPv1 工作机制IGMPv1 主要基于查询和响应机制来完成对组播组成员的管理。

当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP 成员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送IGMP 查询报文(Query Message)就足够了。

这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。

对于IGMPv1 来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(Designated Router,指定路由器)作为IGMP 查询器。

IGMP 查询相应示意图如上图所示,假设Host B与Host C想要收到发往组播组G1 的组播数据,而Host A想要收到发往组播组G2 的组播数据,那么主机加入组播组以及IGMP查询器(Router B)维护组播组成员关系的基本过程如下:(1)主机会主动向其要加入的组播组发送IGMP 成员关系报告报文以声明加入,而不必等待IGMP查询器发来的IGMP 查询报文;(2)IGMP 查询器周期性地以组播方式向本地网段内的所有主机与路由器发送IGMP 查询报文(目的地址为224.0.0.1);(3)在收到该查询报文后,关注G1 的Host B 与Host C 其中之一(这取决于谁的延迟定时器先超时)——譬如Host B 会首先以组播方式向G1 发送IGMP 成员关系报告报文,以宣告其属于G1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IGMP技术总结1. IGMP 简介IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。

它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

IGMP 的版本到目前为止,IGMP 有三个版本:∙IGMPv1(由RFC 1112 定义)∙IGMPv2(由RFC 2236 定义)∙IGMPv3(由RFC 3376 定义)所有版本的IGMP 都支持ASM(Any-Source Multicast,任意信源组播)模型;IGMPv3 可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而IGMPv1 和IGMPv2 则需要在IGMP SSM Mapping 技术的支持下才能应用于SSM 模型。

2. IGMPv1 工作机制IGMPv1 主要基于查询和响应机制来完成对组播组成员的管理。

当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP 成员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送IGMP 查询报文(Query Message)就足够了。

这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。

对于IGMPv1 来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(Designated Router,指定路由器)作为IGMP 查询器。

IGMP 查询相应示意图如上图所示,假设Host B与Host C想要收到发往组播组G1 的组播数据,而Host A想要收到发往组播组G2 的组播数据,那么主机加入组播组以及IGMP查询器(Router B)维护组播组成员关系的基本过程如下:(1)主机会主动向其要加入的组播组发送IGMP 成员关系报告报文以声明加入,而不必等待IGMP查询器发来的IGMP 查询报文;(2)IGMP 查询器周期性地以组播方式向本地网段内的所有主机与路由器发送IGMP 查询报文(目的地址为224.0.0.1);(3)在收到该查询报文后,关注G1 的Host B 与Host C 其中之一(这取决于谁的延迟定时器先超时)——譬如Host B 会首先以组播方式向G1 发送IGMP 成员关系报告报文,以宣告其属于G1。

由于本地网段中的所有主机和路由器都能收到Host B 发往G1 的报告报文,因此当Host C 收到该报告报文后,将不再发送同样针对G1 的报告报文,因为IGMP 路由器(Router A和R outer B)已知道本地网段中有对G1 感兴趣的主机了。

这个机制称为主机上的IGMP 成员关系报告抑制机制,该机制有助于减少本地网段的信息流量;(4)与此同时,由于Host A 关注的是G2,所以它仍将以组播方式向G2 发送报告报文,以宣告其属于G2;(5)经过以上的查询和响应过程,IGMP 路由器了解到本地网段中有G1 和G2 的成员,于是由组播路由协议(如PIM)生成(*,G1)和(*,G2)组播转发项作为组播数据的转发依据,其中的“*”代表任意组播源;(6)当由组播源发往G1 或G2 的组播数据经过组播路由到达IGMP 路由器时,由于IGMP 路由器上存在(*,G1)和(*,G2)组播转发项,于是将该组播数据转发到本地网段,接收者主机便能收到该组播数据了。

IGMPv1 没有专门定义离开组播组的报文。

当运行IGMPv1 的主机离开某组播组时,将不会向其要离开的组播组发送报告报文。

当网段中不再存在该组播组的成员后,IGMP 路由器将收不到任何发往该组播组的报告报文,于是IGMP 路由器在一段时间之后便删除该组播组所对应的组播转发项。

3. IGMPv2 的改进与IGMPv1 相比,IGMPv2 增加了查询器选举机制和离开组机制。

∙查询器选举机制在IGMPv1 中,当某共享网段上存在多个组播路由器时,由组播路由协议(如PIM)选举的指定路由器充当查询器。

在IGMPv2 中,增加了独立的查询器选举机制,其选举过程如下:(1)所有IGMPv2 路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送IGMP 普遍组查询(General Query)报文(目的地址为224.0.0.1);(2)本地网段中的其它IGMPv2 路由器在收到该报文后,将报文的源IP地址与自己的接口地址作比较。

通过比较, IP 地址最小的路由器将成为查询器,其它路由器成为非查询器(Non-Querier);(3)所有非查询器上都会启动一个定时器(即其它查询器存在时间定时器Other Querier Present Timer)。

在该定时器超时前,如果收到了来自查询器的IGMP 查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。

∙离开组机制在IGMPv1 中,主机离开组播组时不会向组播路由器发出任何通知,导致组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的离开。

而在IGMPv2 中,当一个主机离开某组播组时:(1)该主机向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送离开组(Leave Group)报文;(2)当查询器收到该报文后,向该主机所声明要离开的那个组播组发送特定组查询(Group-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的组播组地址);(3)如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(MaxResponse Time)内发送成员关系报告报文;(4)如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文,查询器就会继续维护该组播组的成员关系;否则,查询器将认为该网段内已无该组播组的成员,于是不再维护这个组播组的成员关系。

4. IGMPv3 的改进IGMPv3 在兼容和继承IGMPv1 和IGMPv2 的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。

∙主机控制能力的增强IGMPv3 增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S的组播信息。

当主机加入组播组时:若要求只接收来自指定组播源如S1、S2、……的组播信息,则其报告报文中可以标记为INCLUDE Sources(S1,S2,……);若拒绝接收来自指定组播源如S1、S2、……的组播信息,则其报告报文中可以标记为EXCLUDE Sources(S1,S2,……)。

指定源组的组播流路经如上图所示,网络中存在Source 1(S1)和Source 2(S2)两个组播源,均向组播组G发送组播报文。

Host B仅对从Source 1发往G的信息感兴趣,而对来自Source 2 的信息没有兴趣。

如果主机与路由器之间运行的是IGMPv1 或IGMPv2,Host B 加入组播组G 时无法对组播源进行选择,因此无论Host B 是否需要,来自Source 1 和Source 2 的组播信息都将传递给Host B。

当主机与路由器之间运行了IGMPv3 之后,Host B 就可以要求只接收来自Source 1、发往G 的组播信息(S1,G),或要求拒绝来自Source 2、发往G 的组播信息(S2,G),这样就只有来自Source 1 的组播信息才能传递给Host B 了。

∙查询和报告报文功能的增强(1)携带源地址的查询报文IGMPv3 不仅支持IGMPv1 的普遍组查询和IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持:▪∙普遍组查询报文中,既不携带组地址,也不携带源地址;▪∙特定组查询报文中,携带组地址,但不携带源地址;▪∙特定源组查询报文中,既携带组地址,还携带一个或多个源地址。

(2)包含多组记录的报告报文IGMPv3 报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。

在每个组记录中,包含有组播组地址和组播源地址列表。

组记录可以分为多种类型,如下:▪∙IS_IN:表示组播组与组播源列表之间的过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。

▪∙IS_EX:表示组播组与组播源列表之间的过滤模式为EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。

▪∙TO_IN:表示组播组与组播源列表之间的过滤模式由EXCLUDE 转变为INCLUDE。

▪∙TO_EX:表示组播组与组播源列表之间的过滤模式由INCLUDE 转变为EXCLUDE。

▪∙ALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。

如果当前的对应关系为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为EXCLUDE,则从现有组播源列表中删除这些组播源。

▪∙BLOCK:表示在现有状态的基础上,不再希望从某些组播源接收组播数据。

如果当前的对应关系为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为EXCLUDE,则向现有组播源列表中添加这些组播源。

5. 组播模型分类根据接收者对组播源处理方式的不同,组播模型分为以下三类:∙ASM 模型:Any-Source Multicast,任意信源组播在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。

众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。

在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。

∙ SFM 模型:Source-Filtered Multicast,信源过滤组播该模型继承了ASM 模型,从发送者角度来看,两者的组播组成员关系完全相同。

SFM 模型在功能上对ASM 模型进行了扩展。

在SFM 模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。

因此,接收者只能收到来自部分组播源的组播数据。

从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。

∙SSM 模型:Source-Specific Multicast,指定信源组播在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。

该模型为用户提供了一种能够在客户端指定组播源的传输服务。

SSM 模型与ASM 模型的根本区别在于:SSM 模型中的接收者已经通过其它手段预先知道了组播源的具体位置。

SSM 模型使用与ASM/SFM 模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。

相关文档
最新文档