文件名称:组播简介-python实现画图工具
文件大小:3.3MB
文件格式:PDF
更新时间:2024-06-28 01:25:57
思科网络
23.1 组播简介 当有 10000 个用户通过网络看电视时,如果分别为每个用户传输一路流量,不仅服务 器受不了,网络也承载不了。组播(也称多播)则像电视一样,传输一份数据,需要接收数 据的计算机加入到这个组就行了。虽然组播配置并不复杂,但理论知识则相当复杂。组播采 用 224.0.0.0--239.255.255 的地址,不同地址就是不同的组,一个组可能有多个源,而需 要接收数据的设备是这个组的成员。 路由器转发组播流的方式和转发单播流有很大的差别,发送数据的组播源不知道接收者 在何处。保证接收者能收到数据,并且数据不会在不必要的网络上存在是很重要的事情。路 由器必须为组播确定出一条转发路径。路由器采用反向路径转发(RPF),即对每个接收到的 组播进行源地址测试,如果数据是从到达源的接口上接收到的,就往下游路由器转发。 为了确定是否应该往某个网络转发组播流,路由器使用 IGMP(Internet Group Manage Protocol)和主机之间通信,确定这个网络是否有某个组的成员。IGMP 有 V1、V2、V3,目 前 IOS 采用 V2。IGMP 有各种消息,例如:Membership Query 消息、Membership Report 消 息、Leave Group 消息、General Query 消息、Group-Specific Query 消息等。 PIM(Protocol Independent Multicast)是一个组播路由协议,独立于协议的意思是 该组播协议不关心单播路由是通过 RIP 还是 OSPF 或者其他方式学习到的。PIM 有两种模式: PIM Dense 和 PIM Sparse,后者通常和 Dense 结合使用,成为 PIM Sparse-Dense。 Dense 通常用于组成员比较密集的网络中。在 Dense 模式中,当有组播源出现时,路由 器假设所有的网络都有组成员,构建了一棵从源开始的转发树,全部网络就都有了组播流量。 然而各个路由器会紧接着查询自己的接口上是否有这个组的成员存在,如果没有成员,将停 止往这个接口转发组播流。如果路由器上一个成员都没有,它将向上游路由器发送消息,把 它从转发树上修剪掉。一级一级地往上发送消息,最终多播路由协议将构建一棵以源为根、 不会有多余组播流量存在的转发树。如果有新的成员加入,路由器将一级一级往上发送消息, 建立转发路径。在 Dense 模式中,会为不同的源建立不同的树,这样树的数量可能会很多。 Sparse 则通常用于组成员比较稀疏的网络中。在 Sparse 模式中,路由器假设所有的网 络都没有组成员,除非有主机明确表示加入该组。转发树的建立从终端的叶节点组成员开始, 向后扩展到中心的根节点上。和 Dense 模式不同,Sparse 是基于共享树的。也就是说某个 组的流量是先发送到中心节点上(称为 RP),然后在从 RP 转发到各个组成员上的。组成员 加入到这个组时,本地路由器向 RP 发送成员报告,沿途的路由器将树枝加入到共享树中。 组成员从组中退出时,才执行修剪。这样好处是树的数量少,然而可能造成一些组播数据绕 了一圈才到达主机。因此,实际上默认时,当路由器发现不是从到达源的最佳路径的接口上 收到组播流,会自动切换到基于源的树。Sparse 模式中,我们可以手工为某个组指定 RP, 也可以让路由器自动选举。要注意的是,路由器自动选举 RP 时发送的是组播流量,由于 RP 还没出现,所以只能使用 Dense 模式传输这些组播流量,所以 Sparse 通常和 Dense 结合使 用。