首页 > 编程知识 正文

cisco组播配置,华为配置udp组播

时间:2023-05-06 04:55:20 阅读:114768 作者:753

IGMP协议:互联网组管理协议

(路由器和客户端之间不属于多播路由协议; 多播路由协议—维护APP应用程序和路由器之间、传播路由、多播路由表)

角色: TCP/IP协议家族中负责管理IP多播成员的协议,用于在收件人和与其直接相邻的多播路由器之间建立和维护多播组成员关系

接收方如何接收多播数据:

收件人和路由器之间需要交换的信息是什么?

收件人需要声明自己接收哪个组的数据

路由器需要知道哪个多播组有收件人

手动配置这些信息有什么问题? 1 .实时性差。 2 .灵活性低。 3 .工作量大,容易出错。 如何部署高效传输、灵活分组的网络?

组成员管理- IGMP:IGMP协议在主机和多播路由器之间运行,以建立和维护多播组的成员关系

IGMP协议角色:主机端:通过IGMP协议向路由器通知组成员身份路由器端:通过IGMP协议维护组成员身份的所有消息TTL值默认为1 IGMP协议版本和响应:周期60 .响应抑制机制:组成员收到普遍组查询消息后,启动本地组计时器(0-10s )的机器值,单位为1s,最大响应时间默认为10s ),此时该组内的成员拦截到成员发送了成员关系报告,停止组计时器,并且, 不发送成员报告消息对本组的作用)可以减少网段上的协议流量(重复的成员关系报告)消息1 .普遍的组查询消息)是多播路由器周期性) 6000 向局域网中的所有主机多播任何多播组成员都将响应成员关系报告,并且查询消息中的组地址字段为0.0.0.0,表示所有查询中的任意组, 收到该消息的主机将自己所属的组发送到组播路由器2 .成员关系报告消息:包含所属组的所有成员信息(只能携带一个组的组播组信息), 1 .用于主动申请加入某个多播组的消息2 .主机主动发送到多播路由器,在收到IGMP的普遍组查询消息后,被动响应请求,多播路由器所属的组目的地组地址字段是d类非224.0.0.X IGMPv1成员的参与。 1 .主机积极申请参加。 为了快速接收组播数据,不等待普遍的组查询消息,成员关系报告书2 .被动接收。 由于IGMP,多播路由器不知道组的成员离开,继续传输该组的多播数据,从而浪费设备带宽。 解决方案:在普遍组中查询消息,每60s发送一次,查询所有组是否还有成员,如果普遍组查询130s(60*210 )没有收到响应,路由器将向该组发送2 .查询选举)依赖于多播路由协议查询的是负责发送普遍的组查询消息(IGMPv1中没有明确定义离开组的消息),如果出现多个多播路由器,谁是普遍的呼叫IGMPv1没有查询选举机制,需要使用多播路由协议。 即依赖于上层协议PIM查询2.IGMPv2 (最常用)消息:1.查询消息:普遍组查询消息:查询地址为0.0.0.0的特定组查询消息: 查询该组中是否有其他组成员s目的IP:224.0.0.1 2)成员报告:成员关系消息(类似于V1 )组地址为加入的多播组地址)一个组的妈妈否),组地址为主机脱离的多播地址IGMPv2的IGMPv1的改进)1.组成员

2.查询器向该组地址发送特定组查询,缺省间隔1s,发送2次(健壮系数) 3.若发送2次特定组查询之后仍没有收到成员报告,则认为该组播组不存在组播成员 2.查询器选举:独立的查询器选举机制 选举:所有IGMPv2路由器在初始状态时都认为自己是查询器,向本地网段内的所有主机和路由器发送普遍组查询报文。其他路由器在收到该报文后,将报文的源IP地址与自己的接口地址作比较。IP地址最小的路由器将成为查询器,其他路由器成为非查询器 IGMP的查询器和非查询器都会处理IGMP组加入信息,但是只有查询器负责发送查询报文。IGMP非查询器不处理IGMPv2离开报文 非查询器:所有非查询器上都会启动一个定时器。若在该定时器超时前收到了来自查询器的查询报文,则重置该定时器;否则就认为原查询器失效并发起新的查询器选举 IGMPv1和IGMPv2报文比较:

