IGMP协议原理_IGMP协议详解

IGMP协议原理_IGMP协议详解IGMP协议概述IGMP(InternetGroupManagementProtocol)因特网组管理协议,是TCP/IP协议簇中负责IP组播成员管理的协议。IGMP协议运行于主机与主机直接相连的组播路由器之间,主要用于维护组播成员关系。IGMP发展了三个版本:IGMPv1:定义了基本的组成员查询和报告过程。IGMPv2:添加了组成员快速离开的机制。IGMPv3:成员可以指定接收…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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报文类型…未完
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193795.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月18日 下午2:43
下一篇 2025年11月18日 下午3:15


相关推荐

  • 7-1 正整数A+B > 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。「建议收藏」

    7-1 正整数A+B > 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。「建议收藏」7-1 正整数A+B题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个…

    2022年8月18日
    11
  • js中setTimeout和clearTimeout的使用

    js中setTimeout和clearTimeout的使用一、概念1、js中可以通过setTimeout函数设置定时器,让指定的代码在指定的时间运动. 如果我们希望在setTimeout之行前终止其运行就可以使用clearTimeout()。2、clearTimeout()用于重置js定时器,如果你希望阻止setTimeout的运行,就可以使用clearTimeout方法。二、使用场景1、写计时器2、需要让程序隔一

    2025年7月20日
    8
  • 向量的点乘(一)

    向量的点乘(一)向量的点乘 一 1 点乘的定义向量 u 和向量 v 之间最小的夹角我们记做为 u v 如下图所示 两个向量之间的夹角我们用绿色弧形表示 其中一个夹角用绿色矩形表示 这意味着这两个向量的夹角为 90 度或者是 2 即 u v 2 表示这两个向量正交 垂直 图中左下角表示两个向量 0 夹角为 0 第二行中部表示的是两个向

    2026年3月16日
    4
  • QT的基本知识「建议收藏」

    QT的基本知识「建议收藏」QT是一个跨平台应用程序和UI开发框架。具体的安装以及源文件的下载这里不详细介绍。要在QT界面上添加一个按钮,可以有两种方法:一个是直接拖放一个按钮即可;另一种则是通过程序来添加一种按钮。QT提供的信号和槽机制,可以让任意两个对象之间进行消息处理,其作用就是让一个对象产生的信号能够被另一个对象接受并处理。QT基本所有的对象都集成在QObject对象中,在这个对象中有一个静态函数connect…

    2022年5月17日
    39
  • django不使用外键连接表_什么是外键和参照表

    django不使用外键连接表_什么是外键和参照表外键删除操作如果一个模型使用了外键。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过on_delete来指定。可以指定的类型如下:CASCADE:级联操作。如果外键对应的那条数据被删除了,

    2022年8月7日
    14
  • json转换对象失败_java对象转json字符串

    json转换对象失败_java对象转json字符串com.fasterxml.jackson.databind.JsonMappingException:Cannotconstructinstanceofcom.huasisoft.egAffairs.JsonResult:nosuitableconstructorfound,cannotdeserializefromObjectvalue没有无参构造函数,再j…

    2025年7月2日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号