1、IPIP组播技术组播技术组播技术组播技术2学习目标学习目标学习目标学习目标l掌握组播的基本概念掌握组播的基本概念l掌握掌握IGMP协议原理协议原理l掌握基本的路由协议原理掌握基本的路由协议原理3课程内容课程内容课程内容课程内容第一节第一节第一节第一节 组播概述组播概述组播概述组播概述第二节第二节第二节第二节 组播实现技术组播实现技术组播实现技术组播实现技术第三节第三节第三节第三节 IGMPIGMP协议协议协议协议第四节第四节第四节第四节 组播路由协议组播路由协议组播路由协议组播路由协议第五节第五节第五节第五节 PIM-DMPIM-DM协议协议协议协议第六节第六节第六节第六节 PIM-SMPIM
2、-SM协议协议协议协议第七节第七节第七节第七节 PIM-SSMPIM-SSM协议协议协议协议第八节第八节第八节第八节 MSDPMSDP协议协议协议协议4单播、广播与组播单播、广播与组播单播、广播与组播单播、广播与组播单播服务器组播广播主机10.10.1.0/245单播与组播实现点对多点传输比较单播与组播实现点对多点传输比较单播与组播实现点对多点传输比较单播与组播实现点对多点传输比较单播组播6多媒体会议多媒体会议多媒体会议多媒体会议互联网互联网多媒体终端多媒体终端总部总部分支机构分支机构SOHO多媒体终端多媒体终端多媒体终端多媒体终端多媒体终端多媒体终端7数据分发数据分发数据分发数据分发远程主机
3、远程主机文件服务器文件服务器总部总部分支机构分支机构远程主机远程主机远程主机远程主机远程主机远程主机SOHO互联网互联网8实时数据组播实时数据组播实时数据组播实时数据组播互联网互联网多媒体主机服务器足球比赛演唱会股票终端9游戏与仿真游戏与仿真游戏与仿真游戏与仿真互联网互联网玩家玩家ISP ServerISP Server玩家玩家玩家玩家10组播技术的特点组播技术的特点组播技术的特点组播技术的特点l优点优点增强效率,控制网络流量,减少服务器和增强效率,控制网络流量,减少服务器和CPU负载负载优化性能,消除流量冗余优化性能,消除流量冗余分布式应用,使多点传输成为可能分布式应用,使多点传输成为可能l
4、缺点缺点组播应用基于组播应用基于UDP尽最大努力交付尽最大努力交付无拥塞控制无拥塞控制数据包重复数据包重复数据包的无序交付数据包的无序交付11课程内容课程内容课程内容课程内容第一节第一节第一节第一节 组播概述组播概述组播概述组播概述第二节第二节第二节第二节 组播实现技术组播实现技术组播实现技术组播实现技术第三节第三节第三节第三节 IGMPIGMP协议协议协议协议第四节第四节第四节第四节 组播路由协议组播路由协议组播路由协议组播路由协议第五节第五节第五节第五节 PIM-DMPIM-DM协议协议协议协议第六节第六节第六节第六节 PIM-SMPIM-SM协议协议协议协议第七节第七节第七节第七节 PI
5、M-SSMPIM-SSM协议协议协议协议第八节第八节第八节第八节 MSDPMSDP协议协议协议协议12组播组件构成组播组件构成组播组件构成组播组件构成PIM SMIGMP V2IGMP SnoopingMSDPl端主机系统端主机系统IGMP v1、v2、v3l交换机交换机IGMP Snoopingl路由器路由器PIM DM、SM13组播体系结构组播体系结构组播体系结构组播体系结构l组组播播协协议议分分为为主主机机-路路由由器器之之间间的的组组成成员员关关系系协协议议和路由器和路由器-路由器之间的组播路由协议。路由器之间的组播路由协议。组成员关系协议包括组成员关系协议包括IGMP(互联网组管理协
6、议互联网组管理协议)。组组播播路路由由协协议议分分为为域域内内组组播播路路由由协协议议及及域域间间组组播播路路由由协协议。议。域域内内的的组组播播协协议议分分为为密密集集模模式式与与稀稀疏疏模模式式。域域内内组组播播路路由由协议主要使用协议主要使用PIM-SM,PIM-DM,DVMRP协议等。协议等。域间组播路由协议主要使用域间组播路由协议主要使用MSDP、MBGP等。等。14组播地址组播地址组播地址组播地址组播组播组播组播IPIP地址:地址:地址:地址:l l组播地址范围组播地址范围组播地址范围组播地址范围224.0.0.0224.0.0.0239.255.255.255239.255.25
7、5.255l l保留组播地址保留组播地址保留组播地址保留组播地址224.0.0.0224.0.0.0224.0.0.255224.0.0.255224.0.1.0224.0.1.0224.0.1.255224.0.1.255l l本地管理组地址本地管理组地址本地管理组地址本地管理组地址239.0.0.0239.0.0.0239.255.255.255239.255.255.255l l用户组播地址用户组播地址用户组播地址用户组播地址224.0.2.0224.0.2.0238.255.255.255238.255.255.255组播组播组播组播MACMAC地址:地址:地址:地址:以太网:以太网:
8、以太网:以太网:01-00-5e-xx-xx-xx01-00-5e-xx-xx-xx15常用的保留组播地址常用的保留组播地址常用的保留组播地址常用的保留组播地址 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路由器路由器224.0.0.6OSPF DR224.0.0.7ST路由器路由器224.0.0.8ST主机主机224.0.0.9RIP-2路由器路由器D类地址范
9、围类地址范围含义含义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.18VRRP16IPIP地址到地址到地址到地址到MACMAC地址的映射地址的映射地址的映射地址的映射1 11 1 1 10 00 00 00 00 00 00 00 01 10 00 00 00 00 00 00 00 00 01
10、10 01 11 11 11 10 00 0IP组播地址后23位映射到MAC地址中3232位位位位IPIP组播地址组播地址组播地址组播地址4848位位位位MACMAC地址(以太网地址(以太网地址(以太网地址(以太网/FDDI/FDDI)此此此此5 5位地址不作映射,因此位地址不作映射,因此位地址不作映射,因此位地址不作映射,因此3232个个个个IPIP组播地址映射成一个组播地址映射成一个组播地址映射成一个组播地址映射成一个MACMAC地址地址地址地址01-00-5e-xx-xx-xx01-00-5e-xx-xx-xx17端主机系统对组播的处理端主机系统对组播的处理端主机系统对组播的处理端主机系
11、统对组播的处理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,第一字节最低位为,第一字节最低位为1接收列表:接收列表:00e0.fc00.0
12、006ffff.ffff.ffff目的目的MACMAC为为01-00-5e-01-00-5e-0a-0a-0a0a-0a-0a的数据帧我能的数据帧我能处理吗?处理吗?18实现组播的二层交换实现组播的二层交换实现组播的二层交换实现组播的二层交换组播?19实现组播的二层交换实现组播的二层交换实现组播的二层交换实现组播的二层交换12345MACMAC转发表转发表MACMAC地址地址端口端口0100-5e0a-0a0a1,2,5组播?没问题,我有:组播?没问题,我有:20实现组播的三层转发实现组播的三层转发实现组播的三层转发实现组播的三层转发S1/0S1/0来自来自192.18.0.32的组播数据的组
13、播数据组播?单播转发依赖于单播路由表,组播转发是不是也依赖于组播转发表呢?S0/1S0/0S1/021实现组播的三层转发实现组播的三层转发实现组播的三层转发实现组播的三层转发l逆向路径转发逆向路径转发(RPF Reverse Path Forwarding)组组播播包包的的转转发发不不是是基基于于IP包包的的目目的的地地址址的的,而而是是用用RPF检检查查决决定定是否转发和丢弃输入信息包是否转发和丢弃输入信息包RPF检查的过程如下:检查的过程如下:路路由由器器检检查查到到达达组组播播包包的的源源地地址址,如如果果信信息息包包是是在在可可返返回回源源站站点点的的接接口上到达,则口上到达,则RPF
14、检查成功,信息包被转发检查成功,信息包被转发如果如果RPF检查失败,丢弃信息包检查失败,丢弃信息包 l对组播包源地址的检查是通过查询单播路由表来实现的对组播包源地址的检查是通过查询单播路由表来实现的22例子:例子:例子:例子:RPFRPF检查检查检查检查S0/0S0/1S1/0接收者接收者接收者接收者组播数据包组播数据包错误接口到达的组播数据包错误接口到达的组播数据包RPF检查失败,数据包检查失败,数据包从错误接口到达从错误接口到达192.18.0.3223进一步观察:进一步观察:进一步观察:进一步观察:RPFRPF检查失败检查失败检查失败检查失败数据从S0/1到达,RPF检查失败,路由器丢弃
15、包S1/0S1/0来自来自192.18.0.32的组播数据的组播数据网段接口192.18.0.0/16S0/0168.0.22.0/24S0/115.15.0.0/16S1/0S0/1S0/0S1/024进一步观察:进一步观察:进一步观察:进一步观察:RPFRPF检查成功检查成功检查成功检查成功数据从S0/0到达,RPF检查成功,路由器转发数据包S0/1S1/0S1/0来自来自192.18.0.32的组播数据的组播数据S0/0S1/0网段网段接口接口192.18.0.0/16S0/0168.0.22.0/24S0/115.15.0.0/16S1/025组播树源树组播树源树组播树源树组播树源树接
16、收者接收者接收者接收者1 1接收者接收者接收者接收者2 2S1S1的组播数据流的组播数据流的组播数据流的组播数据流源源源源S1S1源源源源S2S2组播转发项:(S,G,Upstream interface,Downstream interface list)S 源地址G 组地址Upstream interface 入接口Downstream interface list 出接口列表S1S1的组播源树的组播源树的组播源树的组播源树26组播树源树组播树源树组播树源树组播树源树接收者接收者接收者接收者1 1接收者接收者接收者接收者2 2源源源源S1S1源源源源S2S2S2S2的组播数据流的组播数据流
17、的组播数据流的组播数据流组播转发项:(S,G,Upstream interface,Downstream interface list)S 源地址G 组地址Upstream interface 入接口Downstream interface list 出接口列表S2S2的组播源树的组播源树的组播源树的组播源树27组播树共享树组播树共享树组播树共享树组播树共享树接收者接收者接收者接收者1 1接收者接收者接收者接收者2 2S1S1的组播数据流的组播数据流的组播数据流的组播数据流源源源源S1S1源源源源S2S2组播共享树组播共享树组播共享树组播共享树RPRPPIMPIM汇聚点汇聚点组播转发项:(*,
18、G,Upstream interface,Downstream interface list)*任何源地址G 组地址Upstream interface 入接口Downstream interface list 出接口列表S2S2的组播数据流的组播数据流的组播数据流的组播数据流组播源树组播源树组播源树组播源树组播源树组播源树组播源树组播源树28不同组播树的特征不同组播树的特征不同组播树的特征不同组播树的特征l组播源树(最短路径树)组播源树(最短路径树)对对应应每每个个源源存存在在一一颗颗组组播播树树,占占用用内内存存较较多多,但但路路径径最最优优,延延迟最小迟最小l 组播共享树组播共享树对对应
19、应每每个个RP存存在在一一颗颗组组播播树树,占占用用内内存存较较少少,路路径径不不是是最最优优的的,引入额外的延迟引入额外的延迟29课程内容课程内容课程内容课程内容第一节第一节第一节第一节 组播概述组播概述组播概述组播概述第二节第二节第二节第二节 组播实现技术组播实现技术组播实现技术组播实现技术第三节第三节第三节第三节 IGMPIGMP协议协议协议协议第四节第四节第四节第四节 组播路由协议组播路由协议组播路由协议组播路由协议第五节第五节第五节第五节 PIM-DMPIM-DM协议协议协议协议第六节第六节第六节第六节 PIM-SMPIM-SM协议协议协议协议第七节第七节第七节第七节 PIM-SSM
20、PIM-SSM协议协议协议协议第八节第八节第八节第八节 MSDPMSDP协议协议协议协议30IGMPIGMP英特网组管理协议英特网组管理协议英特网组管理协议英特网组管理协议lIGMP(Internet Group Management Protocol)协协议议是是主主机机与路由器之间唯一信令协议与路由器之间唯一信令协议lRFC1112规规定定了了IGMP V1(定定义义了了基基本本的的组组成成员员查查询询和和报报告告过过程程)lRFC2236规定了规定了IGMP V2(增加了组成员快速离开的机制)增加了组成员快速离开的机制)lRFC3376规规定定了了最最新新的的IGMP V3(增增加加了了
21、成成员员可可以以指指定定接接收收或或指定不接收某些组播源的报文等功能)指定不接收某些组播源的报文等功能)31IGMP v1IGMP v1报文格式报文格式报文格式报文格式lVer:版本。表明:版本。表明IGMP版本,在版本,在IGMP v1中为中为1。lType:类类型型。IGMP类类型型为为1说说明明是是组组播播路路由由器器发发送送的的组组成成员员查查询询消消息息;类型为类型为2说明是主机发送的组成员报告消息。说明是主机发送的组成员报告消息。lUnused:未使用。发送时被置为:未使用。发送时被置为0,接收时忽略此字段。,接收时忽略此字段。lGroup Address:组组播播组组地地址址。组
22、组地地址址为为D类类IP地地址址。在在查查询询消消息息中中组地址设置为组地址设置为0,在报告消息中组地址为要参加的组地址。,在报告消息中组地址为要参加的组地址。UnusedUnused ChecksumChecksum Group AddressGroup Address 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 1VerVer TypeType 32IGMP v2IGMP v2报文格式报文格式报文格式报文格式lType:报报文文类类型型。包包括括成成员员查查询询;版版本本1成成员员报报告告;版版本
23、本2成成员员报报告告;离开消息。离开消息。lMax Resp Time:最最大大响响应应时时间间。实实际际中中响响应应时时间间是是配配置置值值范范围围(125秒)内的一个随机值。缺省为秒)内的一个随机值。缺省为10秒。秒。lGroup Address:组组播播组组地地址址:在在普普遍遍查查询询中中为为0.0.0.0;特特定定组组查查询询和报告消息中为相应的组播地址。和报告消息中为相应的组播地址。TypeType Max Resp TimeMax Resp Time ChecksumChecksum Group AddressGroup Address 0 1 2 30 1 2 3 4 5 6
24、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 v3IGMP v3报文格式报文格式报文格式报文格式Type=0 x11Type=0 x11 Max Resp CodeMax Resp Code ChecksumChecksum Group AddressGroup Address 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 1ResvResv S S QRVQRV QQICQQIC Number of Sources(N)Number o
25、f Sources(N)Source Address(1)Source Address(1)Source Address(2)Source Address(2)Source Address(N)Source Address(N)Type为为0 x11表示组成员查询消息表示组成员查询消息 34IGMP v3IGMP v3报文格式报文格式报文格式报文格式Type为为0 x22表示组成员报告消息表示组成员报告消息 Type=0 x22Type=0 x22 ReservedReserved ChecksumChecksum 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
26、6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1Group Record(1)Group Record(1)ReservedReserved Number of Group Records(M)Number of Group Records(M)Group Record(2)Group Record(2)Group Record(M)Group Record(M)35IGMP v3IGMP v3报文格式报文格式报文格式报文格式Record TypeRecord Type Aux Data LenAux Data Len Number of Sources(N)Number of
27、Sources(N)Multicast AddressMulticast Address0 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 1Source Address(1)Source Address(1)Source Address(2)Source Address(2)Source Address(N)Source Address(N)Auxiliary DataAuxiliary DataGroup Record格式格式 36IGMPIGMP中路由器、主机动作中路由器、主机动作中路由器、主机动作中路
28、由器、主机动作主动报告加入组主动报告加入组主动报告加入组主动报告加入组普遍查询普遍查询普遍查询普遍查询响应报告响应报告响应报告响应报告离开组消息离开组消息离开组消息离开组消息指定组查询指定组查询指定组查询指定组查询以以IGMPv2为例为例37IGMPIGMP中路由器、主机动作中路由器、主机动作中路由器、主机动作中路由器、主机动作主机发送主机发送IGMP Report消息加入某个组消息加入某个组HostAHostCHostBEthernet我要加入我要加入225.1.1.1225.1.1.1这个组!这个组!38IGMPIGMP中路由器、主机动作中路由器、主机动作中路由器、主机动作中路由器、主机动
29、作路路由由器器周周期期性性地地向向224.0.0.1发发送送普普遍遍查查询询HostAHostCHostBEthernet我要查询还我要查询还有没有组播有没有组播成员?成员?主机发送特定组主机发送特定组(225.1.1.1)的报告的报告组的其他成员监听到报告后抑制报告发送组的其他成员监听到报告后抑制报告发送39IGMPIGMP中路由器、主机动作中路由器、主机动作中路由器、主机动作中路由器、主机动作HostAHostCHostBEthernet我要离开我要离开225.1.1.1225.1.1.1这个组!这个组!主机向主机向224.0.02发送离开组消息(包含离开的组)发送离开组消息(包含离开的组
30、)路由器向这个组(路由器向这个组(225.1.1.1)发送特定组查询发送特定组查询发送两次特定组查询后没有收到响应报告发送两次特定组查询后没有收到响应报告组组225.1.1.1超时(离开)超时(离开)我要查询该组我要查询该组还有没有组播还有没有组播成员?成员?40共享网段中的查询器共享网段中的查询器共享网段中的查询器共享网段中的查询器10.10.0.2/1610.10.0.1/16我的我的IPIP小,当然小,当然我是查询器!我是查询器!竞选失败停发查询消息竞选失败停发查询消息竞选失败停发查询消息竞选失败停发查询消息路由器失效停发查询消息路由器失效停发查询消息路由器失效停发查询消息路由器失效停发
31、查询消息重新发送查询消息重新发送查询消息重新发送查询消息重新发送查询消息41IGMPIGMP三版本比较三版本比较三版本比较三版本比较查询器选举查询器选举IGMP v1离开方式离开方式指定组查询指定组查询依靠上层路由协议依靠上层路由协议IGMP v2IGMP v3无无无无自己选举自己选举有有无无自己选举自己选举有有有有默默离开默默离开主动发出离开报文主动发出离开报文主动发出离开报文主动发出离开报文指定源、组加入指定源、组加入42版本版本版本版本1 1与版本与版本与版本与版本2 2兼容处理兼容处理兼容处理兼容处理版本1主机版本2主机版本1路由器版本2路由器版本1主机版本2主机版本1路由器版本2路由
32、器版本1主机报告抑制版本2主机版本2主机被版本1主机报告抑制路由器按版本1方式工作版本2帧格式兼容版本1帧格式版本2路由器强制配为版本1方式版本2路由器强制配为版本1方式版本2帧格式兼容版本1帧格式路由器按版本1方式工作至版本1定时器超时43版本版本版本版本1/21/2与版本与版本与版本与版本3 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路由
33、器强制配为版本1/2方式版本3帧格式兼容版本1/2帧格式路由器按版本1/2方式工作至版本1/2定时器超时44IGMPIGMP窃听建立和维护组窃听建立和维护组窃听建立和维护组窃听建立和维护组CPUCPU0 01 12 23 34 45 5IGMPIGMP报告报告IGMPIGMP查询查询MACMAC地址地址转发表转发表端口端口01-00-5e-0a-0a-0a01-00-5e-0a-0a-0a0 1 3 50 1 3 545IGMP SpoofingIGMP SpoofingCPUCPU0 02 23 34 45 5IGMP ReportIGMP ReportIGMP QueryIGMP Quer
34、yMACMAC地址地址地址地址转发表转发表转发表转发表端口端口端口端口010001005e005e00000300030 3 50 3 546IGMPIGMP的高级应用的高级应用的高级应用的高级应用IGMP ProxyIGMP ProxyMRAMRBEth0/0Eth0/1Eth0/033.33.33.133.33.33.222.22.22.1外部网络末梢网络普遍组普遍组/特定组查询消息特定组查询消息IGMP加入加入/离开消息离开消息47IGMPIGMP配置命令配置命令配置命令配置命令l此此项项配配置置任任务务在在需需要要进进行行组组播播成成员员关关系系维维护护的的接接口口上上使使能能IGMP
35、。执执行行此操作之后,才能进行此操作之后,才能进行IGMP的其他配置。的其他配置。l在接口视图下配置。在接口视图下配置。缺省情况下,接口上禁止缺省情况下,接口上禁止IGMP。使能使能IGMP后,缺省使用版本后,缺省使用版本2。操作操作命令命令在当前接口上使能在当前接口上使能IGMPigmp enable配置使用的配置使用的IGMP版本版本igmp version 1|2 48IGMP SnoopingIGMP Snooping配置命令配置命令配置命令配置命令l为为了了控控制制IGMP Snooping是是否否在在二二层层建建立立和和维维护护MAC组组播播转转发发表表,可可以以使使用用下下面面的
36、的命命令令来来启启动动/关关闭闭IGMP Snooping。首首先先要要在在系系统统视视图图下下全全局局使使能能IGMP Snooping,其其次次要要在在VLAN视视图图使使能能对对应应VLAN的的 IGMP Snooping。在在 VLAN视视 图图 下下 使使 能能 对对 应应 VLAN的的 IGMP Snooping功能,需要建立在全局使能功能,需要建立在全局使能IGMP Snooping的基础之上。的基础之上。l在系统视图和在系统视图和VLAN视图下分别配置。视图下分别配置。缺省情况下,关闭缺省情况下,关闭IGMP Snooping。操作操作命令命令启动启动/关闭关闭启启动动/关关闭
37、闭IGMP Snoopingigmp-snooping enable|disable 配置使用的配置使用的IGMP版本版本igmp version 1|2 49课程内容课程内容课程内容课程内容第一节第一节第一节第一节 组播概述组播概述组播概述组播概述第二节第二节第二节第二节 组播实现技术组播实现技术组播实现技术组播实现技术第三节第三节第三节第三节 IGMPIGMP协议协议协议协议第四节第四节第四节第四节 组播路由协议组播路由协议组播路由协议组播路由协议第五节第五节第五节第五节 PIM-DMPIM-DM协议协议协议协议第六节第六节第六节第六节 PIM-SMPIM-SM协协协协50组播路由协议的类
38、型组播路由协议的类型组播路由协议的类型组播路由协议的类型l密集模式密集模式(Dense-mode)使用使用“推推”(Push)模型)模型组播数据整网络的泛滥(组播数据整网络的泛滥(Flood)下游不想接收则剪枝(下游不想接收则剪枝(Prune)泛滥、剪枝、泛滥、剪枝泛滥、剪枝、泛滥、剪枝周而复始周而复始(通常通常3分钟折腾一次分钟折腾一次)l稀疏模式(稀疏模式(Sparse-mode)使用使用“拉拉”(Pull)模型)模型组播数据只发送到有需要的地方组播数据只发送到有需要的地方有显式的加入(有显式的加入(Join)过程)过程我先给你,你可我先给你,你可以不要啊!以不要啊!你要了,我才你要了,我
39、才给你!给你!51组播路由协议一览组播路由协议一览组播路由协议一览组播路由协议一览lDVMRPv3(距离矢量组播路由协议)(距离矢量组播路由协议)(Internet草案草案)l协议无关组播密集模式(协议无关组播密集模式(PIM-DM)()(RFC3973)l协议无关组播稀疏模式(协议无关组播稀疏模式(PIM-SM)()(RFC 2362)l开放式组播最短路径优先(开放式组播最短路径优先(MOSPF)()(RFC 1584)l其它有核树组播路由协议(其它有核树组播路由协议(CBTv2)(RFC2189)52协议无关组播协议无关组播协议无关组播协议无关组播PIMPIMlPIM(Protocol I
40、ndependent Multicasting)即协议无关组播)即协议无关组播独独立立于于单单播播路路由由协协议议,但但依依赖赖单单播播协协议议发发现现的的路路由由进进行行RPF检检查查,组组播协议必须有单播路由协议的支撑播协议必须有单播路由协议的支撑UDP端口号:端口号:103PIM路由器组地址为:路由器组地址为:224.0.0.13lPIM协议分为:协议分为:PIM-DM(协议无关组播(协议无关组播-密集密集模式)模式)PIM-SM(协议无关组播(协议无关组播-稀疏模式)稀疏模式)SSM(指定源组播)(指定源组播)Bidir-PIM(双向(双向-协议无关组播)协议无关组播)53PIMPIM
41、报文格式报文格式报文格式报文格式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=Graft-Ack(DM嫁接响应嫁接响应)8=Candidate-RP-Advertisement(候选(候选RP通告通告)保留字
42、被设为保留字被设为0,接收时忽略。,接收时忽略。校验字为校验字为16比特。比特。PIM PIM VerVerChecksumChecksumReservedReservedTypeType0 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 HelloPIM Hello消息格式消息格式消息格式消息格式PIM PIM VerVerChecksumChecksumReservedReservedTypeType0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8
43、9 0 1 2 3 4 5 6 7 8 9 0 1OptionTypeOptionTypeOptionLengthOptionLengthOptionValueOptionValueOptionTypeOptionTypeOptionLengthOptionLengthOptionValueOptionValueType为为0表示表示PIM Hello 55PIM Register/Register StopPIM Register/Register Stop消息消息消息消息 格式格式格式格式PIM PIM VerVerChecksumChecksumReservedReservedTypeT
44、ype0 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 1Multicast data packetMulticast data packetN NB BReservedReservedType为为1表示表示PIM RegisterPIM PIM VerVerChecksumChecksumReservedReservedTypeTypeEncoded-Group AddressEncoded-Group AddressEncoded-Unicast-Source AddressEncoded-Unica
45、st-Source AddressType为为2表示表示PIM Register Stop56PIM Join/Prune/Graft/Graft AckPIM Join/Prune/Graft/Graft Ack消息格式消息格式消息格式消息格式PIM PIM VerVerChecksumChecksumReservedReservedTypeType0 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 1Encoded-Unicast-Upstream Neighbor AddressEncoded-Uni
46、cast-Upstream Neighbor AddressHoldtimeHoldtime ReservedReservedNum groupsNum groupsEncoded-Multicast Group Address-nEncoded-Multicast Group Address-nNumber of Joined SourcesNumber of Joined SourcesNumber of Pruned SourcesNumber of Pruned SourcesEncoded-Joined Source Address-1Encoded-Joined Source Ad
47、dress-1Encoded-Pruned Source Address-1Encoded-Pruned Source Address-157PIM BootStrapPIM BootStrap消息格式消息格式消息格式消息格式PIM PIM VerVerChecksumChecksumReservedReservedTypeType0 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 1Fragment TagFragment TagEncoded-Unicast-BSR-AddressEncoded-Uni
48、cast-BSR-AddressHash Mask lenHash Mask len BSR-priorityBSR-priorityEncoded-Group Address-nEncoded-Group Address-nRP-Count-nRP-Count-nFrag RP-Cnt-nFrag RP-Cnt-nReservedReservedEncoded-Unicast-RP-Address-mEncoded-Unicast-RP-Address-mRPm-HoldtimeRPm-HoldtimeRPm-PriorityRPm-PriorityReservedReserved58PIM
49、 AssertPIM Assert消息格式消息格式消息格式消息格式PIM PIM VerVerChecksumChecksumReservedReservedTypeType0 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 1R RMetric PreferenceMetric PreferenceEncoded-Group AddressEncoded-Group AddressEncoded-Unicast-Source AddressEncoded-Unicast-Source AddressMet
50、ricMetric59PIM Candidate-RP-AdvertisementPIM Candidate-RP-Advertisement消息格式消息格式消息格式消息格式 PIM PIM VerVerChecksumChecksumReservedReservedTypeType0 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 1HoldtimeHoldtimeEncoded-Unicast-RP-AddressEncoded-Unicast-RP-AddressPrefix-CntPrefix-Cn