IP组播技术2学习目标掌握组播的基本概念掌握IGMP协议原理掌握基本的路由协议原理3课程内容第一节组播概述第二节组播实现技术第三节IGMP协议第四节组播路由协议第五节PIM-DM协议第六节PIM-SM协议第七节PIM-SSM协议第八节MSDP协议4单播、广播与组播单播服务器组播广播主机10.10.1.0/245单播与组播实现点对多点传输比较单播组播6多媒体会议互联网多媒体终端总部分支机构SOHO多媒体终端多媒体终端多媒体终端7数据分发远程主机文件服务器总部分支机构远程主机远程主机远程主机SOHO互联网8实时数据组播互联网多媒体主机服务器足球比赛演唱会股票终端9游戏与仿真互联网玩家ISPServer玩家玩家玩家10组播技术的特点优点增强效率,控制网络流量,减少服务器和CPU负载优化性能,消除流量冗余分布式应用,使多点传输成为可能缺点组播应用基于UDP尽最大努力交付无拥塞控制数据包重复数据包的无序交付11课程内容第一节组播概述第二节组播实现技术第三节IGMP协议第四节组播路由协议第五节PIM-DM协议第六节PIM-SM协议第七节PIM-SSM协议第八节MSDP协议12组播组件构成PIMSMIGMPV2IGMPSnoopingMSDP端主机系统IGMPv1、v2、v3交换机IGMPSnooping路由器PIMDM、SM13组播体系结构组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互联网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内的组播协议分为密集模式与稀疏模式。域内组播路由协议主要使用PIM-SM,PIM-DM,DVMRP协议等。域间组播路由协议主要使用MSDP、MBGP等。14组播地址组播IP地址:组播地址范围224.0.0.0-239.255.255.255保留组播地址224.0.0.0-224.0.0.255224.0.1.0-224.0.1.255本地管理组地址239.0.0.0-239.255.255.255用户组播地址224.0.2.0-238.255.255.255组播MAC地址:以太网:01-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.6OSPFDR224.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.18VRRP…………16IP地址到MAC地址的映射11100000000100000000010111100IP组播地址后23位映射到MAC地址中32位IP组播地址48位MAC地址(以太网/FDDI)此5位地址不作映射,因此32个IP组播地址映射成一个MAC地址01-00-5e-xx-xx-xx17端主机系统对组播的处理MediaAccessControl,端主机系统根据目的MAC来判断是否处理接收到以太网帧;端主机系统在数据链路层维护一张接收列表,包含:单播地址:如00-e0-fc-00-00-06,第一字节最低位为0广播地址:48位全1ff-ff-ff-ff-ff-ff接收列表中可能还包含:组播地址:如01-00-5e-0a-0a-0a,第一字节最低位为1接收列表:00e0.fc00.0006ffff.ffff.ffff目的MAC为01-00-5e-0a-0a-0a的数据帧我能处理吗?18实现组播的二层交换组播??19实现组播的二层交换12345MAC转发表MAC地址端口0100-5e0a-0a0a1,2,5组播?没问题,我有:20实现组播的三层转发S1/0来自192.18.0.32的组播数据组播????单播转发依赖于单播路由表,组播转发是不是也依赖于组播转发表呢?S0/1S0/0S1/021实现组播的三层转发逆向路径转发(RPF-ReversePathForwarding)组播包的转发不是基于IP包的目的地址的,而是用RPF检查决定是否转发和丢弃输入信息包RPF检查的过程如下:路由器检查到达组播包的源地址,如果信息包是在可返回源站点的接口上到达,则RPF检查成功,信息包被转发如果RPF检查失败,丢弃信息包对组播包源地址的检查是通过查询单播路由表来实现的22例子:RPF检查S0/0S0/1S1/0接收者接收者组播数据包错误接口到达的组播数据包RPF检查失败,数据包从错误接口到达192.18.0.3223进一步观察:RPF检查失败数据从S0/1到达,RPF检查失败,路由器丢弃包S1/0来自192.18.0.32的组播数据网段接口192.18.0.0/16S0/0168.0.22.0/24S0/115.15.0.0/16S1/0S0/1S0/0S1/024进一步观察:RPF检查成功数据从S0/0到达,RPF检查成功,路由器转发数据包S0/1S1/0来自192.18.0.32的组播数据S0/0S1/0网段接口192.18.0.0/16S0/0168.0.22.0/24S0/115.15.0.0/16S1/025组播树-源树接收者1接收者2S1的组播数据流源S1源S2组播转发项:(S,G,Upstreaminterface,{Downstreaminterfacelist})•S源地址•G组地址•Upstreaminterface入接口•Downstreaminterfacelist出接口列表S1的组播源树26组播树-源树接收者1接收者2源S1源S2S2的组播数据流组播转发项:(S,G,Upstreaminterface,{Downstreaminterfacelist})•S源地址•G组地址•Upstreaminterface入接口•Downstreaminterfacelist出接口列表S2的组播源树27组播树-共享树接收者1接收者2S1的组播数据流源S1源S2组播共享树RPPIM汇聚点组播转发项:(*,G,Upstreaminterface,{Downstreaminterfacelist})•*任何源地址•G组地址•Upstreaminterface入接口•Downstreaminterfacelist出接口列表S2的组播数据流组播源树组播源树28不同组播树的特征组播源树(最短路径树)对应每个源存在一颗组播树,占用内存较多,但路径最优,延迟最小组播共享树对应每个RP存在一颗组播树,占用内存较少,路径不是最优的,引入额外的延迟29课程内容第一节组播概述第二节组播实现技术第三节IGMP协议第四节组播路由协议第五节PIM-DM协议第六节PIM-SM协议第七节PIM-SSM协议第八节MSDP协议30IGMP——英特网组管理协议IGMP(InternetGroupManagementProtocol)协议是主机与路由器之间唯一信令协议RFC1112规定了IGMPV1(定义了基本的组成员查询和报告过程)RFC2236规定了IGMPV2(增加了组成员快速离开的机制)RFC3376规定了最新的IGMPV3(增加了成员可以指定接收或指定不接收某些组播源的报文等功能)31IGMPv1报文格式Ver:版本。表明IGMP版本,在IGMPv1中为1。Type:类型。IGMP类型为1说明是组播路由器发送的组成员查询消息;类型为2说明是主机发送的组成员报告消息。Unused:未使用。发送时被置为0,接收时忽略此字段。GroupAddress:组播组地址。组地址为D类IP地址。在查询消息中组地址设置为0,在报告消息中组地址为要参加的组地址。UnusedChecksumGroupAddress012301234567890123456789012345678901VerType32IGMPv2报文格式Type:报文类型。包括成员查询;版本1成员报告;版本2成员报告;离开消息。MaxRespTime:最大响应时间。实际中响应时间是配置值范围(1~25秒)内的一个随机值。缺省为10秒。GroupAddress:组播组地址:在普遍查询中为0.0.0.0;特定组查询和报告消息中为相应的组播地址。TypeMaxRespTimeChecksumGroupAddress01230123456789012345678901234567890133IGMPv3报文格式Type=0x11MaxRespCodeChecksumGroupAddress012301234567890123456789012345678901ResvSQRVQQICNumberofSources(N)SourceAddress(1)SourceAddress(2)SourceAddress(N)Type为0x11表示组成员查询消息34IGMPv3报文格式Type为0x22表示组成员报告消息Type=0x22ReservedChecksum012301234567890123456789012345678901GroupRecord(1)ReservedNumberofGroupRecords(M)GroupRecord(2)GroupRecord(M)35IGMPv3报文格式RecordTypeAuxDataLenNumberofSources(N)MulticastAddress012301234567890123456789012345678901SourceAddress(1)SourceAddress(2)SourceAddress(N)AuxiliaryDataGroupRecord格式36IGMP中路由器、主机动作主动报告加入组普遍查询响应报告离开组消息指定组查询以IGMPv2为例37IGMP中路由器、主机动作主机发送IGMPReport消息加入某个组HostAHostCHostBEthernet我要加入225.1.1.1这个组!!38IGMP中路由器、主机动作路由器周期性地向224.0.0.1发送普遍查询HostAHostCHostBEthernet我要查询还有没有组播成员?主机发送特定组(225.1.1.1)的报告组的其他成员监听到报告后抑制报告发送39IGMP中路由器、主机动作HostAHostCHostBEthernet我要离开225.1.1.1这个组!!主机向224.0.02发送离开组消息(包含离开的组)路由器向这个组(225.1.1.1)发送特定组查询发送两次特定组查询后没有收到响应报告组225.1.1.1超时(离开)我要查询该组还有没有组播成员?40共享网段中的查询器10.10.0.2/1610.10.0.1/16我的IP小,当然我是查询器!竞选失败停发查询消息路由器失效停发查询消息重新发送查询消息41IGMP三版本比较查询器选举IGMPv1离开方式指定组查询依靠上层路由协议IGMPv2IGMPv3无无自己选举有无自己选举有有默默离开主动发出离开报文主动发出离开报文指定源、组加入42版本1与版本2兼容处理版本1主机版本2主机版本1路由器版本2路由器版本1主机版本2主机版本1路由器版本2路由器版本1主机报告抑制版本2主机版本2主机被版本1主机报告抑制路由器按版本1方式工作版本2帧格式兼容版本1帧格式版本2路由器强制配为版本1方式版本2路由器强制配为版本1方式版本2帧格式兼容版本1帧格式路由器按版本1方式工作至版本1定时器超时43版本1/2与版本3兼容处理版本1/2主机版本3主机版本1路