您的位置:首页 > 其它

组播概念初探

2020-09-09 15:57 716 查看

1.组播地址范围224-239,D类地址
2.其中路由协议所使用的组播地址:224.0.0.1-224.0.0.255,这类地址叫做局部地址,本地链路地址,只在本条链路上有效,只能传递一跳,属于逐跳行为
3.单播有路由表,组播也有路由表,但是针对目的地址是局部地址的时候不会查询路由表,因为只有一跳,这属于逐跳行为
4.组播内部分公有地址范围:224.0.1.1-224.0.1.254,可以查询组播路由表,属于逐流行为
5.组播内的部分私有地址:239.0.0.1-239.255.255.254
逐跳和逐流的区别:
逐跳行为有封装和解封装的过程,逐流行为是没有任何加封装和解封装的过程,这个数据包是被直接查询转发的,没有更改源和目的
组播一定是基于单播的,通过URPF-unicast Reverse Path Forwarding--单播逆向路径转发来说明:

拓扑图
如图:
1.R1的F0/0口配置ip地址15.1.1.1,环回口配置52.1.1.2
2.R5的F0/0配置ip地址15.1.1.2 ,F1/0口配置ip地址52.1.1.1,F2/0口配置53.1.1.1
3.R2的F0/0口配置ip地址52.1.1.2
4.R3的F0/0口配置IP地址53.1.1.2
5.除R5以外其他所有路由器配置默认路由指向R5
6.在R2和R3上开启dubug ip icmp
7.在R1指定源为52.1.1.2去ping 53.1.1.2

R1

R2和R3
那么思考下,为何会出现这样的原因?
因为对于R3只关心目的,并不关心源,当数据从R1将数据发到53.1.1.2,R3回包的时候,查询路由表发现有路由可以到达52.1.1.2 ,因此会将数据发到R2,此问题发送的根本原因在于路由器只关心数据要发到什么地方,而不关心数据从什么地方来,因此,我们需要让路由器关心数据从什么地方来,也就是源

R5上开启单播逆向转发

R1做测试
开启以后,R5发现源是52.1.1.0网段的ip地址,数据来自F0/0接口,但是我本地的路由表中52.1.1.0网段的路由对应的是F1/0口,因此,R5收到以后将数据丢弃,不再转发给R3。

既校验源也校验目的
以上只是做一个演示,一旦开启组播,URPF自动开启,也就是说,组播是会校验源的,为了将数据发到下一跳设备会查询组播路由表,所以说组播路由表一定是基于单播的,因为要先有目标网络的路由表,数据才可以发出去,数据可以发出去才能查询组播路由表,查询组播路由表才能校验源,因此,单播路由表是基于组播路由表的。
说到组播就不得不提一下IGMP协议了,IGMP协议,(internet group management protocol,internet管理组协议)
这个协议是用于主机和PC之间的通信的,当数据通过组播路由表的查询从一端发到另一端的时候,另一端的组播路由器无法将数据发送到终端设备,那么为了能够发现终端设备,路由器需要和下面的终端设备运行一个协议,这个协议就是IGMP协议,运行了IGMP协议以后该路由器会定期的向下发送周期性的询问消息,通常是60s一次,该消息叫做多播组查询消息,下游的终端设备收到以后需给予回应,如果超过三次没有回应(180s),那么将不再向下发送多播组查询消息
IGMP协议有三个版本:V1版本,V2版本,V3版本
V1版本会导致一个问题出现,就是当下游PC中断,发送多播组查询消息的路由器无法感知,需在三个周期多播组消息以后才不再向下发送周期性查询消息,由于组播多面向于语音视频类业务,因此,可能导致大量带宽的浪费。
以上是关于组播消息的基本介绍,后期会定期更新内容,谢谢!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: