1、IPIP组播技术组播技术( (华为华为3.)3.)2学习目标学习目标l掌握组播的基本概念掌握组播的基本概念l掌握掌握IGMP协议原理协议原理l掌握基本的路由协议原理掌握基本的路由协议原理3课程内容课程内容4单播、广播与组播单播、广播与组播单播服务器组播广播主机10.10.1.0/245单播与组播实现点对多点传输比较单播与组播实现点对多点传输比较单播组播6多媒体会议多媒体会议互联网互联网多媒体终端多媒体终端总部总部分支机构分支机构SOHO多媒体终端多媒体终端多媒体终端多媒体终端多媒体终端多媒体终端7数据分发数据分发远程主机远程主机文件服务器文件服务器总部总部分支机构分支机构远程主机远程主机远程主
2、机远程主机远程主机远程主机SOHO互联网互联网8实时数据组播实时数据组播互联网互联网多媒体主机服务器足球比赛演唱会股票终端9游戏与仿真游戏与仿真互联网互联网玩家玩家ISP ServerISP Server玩家玩家玩家玩家10组播技术的特点组播技术的特点l优点优点增强效率,控制网络流量,减少服务器和增强效率,控制网络流量,减少服务器和CPU负载负载优化性能,消除流量冗余优化性能,消除流量冗余分布式应用,使多点传输成为可能分布式应用,使多点传输成为可能l缺点缺点组播应用基于组播应用基于UDP尽最大努力交付尽最大努力交付无拥塞控制无拥塞控制数据包重复数据包重复数据包的无序交付数据包的无序交付11课程
3、内容课程内容12组播组件构成组播组件构成PIM SMIGMP V2IGMP SnoopingMSDPl端主机系统端主机系统IGMP v1、v2、v3l交换机交换机IGMP Snoopingl路由器路由器PIM DM、SM13组播体系结构组播体系结构l组播协议分为主机组播协议分为主机-路由器之间的组成员关系协议路由器之间的组成员关系协议和路由器和路由器-路由器之间的组播路由协议。路由器之间的组播路由协议。组成员关系协议包括组成员关系协议包括IGMP(互联网组管理协议互联网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协组播路由协议分为域内组播路由协议及域间组播路由协议。议。域内的组
4、播协议分为密集模式与稀疏模式。域内组播路由域内的组播协议分为密集模式与稀疏模式。域内组播路由协议主要使用协议主要使用PIM-SM,PIM-DM,DVMRP协议等。协议等。域间组播路由协议主要使用域间组播路由协议主要使用MSDP、MBGP等。等。14组播地址组播地址15常用的保留组播地址常用的保留组播地址 D类地址范围类地址范围含义含义224.0.0.0基准地址(保留)基准地址(保留)224.0.0.1所有主机的地址所有主机的地址224.0.0.2所有组播路由器的地址所有组播路由器的地址224.0.0.3不分配不分配224.0.0.4DVMRP路由器路由器224.0.0.5OSPF路由器路由器2
5、24.0.0.6OSPF DR224.0.0.7ST路由器路由器224.0.0.8ST主机主机224.0.0.9RIP-2路由器路由器D类地址范围类地址范围含义含义224.0.0.10IGRP路由器路由器224.0.0.11活动代理活动代理224.0.0.12DHCP服务器服务器/中继代理中继代理224.0.0.13所有所有PIM路由器路由器224.0.0.14RSVP封装封装224.0.0.15所有所有CBT路由器路由器224.0.0.16指定指定SBM224.0.0.17所有所有SBMS224.0.0.18VRRP16IP地址到地址到MAC地址的映射地址的映射IP组播地址后23位映射到MA
6、C地址中17端主机系统对组播的处理端主机系统对组播的处理lMedia Access Control,端主,端主机系统根据目的机系统根据目的MAC来判断是来判断是否处理接收到以太网帧;否处理接收到以太网帧;l端主机系统在数据链路层维护一端主机系统在数据链路层维护一张接收列表,包含:张接收列表,包含:单播地址:如单播地址:如00-e0-fc-00-00-06,第一字节最低位为,第一字节最低位为0广播地址:广播地址:48位全位全1 ff-ff-ff-ff-ff-ffl接收列表中可能还包含:接收列表中可能还包含:组播地址:如组播地址:如 01-00-5e-0a-0a-0a ,第一字节最低位为,第一字节
7、最低位为1接收列表:接收列表:00e0.fc00.0006ffff.ffff.ffff目的目的MACMAC为为01-00-5e-01-00-5e-0a-0a-0a0a-0a-0a的数据帧我能的数据帧我能处理吗?处理吗?18实现组播的二层交换实现组播的二层交换组播?19实现组播的二层交换实现组播的二层交换12345MACMAC转发表转发表MACMAC地址地址端口端口0100-5e0a-0a0a1,2,5组播?没问题,我有:组播?没问题,我有:20实现组播的三层转发实现组播的三层转发来自来自192.18.0.32的组播数据的组播数据组播?单播转发依赖于单播路由表,组播转发是不是也依赖于组播转发表呢
8、?S0/1S0/0S1/021实现组播的三层转发实现组播的三层转发l逆向路径转发逆向路径转发(RPF Reverse Path Forwarding)组播包的转发不是基于组播包的转发不是基于IP包的目的地址的,而是用包的目的地址的,而是用RPF检查决定是检查决定是否转发和丢弃输入信息包否转发和丢弃输入信息包RPF检查的过程如下:检查的过程如下:路由器检查到达组播包的源地址,如果信息包是在可返回源站点的接路由器检查到达组播包的源地址,如果信息包是在可返回源站点的接口上到达,则口上到达,则RPF检查成功,信息包被转发检查成功,信息包被转发如果如果RPF检查失败,丢弃信息包检查失败,丢弃信息包 l对
9、组播包源地址的检查是通过查询单播路由表来实现的对组播包源地址的检查是通过查询单播路由表来实现的22例子:例子:RPF检查检查S0/0S0/1S1/0接收者接收者接收者接收者组播数据包组播数据包错误接口到达的组播数据包错误接口到达的组播数据包RPF检查失败,数据包检查失败,数据包从错误接口到达从错误接口到达192.18.0.3223进一步观察:进一步观察:RPF检查失败检查失败数据从S0/1到达,RPF检查失败,路由器丢弃包来自来自192.18.0.32的组播数据的组播数据网段接口192.18.0.0/16S0/0168.0.22.0/24S0/115.15.0.0/16S1/0S0/1S0/0
10、S1/024进一步观察:进一步观察:RPF检查成功检查成功数据从S0/0到达,RPF检查成功,路由器转发数据包S0/1来自来自192.18.0.32的组播数据的组播数据S0/0S1/0网段网段接口接口192.18.0.0/16S0/0168.0.22.0/24S0/115.15.0.0/16S1/025组播树源树组播树源树组播转发项:( S,G,Upstream interface,Downstream interface list) S 源地址G 组地址Upstream interface 入接口Downstream interface list 出接口列表26组播树源树组播树源树组播转发项
11、:( S,G,Upstream interface,Downstream interface list) S 源地址G 组地址Upstream interface 入接口Downstream interface list 出接口列表27组播树共享树组播树共享树RPRPPIMPIM汇聚点汇聚点组播转发项:( *,G,Upstream interface,Downstream interface list) * 任何源地址G 组地址Upstream interface 入接口Downstream interface list 出接口列表28不同组播树的特征不同组播树的特征l组播源树(最短路径树)组
12、播源树(最短路径树)对应每个源存在一颗组播树,占用内存较多,但路径最优,延迟对应每个源存在一颗组播树,占用内存较多,但路径最优,延迟最小最小l 组播共享树组播共享树对应每个对应每个RP存在一颗组播树,占用内存较少,路径不是最优的,存在一颗组播树,占用内存较少,路径不是最优的,引入额外的延迟引入额外的延迟29课程内容课程内容30IGMP英特网组管理协议英特网组管理协议lIGMP(Internet Group Management Protocol)协议是主机协议是主机与路由器之间唯一信令协议与路由器之间唯一信令协议lRFC1112规定了规定了IGMP V1(定义了基本的组成员查询和报告过定义了基
13、本的组成员查询和报告过程程)lRFC2236规定了规定了IGMP V2(增加了组成员快速离开的机制)增加了组成员快速离开的机制)lRFC3376规定了最新的规定了最新的IGMP V3(增加了成员可以指定接收或(增加了成员可以指定接收或指定不接收某些组播源的报文等功能)指定不接收某些组播源的报文等功能)31IGMP v1报文格式报文格式lVer:版本。表明:版本。表明IGMP版本,在版本,在IGMP v1中为中为1。lType:类型。:类型。IGMP类型为类型为1说明是组播路由器发送的组成员查询消息;说明是组播路由器发送的组成员查询消息;类型为类型为2说明是主机发送的组成员报告消息。说明是主机发
14、送的组成员报告消息。lUnused:未使用。发送时被置为:未使用。发送时被置为0,接收时忽略此字段。,接收时忽略此字段。lGroup Address:组播组地址。组地址为:组播组地址。组地址为D类类IP地址。在查询消息中地址。在查询消息中组地址设置为组地址设置为0,在报告消息中组地址为要参加的组地址。,在报告消息中组地址为要参加的组地址。 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 32IGMP v2报文格式报文格式lType:报文类型。包括成员查询;版本:报文类型。包括成员查询;版本1成员报告;
15、版本成员报告;版本2成员报告;成员报告;离开消息。离开消息。lMax Resp Time:最大响应时间。实际中响应时间是配置值范围:最大响应时间。实际中响应时间是配置值范围(125秒)内的一个随机值。缺省为秒)内的一个随机值。缺省为10秒。秒。lGroup Address:组播组地址:在普遍查询中为:组播组地址:在普遍查询中为0.0.0.0;特定组查询;特定组查询和报告消息中为相应的组播地址。和报告消息中为相应的组播地址。 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 133IGMP v3报文格式报文格
16、式 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type为为0 x11表示组成员查询消息表示组成员查询消息 34IGMP v3报文格式报文格式Type为为0 x22表示组成员报告消息表示组成员报告消息 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 35IGMP v3报文格式报文格式 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
17、7 8 9 0 1Group Record格式格式 36IGMP中路由器、主机动作中路由器、主机动作以以IGMPv2为例为例37IGMP中路由器、主机动作中路由器、主机动作主机发送主机发送IGMP Report消息加入某个组消息加入某个组HostAHostCHostBEthernet我要加入我要加入225.1.1.1225.1.1.1这个组!这个组!38IGMP中路由器、主机动作中路由器、主机动作路由器周期性地向路由器周期性地向224.0.0.1发送普遍查发送普遍查询询HostAHostCHostBEthernet我要查询还我要查询还有没有组播有没有组播成员?成员?主机发送特定组主机发送特定组
18、(225.1.1.1)的报告的报告组的其他成员监听到报告后抑制报告发送组的其他成员监听到报告后抑制报告发送39IGMP中路由器、主机动作中路由器、主机动作HostAHostCHostBEthernet我要离开我要离开225.1.1.1225.1.1.1这个组!这个组!主机向主机向224.0.02发送离开组消息(包含离开的组)发送离开组消息(包含离开的组)路由器向这个组(路由器向这个组(225.1.1.1)发送特定组查询发送特定组查询发送两次特定组查询后没有收到响应报告发送两次特定组查询后没有收到响应报告组组225.1.1.1超时(离开)超时(离开)我要查询该组我要查询该组还有没有组播还有没有组
19、播成员?成员?40共享网段中的查询器共享网段中的查询器10.10.0.2/1610.10.0.1/16我的我的IPIP小,当然小,当然我是查询器!我是查询器!41IGMP三版本比较三版本比较查询器选举查询器选举IGMP v1离开方式离开方式指定组查询指定组查询依靠上层路由协议依靠上层路由协议IGMP v2IGMP v3无无无无自己选举自己选举有有无无自己选举自己选举有有有有默默离开默默离开主动发出离开报文主动发出离开报文主动发出离开报文主动发出离开报文指定源、组加入指定源、组加入42版本版本1与版本与版本2兼容处理兼容处理版本1主机版本2主机版本1路由器版本2路由器版本1主机版本2主机版本1路
20、由器版本2路由器版本1主机报告抑制版本2主机版本2主机被版本1主机报告抑制路由器按版本1方式工作版本2帧格式兼容版本1帧格式版本2路由器强制配为版本1方式版本2路由器强制配为版本1方式版本2帧格式兼容版本1帧格式路由器按版本1方式工作至版本1定时器超时43版本版本1/2与版本与版本3兼容处理兼容处理版本1/2主机版本3主机版本1路由器版本3路由器版本1/2主机版本3主机版本1/2路由器版本3路由器版本1/2主机报告抑制版本3主机版本3主机被版本1/2主机报告抑制路由器按版本1/2方式工作版本3帧格式兼容版本1/2帧格式版本3路由器强制配为版本1/2方式版本3路由器强制配为版本1/2方式版本3帧
21、格式兼容版本1/2帧格式路由器按版本1/2方式工作至版本1/2定时器超时44IGMP窃听建立和维护组窃听建立和维护组CPUCPUIGMPIGMP报告报告IGMPIGMP查询查询MACMAC地址地址转发表转发表端口端口45IGMP Spoofing46IGMP的高级应用的高级应用IGMP ProxyMRAMRBEth0/0Eth0/1Eth0/033.33.33.133.33.33.222.22.22.1外部网络末梢网络普遍组普遍组/特定组查询消息特定组查询消息IGMP加入加入/离开消息离开消息47IGMP配置命令配置命令l此项配置任务在需要进行组播成员关系维护的接口上使能此项配置任务在需要进行
22、组播成员关系维护的接口上使能IGMP。执。执行此操作之后,才能进行行此操作之后,才能进行IGMP的其他配置。的其他配置。l在接口视图下配置。在接口视图下配置。缺省情况下,接口上禁止缺省情况下,接口上禁止IGMP。使能使能IGMP后,缺省使用版本后,缺省使用版本2。操作操作命令命令在当前接口上使能在当前接口上使能IGMPigmp enable配置使用的配置使用的IGMP版本版本igmp version 1 | 2 48IGMP Snooping配置命令配置命令l为了控制为了控制IGMP Snooping是否在二层建立和维护是否在二层建立和维护MAC组播转发表,组播转发表,可以使用下面的命令来启动
23、可以使用下面的命令来启动/关闭关闭IGMP Snooping。首先要在系统视。首先要在系统视图下全局使能图下全局使能IGMP Snooping,其次要在,其次要在VLAN视图使能对应视图使能对应VLAN的的IGMP Snooping。在。在VLAN视图下使能对应视图下使能对应VLAN的的IGMP Snooping功能,需要建立在全局使能功能,需要建立在全局使能IGMP Snooping的基础之上。的基础之上。l在系统视图和在系统视图和VLAN视图下分别配置。视图下分别配置。缺省情况下,关闭缺省情况下,关闭IGMP Snooping。操作操作命令命令启动启动/关闭关闭启动启动/关闭关闭IGMP
24、Snoopingigmp-snooping enable | disable 配置使用的配置使用的IGMP版本版本igmp version 1 | 2 49课程内容课程内容50组播路由协议的类型组播路由协议的类型l密集模式密集模式(Dense-mode)使用使用“推推”(Push)模型)模型组播数据整网络的泛滥(组播数据整网络的泛滥(Flood)下游不想接收则剪枝(下游不想接收则剪枝(Prune)泛滥、剪枝、泛滥、剪枝泛滥、剪枝、泛滥、剪枝周而复始周而复始 (通常通常3分钟折腾一次分钟折腾一次)l稀疏模式(稀疏模式(Sparse-mode)使用使用 “拉拉”(Pull)模型)模型组播数据只发送
25、到有需要的地方组播数据只发送到有需要的地方有显式的加入(有显式的加入(Join)过程)过程我先给你,你可我先给你,你可以不要啊!以不要啊!你要了,我才你要了,我才给你!给你!51组播路由协议一览组播路由协议一览lDVMRPv3 (距离矢量组播路由协议)(距离矢量组播路由协议) (Internet草案草案)l协议无关组播密集模式(协议无关组播密集模式(PIM-DM)()(RFC3973)l协议无关组播稀疏模式(协议无关组播稀疏模式(PIM-SM)()(RFC 2362)l开放式组播最短路径优先(开放式组播最短路径优先(MOSPF)()(RFC 1584)l其它有核树组播路由协议(其它有核树组播路
26、由协议( CBTv2) (RFC2189)52协议无关组播协议无关组播PIMlPIM(Protocol Independent Multicasting)即协议无关组播)即协议无关组播独立于单播路由协议,但依赖单播协议发现的路由进行独立于单播路由协议,但依赖单播协议发现的路由进行RPF检查,组检查,组播协议必须有单播路由协议的支撑播协议必须有单播路由协议的支撑UDP端口号:端口号:103PIM路由器组地址为:路由器组地址为:224.0.0.13lPIM协议分为:协议分为:PIM-DM(协议无关组播(协议无关组播-密集模式)密集模式)PIM-SM(协议无关组播(协议无关组播-稀疏模式)稀疏模式)
27、SSM(指定源组播)(指定源组播)Bidir-PIM(双向(双向-协议无关组播)协议无关组播)53PIM报文格式报文格式PIM版本号最新为版本号最新为2。PIM报文类型包括:报文类型包括:0 = Hello(Hello消息维护邻居关系)消息维护邻居关系)1 = Register(源向(源向RP注册)注册)2 = Register-stop(RP到源注册停到源注册停止)止)3 = Join加入加入/Prune(加入(加入/剪枝)剪枝)4 = Bootstrap(BSR/RP 集消息)集消息)5 = Assert(断言消息选择(断言消息选择DR)6 = Graft(DM嫁接)嫁接)7 = Graf
28、t-Ack(DM嫁接响应)嫁接响应)8 = Candidate-RP-Advertisement(候选(候选RP通告)通告)保留字被设为保留字被设为0,接收时忽略。,接收时忽略。校验字为校验字为16比特。比特。0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 154PIM Hello消息格式消息格式0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1Type为为0表示表示PIM Hello 55PIM Register
29、/Register Stop消息消息 格式格式0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1Type为为1表示表示PIM RegisterType为为2表示表示PIM Register Stop56PIM Join/Prune/Graft/Graft Ack消息格式消息格式0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 57PIM BootStrap消息格式消息格式0 1 2 3 0 1 2 3 4 5
30、6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 58PIM Assert消息格式消息格式0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 159PIM Candidate-RP-Advertisement消息格式消息格式 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 160组播公共配置组播公共配置l启动组播路由协议之前,必须首先启动组播。启动组播路由协议之前
31、,必须首先启动组播。l在系统视图下配置。在系统视图下配置。缺省不启动组播。只有启动了组播,其他的组播配置才能生效。缺省不启动组播。只有启动了组播,其他的组播配置才能生效。操作操作命令命令启动组播启动组播multicast routing-enable61课程内容课程内容62PIM-DM概述概述l协议无关组播(协议无关组播(Protocol Independent Multicast)支持所有的单播路由协议支持所有的单播路由协议: 静态路由、静态路由、RIP、 OSPF、IS-IS、BGP,总之了,单播路由是什么都没关系。,总之了,单播路由是什么都没关系。使用逆向路径转发(使用逆向路径转发(RP
32、F)机制)机制先向网络泛滥先向网络泛滥(Flood),然后根据组播组成员关系进行剪枝,然后根据组播组成员关系进行剪枝 (Prune)使用使用Assert机制来剪枝冗余数据流机制来剪枝冗余数据流l适合于适合于小规模的网络小规模的网络组播用户密集分布的网络组播用户密集分布的网络63邻居发现机制邻居发现机制l周期性发送周期性发送Hello报文报文发现邻居、建立并维护邻居关系发现邻居、建立并维护邻居关系l选举选举DR(先比优先级,后比(先比优先级,后比IP地址)地址)IP地址最大者成为本地址最大者成为本网段的网段的DRHello消息消息Hello消息消息64扩散剪枝扩散剪枝接收者接收者1接收者接收者2
33、源源S我这儿不需要,我这儿不需要,别再发给我了!别再发给我了!组播数据流组播数据流剪枝消息剪枝消息网络中的每个路由网络中的每个路由器都创建器都创建(S,G)(S,G)转发转发项项65网络中的路由器仍网络中的路由器仍然保留然保留(S,G),扩散,扩散剪枝过程每隔剪枝过程每隔210s重复一次重复一次扩散剪枝扩散剪枝接收者接收者1接收者接收者2源源S组播数据流组播数据流剪枝消息剪枝消息网络中的每个路由网络中的每个路由器都创建器都创建(S,G)转发转发项项66嫁接和嫁接应答嫁接和嫁接应答我想要了,发给我想要了,发给我吧!我吧!67剪枝否决(剪枝否决(override)MR1MR2源源S组播组播剪枝消息
34、剪枝消息MR3加入消息加入消息怎么办,要剪掉怎么办,要剪掉我的以太网口我的以太网口吗?吗?别急,我下面还别急,我下面还有成员呢,别剪有成员呢,别剪掉!掉!68断言(断言(assert)机制)机制MR1MR2源源S组播组播MR3两份一样啊,两份一样啊,重复了!重复了!断言消息断言消息69状态的维护状态的维护网络中路由器网络中路由器210s210s内没有接收到组播内没有接收到组播数据流,删除数据流,删除(S,G)(S,G)网络中路由器的网络中路由器的(S,G)(S,G)表项靠组播数表项靠组播数据流来维护,一般据流来维护,一般持续有组播数据流持续有组播数据流的情况下,每隔的情况下,每隔15s15s刷
35、新一次刷新一次70PIM-DM配置命令配置命令lP I M - D M 协 议 需 要 分 别 在 各 个 接 口 上 启 动 。协 议 需 要 分 别 在 各 个 接 口 上 启 动 。在接口上配置了在接口上配置了PIM-DM之后,之后,PIM-DM会定期发送会定期发送PIM协议协议Hello报文,报文,并且处理并且处理PIM邻居发送的协议报文。邻居发送的协议报文。l在接口视图下配置。在接口视图下配置。通常情况下,建议各个接口全部配置通常情况下,建议各个接口全部配置PIM-DM。此配置必须在系统视。此配置必须在系统视图下使能组播路由之后,才能生效。在接口上启动了图下使能组播路由之后,才能生效
36、。在接口上启动了PIM-DM协议后,协议后,不能再对此接口启动不能再对此接口启动PIM-SM协议,反之亦然。协议,反之亦然。操作操作命令命令在接口上启动在接口上启动PIM-DM协议协议pim dm71PIM-DM配置案例配置案例Video Server骨干网骨干网全网全网PIM-DMMultimedia PC72PIM-DM配置案例配置案例l配置配置VLAN虚接口虚接口PIM-DM协议是应用层协议,运行在三层接口上。协议是应用层协议,运行在三层接口上。l启动组播路由协议启动组播路由协议Quidway multicast routing-enable l在每个在每个VLAN虚接口上配置虚接口上配
37、置PIM-DMQuidway-VLAN-interface10 pim dm73课程内容课程内容74PIM-SM概述概述l支持共享树和源树支持共享树和源树假设没有主机需要接收组播数据,除非它们明确地发出了请求假设没有主机需要接收组播数据,除非它们明确地发出了请求l使用使用“汇聚点汇聚点”(RP, Rendezvous Point)发送者和接收者在发送者和接收者在RP处进行汇聚处进行汇聚 发送者的第一跳路由器把发送者注册到发送者的第一跳路由器把发送者注册到RP上上 接收者的接收者的DR(同(同PIM-DM中的中的DR)为接收者加入到共享树)为接收者加入到共享树 (树根在树根在RP)l适合于适合于
38、大规模的企业网络大规模的企业网络是任何网络的优选方案,不管其规模和成员密集程度是任何网络的优选方案,不管其规模和成员密集程度这个这个RP很重要很重要的哩!的哩!75DR的选举和转发的选举和转发RPDR组播数据流组播数据流Hello消息消息IP网网源源S接收者接收者所有的组播流非所有的组播流非要经过我这儿不要经过我这儿不可,知道我重要可,知道我重要了吧!了吧!先比优先级,先比优先级,后比后比IPIP地址地址76共享树加入共享树加入接收者接收者1接收者接收者2源源SRP接受者到接受者到RP(包括(包括RP)的沿途各路由器接收到的沿途各路由器接收到(*,G)加入消息后,创)加入消息后,创建(建(*,
39、G)转发项,出接)转发项,出接口为接收到加入消息的接口为接收到加入消息的接口,构建口,构建RP到接收者的到接收者的RPT77注册注册/注册停止和源树加入注册停止和源树加入(S,G)注册单播)注册单播组播数据流组播数据流建立(建立(S,G),出接口为空,),出接口为空,并将组播数据封装到单播并将组播数据封装到单播注册报文,然后单播的方注册报文,然后单播的方式发送到式发送到RP收到注册报文后,解封装收到注册报文后,解封装还原组播报文,依据之前还原组播报文,依据之前创建的(创建的(*,G)从相应的出)从相应的出接口转发接口转发78注册注册/注册停止和源树加入注册停止和源树加入RP接收到注册报文后,创
40、接收到注册报文后,创建(建(S,G),出接口从),出接口从(*,G)拷贝,出接口为非)拷贝,出接口为非空,此时向源方向发送空,此时向源方向发送(S,G)加入消息,构建源)加入消息,构建源到到RP的的SPT79注册注册/注册停止和源树加入注册停止和源树加入提示:注册停止在提示:注册停止在RP上没有(上没有(*,G)时也会触发!时也会触发!此时此时RP通过通过SPT也能收到也能收到通样的组播数据流,于是通样的组播数据流,于是向源向源DR方向发送注册停止方向发送注册停止80注册注册/注册停止和源树加入注册停止和源树加入源源DR收到注册停止后,收到注册停止后,一段时间内不再向一段时间内不再向RP发发送
41、注册送注册81注册注册/注册停止和源树加入注册停止和源树加入RP到组播源端到组播源端DR的沿途的沿途各路由器接收到(各路由器接收到(S,G)加)加入消息后,创建(入消息后,创建(S,G)转)转发项发项82源树和共享树源树和共享树源数据流沿源树源数据流沿源树(SPT)流向流向RP从从RP开始,数据流沿开始,数据流沿共享树(共享树(RPT)流向接收者)流向接收者83状态的维护状态的维护接受者以接受者以IGMP报告响应每隔报告响应每隔60s一次的查询报文,从而触发一次的查询报文,从而触发(*,G)加入消息,周期也为)加入消息,周期也为60秒,因此该(秒,因此该(*,G)转发项一)转发项一般每隔般每隔
42、60秒刷新一次秒刷新一次84状态的维护状态的维护当最后的接收者退出组播组当最后的接收者退出组播组后,后,DR上删除该组播组,上删除该组播组,并触发(并触发(*,G)剪枝消息,)剪枝消息,到到RP沿途的路由器接收到沿途的路由器接收到剪枝消息后,删除(剪枝消息后,删除(*,G)中相关的接口,如果是最后中相关的接口,如果是最后的接口,则删除(的接口,则删除(*,G)转)转发项发项85状态的维护状态的维护一旦一旦RP的(的(*,G)出接口为空,)出接口为空,则向源则向源DR方向发送(方向发送(S,G)剪)剪枝消息,源枝消息,源DR接收到剪枝消息接收到剪枝消息后暂时不再转发组播数据流后暂时不再转发组播数
43、据流86状态的维护状态的维护咦,这么长时间咦,这么长时间才来告诉我要加才来告诉我要加入啊,入啊,(S,G)都都老化删除了,我老化删除了,我找不到源啊?找不到源啊?我又想接收刚才我又想接收刚才离开组播组的组离开组播组的组播数据流了!播数据流了!87状态的维护状态的维护(S,G)因没有组播数据流的)因没有组播数据流的刷新而老化删除,此时在刷新而老化删除,此时在RP接收到该组的加入消息就找不接收到该组的加入消息就找不到组播源了。因此一般每隔到组播源了。因此一般每隔60s,源,源DR再次会发送注册消再次会发送注册消息给息给RP,刷新,刷新RP的的(S,G),),防止被老化删除防止被老化删除88共享树向
44、源树切换共享树向源树切换 组播数据流达到一定的阈组播数据流达到一定的阈值后值后,触发,触发DR向组播源的向组播源的方向发送方向发送(S,G)加入消息加入消息新建立的新建立的(S,G) 构成了构成了SPT树树的新分支的新分支89共享树向源树切换共享树向源树切换 接收者接收者源源接收者接收者组播共享树组播共享树组播源树组播源树剪枝剪枝剪枝剪枝从非指向源从非指向源RPFRPF的邻居接的邻居接收到组播数据流,则向收到组播数据流,则向RPRP发送发送 (S,G)(S,G)剪枝消息剪枝消息RPRP收到剪枝后,如果收到剪枝后,如果(S,GS,G)下游接口列表为)下游接口列表为空,则触发剪枝空,则触发剪枝SP
45、TSPT90共享树向源树切换共享树向源树切换 接收者接收者源源S接收者接收者2组播共享树组播共享树组播源树组播源树此时组播数据流沿着唯一此时组播数据流沿着唯一的的SPT分支流向需要的接分支流向需要的接收者收者91RP的指定的指定lRP是是PIM-SM路由协议的核心角色,路由协议的核心角色,RP选择的合理与选择的合理与否,决定了否,决定了PIM SM网络的运行效率。具体方法有两种:网络的运行效率。具体方法有两种:在源在源DR和边缘路由器以及组播将要经过的所有路由器上和边缘路由器以及组播将要经过的所有路由器上手工指定手工指定RP的的IP地址地址启动启动BootStrap 协议自动选举协议自动选举9
46、2BSR概述概述lBSR即即“BootStrap Router”,自举路由器,自举路由器负责在负责在PIM-SM网络启动后,收集网络内的网络启动后,收集网络内的RP信息,为每个组选举出信息,为每个组选举出RP,然后将然后将RP集(即组集(即组-RP映射数据库)发布到整个映射数据库)发布到整个PIM-SM网络。网络。l一个网络内部只有一个一个网络内部只有一个BSR可以配置多个候选可以配置多个候选BSR (C-BSR) 一旦某个一旦某个BSR Down掉,可以切换到另外一个掉,可以切换到另外一个候选候选RP(C-RP)将声明发送到)将声明发送到BSR C-RP通告通过单播发送通告通过单播发送 BS
47、R在在RP集存储所有的集存储所有的 C-RP通告通告BSR周期性地向所有路由器发送周期性地向所有路由器发送 BSR消息消息 BSR消息包含整个消息包含整个RP-set和和 BSR地址地址 消息一跳一跳地自消息一跳一跳地自BSR向整个网络泛滥(向整个网络泛滥(flood)所有的路由器使用收到的所有的路由器使用收到的RP集来确定集来确定RP 所有路由器都使用相同的所有路由器都使用相同的RP选择算法选择算法,选择的选择的RP也是一致的也是一致的93BSR工作机制工作机制BSRC-RP AdvertismentBSR消息一跳一跳向外扩散消息一跳一跳向外扩散94候选候选BSR (C-BSR)l在一个在一
48、个PIM域中,需要配置一个或多个候选域中,需要配置一个或多个候选BSR,候选,候选BSR之之间通过自动选举,产生自举路由器间通过自动选举,产生自举路由器BSR(Bootstrap Router),),BSR负责收集并发布负责收集并发布RP信息。信息。Loopback1:10.1.1.1/32 在在loopback1上启动上启动PIM-SM,指定指定loopback1为为C-BSR 以自己为以自己为BSR,发送自举报文,发送自举报文,BSR地址地址10.1.1.1 收到其他路由器的自举报文,收到其他路由器的自举报文,比较优先级和比较优先级和IP地址,优先级相同地址,优先级相同的情况下,较大的的情
49、况下,较大的IP地址被认为是地址被认为是更好的。更好的。95PIM-SM配置配置l请在接口视图下进行下列配置。请在接口视图下进行下列配置。操作操作命令命令l在接口上启动在接口上启动pim sm重复此项配置,以在其他接口上启动重复此项配置,以在其他接口上启动PIM-SM。一个接口在同。一个接口在同一时刻只能运行一个组播路由协议。在接口上启动了一时刻只能运行一个组播路由协议。在接口上启动了PIM-SM协议后,不能再对此接口启动协议后,不能再对此接口启动PIM-DM协议,反之亦然。协议,反之亦然。 96静态静态RP lRP是组播路由中的核心路由器,如果由于某种原因使由是组播路由中的核心路由器,如果由
50、于某种原因使由BSR机制选举机制选举产生的动态产生的动态RP失效,则可以配置静态失效,则可以配置静态RP,作为动态,作为动态RP的备份,提高的备份,提高网络的健壮性,增强组播网络的运营管理能力。网络的健壮性,增强组播网络的运营管理能力。l在在PIM视图下配置。视图下配置。操作操作命令命令配置静态配置静态RPstatic-rp rp-address acl-number 如果使用静态如果使用静态RP,PIM域内所有路由器必须采用相同的配置。如果配域内所有路由器必须采用相同的配置。如果配置的静态置的静态RP地址是本机某个状态为地址是本机某个状态为UP的接口地址,本机就作为静态的接口地址,本机就作为