IP组播4_PIM-DM详解

目录

1.PIM-DM介绍

2.PIM报文格式

3.PIM-DM工作原理

3.1邻居发现和维护

3.2 扩散(Flooding)

3.3 剪枝(Prune)

3.4 嫁接(Graft)

3.5 状态刷新(State Refresh)

3.6 断言(Assert)

4.PIM-DM实验

4.1 PIM-DM常用配置命令

4.2 PIM-DM配置步骤

4.3 PIM-DM实验效果


1.PIM-DM介绍

PIM-DM密集模式是扩散和剪枝,扩散剪枝工作方式是以组播源推送组播组播数据建立组播路由表项,组播源推送组播报文至第一跳路由器,第一跳路由器将组播数据扩散至PIM邻居路由器,依此类推,直至扩散至所有的组播路由器。

当组播报文推送至叶子路由器,如果叶子路由器有组播组成员,则会将组播数据包推送至组播组成员,同时生成SPT组播转发树,用于转发组播数据。

如果叶子路由器没有组播组成员,叶子路由器将会执行PIM剪枝操作,执行完剪枝操作后,后续组播报文不会再推送至该叶子路由器,除非该叶子路由器有组播组成员加入。

IP组播4_PIM-DM详解_第1张图片

图 1 PIM-DM组播系统

2.PIM报文格式

IP组播4_PIM-DM详解_第2张图片

图 2 PIM首部格式

  • 版本:4比特,PIM协议的版本号。
  • 类型:4比特,PIM消息类型,有如下类型: Hello、Register、Join/Prune、Bootstrap、Assert、Graft、Graft-Ack等。
  • 保留:1字节,保留字段。
  • 检验和:2字节,校验和字段,用于检查消息的完整性。
  • 消息体:PIM消息体,长度不定,具体内容根据消息类型而异,可包括组播组地址、接口列表、前缀列表等信息。

3.PIM-DM工作原理

3.1邻居发现和维护

PIM路由器使能PIM的接口会发送PIM Hello报文给对端PIM接口,Hello报文中携带一些重要参数,这些参数用于建立和维护邻居表。

邻居关系建立好后,会形成一个PIM网络,后续PIM功能都是基于该PIM网络去实现,Hello报文是整个PIM网络的基础。

PIM Hello报文会周期性发送,目的是为了防止邻居表老化导致PIM网络不能够及时更新而出错。

IP组播4_PIM-DM详解_第3张图片

图 3 邻居发现原理

Hello报文格式:

IP组播4_PIM-DM详解_第4张图片


图 4 Hello报文抓包

3.2 扩散(Flooding)

组播源发送组播数据(UDP组播报文)至第一跳路由器,第一跳路由器将组播数据扩散至整个PIM网络。扩散的目的是让整个PIM网络都知道组播源的存在, 为后续的剪枝做准备。

IP组播4_PIM-DM详解_第5张图片

图 5 扩散原理

3.3 剪枝(Prune)

PIM网络完成扩散后,叶子路由器如果收到组播组成员IGMP报告,说明叶子路由器有组播组成员,有组组成员的叶子路由器会沿着组播源方向生成SPT树,组播数据沿着SPT进行转发。

如果叶子路由器没有组播组成员,叶子路由器将沿着组播源方向进行剪枝,剪枝的过程其实就是删除组播路由器表项的过程,删除组播路由表项后,组播数据将不会再往该路径转发组播数据包。

IP组播4_PIM-DM详解_第6张图片

图 6 剪枝原理

剪枝(Prune)报文格式:

IP组播4_PIM-DM详解_第7张图片

 图 7 剪枝报文抓包

3.4 嫁接(Graft)

PIM网络完成剪枝后,主机突然通过IGMP报文加入组播组,叶子路由器收到IGMP报告后,沿着组播源的方向发送嫁接报文, 完成嫁接操作后,第一跳路由和该叶子路由器会生成SPT树,组播数据包可以沿着SPT树进行转发。

IP组播4_PIM-DM详解_第8张图片

图 8 嫁接原理

嫁接(Graft)报文格式:

IP组播4_PIM-DM详解_第9张图片

 图 9 嫁接报文抓包

3.5 状态刷新(State Refresh)

PIM网络完成扩散和剪枝后,第一跳路由器会周期性的发送状态刷新报文,该报文会扩散至整个PIM网络,扩散过程中,如果原来完成剪枝的路径有新的组播组成员加入,将会生成SPT,组播报文沿着SPT进行转发。 如果原来完成剪枝的路径依然没有组播组成员加入,则该路径保持剪枝状态。

IP组播4_PIM-DM详解_第10张图片

图 10 状态刷新原理

状态刷新(State Refresh)报文格式:

IP组播4_PIM-DM详解_第11张图片

 图 11 状态刷新报文抓包

3.6 断言(Assert)

组播源发送组播数据经第一跳路由器扩散至整个PIM网络,由于两个中间路由器的下游接口连接在同一个局域网, 导致两个中间路由器能收到对端发来的组播数据包,如果两个相同的组播数据包都转发给叶子路由器,叶子路由器接收重复的数据包出错。此时得通过Assert报文,让两个中间路由器只有一个能转发组播数据包,才能保证网络正常。

IP组播4_PIM-DM详解_第12张图片

图 12 断言原理

断言(Assert)报文格式:

IP组播4_PIM-DM详解_第13张图片

 图 13 断言报文抓包

4.PIM-DM实验

4.1 PIM-DM常用配置命令

IP组播4_PIM-DM详解_第14张图片

 表 1 PIM-DM配置命令

4.2 PIM-DM配置步骤

步骤1:配置接口IP地址,生成直连路由。

步骤2:配置单播路由(静态或者动态),建议采用ospf协议,实现各个网段互通。

步骤3:配置接口PIM功能,完成PIM-DM邻居发现和维护。

步骤4:配置组播源,发送组播数据。

步骤5:配置PC IGMP功能,实现组播拉流。

4.3 PIM-DM实验效果

IP组播4_PIM-DM详解_第15张图片

 图 14 实验效果

实验资料领取方法:

1.CSDN下载链接:https://download.csdn.net/download/weixin_28673511/87874862

你可能感兴趣的:(HCIE,tcp/ip,网络协议,linux,物联网,c语言)