收藏 分销(赏)

PIM关键技术介绍.doc

上传人:w****g 文档编号:2880668 上传时间:2024-06-07 格式:DOC 页数:35 大小:2.82MB 下载积分:12 金币
下载 相关 举报
PIM关键技术介绍.doc_第1页
第1页 / 共35页
PIM关键技术介绍.doc_第2页
第2页 / 共35页


点击查看更多>>
资源描述
PIM技术简介 目录 1 PIM简介 2 1.1 PIM-DM 简介 2 1.2 PIM-DM 工作机制 2 1.2.1邻居发现 2 1.2.2构建SPT 3 1.2.3嫁接 3 1.2.4断言 4 1.3 PIM-SM 简介 4 1.4 PIM-SM 工作机制 5 1.4.1邻居发现 5 1.4.2DR 选举 5 1.4.3RP发现 6 1.4.4构建RPT 8 1.4.5组播源注册 8 1.4.6RPT 向SPT 切换 9 1.4.7断言 9 1.5 SSM 模型在PIM 中实现 10 1.5.1邻邻居发现 10 1.5.2DR 选举 10 1.5.3构建SPT 10 2 PIM合同报文格式 12 2.1 PIM报文通用格式 12 2.2 PIM Hello消息格式 13 2.3 PIM Register消息格式 15 2.4 PIM Register-Stop消息格式 17 2.5 PIM Join/Prune消息格式 18 2.6 PIM Graft/Graft-Ack消息格式 21 2.7 PIM Bootstrap消息格式 23 2.8 PIM Assert消息格式 26 2.9 PIM C-RP Advertisement消息格式 27 3 组播有关概念 30 3.1 IP组播三种传递方式 30 3.2 IP组播技术体系构造 30 1 PIM简介 PIM 是Protocol Independent Multicast(合同无关组播)简称,表达可以运用静态路由或者任意单播路由合同(涉及RIP、OSPF、IS-IS、BGP 等)所生成单播路由表为IP 组播提供路由。组播路由与所采用单播路由合同无关,只要可以通过单播路由合同产生相应组播路由表项即可。PIM 借助RPF(Reverse PathForwarding,逆向途径转发)机制实现对组播报文转发。当组播报文到达本地设备时,一方面对其进行RPF 检查:若RPF 检查通过,则创立相应组播路由表项,从而进行组播报文转发;若RPF 检查失败,则丢弃该报文。 依照实现机制不同,PIM 分为如下两种模式: 􀁺 PIM-DM(Protocol Independent Multicast-Dense Mode,合同无关组播—密 集模式) 􀁺 PIM-SM(Protocol Independent Multicast-Sparse Mode,合同无关组播—稀 疏模式) 阐明:为了描述以便,本文中把由支持PIM 合同组播路由器所构成网络简称为“PIM 域”。 1.1 PIM-DM 简介 PIM-DM 属于密集模式组播路由合同,使用“推(Push)模式”传送组播数据,普通合用于组播构成员相对比较密集小型网络。 PIM-DM 基本原理如下: 􀁺 PIM-DM 假设网络中每个子网都存在至少一种组播构成员,因而组播数据将被扩散(Flooding)到网络中所有节点。然后,PIM-DM 对没有组播数据转发分支进行剪枝(Prune),只保存包括接受者分支。这种“扩散—剪枝”现象周期性地发生,被剪枝分支也可以周期性地恢复成转发状态。 􀁺 当被剪枝分支节点上浮现了组播构成员时,为了减少该节点恢复成转发状态所需时间,PIM-DM 使用嫁接(Graft)机制积极恢复其对组播数据转发。 普通说来,密集模式下数据包转发途径是有源树(Source Tree,即以组播源为“根”、组播构成员为“枝叶”一棵转发树)。由于有源树使用是从组播源到接受者最短途径,因而也称为最短途径树(Shortest Path Tree,SPT)。 1.2 PIM-DM 工作机制 1.2.1邻居发现 在PIM 域中,路由器通过周期性地向所有PIM 路由器(224.0.0.13)以组播方式发送PIM Hello 报文(如下简称Hello 报文),以发现PIM 邻居,维护各路由器之间PIM 邻居关系,从而构建和维护SPT。 阐明:路由器每个运营了PIM 合同接口都会周期性地发送Hello 报文,从而理解与该接口有关PIM 邻居信息。 1.2.2构建SPT 构建SPT 过程也就是“扩散—剪枝”过程: (1) 在PIM-DM 域中,组播源S 向组播组G 发送组播报文时,一方面对组播报文进行扩散:路由器对该报文RPF 检查通过后,便创立一种(S,G)表项,并将该报文向网络中所有下游节点转发。通过扩散,PIM-DM 域内每个路由器上都会创立(S,G)表项。 (2) 然后对那些下游没有接受者节点进行剪枝:由没有接受者下游节点向上游节点发剪枝报文(Prune Message),以告知上游节点将相应接口从其组播转刊登项(S,G)所相应出接口列表中删除,并不再转发该组播组报文至该节点。 阐明: 1)(S,G)表项涉及组播源地址S、组播组地址G、出接口列表和入接口等。 2) 路由器上收到组播数据接口称为“上游”,转发组播数据接口称为“下游”。 剪枝过程最先由叶子路由器发起,如图1所示,没有接受者(Receiver)路由器(如与Host A直连路由器)积极发起剪枝,并始终持续到PIM-DM域中只剩余必要分支,这些分支共同构成了SPT。 “扩散—剪枝”过程是周期性发生。各个被剪枝节点提供超时机制,当剪枝超时后便重新开始这一过程。 阐明:剪枝在PIM-SM 中有着相似应用。 1.2.3嫁接 当被剪枝节点上浮现了组播构成员时,为了减少该节点恢复成转发状态所需时间,PIM-DM 使用嫁接机制积极恢复其对组播数据转发,过程如下: (1) 需要恢复接受组播数据节点向其上游节点发送嫁接报文(Graft Message)以申请重新加入到SPT 中; (2) 当上游节点收到该报文后恢复该下游节点转发状态,并向其回应一种嫁接应答报文(Graft-Ack Message)以进行确认; (3) 如果发送嫁接报文下游节点没有收到来自其上游节点嫁接应答报文,将重新发送嫁接报文直到被确以为止。 1.2.4断言 在一种网段内如果存在多台组播路由器,则相似组播报文也许会被重复发送到该网段。为了避免浮现这种状况,就需要通过断言(Assert)机制来选定唯一组播数据转发者。 如图2所示,当Router A和Router B从上游节点收到(S,G)组播报文后,都会向本地网段转发该报文,于是处在下游节点Router C就会收到两份相似组播报文,Router A和outer B也会从各自本地接口收到对方转发来该组播报文。此时,Router A和Router B会通过本地接口向所有PIM路由器(224.0.0.13)以组播方式发送断言报文(Assert Message),该报文中携带有如下信息:组播源地址S、组播组地址G、到组播源单播路由优先级和度量值。通过一定规则对这些参数进行比较后,Router A和Router B中获胜者将成为(S,G)组播报文在本网段转发者,比较规则如下: (1) 到组播源单播路由优先级较高者获胜; (2) 如果到组播源单播路由优先级相等,那么到组播源度量值较小者获胜; (3) 如果到组播源度量值也相等,则本地接口IP 地址较大者获胜。 1.3 PIM-SM 简介 PIM-DM 使用以“扩散—剪枝”方式构建SPT 来传送组播数据。尽管SPT 途径最短,但是其建立过程效率较低,并不适合大中型网络。 PIM-SM 属于稀疏模式组播路由合同,使用“拉(Pull)模式”传送组播数据,普通合用于组播构成员分布相对分散、范畴较广大中型网络。 PIM-SM 基本原理如下: 􀁺 PIM-SM 假设所有主机都不需要接受组播数据,只向明确提出需要组播数据主机转发。PIM-SM 实现组播转发核心任务就是构造并维护RPT(Rendezvous Point Tree,共享树或汇集树),RPT 选取PIM 域中某台路由器作为公用根节点RP(Rendezvous Point,汇集点),组播数据通过RP沿着RPT 转发给接受者; 􀁺 连接接受者路由器向某组播组相应RP 发送加入报文(Join Message),该报文被逐跳送达RP,所通过途径就形成了RPT 分支; 􀁺 组播源如果要向某组播组发送组播数据,一方面由与组播源侧DR(DesignatedRouter,指定路由器)负责向RP 进行注册,把注册报文(Register Message)通过单播方式发送给RP,该报文到达RP 后触发建立SPT。之后组播源把组播数据沿着SPT 发向RP,当组播数据到达RP 后,被复制并沿着RPT 发送给接受者。 阐明:复制仅发生在分发树分支处,这个过程可以自动重复直到数据包最后到达接受者。 1.4 PIM-SM 工作机制 1.4.1邻居发现 PIM-SM使用与PIM-DM类似邻居发现机制,详细请参见“邻居发现”一节。 1.4.2DR 选举 助Hello 报文还可觉得共享网络(如Ethernet)选举DR,DR 将作为该共享网络中组播数据唯一转发者。 无论是与组播源相连网络,还是与接受者相连网络,都需要选举DR。接受者侧DR 负责向RP 发送加入报文;组播源侧DR 负责向RP 发送注册报文。 阐明: 􀁺 各路由器之间通过比较Hello 报文中所携带优先级和IP 地址,可觉得多路由器网段选举DR。选举出DR 对于PIM-SM 有实际意义;而对于PIM-DM 来说,其自身其实并不需要DR,但如果PIM-DM 域中共享网络上运营了IGMPv1,则需要选举出DR 来充当共享网络上IGMPv1 查询器。 􀁺 在充当DR 设备上必要使能IGMP,否则连接在该DR 上接受者将不能通过该DR 加入组播组。 如图3所示,DR选举过程如下: (1) 共享网络上各路由器互相之间发送Hello 报文(携带有竞选DR 优先级参数),拥有最高优先级路由器将成为DR; (2) 如果优先级相似,或者网络中至少有一台路由器不支持在Hello 报文中携带竞选DR 优先级参数,则依照各路由器IP 地址大小来竞选DR,IP 地址最大路由器将成为DR。 当DR 浮现故障时,别的路由器在超时后仍没有收到来自DR Hello 报文,则会触发新DR 选举过程。 1.4.3RP发现 RP 是PIM-SM 域中核心设备。在构造简朴小型网络中,组播信息量少,整个网络仅依托一种RP 进行组播信息转发即可,此时可以在PIM-SM 域中各路由器上静态指定RP 位置;但是在更多状况下,PIM-SM 域规模都很大,通过RP 转发组播信息量巨大。为了缓和RP 承担并优化RPT 拓扑构造,可以在PIM-SM 域中配备各种C-RP(Candidate-RP,候选RP),通过自举机制来动态选举RP,使不同RP 服务于不同组播组,此时需要配备BSR(BootStrap Router,自举路由器)。BSR 是PIM-SM 域管理核心,一种PIM-SM 域内只能有一种BSR,但可以配备各种C-BSR(Candidate-BSR,候选BSR)。这样,一旦BSR 发生故障,别的C-BSR 可以通过自动选举产生新BSR,从而保证业务免受中断。 阐明: 􀁺 一种RP 可以同步服务于各种组播组,但一种组播组只能唯一相应一种RP。 􀁺 一台设备可以同步充当C-RP 和C-BSR。 如图4所示,BSR负责收集网络中由C-RP发来宣布报文(Advertisement Message),该报文中携带有C-RP地址和优先级以及其服务组范畴,BSR将这些信息汇总为RP-Set(RP集,即组播组与RP映射关系数据库),封装在自举报文(Bootstrap Message)中并发布到整个PIM-SM域。 网络中各路由器将根据RP-Set 提供信息,使用相似规则从众多C-RP 中为特定组播组选取其相应RP,详细规则如下: (1) 一方面比较C-RP 优先级,优先级较高者获胜。 (2) 若优先级相似,则使用哈希(Hash)函数计算哈希值,该值较大者获胜。 (3) 若优先级和哈希值都相似,则C-RP 地址较大者获胜。 哈希函数表达式为:Value (G,M,Ci) = ( * ( ( * (G & M) +12345) XOR Ci) + 12345) mod 231,其中各符号含义如表1所示。 1.4.4构建RPT 如图5所示,RPT构建过程如下: (1) 当接受者加入一种组播组G 时,先通过IGMP 报文告知与其直连DR; (2) DR 掌握了组播组G 接受者信息后,向该组所相应RP 方向逐跳发送加入报文; (3) 从DR 到RP 所通过路由器就形成了RPT 分支,这些路由器都在其转刊登中生成了(*,G)表项,这里“*”表达来自任意组播源。RPT 以RP 为根,以DR 为叶子。当发往组播组G 组播数据流经RP 时,数据就会沿着已建立好RPT 到达DR, 进而到达接受者。当某接受者对组播组G 信息不再感兴趣时,与其直连DR 会逆着RPT 向该组RP 方向逐跳发送剪枝报文;上游节点收到该报文后在其出接口列表中删除与下游节点相连接口,并检查自己与否拥有该组播组接受者,如果没有则继续向其上游转发该剪枝报文。 1.4.5组播源注册 组播源注册目是向RP 告知组播源存在。 如图6所示,组播源向RP注册过程如下: (1) 当组播源S 向组播组G 发送了一种组播报文时,与组播源直连DR 在收到该报文后,就将其封装成注册报文,并通过单播方式发送给相应RP; (2) 当RP 收到该报文后,一方面解封装注册报文并将封装在其中组播报文沿着RPT 转发给接受者,另一方面向组播源逐跳发送(S,G)加入报文。这样,从RP 到组播源所通过路由器就形成了SPT 分支,这些路由器都在其转刊登中生成了(S,G)表项。SPT 以组播源为根,以RP 为叶子。 (3) 组播源发出组播数据沿着已建立好SPT 到达RP,然后由RP 把组播数据沿着RPT 向接受者进行转发。当RP 收到沿着SPT 转发来组播数据后,通过单播方式向与组播源直连DR 发送注册停止报文( Register-Stop Message),组播源注册过程结束。 1.4.6RPT 向SPT 切换 当接受者侧DR 发现从RP 发往组播组G 组播数据速率超过了一定阈值时,将由其发起从RPT 向SPT 切换,过程如下: (1) 一方面,接受者侧DR 向组播源S 逐跳发送(S,G)加入报文,并最后送达组播源侧DR,沿途通过所有路由器在其转刊登中都生成了(S,G)表项,从而建立了SPT 分支; (2) 随后,接受者侧DR 向RP 逐跳发送包括RP 位剪枝报文,RP 收到该报文后会向组播源方向继续发送剪枝报文(假设此时只有这一种接受者),从而最后实现从RPT 向SPT 切换。SPT 切换,PIM-SM 可以以比PIM-DM 更经济方式建立SPT。 1.4.7断言 PIM-SM使用与PIM-DM类似断言机制,详细请参见“断言”一节。 1.5 SSM 模型在PIM 中实现 SSM(Source-Specific Multicast,指定信源组播)模型和ASM(Any-Source Multicast,任意信源组播)模型是两个完全对等模型。当前,ASM模型涉及PIM-DM和PIM-SM 两种模式,SSM 模型可以借助PIM-SM 某些技术来实现。 SSM 模型为指定源组播提供理解决方案,通过IGMPv3 来维护主机与路由器之间关系。在实际应用中,普通采用PIM-SM 模式一某些技术来实现SSM 模型。由于接受者已经通过其他渠道(如广告征询等)懂得了组播源详细位置,因而在SSM模型中无需RP,无需构建RPT,无需组播源注册过程,也无需通过MSDP(Multicast Source Discovery Protocol,组播源发现合同)来发现其他PIM 域内组播源。 与ASM 模型相比,SSM 模型仅需要IGMPv3 和PIM-SM 某些子集支持。 1.5.1邻邻居发现 PIM-SSM使用与PIM-SM完全相似邻居发现机制,详细请参见“邻居发现”一节。 1.5.2DR 选举 PIM-SSM使用与PIM-SM完全相似DR选举机制,详细请参见 “DR选举”一节。 1.5.3构建SPT 构建为PIM-SM 服务RPT,还是构建为PIM-SSM 服务SPT,核心在于接受者准备加入组播组与否属于SSM 组地址范畴(IANA 保存SSM 组地址范畴为232.0.0.0/8)。 图7 PIM-SSM 中构建SPT 示意图 如图7所示,Host B和Host C为组播信息接受者(Receiver),由其借助IGMPv3报告报文向DR报告自己对来自组播源S、发往组播组G信息感兴趣。收到该报告报文DR先判断该报文中组地址与否在SSM组地址范畴内: 􀁺 如果在SSM 组地址范畴内,则构建PIM-SSM,并向组播源S 逐跳发送通道(Channel)订阅报文(Subscribe Message)。沿途所有路由器上都创立(S,G)表项,从而在网络内构建了一棵以组播源S 为根、以接受者为叶子SPT,该SPT 就是PIM-SSM 中传播通道; 􀁺 如果不在SSM 组地址范畴内,则仍旧按照PIM-SM 流程进行后续解决,此时DR 需要向RP 发送(*,G)加入报文,同步需要进行组播源注册。 阐明:在PIM-SSM 中,借助“通道”概念表达组播组,借助“订阅报文”概念表达加入报文。 2 PIM合同报文格式 PIM(Protocol Independent Multicast)称为合同无关组播,作为一种组播路由解决方案,也可支持IPv4和IPv6网络,在实践中得到广泛应用。PIM通过路由器之间交互PIM控制消息实现组播路由功能。PIM控制消息使用IP报文封装。 图1 PIM消息封装格式 1) IP报文头合同类型字段值为103,用来标记数据某些封装了PIM消息。 2) IP报文头目地址字段用来标记该PIM消息目接受者。可以是单播地址,也可以是组播地址。 3) PIM-DM 合同与PIM-SM 合同,支持不同控制消息。 2.1 PIM报文通用格式 PIM 消息通用头部格式 所有PIM 控制消息头部有相似格式,如下图2: 图2 PIM 消息头部格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2。 Type 4 比特 消息类型,取值如下: · 0:Hello(PIM-DM 与PIM-SM 都合用) · 1:Register(只合用于PIM-SM) · 2:Register-Stop(只合用于PIM-SM) · 3:Join/Prune(PIM-DM 与PIM-SM 都合用) · 4:Bootstrap(只合用于PIM-SM) · 5:Assert(PIM-DM 与PIM-SM 都合用) · 6:Graft(只合用于PIM-DM) · 7:Graft-Ack(只合用于PIM-DM) · 8:Candidate-RP-Advertisement(只合用于PIM-SM) · 9:State Refresh(只合用于PIM-DM) Reserved 8比特 保存 Checksum 16比特 校验和 参照原则 原则 描述 RFC 4601 Protocol Independent Multicast - Sparse Mode (PIM-SM):Protocol Specification (Revised) RFC 3973 Protocol Independent Multicast - Sparse Mode (PIM-SM):Protocol Specification (Revised) RFC 4607 Source-Specific Multicast for IP 2.2 PIM Hello消息格式 Hello 消息 PIM 路由器之间通过交互Hello 消息,发现PIM 邻居并维护邻居关系。Hello 消息同步在PIM-DM 与PIM-SM 中使用。Hello 消息中无法区别是PIM-DM 还是PIM-SM。 封装Hello 消息IP 报文源地址为本地接口地址,目地址为224.0.0.13,TTL 值为1。使用组播方式发送。 图1 Hello 消息格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2。 Type 4 比特 消息类型,值为0。 Reserved 8比特 保存字段,发送时设立为0,接受时忽视此值。 Checksum 16比特 校验和。 Hello Option [1]...[N] 16比特 采用Type-Length-Value(TLV)格式,其中: · Type:2 字节,Option 参数类型。 · Length:Value 字段长度,字节为单位。 · Value:Option 参数值。 Type 值相应参数名: · 1:Holdtime,表达保持邻居为可达状态超时时间,若超时仍没有收到Hello 消息则以为邻居不可达。 · 2:该字段由三某些构成: LAN Prune Delay:在共享网段上传递Prune 消息延迟时间。 Override Interval:在共享网段上执行剪枝前否决时间。 · T:Join 消息抑制能力位。 · 19:DR Priority,表达各路由器接口竞选DR 优先级,优先级越高越容易获胜。 · 20:Generation ID,Hello 消息中携带随机数,表达当前邻居状态。如果状态发生更新则随机数也会更新。当路由器发现接受到来自上游Hello 消息中包括不同Generation ID 值,则以为上游邻居已经丢失或上游邻居状态已经变化。 · 21:State Refresh Capable,表达邻居状态刷新时间间隔。 · 24:Address List,PIM 接口从地址列表。 报文示例 图2 PIM Hello 消息(IPv4) 图3 PIM Hello 消息(IPv6) 参照原则同上2.1 2.3 PIM Register消息格式 Register 消息 当PIM-SM 网络中浮现活跃组播源时,源端DR 向RP 发送Register 消息,进行源注册。Register 消息只在PIM-SM 中使用。 封装Register 消息IP 报文源地址为源端DR,目地址为RP。使用单播方式发送。 图1 Register 消息格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2 Type 4 比特 消息类型,值为1 Reserved 8比特 保存位。发送时此字段被清零,接受时不解决此字段。 Checksum 16比特 校验和 B 1比特 边界位 N 1比特 空注册位 Reserved2 30比特 保存位。发送时此字段被清零,接受时不解决此字段。 Multicast data packet 变长 组播数据报文。源端DR 将接受到组播数据报文封装在Register 消息中发往RP。RP 解封装后,学习到该组播数据报文(S,G)信息。 报文示例 图2 PIM Register 消息 参照原则同上2.1 2.4 PIM Register-Stop消息格式 Register-Stop 消息 在PIM-SM 网络中,在如下三种状况下,RP 将会向组播源端DR 发送Register-Stop 消息。 · 接受者不再通过RP 接受发往某组播组数据 · RP 不再为某组播组服务 · 组播数据转发途径已经由RPT 切换到SPT 组播源端DR 收到Register-Stop 消息后,停止使用Register 注册消息封装组播数据报文,并进入注册抑制状态。 Register-Stop 消息只在PIM-SM 中使用。 封装Register-Stop消息IP报文源地址为RP,目地址为源端DR。使用单播方式发送。 图1 Register-Stop 消息格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2 Type 4 比特 消息类型,值为2 Reserved 24比特 保存位。发送时此字段被清零,接受时不解决此字段。 Group Address 32比特 组播组地址G Source Address 32比特 组播源地址S 报文示例 图2 PIM Register-Stop 消息 参照原则同上2.1 2.5 PIM Join/Prune消息格式 Join/Prune 消息 一条Join/Prune 消息中可以同步包括Join 信息和Prune 信息。只包括Join 信息Join/Prune 消息称为Join 消息。只包括Prune信息Join/Prune 消息称为Prune 消息。 Join/Prune 消息同步在PIM-DM 和PIM-SM 中使用。 封装Join/Prune 消息IP 报文源地址为本地接口地址,目地址为224.0.0.13,TTL值为1。使用组播方式发送。 图1 Join/Prune 消息格式 图2 Group J/P Record 字段格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2 Type 4 比特 消息类型,值为3 Upstream Neighbor Address 32比特 上游邻居地址。也就是收到Join/Prune消息路由器上,进行Join或Prune操作下游接口地址。 Number of Group 8比特 消息中包括组播组数目。 Holdtime 16比特 接受Join/Prune消息路由器保持相应接口加入/剪枝状态时间。 Group Address 32比特 组播组地址 Number of Joined Sources 16比特 针对该组播组,祈求加入组播源总数。 Number of Pruned Sources 16比特 针对该组播组,祈求剪枝组播源总数。 Joined Source Address 32比特 祈求加入组播源地址。 Pruned Source Address 32比特 祈求剪枝组播源地址。 报文示例 图3 PIM Join 消息 图4 PIM Prume 消息 参照原则同上2.1 2.6 PIM Graft/Graft-Ack消息格式 Graft/Graft-Ack 消息 在PIM-DM 网络中,路由器上浮现构成员时,如果自身不在SPT 上,则从相应(S,G)表项上游接口发送Graft 消息。上游邻居及时恢复下游接口转发,同步从该下游接口发出Graft-Ack 消息,表达已经接受嫁接祈求。如果上游邻居不在SPT 上,则继续向上游发送Graft 消息。 封装Graft-Ack 消息IP 报文源地址为下游接口地址,目地址为Graft 消息发出者。使用单播方式发送。 Graft 消息格式与Join/Prune 消息相似,仅某些字段取值存在差别。 Graft-Ack 消息与Graft 消息格式相似,并复制了Graft 消息内容。其中不同是,Upstream Neighbor Address 字段,在Graft-Ack 消息中填为Graft 消息发出者地址。 图1 Join/Prune 消息格式 图2 Group J/P Record 字段格式 字段 长度 阐明 Version 4比特 PIM 版本,值为2。 Type 4比特 消息类型,Graft 值为6,Graft-Ack 值为7。 Upstream Neighbor Address 32比特 在Graft 消息中填上游邻居地址。也就是收到嫁接消息路由器上,进行嫁接操作下游接口地址。 在Graft-Ack 消息中填为Graft 消息发出者地址。 Number of Groups 8比特 消息中包括组播组数目。 Holdtime 16比特 该字段为0。 Group Address 32比特 组播组地址。 Number of Joined Sources 16比特 针对该组播组,祈求加入组播源总数。 Number of Pruned Sources 16比特 该字段为0。 Joined Source Address 32比特 待嫁接(S,G)源地址。 报文示例 图3 PIM Graft 消息 参照原则同上2.1 2.7 PIM Bootstrap消息格式 Bootstrap 消息 当PIM-SM 网络中使用动态RP 时,配备了C-BSR 路由器从所有PIM 接口周期性发送Bootstrap 消息,参加BSR 竞选。竞选获胜 者,继续发送Bootstrap 消息,向域内所有PIM 路由器发布RP-Set 信息。 Bootstrap 消息只在PIM-SM 中使用。 封装Bootstrap 消息IP 报文源地址为C-BSR 地址,目地址为224.0.0.13,使用组播方式发送。TTL 为1,在PIM-SM 网络中逐 跳转发,最后达到全网泛滥。 图1 Bootstrap 消息格式 图2 Group-RP Record 字段格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2 Type 4 比特 消息类型,值为4 Fragment Tag 16比特 随机数,用来区别Bootstrap 消息 Hash Mask length 8比特 C-BSR Hash 掩码长度 BSR-priority 8比特 C-BSR 优先级 BSR-Address 32比特 C-BSR 地址 Group Address 32比特 组播组地址 RP-Count 8比特 但愿为该组服务C-RP 总数 Frag RP-Cnt 8比特 在本段内包括C-RP 地址个数。对于一种给定组来说,如果Bootstrap 消息分片,Frag RP-Cnt字段便于将RP-Set 分片。 RP-address 32比特 C-RP地址 RP-holdtime 16比特 C-RP发出advertisement 消息老化时间,表达C-RP 有效时间。 RP-Priority 8比特 C-RP 优先级。 报文示例 图3 PIM Bootstrap 消息 参照原则同上2.1 2.8 PIM Assert消息格式 Assert 消息 在共享网段上,如果PIM 路由器从(S,G)或(*,G)表项下游接口收到(S,G)报文,则表达该网段存在其她转发者。路由器从该下游接口发出Assert 消息,参加竞选。竞选落败者停止下游接口转发。 Assert 消息同步在PIM-DM 和PIM-SM中使用。 封装Assert 消息IP 报文源地址为本地接口地址,目地址为224.0.0.13,TTL值为1。使用组播方式发送。 图1 Assert 消息格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2 Type 4 比特 消息类型,值为5 Group Address 32比特 组播组地址 Sources Address 32比特 如果竞选(S,G)表项唯一转发者,则为组播源地址。如果竞选(*,G)表项唯一转发者,则为RP地址。 R 4比特 RPT 位。如果竞选(S,G)表项唯一转发者,该位为0;如果竞选(*,G)表项唯一转发者,该位为1。 Metric Preference 28比特 到Source address 单播途径优先级。 Metric 32比特 到Source address 单播路由开销。 报文示例 图2 PIM Assert 消息 参照原则同上2.1 2.9 PIM C-RP Advertisement消息格式 C-RP Advertisement 消息 当PIM-SM 网络中使用动态RP 时,配备了C-RP 路由器周期性向BSR 发送Advertisement 消息,告示但愿服务组范畴。 C-RP Advertisement 消息只在PIM-SM 中使用。 封装Advertisement 消息IP 报文源地址为源端C-RP,目地址为BSR。使用单播方式发送。 图1 Advertisement 消息格式 字段 长度 阐明 Version 4 比特 PIM 版本,值为2 Type 4 比特 消息类型,值为8 Prefix-Cnt 8比特 组播地址前缀值 Priority 8比特 C-RP优先级 Holdtime 16比特 Advertisement 消息老化时间。 RP-Address 32比特 C-RP 地址。 Group Address 32比特 组播组地址 报文示例 图2 PIM C-RP Advertisement 消息 图3 PIM C-RP Advertisement 消息(注销) 参照原则同上2.1。 3 组播有关概念 组播(Multicast)是一种通讯模式,在发送者和每一接受者之间实现点对多点网络连接。如果一台发送者同步给各种接受者传播相似数据,也只需复制一份相似数据包。组播提高了数据传送效率,减少了骨干网络浮现拥塞也许性。组播路由器定期发送询问信息到组播地址224.0.0.1.在这条信息中,组地址域设定为0.0.0.0.这意味着这种询问是面向一种主机所在所有组播组,而不是一种组播组。 组播合同分为主机-路由器之间构成员关系合同和路由器-路由器之间组播路由合同。 组播技术是IP网络数据传播三种(单播、组播和广播)方式之一,组播解决了单播和广播方式效率低问题。当网络中某些顾客需求特定信息时,组播源(即组播信息发送者)仅发送一次信息,组播路由器借助组播路由合同为组播数据包建立树型路由,被传递信息在尽量远分叉路口才开始复制和分发。 3.1 IP组播三种传递方式 密集组播、稀疏组播、源特定组播。 当前组播算法往往具备结合前两种模式能力。 3.2 IP组播技术体系构造 组播合同分为主机-路由器之间构成员关系合同和路由器-路由器之间组播路由合同。 构成员关系合同涉及IGMP(互连网组管理合同)。 组播路由合同分为域内组播路由合同及域间组播路由合同。 域内组播路由合同涉及PIM-SM、PIM-DM、DVMRP等合同,域间组播路由合同涉及MBGP、MSDP等合同。同步为了有效抑制组播数据在链路层扩散,引入了IGMP Snooping、CGMP等二层组播合同。对组播技术历史作出了巨大贡献! IGMP建立并且维护路由器直联网段构成员关系信息。域内组播路由合同依照IGMP维护这些组播构成员关系信息,运用一定组播路由算法构造组播分发树进行组播数据包转发。域间组播路由合同在各自治域间发布具备组播能力路由信息以及组播源信息,以使组播数据在域间进行转发。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服