组播——IGMP互联网组管理协议

IGMP协议分为3个版本,V1 V2(默认版本) V3
作用:最后一跳路由器获取主机想加入那个组播组
IGMP使用范围:在PC于最后一跳路由器之间
IGMP封装:基于IP协议,协议号:2,使用周期更新
IGMP V1:
数据报类型: 所有组查询(最后一跳路由器发),成员报告(主机发)
时间都是60S发送一个
所有组查询:D—224.0.0.1 G—0.0.0.0代表任意组
成员报告:D—申请加入组地址 G—申请加入组地址
D并不是224.0.0.2,而是申请加入组的地址,主机发送加入某个组播的流量,对于路由器而言,是可以接收到达任何组播地址的流量,再者还有也想加入这个组播的主机也接收。假设如果D是224.0.0.2,那么就意味着如果大量主机想加入同一个组播组,那么都会给路由器发送成员报告报文,这样效率明显是不高的,因为路由器只需要知道有一台主机需要接收组播流量,就会把组播流量向下传递,所以主机发送了一个D为加入组地址的成员报告,除了路由器接收,其它想加入这个组播组的主机也会接收到这个报文,如果其他主机在发送成员报文之前收到这个报文,就不会发送成员报告报文了。
查询者路由器:由上层组播路由协议选择,PIM 中DR发送,优先级越大,IP地址越大,
成员报告:主机默认等待10之内一个时间再发送,单位1s
成员报告作用:1.用于确认所有组查询 2.主动发送 3.成员报告会抑制其 PC发送该组成员报告
离组:静态离组 ,不发成员报告报文就行了,直到没有任何主机回复成员查询报文,最后一跳路由器180s没有收到某个组播的成员报告,认为该组播组用户全部离组,当下面突然又有一个主机需要加组,那么主动发起成员报告报文,不必等最后一条路由器发送查询报文。
拓扑图:
在这里插入图片描述
R1为组播源,R2 R3为最后一跳路由器,R4 R5模拟主机(no ip routing)
R1 R2 R3运行IGP协议,在R2 R3运行组播路由协议,开启IGMP协议,R4 R5手动加组
R2 R3先打开组播功能
在这里插入图片描述
R2 R3运行PIM
在这里插入图片描述
运行PIM,IGMP默认启用,查看
在这里插入图片描述

选择版本:R2 R3 R4 R5都得做
在这里插入图片描述
抓包查看(目前只有查询报文)
在这里插入图片描述
R4 R5开始加组
在这里插入图片描述
抓包查看
在这里插入图片描述

IGMPV2:
数据包类型:所有组查询 、成员报告、离组消息、指定组查询
由最后一跳路由器中的查询者周期性发送所有组查询报文,在IGMPV1中叫做DR,V2 V3中为查询者,D 224.0.0.1 G 0.0.0.0.周期间隔60S,主机回复成员报告报文,D 加入组播组地址 G 加入组播组地址,与V1作用一致,会抑制其他主机发送,不同点是等待时间虽然是10S,但是单位为0.1S。
离组消息:PC , D—224.0.0.2 G—所离开组播组地址
指定组查询:router ,D—收到离开组播组地址(只有想加入该组播组地址的用户才能接收) G----收到离开组播组地址
收到指定组查询,会立即发送成员报告报文,不会有等待时间,如果查询者大概3秒时间没有收到成员报告报文,直接把组播流量终止

查询者:为所有最后一跳路由器中IP地址最小的路由器 ;查询者超时计时器为120s,超时后自动选举下一个查询者。
默认最大响应时间:10.0s 单位0.1s
收到离组报文,发送指定组查询等待时间为3s
在这里插入图片描述
R2 R3 R4 R5接口修改IGMP版本为2

将上个实验中R4 R5加入组删掉,
在这里插入图片描述
在这里插入图片描述
R4 R5重新加入一个新组 224.1.1.2
在这里插入图片描述
接着开启抓包,查看
在这里插入图片描述
在这里插入图片描述
R2 作为查询者,只有R2发送,成员报告只有R5发,R4被抑制
在这里插入图片描述
R4离组,查看抓包,这个时候R4应该会发送离组信息
在这里插入图片描述
在这里插入图片描述
接着查询者会发送指定组查询报文
在这里插入图片描述
接着R5立即回复指定组查询报文
在这里插入图片描述

IGMPV3:
消息数据包:与IGMPV2完全相同
1.IGMPV3支持的是SSM 组播 (指定源组播)
2.IGMPV3发送成员报告不再抑制其他成员发送
好处:最后一跳路由器可以很清楚的知道那个主机需要加组,不像V1 V2里面不清楚,所以只能给每个主机都发,这也就是为什么说在局域网中,组播类似于广播。
开启路由器的组播路由功能:
在这里插入图片描述
最后一跳路由器连接用户接口启用PIM协议(该接口可以周期性发送IGMP V2的所有查询)
在这里插入图片描述
R2 R3 R4 R5修改IGMP版本为3
在这里插入图片描述
R1 R2 R3接口为dense-mode,R1创建环回模拟指定源
在这里插入图片描述
接着R2 R3上配置如下
在这里插入图片描述
R5上加入指定组
在这里插入图片描述
抓包查看:
在这里插入图片描述在这里插入图片描述

可以在R1上进行测试
在这里插入图片描述
R5要离组
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

IGMP snooping 和 CGMP
在这里插入图片描述

当组播组流量到达最后一跳路由器时候,路由器转发,地址为加入组地址,而交换机接收到组播流量的默认行为是泛洪的,这就与组播的定义相悖了,一般组播我们所理解的就是一对感兴趣的传输,并不是给所有传输。
为了解决这个问题,引出了IGMP snooping(IGMP的嗅探技术,工业标准技术)与CGMP(cisco私有,cisco组管理协议)
这里先了解下cisco私有的技术
首先出现上述的问题肯定是交换机的问题,并不是路由器的问题,cisco组管理协议原理是让路由器帮交换机区分开来,前提是运行的IGMP是V3.
路由器收到IGMP报文是很清楚知道哪些主机想加入哪些组,这个时候路由器会把主机的MAC地址与对应的组播MAC地址形成一个CGMP报文,叫USA/GDA,单播源地址,组目标地址,路由器把GDA/USA的列表以CGMP的形式发送给交换机。交换机收到会先查看GDA/USA列表,知道组播地址对应了那几个MAC地址,这样转发就不会出现泛洪现象。

接下来看工业标准的IGMP snooping怎么做。
交换机不识别IGMP报文,工业标准的snooping强制让交换机识别IGMP报文就行,在交换机里面加入ASIC芯片。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值