IGMP协议_igmp协议常用3种报文

IGMP协议_igmp协议常用3种报文IGMP介绍

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

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

一、IGMP的定义

IGMP是Internet Group Management Ptotocol的简称,被称为互联网组管理协议,是TCP/IP协议族中负责IPV4组播成员管理的协议。

二、IGMP的作用

  • 作用1
    IGMP用来在接收者主机和直接相邻的组播路由器之间建立和维护组播组成员的关系。

  • 作用2
    IGMP通过在接收者主机和组播路由器之间交互IGMP报文实现组成员管理功能,IGMP报文封装在IP报文中。
    在这里插入图片描述

三、IGMP的版本

到目前为止,IGMP 有三个版本:IGMPv1、IGMPv2、IGMPv3

  • IGMPv1 :主机可以加入组播组。没有离开信息(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。

  • IGMPv2 :该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。

  • IGMPv3 :与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象。来自网络中其它主机的流量是被隔离的。 IGMPv3 也支持主机阻止那些来自于非要求的主机发送的网络数据包。
    指定源组的组播流路经
    所有版本的IGMP 都支持ASM(Any-Source Multicast,任意信源组播)模型;IGMPv3 可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而IGMPv1 和IGMPv2 则需要在IGMP SSM Mapping 技术的支持下才能应用于SSM 模型。

四、组播模型的分类

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

  • ASM 模型:Any-Source Multicast,任意信源组播

    在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。

  • SFM 模型:Source-Filtered Multicast,信源过滤组播

    该模型继承了ASM 模型,从发送者角度来看,两者的组播组成员关系完全相同。SFM 模型在功能上对ASM 模型进行了扩展。在SFM 模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。

  • SSM 模型:Source-Specific Multicast,指定信源组播

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

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

五、组播协议

通常,我们把工作在网络层的IP 组播称为“三层组播”,相应的组播协议称为“三层组播协议”,包括IGMP、PIM、MSDP、MBGP等。

把工作在数据链路层的IP 组播称为“二层组播”,相应的组播协议称为“二层组播协议”,包括IGMP Snooping、组播VLAN 等。

  • 三层组播协议

    三层组播协议包括组播组管理协议和组播路由协议两种类型,它们在网络中的应用位置如下图。
    在这里插入图片描述
    (1) 组播组管理协议
    在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议IGMP(Internet Group Management Protocol,互联网组管理协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。

    (2) 组播路由协议
    组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。

    组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。

  • 二层组播协议

    二层组播协议包括IGMP Snooping和组播VLAN等,它们在网络中的应用位置如下图。
    在这里插入图片描述
    (1) IGMP Snooping
    IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)是运行在二层设备上的组播约束机制,通过窥探和分析主机与三层组播设备之间交互的IGMP 报文来管理和控制组播组,从而可以有效抑制组播数据在二层网络中的扩散。

    (2) 组播VLAN
    在二层网络设备上进行跨VLAN组播复制。

    在交换机上部署了组播VLAN功能后,上游路由器不必在每个用户VLAN(VLAN2和VLAN3)内都复制一份组播流,而是数据流在组播VLAN(VLAN4)内复制一份后发送给二层设备。这样就避免了组播流在上游设备的重复复制,不仅节省了网络带宽,又减轻了上游路由器的负担。

六、IGMP应用场景

IGMP最常见的应用是IPTV:

  • 视频源端发送UDP组播数据流,客户端通过加入组播接收数据流播放节目

  • Client 发送IGMP Join Group封包加入组播才能接收到数据
    在这里插入图片描述

  • Client不想要接收此组播数据时,发送一个IGMP Leave Group封包离开组播
    在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tomcat闪退原因分析[通俗易懂]

    tomcat闪退原因分析[通俗易懂]tomcat闪退原因分析tomcat闪退原因分析第一种端口被占用第二种jdk不匹配第三种运行环境配置分析tomcat环境变量配置tomcat闪退总结导出与导入导出导入tomcat闪退原因分析在学习javaweb阶段,我们一般使用的是tomcat最为我们的学习服务器,tomcat它是免费且开源的。第一种端口被占用第二种jdk不匹配第三种运行环境配置分析tomcat环境变量配置1、有没有…

    2022年5月30日
    34
  • srvctl start_RISC-V指令

    srvctl start_RISC-V指令SRVCTL是ORACLE9iRAC集群配置管理的工具。RAC:  RealApplicationClustersSRVM: ServerManagementSRVCTLAdd添加数据库或实例的配置信息。在增加实例中,与-i一起指定的名字应该与INSTANCE_NAME和ORACLE_SID参数匹配。srvctladddatabase-ddatabas

    2022年9月12日
    4
  • activiti6.0工作流引擎深度解析_自定义工作流引擎

    activiti6.0工作流引擎深度解析_自定义工作流引擎工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。

    2022年9月1日
    6
  • 手机如何传输高清视频

    手机如何传输高清视频 为了应对手机传输高清摄像的挑战,需要在USB标准中定义一个USB音视频类来规范USB视频传输(Video-over-USB)技术。【您可以是大型系统集成商、可以是相关贸易的经销商、也可以是设计单位、即便您是个人、只要您有资源、只要您有渠道、我们都会最大限度内保证您的利益。】  手机的摄像功能已经从一种新鲜事物发展为主流配置,移动供应商策略性地把高清录像作为他们的高端产品。在手机中整合高清视频将会进一步体现其实用价值,因为它已不仅是一个数码相机,还是一个数码摄像机​。  把高清录像放到手机会带.

    2022年10月3日
    2
  • 第18章 退出系统

    第18章 退出系统

    2021年8月17日
    49
  • webstorm格式化代码快捷键[通俗易懂]

    webstorm格式化代码快捷键[通俗易懂]ctrl+alt+L把网易云音乐的快捷键关了就可以了转载于:https://www.cnblogs.com/foreverlin/p/10103283.html

    2022年6月14日
    30

发表回复

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

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