当前位置:文档之家› 《路由交换技术及应用(第3版)》HCNP拓展教学资料-教案(7)

《路由交换技术及应用(第3版)》HCNP拓展教学资料-教案(7)

《路由交换技术及应用(第3版)》HCNP拓展教学资料-教案(7)一、课前回顾1、IGMP原理5.3 PIM-DM 协议原理组播组管理协议IGMP(Internet Group Management Protocol)在接收者主机和组播路由器之间运行。

路由器之间则需要运行组播路由协议。

组播路由器之间运行组播路由协议,组播路由协议用于建立和维护组播路由,并正确、高效地转发组播数据包。

组播路由形成了一个从数据源到多个接收端的单向无环数据传输路径,即组播分发树。

组播路由协议分为域内组播路由和域间组播路由协议。

PIM(Protocol Independent Multicast)是典型的域内组播路由协议,分为DM(Dense Mode)和SM(Sparse Mode)两种模型。

PIM(Protocol Independent Multicast)称为协议无关组播,即给IP组播提供路由信息的可以是静态路由、RIP、OSPF、IS-IS、BGP等任何一种单播路由协议。

组播路由和单播路由协议无关,只要通过单播路由协议能够产生相应组播路由表项即可。

PIM-DM(Protocol Independent Multicast Dense Mode)称为协议独立组播-密集模式,属于密集模式的组播路由协议,适用于小型网络。

在这种网络环境下,组播组的成员相对比较密集。

PIM-DM假设网络中的每个子网都存在至少一个对组播源感兴趣的接收站点,因此组播数据包被扩散到网络中的所有点,与此伴随着相关资源(带宽和路由器的CPU等)的消耗。

为了减少网络资源的消耗,密集模式组播路由协议对没有组播数据转发的分支进行Prune操作,只保留包含接收者的分支。

被剪掉的分支如果有组播数据转发需求也可以重新接收组播数据流。

PIM-DM使用Graft嫁接机制主动恢复组播报文的转发。

周期性的扩散和剪枝现象是密集模式协议的特征。

DM模式下数据包的转发路径是一颗“有源树”。

“有源树”是以“组播源”为根、组播组成员为枝叶的一棵树。

有源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树SPT(Shortest Path Tree)。

PIM-DM不依赖于特定的单播路由协议,而是使用现存的单播路由表进行RPF检查。

数据包的转发中会出现上游和下游两个概念。

路由器收到组播数据的接口称为上游。

转发组播数据的接口称为下游。

数据包的转发是从上游至下游方向的转发。

对PIM-DM有了一个总体的认识后,下面详细介绍PIM-DM协议机制,即“扩散—剪枝—嫁接”过程。

1.邻居发现Hello报文在PIM-DM网络中,刚启动的组播路由器需要使用Hello消息来发现邻居,并维护邻居关系。

路由器之间周期性地发送Hello消息来构建和维护SPT树。

pim timer hello interval,在接口视图下配置发送Hello消息的时间间隔。

Hello消息默认周期是30秒。

除了维护邻居关系外,Hello消息还具有一个重要的功能就是在多路由器网段中选举DR指定路由器。

DR充当IGMPv1查询器。

在IGMP概述中已经提到过IGMPv1中查询器的选举由组播路由协议决定。

在PIM-DM中各路由器通过比较Hello消息上携带的优先级和IP地址,为多路由器网段选举指定路由器DR,充当IGMPv1的查询器。

当DR出现故障时,接收Hello消息将会超时,邻居路由器之间会触发新的DR选举过程。

pim hello-option holdtime interval 在接口视图下配置Hello消息超时时间值。

默认情况超时时间值为105秒。

2.构建SPT树—扩散PIM-DM假设网络上的所有主机都准备接收组播数据,如图5-22所示,当某组播源S开始向组播组G发送数据时,具体过程如下:路由器接收到组播报文后,首先根据单播路由表进行RPF检查。

如果检查通过则创建一个(S,G)表项,然后将数据向网络上所有下游PIM-DM节点转发,这个过程称为扩散(Flooding)。

如果没有通过RPF(Reverse Path Forwarding)检查,即组播报文从错误的接口接收,则将报文丢弃。

经过这个过程,PIM-DM组播域内每个路由器上都会创建(S,G)表项。

3.构建SPT树—剪枝无论下游有没有组播成员,组播报文都会被扩散出去,因此会导致带宽资源的浪费。

为避免带宽的浪费PIM-DM使用剪枝机制。

当下游节点没有组播组成员,则路由器向上游节点发Prune剪枝消息,通知上游节点不用再转发数据到该分支。

上游节点收到Prune剪枝消息后,就将相应的接口从其组播转发表项(S,G)对应的输出发送列表中删除。

剪枝过程继续直到PIM-DM中仅剩下了必要的分支,这就建立了一个以组播源S为根的SPT(一种组播转发树,被称为:源路径树或最短路径树)。

各个被剪枝的节点同时提供超时机制,当剪枝超时时重新开始扩散—剪枝过程。

剪枝状态超时计时器的默认值为210秒。

PIM-DM的扩散—剪枝机制周期性进行。

4.SPT树的形成组播路由器根据剪树消息剪去多余的分枝,形成一棵新的SPT树。

虽然剪枝消息让路由器不再向没有组播成员的分枝转发组播报文。

但是每个路由器上的(S,G)表项仍存在,其目的是为了一旦有组播成员加入时可以快速加入并转发组播报文。

5.嫁接机制被剪枝的下游节点在剪枝超时计时器超时时可以恢复到转发状态,但是剪枝超时计时器要等待210秒。

