加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

这是最全面的IGMP协议总结,没有之一!

发布时间:2019-01-29 13:10:04 所属栏目:教程 来源:三旺通信
导读:一、IGMP 简介 IGMP(Internet Group Management Protocol)互联网组管理协议是TCP/IP 协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 到目前为止,IGMP 有三个版本: IGMPv1(由RFC 1112 定义) I

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

(2) 查询和报告报文功能的增强

a. 携带源地址的查询报文

IGMPv3 不仅支持IGMPv1 的普遍组查询和IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持:

  • 普遍组查询报文中,既不携带组地址,也不携带源地址;
  • 特定组查询报文中,携带组地址,但不携带源地址;
  • 特定源组查询报文中,既携带组地址,还携带一个或多个源地址。

b. 包含多组记录的报告报文

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,则向现有组播源列表中添加这些组播源。

4. 组播模型分类

根据接收者对组播源处理方式的不同,组播模型分为以下三类:

(1) ASM 模型:Any-Source Multicast,任意信源组播

在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。

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

(2) SFM 模型:Source-Filtered Multicast,信源过滤组播

该模型继承了ASM 模型,从发送者角度来看,两者的组播组成员关系完全相同。SFM 模型在功能上对ASM 模型进行了扩展。

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

因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。

(3) SSM 模型:Source-Specific Multicast,指定信源组播

在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。该模型为用户提供了一种能够在客户端指定组播源的传输服务。

SSM 模型与ASM 模型的根本区别在于:SSM 模型中的接收者已经通过其它手段预先知道了组播源的具体位置。SSM 模型使用与ASM/SFM 模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。

5. IP组播

(1) 对于IP 组播,需要关注下列问题:

  • 组播源将组播信息传输到哪里?即组播寻址机制;
  • 网络中有哪些接收者?即主机注册;
  • 这些接收者需要从哪个组播源接收信息?即组播源发现;
  • 组播信息如何传输?即组播路由。

(2) IP 组播属于端到端的服务,组播机制包括以下四个部分:

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

为了让组播源和组播组成员进行通信,需要提供网络层组播地址,即IP 组播地址。同时必须存在一种技术将IP 组播地址映射为链路层的组播MAC 地址。

(3) IP 组播地址

IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用,范围从224.0.0.0到239.255.255.255,具体分类及其含义如下表所示。

这是最全面的IGMP协议总结,没有之一!

IPv4 组播地址的范围及含义

说明:

  • 组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。
  • GLOP 是一种AS(Autonomous System,自治系统)之间的组播地址分配机制,将AS 号填入该范围内组播地址的中间两个字节中,每个AS 都可以得到255 个组播地址。有关GLOP 的详细介绍请参见RFC 2770。

这是最全面的IGMP协议总结,没有之一!

(4)  以太网组播MAC 地址

  • 以太网传输单播IP 报文的时候,目的MAC 地址使用的是接收者的MAC 地址。但是在传输组播数据包时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用组播MAC 地址。
  • IANA规定,IPv4 组播MAC地址的高24 位为0x01005E,第25 位为0,低23 位为IPv4 组播地址的低23 位。IPv4 组播地址与MAC地址的映射关系如下图所示。

IPv4 组播地址与MAC 地址的映射关系

IPv4 组播地址与MAC 地址的映射关系

  • 由于IPv4 组播地址的高4 位是1110,代表组播标识,而低28 位中只有23 位被映射到IPv4 组播MAC 地址,这样IPv4 组播地址中就有5 位信息丢失。

于是,就有32 个IPv4 组播地址映射到了同一个IPv4 组播MAC 地址上,因此在二层处理过程中,设备可能要接收一些本IPv4 组播组以外的组播数据,而这些多余的组播数据就需要设备的上层进行过滤了。

6. 组播协议

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读