IGMP协议原理

Posted 超凡脫俗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IGMP协议原理相关的知识,希望对你有一定的参考价值。

IGMP概述

在了解IGMP前,需要对组播技术基础有所了解,

IGMP协议全称(Internet Group Management Protocol)因特网组管理协议,是TCP/IP协议簇中负责IP组播成员管理的协议,在组播网络中,IGMP协议在最后一跳路由器与组播接收者间运行,通俗说即:“IGMP协议运行于主机与主机直接相连的组播路由器之间,主要用于维护组播成员关系。”

IGMP工作机制:
  1. 如下图所示,R1连着SW1底下的终端网络接口激活IGMP,它会查询该终端网络是否存在组播组成员,R1会维护1个IGMP路由表,在其中陈列出发现了组成员的组播组。
  2. 缺省情况下,路由器不会向该网络转发组播流量, 除非发现了组播组成员。
  3. 终端设备使用IGMP报文宣布自己成为某个组播组成员,假设PC3期望加入组播239.1.1.1,它会向网络中发送1个IGMP报文,以便宣告自己加组,R1会发现PC3的加组行为;
  4. IGMP报文采用IP封装,协议号为2,TTL字段值为1,这使得IGMP报文通常只在本地网段传播,

IGMP发展了三个版本:
  1. IGMPv1:在RFC1112中定义,版本老旧,只定义了基本的组成员查询和报告过程;
  2. IGMPv2:在RFC2236中定义,在IGMPv1基础之上添加了组成员快速离开的机制,支持特定组播组查询以及定义了查询器选举机制;
  3. IGMPv3:在RFC3376中定义,在之前的版本基础上,增加了组成员对特定组播源的限制功能,它也是SSM(特定组播源)的重要组件之一。高版本的IGMP具有向前兼容性;

IGMP报文类型

  1. IGMPv1定义了“成员关系查询”和“成员关系报告”两种类型;
  2. IGMPv2共四种报文,分别是“成员关系查询”、“成员关系报告”、“离组”、“版本1成员关系报告”;
  3. IGMPv3报文类型…未完

以上是关于IGMP协议原理的主要内容,如果未能解决你的问题,请参考以下文章

组播之IGMP(2)

数通面试私房菜之组播专题第三期: IGMP各版本间区别

Android MulticastSocket 组播

网络层IGMP协议

TCP/IP:IGMP Internet组管理协议

IGMP协议