IGMPv1报文: 版本:包含IGMP版本标识,因此设置为1。 类型:普遍组查询 (0x11),成员关系报告 (0x12)。 组地址:普遍组查询报文中,组地址为0;成员关系报告报文中,组地址为成员想要加入的组播组的地址。

IGMPv2报文:IGMPv2报文与IGMPv1报文略有不同,它取消了版本字段,增加了最大响应时间字段。
类型:相比于IGMPv1,IGMPv2新增了两种报文:
特定组查询报(0x11):查询器向共享网段内指定组播组发送的查询报文,用于查询该组播组是否存在成员。
成员离开报文(0x17):成员离开组播组时主动向路由器发送的报文,用于宣告自己离开了某个组播组。
最大响应时间:表示主机响应查询返回报告的最大时间。
对于普遍组查询,最大响应时间默认为10秒。
对于特定组查询,最大响应时间默认为1秒。
组地址:
普遍组查询报文中,组地址设置为0。
特定组查询报文中,组地址为需要查询的组地址。
在成员报告或离开组的消息中,组地址为需要报告或离开的组地址
3.IGMPv3:应用SSM的新需求:指定组播源,提供了在报文中携带指定组播源信息的能力
SSM模型中的新需求:只接收特定源发送的组播数据
工作机制:
接收端发送成员报告,指出希望加入或拒绝某些组播源发送的数据
报文:
查询报文:
普遍组查询报文:查询地址是0.0.0.0
特定组查询报文:被查询的组播地址,查询该组是否还有其他组成员
特定源组查询报文:查询该组成员是否愿意接收特定源发送的数据
成员报告报文:
成员关系报告:不仅包含了主机想要加入的主播组,还包含了主机想要接收来自哪个组播源的组播数据(可以携带多个组播组信息)
IGMPv3没有专门定义成员离开报文,成员离开报文是通过特定类型的报告报文来传达

IGMP各版本间的差异

二层中组播数据转发的问题:
组播数据在二层被泛洪 :
IGMP报文是封装在IP报文内,属于三层协议报文,而二层设备不处理报文的三层信息,所以主机加组的过程二层设备并不知道,而且通过对数据链路层数据帧的源MAC地址的学习也学不到组播MAC地址(数据帧的源MAC地址不会是组播MAC地址),所有当二层设备在接收到一个目的MAC地址为组播MAC地址的数据帧时,在MAC地址表中就不会找到对应的表项。那么它就会采用广播方式发送组播报文

造成:网络资源浪费
存在安全隐患
解决:IGMP Snooping机制
IGMP Snooping工作原理:
使能IGMP Snooping机制后,查询响应仅向路由器接口转发

IGMP Snooping可以实现组播数据帧在数据链路层的转发和控制:
实现原理:使能IGMP Snooping功能后,二层设备通过侦听主机和路由器之间交互的IGMP报文建立和维护二层组播转发表,从而管理和控制组播数据帧在数据链路层按需转发。(通过分析报文中携带的信息:报文类型、组播组地址、接收报文的接口等),

IGMP Snooping建立和维护二层组播转发表的过程:
1.查询器周期性的发送普遍组查询,该报文被扩散到交换机的所有端口,包括与交换机CPU相连的内部接口0。交换机CPU收到查询报文后,判断1号接口为连接路由器的接口
2.Client B希望加入组播组224.1.2.3,因此以组播方式发送一个IGMP成员报告报文,报告中具有目的MAC地0x0100.5e01.0203。该报文将被发往路由器的接口以及交换机CPU相连的内部接口0;当CPU收到Client B的IGMP报告时,CPU利用IGMP报告中的信息将该接口加入二层组播转发表中,此时表项包括Client B的接口号,连接路由器的接口号和连接交换机内部CPU的接口号
3.形成此转发表项的结果是使后面任何目的地址为0x0100.5e01.0203的组播帧都被控制在端口0、1和3,而且不向交换机其他端口扩散

加入组:主机主动发一个IGMP报告,交换机CPU收到此报告,它在转发表项上为该主机MAC地址增加一个端口

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。