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封包离开组播
    在这里插入图片描述

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • idea2019永久激活注册码3月最新在线激活

    idea2019永久激活注册码3月最新在线激活,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • sql中的判断语句 if…else的使用[通俗易懂]

    sql中的判断语句 if…else的使用[通俗易懂]–1.oracle和mysql数据库都可以这样写CASEWHEN(RO.APPROVE_QUANTITY-NVL(tto.QUANTITY,0))<0THEN0ELSE(RO.APPROVE_QUANTITY-NVL(tto.QUANTITY,0))ENDsurplusQuantity--注意:NVL()是oracle数据库中对字段的非空校验,如果字段名为

  • 滤波算法(四)—— 卡尔曼滤波算法

    滤波算法(四)—— 卡尔曼滤波算法一、算法介绍卡尔曼滤波是一个神奇的滤波算法,应用非常广泛,它是一种结合先验经验、测量更新的状态估计算法。1、状态估计首先,对于一个我们关心的物理量,我们假设它符合下面的规律其中,为该物理量本周期的实际值,为该物理量上一个周期的实际值,当然这个物理量可能不符合这个规律,我们只是做了一个假设。不同的物理量符合的规律不同,是我们的经验,我们根据这个规律…

  • Landsat 8卫星波段介绍以及波段组合[通俗易懂]

    Landsat 8卫星波段介绍以及波段组合[通俗易懂]Landsat8波段介绍: Landsat8 波段名称 BandName 波长范围(µm) Bandwidth 空间分辨率(m) Resolution 陆地成像仪:OperationalLandImager(OLI) Band1Coastal(海岸波段,可见) 0.43–0.45 30 Band2Blue(蓝波段

  • mysql和sqlserver区别_一定和必须的区别

    mysql和sqlserver区别_一定和必须的区别区别一mysql支持enum,和set类型,sqlserver不支持mysql不支持nchar,nvarchar,ntext类型mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1)msms默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的mysql需要为表指定存储类型mssql识别符是[],[type]表示他区别于…

  • java 调用webservice asmx「建议收藏」

    java 调用webservice asmx「建议收藏」用的jar包axis,可以在http://download.csdn.net/download/xiaoyong8823/4391971这里下载因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前服务端一般会给个以http://xxx/services?wsdl地址的文件或者地址。这次对方给我个http://xxxx/serv

发表回复

您的电子邮箱地址不会被公开。

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