如果在这期间有组播成员想加入则必须等待,这个时间是比较长的。

为了减少反应的时间,当被剪枝的下游节点需要恢复到转发状态时,该节点可以使用Graft嫁接消息主动通知上游节点。

网络中一个接收者恢复接收组播数据,Graft嫁接消息逐跳向组播源S传递,中间节点接收到Graft嫁接消息后回应确认,从而先前被剪掉的分支恢复信息传输。

剪枝路径重新恢复为转发路径,生成一棵新的SPT树。

6.RPF检查PIM-DM采用RPF检查机制,利用现存的单播路由表、组播静态路由表、MBGP路由表来构建一棵从数据源S始发的组播转发树。

当一个组播包到达时,路由器首先判断到达路径的正确性。

如果到达接口是单播路由指示的通往组播源S的接口,就认为这个组播包是从正确路径而来;否则,将组播包作为冗余报文丢弃。

作为路径判断依据之一的单播路由信息可以来源于任何一种单播路由协议,如RIP、OSPF发现的路由信息,不依赖于特定的单播路由协议。

7.Assert机制在共享网络(如Ethernet)中会出现相同报文的重复发送。

如图5-25所示:LAN网段上包含多台组播路由器A、B、C和D,各自都有到组播源S的接收途径。

当路由器A、B和C都从上游接收到组播源发出的组播数据报文后,都会向Ethernet网络上转发该组播报文,这时下游节点组播路由器D就会收到三份完全相同的组播报文。

为了避免这种情况,就需要通过Assert机制来选定一个唯一的转发者。

网络中的各路由器通过发送Assert报文选出一条最优的路径。

选举机制如下:如果两条或两条以上路径的优先级和到组播源的开销相同,则IP地址最大的路由器获胜成为该(S,G)项的上游邻居,由它负责该(S,G)组播报文的转发,而其他落选路由器则剪掉对应的接口以禁止转发信息。

PIM-DM的工作过程可以概括为:邻居发现、扩散、剪枝、嫁接阶段、Assert机制。

邻居发现:组播路由器使用Hello消息发现并维护邻居关系。

并通过比较Hello消息上携带的优先级和IP地址,各路由器为多路由器网段选举指定路由器DR,充当IGMPv1的查询器。

扩散(Flooding):组播源S向组播组G发送数据时,路由器接收到组播报文后,首先根据单播路由表进行RPF检查,通过则创建一个(S,G)表项,然后将数据向网络上所有下游PIM-DM节点转发,这个过程称为扩散(Flooding)。

没有通过RPF检查,则将报文丢弃。

剪枝(Prune):如果下游节点没有组播组成员,则向上游节点发Prune剪枝消息,通知上游节点不用再转发数据到该分支。

上游节点收到Prune剪枝消息后,就将相应的接口从其组播转发表项(S,G)对应的出接口列表中删除。

剪枝过程继续直到PIM-DM中仅剩下了必要的分支,建立了一个以组播源S为根的SPT(一种组播转发树,被称为:源分发树或最短路径树)。

嫁接(Graft):当被剪枝的下游节点需要恢复到转发状态时,该节点使用Graft嫁接消息通知上游节点恢复信息传输。

Assert机制:在共享网络使用Assert机制指定转发器。

一、课前回顾1、PIM-DM5.4 PIM-SM 协议原理PIM-DM协议假定所有节点都有组播成员,因此会将组播报文扩散到所有下游分支。

虽然有剪枝机制可以剪去没有组播成员的分支,但由于这种“扩散—剪枝”不够高效,再加上PIM-DM使用的是SPT树,不支持共享树,因此只适合组成员分布相对密集的小型网络。

PIM-SM(Protocol Independent Multicast-Sparse Mode)称为协议无关组播-稀疏模式,适用于组成员分布相对分散、范围较广、大规模的网络。

PIM-SM假设网络中的组成员分布非常稀疏,几乎所有网段均不存在组成员。

直到某网段出现组成员时,才构建组播路由,向该网段转发组播数据。

PIM-SM模型实现组播转发的核心任务是构造并维护一棵单向共享树。

共享树选择PIM中某一路由器作为公用根节点,称为汇聚点RP(Rendezvous Point)。

组播数据通过RP沿共享树向接收者转发。

接收侧,连接信息接收者的路由器向该组播组对应的RP发送组加入消息,加入消息经过一个个路由器后到达根部(即RP汇聚点),所经过的路径就变成了此共享树RPT的分支。

发送端如果想要往某组播组发送数据,首先由第一跳路由器向RP汇聚点进行注册,注册消息到达RP后触发源树建立。

之后组播源把数据发向RP汇聚点,当数据到达了RP汇聚点后,组播数据包被复制并沿着RPT树传给接收者。

PIM-SM同时包含两种树:共享树和源路径树。

从RP到组播接收者数据转发的路径称为共享树。

从组播源到RP的数据转发路径称为源路径树。

RPF检查根据树的种类进行:在共享树下,使用RP地址作为检测地址。

在源路径树下,使用组播源地址作为检测地址。

PIM-SM的工作过程包括邻居发现、DR选举、RP发现、加入、剪枝、注册、SPT切换。

1.邻居发现Hello报文在PIM-SM网络中,刚启动的组播路由器需要使用Hello消息来发现邻居,并维护邻居关系。

通过各路由器之间周期性地使用Hello消息保持联系。

除了维护邻居关系外,Hello消息还具有一个重要的功能就是在多路由器网段中选举DR指定路由器。

DR充当IGMPv1查询器。

2.DR选举PIM-SM在共享网络(如Ethernet)同样选举DR(Designated Router)。

相关主题