IGMP V1 V2 V3 定义和区别
先来认识一下IGMP这个协议吧,它的全称是Internet Group Management Protocol,它和unicast和multicast的区别是它是发往一组计算机(属于它这个组播组的所有计算机),IGMP主要用于在线的视频和在线游戏,像IPTV就是一种比较广泛的应用.
现在IGMP有3个版本V1(RFC1112),V2(RFC2236),V3(RFC3376),
IGMP v1支持host membership query 和host membership report
report message是由IGMP host发给IGMP router来报告它加入的组播组.
query message是由IGMP router发给IGMP client来查询IGMP host所加入的组播组.
这样做之后,IGMP路由器就记录了它所在网段主机加入的所有组播地址.
下面看这个例子之后可能大家就比较清楚了,
在IGMP router的LAN端有2台PC,hostA,hostB,hostC,hostA加入了224.100.1.1,hostB加入了224.100.1.2,hostC没有加入任何的组播.
当IGMP router想要查询lan端的组播地址是,它以组播地址224.0.0.1 发到它的lan端,224.0.0.1代表子网中所有支持多播的设备的多播地址, 这个时候如果pc和IGMP router之间用hub或者layer2的交换机(没有enable IGMP snooping),那么包括hostC的3台主机都会收到,只不过hostC不会回应,hostA和hostB会发送报告信息给router,内容分别 为224.100.1.1和224.100.1.2.
如果hostA想要加入一个新的组播地址224.100.1.3,它会发个report信息给想要加入的组播地址,router收到后加入IGMP table.
IGMPv2,包括membership query,membership report, Leave Group message .
membership query 包括general query,group-specific query.
general query和IGMP V1一样,发224.0.0.1来查询在网络中有哪些组播组.
group-specific query,用来查询是否在网络中存在特定的组播组.
membership report,这个和V1一样,加入一个新的GROUP也一样.
Leave Group message是由这个组的最后一个成员发给224.0.0.2(网络中的所有组播路由器),内容为这个组播地址,IGMP router收到后,会发送一个group-specific query来查询是否网络中的这个组播地址已经不存在了,如果没有回应,就把这个组从IGMP table 中删除.
IGMP V3,
Membership Report
其中Membership Query分为三种:General Query,用于查询接口下所有多播成员信息;
Group-Specific Query,用于查询接口下指定组的成员信息;
Group-and-Source-Specific Query,该类型为IGMPv3中新增加的,用于查询接口下是否有成员需要接收指定源列表中的源所发出的特定组的多播流。
下面来谈谈IGMP V1,V2,V3的区别,
IGMPv1 :主机可以加入组播组。没有离开信息(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。
IGMPv2 :该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。
IGMPv3 :与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象。来自网络中其它主机的流量是被隔离的。 IGMPv3 也支持主机阻止那些来自于非要求的主机发送的网络数据包。
IGMPv3同路由器的交互过IGMPv2程同相同。但是在IGMP V1/V2中,主机只根据组地址来决定加入某个组并从任何一个源接收发给该组地址的组播流。而使用IGMP V3的主机通告该主机所希望加入的 多播组,同时还通告该主机所希望接收的多播源的地 址。主机可以通过一个包括列表或一个排除列表来指明希望从哪些源能接收多播流。同时IGMP v3带来的另外一个好处是节省带宽,避免不需要的、非法的组播数据流占用网络带宽,这尤其在多个多播源共用一个多播地址的网络环境中表现明显。
下面这些是一些常见的IGMP multicast address ,
Range :
224.0.0.0~239.255.255.255
Well-known multicast group address:
224.0.0.1 - all systems on the subnet
224.0.0.2 - all routers on the subnet
224.0.0.5 - all OSPF routers on the subnet
224.0.0.9 - all RIP-2 routers on the subnet
224.0.0.12 - all DHCP/Relay Agent on the subnet
转载于:https://blog.51cto.com/12633577/1903993
IGMP V1 V2 V3 定义和区别相关推荐
- (转自网易--无风)IGMP V1 V2 V3 定义和区别
IGMP的问题,应用在IGMP的一些概念. 那就让我们完整的看一下这个组播协议把,以下是我学习过程重总结的一些东西, 先来认识一下IGMP这个协议吧,它的全称是Internet Group Manag ...
- 使用自己的数据集训练GoogLenet InceptionNet V1 V2 V3模型(TensorFlow)
使用自己的数据集训练GoogLenet InceptionNet V1 V2 V3模型(TensorFlow) [尊重原创,转载请注明出处]https://blog.csdn.net/guyueali ...
- PyTorch 实现经典模型7:YOLO (v1, v2, v3, v4)
YOLO (v1, v2, v3, v4) 网络结构 YOLO v3 网络结构 代码 Ref <机器爱学习>YOLO v1深入理解 <机器爱学习>YOLOv2 / YOLO90 ...
- 经典卷积神经系列(Inception v1\v2\v3\v4、ResNet、ResNext、DenseNet、SENet)
写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确.详细内容可以参考文中帖的链接,比较好!!! 经典的CNN:Inception v1\v2\v3\v4.Resnet.Resnext.D ...
- 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2
from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...
- DeepLab系列(v1,v2,v3,v3+)总结
U-net: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 语义分割面临的挑战 1. DeepLab ...
- igmp snooping v1/v2/v3
- 目标检测(九)--YOLO v1,v2,v3
YOLO v1 这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框架.YOLO V1其增强版本GPU中能跑45f ...
- android V1,V2,V3,V4签名详解
前言 最近帮测试做了一点关于签名的需求,今天就和各位同学简单聊一聊关于签名的那些事儿. 如果问到 Android 为什么需要签名?大家都可能想到官网的解释: ❝ Android 系统要求所有 APK ...
最新文章
- BZOJ4238 : 电压
- 软件项目管理的十大定律之说明
- GraphQL入门之工程搭建
- 妥了!微服务治理的困难,用 Serverless 来解决
- 免費玩雲端運算,Amazon Web Service 雲端運算平台攻略 【1】
- java重入锁 自旋锁_java 自旋锁(可重入且无死锁)
- 微信小程序——风水罗盘
- python语言的赋值语句可以改变变量的类型吗_python 数据类型和变量
- 软件测试习题(附答案)
- 网络攻防技术——shellcode编写
- Node.Js实现最最最简单的登录注册
- xshell功能大全(上)
- 计量单位报错:消息号BM305 “未使用语言 ZH 创建单位 XXX”
- Chrome浏览器 抢购、秒杀插件,秒杀助手
- 12面魔方公式图解法_高手指教一下十二面魔方怎么拼?
- 移动互联网需求革命:由“生理需求”到“自我实现”
- 冬季风暴席卷美国致航班取消车祸频发 20万人断电
- 他很惊讶_局座您是来参加云栖大会吗?
- 三星获欧洲专利居业内之首 中兴首次进入前十
- spark hive执行树
热门文章
- CentOS7.3下二进制安装Kubernetes1.9集群 开启TLS
- 企业分布式微服务云SpringCloud SpringBoot mybatis (九)服务链路追踪(Spring Cloud Sleuth)...
- RabbitMQ之与Spring集成
- Attack on Alpha-Zet
- SpringBoot项目在IntelliJ IDEA中实现热部署
- 为什么程序return -1或exit(-1)而获取到的值是255
- REST API 安全设计指南
- mysql数据库操作
- Winform开发框架的业务对象统一调用方式
- 读书笔记:《少的力量》