组播基本概念、组播协议之IGMP、PIM |
您所在的位置:网站首页 › 指定源组播和任意源组播 › 组播基本概念、组播协议之IGMP、PIM |
目录 一、组播基本概念 1、组播网络基本架构 2、在网络中,设备之间发送数据的方式有几种? 3、组播的优势 4、组播的IP地址段 5、组播MAC地址 6、再来看组播的网络架构 二、组播协议之IGMP 1、IGMP:因特网组成员管理协议 2、IGMP的版本分类 3、IGMPv2协议中的4个报文 4、IGMP基本配置 三、PIM-DM 和PIM-SM 1、组播路由协议: 2、PIM-DM 3、PIM的基本概念 4、组播实验-PIM-DM 5、PIM-SM 6、组播实验-PIM-SM ![]() ![]() -单播:1发,1收,就是说,目的地址仅仅表示的是一个设备 -广播:1发,所有收,就是说,目的地址表示的所有设备 -组播:1发,部分收,就是说,目的地址表示的是一部分设备 单播和广播的缺点 单播——unicast 信息源为每个需要信息的主机,都发送一份独立的报文 1. 这对信息源、网络带宽都造成了压力 2. 不利于信息的批量发送 广播——broadcast 信息源将信息发送给该网段内的所有主机,不管主机是否需要该信息 1. 信息的安全性得不到保障 2. 广播报文,会造成网段中的信息泛滥组播的优势 对比单播 1. 用户如果增加了,不会导致信息源负载加重 2. 用户如果增加了,不会导致网络资源消耗过大(尽可能不占用带宽) 对比广播 被传递的信息,只发给需要接收的用户 1. 提高了信息传输的安全性组播的基本概念 拓扑-在多设备的通信场景中,如果依然使用单播的话,设备间的通信效率会低 -组播可以有效的满足单点发送,多点接收的需求 -组播实现了IP网络中点到多点高效数据传输,节约网络资源,降低网络负载 -利用组播技术-可以做在线直播,网络电视,远程教育、在线带货直播 4、组播的IP地址段IPv4地址分为几类: A 类、B类、C类:都是单播地址 D类:组播地址 D类组播地址的范围:224-239 +++参考:组播IP地址 1)IANA将D类地址空间分配给组播使用:224.0.0.0~239.255.255.255 2)永久源组播 @224.0.0.0 ~ 224.0.0.255 --永久组地址,也叫保留组 --主要提供给路由协议使用,或者标识特定的网络设备 --不用与组播转发 3)任意源组播 @224.0.1.0 ~ 231.255.255.255 @233.0.0.0 ~238.255.255.255 ---全网范围内有效 ---224.0.1.39 ~224.0.1.40 是保留地址,不建议使用 4)指定源组播 @232.0.0.0 ~ 232.255.255.255 --默认情况下,全网范围内有效 5)本地组地址 @239.0.0.0 ~239.255.255.255 ---本地组管理地址,类似于私有地址 5、组播MAC地址-对于组播流量而言,组播IP地址的范围已经确定了,就是D类地址 -但是对于组播流量而言,组播MAC地址是如何确定 -在之前的单播网络中,已知目标IP地址,就可以通过 ARP来学习目标的MAC地址 -组播MAC地址是基于组播IP地址,自动形成的 在组播MAC地址中,虽然是48个bit,但是前25个bit 是固定不变的 组播MAC前24位为 01-00-5E,第25个bit是0 组播MAC的后23 个bit 是什么呢? 是组播的IP地址后23个bit 由于一个IP地址是由32个bit组成的,组播MAC只借用23个bit,就多出来9个bit, D类的组播IP地址,前面4个bit 是固定的,1110, 后面的5个bit ,就被遗忘了 但是这个5个bit会出现32种变化,2的5次方是32,所以就有可能导致一个现象, 32个组播IP地址可能会对应同一个组播MAC地址,但是不用担心, 为啥不用担心? 因为IETF这个组织说,在一个局域网中两个或者多个组播IP生成相同组播MAC地址的几率几乎为0,这种情况基本上不会发生,所以不用理会,没啥影响 1)看图了解组播网络架构 2)组播网络架构解析: 源端网络:将组播源产生的组播流量转发给组播网络 组播网络:运行组播路由协议,实现组播流量转发 客户端(成员端)网络:接收组播流量 7、组播服务模型 组播组成员在接收组播数据时可以对于组播数据源进行选择,因此产生了ASM(Any-Source Multicast,任意源组播)和SSM(Source-Specific Multicast,指定源组播)两种组播服务模型 ASM:组成员加入组播组以后,组成员可以接收到任意源发送到该组的数据。 SSM:组成员加入组播组以后,组成员只会收到指定源发送到该组的数据。 组播数据转发存在的问题 组播路由与RPF检查 由于组播转发容易产生环路,次优,重复报文,所以组播路由表项除了目的网络和出接口外还需要添加组播源和入接口的信息。设备仅转发从特定唯一的入接口收到的组播数据,从而避免组播转发时产生环路,次优,重复报文(部分解决)等问题。 对于相同的组播源,设备通过RPF(Reverse Path Forwarding,反向路径转发)检查可以确定设备上唯一的组播流量入接口。 -在组播路由器和组播成员客户端之间,使用该协议让组播路由器知道网段中存在的客户端 -比如:手机一旦运行了抖音,加入了直播间,其实就是加入了一个组播组(组播的IP地址) 此时就会发送一个IGMP 报告(report)报文,发送给组播路由器 然后组播路由器就知道了,以后有这个直播间的组播数据流量的时候,直接发送给这个手机,就可以了 IGMP 概述 Internet Group Management Protocol //互联网 组 管理 协议 是负责IPv4组播组成员管理的, 与成员端主机连接最后一跳路由器要感知到客户端主机(组播组成员) 如果我想动态感知的组播组成员,可以使用IGMP协议 为什么要有IGMP 因为组播流量在发送的时候,并不关心接收者的位置 所以组播报文最终能够到达接收者那里,需要某种机制: 1. 使连接接收者(客户端)的组播路由器(最后一跳路由器),能够感知到自己下连的网段中存在接收者(客户端) 2. 保证接收者可以加入到相应的组播组中 配置的位置-当前的IGMP有3个版本,分别V1/V2/V3 -目前使用最普遍的V2的版本 IGMPv1工作机制 【 1 】 当路由器启用IGMP时,会发送普遍组查询报文 询问该网络中,哪些组播组存在成员 【 2 】 当一个组播组的成员所在的网络中,有多个路由设备都可以发送普遍组查询报文的时候 那么,这些设备就要选出一个老大,专门 由老大发送普遍组查询报文 这个老大,就叫查询器 【 3 】 当IGMP查询器正常启动后 它会周期性的发送,目的IP地址为224.0.0.1的普遍组查询报文,维护接口上的组成员关系 默认情况下,每60秒发送一次 【 4 】 收到该普遍组查询报文的成员,会启动一个定时器 这个定时器,会在0-10秒之间,取一个随机值 【 5 】 第一个定时器超时的成员,会发送针对自己所在组的“组成员关系报告报文” 这个报文就相当于,该成员向查询器报告:我是哪个组里的成员 【 6 】 这个成员关系报告报文,其他组成员其实也会收到 其他组成员收到后,就不会再发送针对该组的报告报文 这叫同组抑制 【 7 】 IGMP查询器接收到成员关系报告报文后,就了解了本网段存在某组播组的成员 比如,某组播组用239.0.0.1表示 那么,查询器会生成一个IGMP协议组播表项(*,239.0.0.1) *代表任意组播源 网络中一旦有组播组239.0.0.1的数据到达该路由器,则根据该表项指导转发IGMPv2工作机制 1. 由于IGMPv1是没有组成员离开机制的,所以v2版本新增了组成员离开机制 2. IGMPv1的组成员是怎么离开呢? 当主机离开某个组播组的时候,不会再发送成员关系报告报文 如果该网段内还有该组的其他成员,IGMP查询器不会感知到曾经有主机离开 如果该网段内没有该组的其他成员,IGMP查询器会在默认的130秒后,删除该组所对应的组播转发表项 3. IGMPv2的组成员是怎么离开呢? 当主机离开某个组播组的时候,主机会主动发送离开报文(Leave报文) 收到该报文的IGMP查询器,会连续发送两个特定组查询报文 针对刚刚又成员离开的组播组,进行针对性的查询 如果该网段内还有该组的其他成员,其他成员会马上回复成员关系报告报文 如果该网段内没有该组的其他成员,IGMP查询器会在两次特定组查询后,删除该组所对应的组播转发表项IGMPv2的查询器选举 选举规则 (同一个网段) ,存在多个组播路由器的时候,选择 IP地址最小 的路由器,作为查询器 过程 【 1 】 最初,所有运行IGMPv2的路由器,都认为自己是查询器 它们都会向共享网段内的主机和组播路由器(224.0.0.1)发送普遍组查询报文 【 2 】 路由器在收到对方发送的普遍组查询报文后,将报文的源IP地址和自己的接口地址进行比较 IP地址最小的组播路由器成为查询器(Querier),其他组播路由器成为非查询器(Non-Querier) 【 3 】 此后,由IGMP查询器向本网段内的所有主机和其他组播路由器发送普遍组查询报文 非查询器不再发送普遍组查询报文 【 4 】 但是,非查询器会启动一个定时器 该定时器超时前,如果收到查询器发送的普遍组查询报文,就重置定期器 否则,就认为原查询器失效,并重新发起查询器选举过程IGMP简单实验 拓扑&: 普遍组查询报文(generar query):组播路由器发送的,每60S发送1次,用于发现加入组的客户端主机。 &:成员报告报文(report):是由加组的客户端主机发送的,一个是自己主动发送的,另外一种情况是收到组播路由器发送的查询报文后,然后给查询器的回应报文 &:成员离开报文(leave),离组报文,主机要关机了,所以会关闭软件,然后下线,就是所谓离开此组,此时会主动的告诉组播路由器,我要离开这个组播组了 &:特定组查询报文(group-sepcific query):组播路由器收到客户端主机发送的离组报文后,迅速的连续发送2个报文(每秒发1个),如果得不到回应,也就是说,如果的得不到客户端主机发送的报告报文(report),则认为该网段没有客户端主机了,所以就删除这个组,以后就不在向这个组转发组播流量了 4、IGMP基本配置 [R3] multicast routing-enable //开启IP组播路由功能 [R3-GigabitEthernet0/0/0] igmp enable //在接口下开启IGMP [R3]dis igmp int g0/0/0 Interface information of VPN-Instance: public net GigabitEthernet0/0/0(192.168.3.254): IGMP is enabled //使能IGMP Current IGMP version is 2 //当前的IGMP的版本是v2 IGMP state: up //IGMP状态是up IGMP group policy: none IGMP limit: - Value of query interval for IGMP (negotiated): - Value of query interval for IGMP (configured): 60 s //发送查询报文的周期,每60秒1次 Value of other querier timeout for IGMP: 0 s Value of maximum query response time for IGMP: 10 s //针对收到的查询报文,最慢的响应时间要控制在10秒内 Querier for IGMP: 192.168.3.254 (this router) //查询路由器的IP地址 //如果在一个网段中,同时存在多个组播路由器,那么接口IP地址小的路由器优先成为IGMP查询器 备注:IGMP查询器会周期性发送,普遍组查询报文,来发现成员 三、PIM-DM 和PIM-SM 1、组播路由协议:组播网络大体可以分为三个部分: 源端网络:将组播源产生的组播数据发送至组播网络。 组播转发网络:形成无环的组播转发路径, 该转发路径也被称为组播分发树(Multicast Distribution Tree)。 成员端网络:通过IGMP协议,让组播网络感知组播组成员位置与加入的组播组。 组播网络需要基于多种组播协议才能建立转发路径: 工作在成员端网络的主要是IGMP(Internet Group Management Protocol,因特网组管理协议)协议,用于告知组播网络,组成员的位置与所加组播组。 工作在组播转发网络的协议主要是PIM,MSDP,MBGP。 PIM(Protocol Independent Multicast,协议无关组播)协议主要作用是生成AS域内的组播分发树。 MSDP(Multicast Source Discovery Protocol,组播源发现协议)主要作用是帮助生成AS域间的组播分发树。 MBGP(Multicast BGP,组播BGP)主要作用是帮助跨域组播流进行RPF校验。 -我们之前学习的都是单播路由,所以路由表也是单播路由表 -现在我们要学习组播路由,也会形成组播路由表 -在组播路由器组成的网络中,如果想要实现组播数据包的转发,必须确保每个组播路由器要有组播路由表 -对于组播器来说,想要形成组播路由表,就得依赖组播路由协议,那么组播路由协议的类型分为: file:///C:/Users/Administrator/Desktop/HCIP-230X%E7%8F%AD%E7%AC%94%E8%AE%B0/hcip-%E7%BB%84%E6%92%AD_/media/vlc-3.0.18-win64.exe &:静态组播路由 &: 动态组播路由 -域内组播路由协议 @: PIM-DM @: PIM-SM -域间组播路由协议 :MSDP :MBGP PIM简介 PIM称为协议无关组播。协议无关指的是与单播路由协议无关,即PIM不需要维护专门的单播路由信息。作为组播路由解决方案,它直接利用单播路由表的路由信息,对组播报文执行RPF检查,检查通过后创建组播路由表项,从而转发组播报文。 目前在实际网络中,PIM主要有两种模式: PIM-DM(PIM-Dense Mode,PIM密集模式) 。 PIM-SM(PIM-Sparse Mode,PIM稀疏模式) , PIM-SM模式根据组播服务模型又可以分为: PIM-SM(ASM):为任意源组播建立组播分发树。 PIM-SM(SSM):为指定源组播建立组播分发树。 【 PIM-DM 】 Dense Mode 密集模式 我认为,我的组播网络中,存在很多组播组成员 所以,我需要大量的复制并发送组播流量 这里所谓的密集:指的是组播组成员分布很密集,但具体多少算密集,没有一定的标准 【 PIM-SM 】 Sparce Mode 稀疏模式 我认为,我的组播网络中,不存在太多的组播组成员 所以,我不需要大量的复制并发送组播流量 这里所谓的稀疏:指的是组播组成员分布很稀疏,但具体多少算稀疏,也没有一定的标准 工作流程 【 RPF检查 】 【 创建组播路由表项 】PIM形成组播分发树主要有两种模式,即PIM-DM模式与PIM-SM模式,这两种模式分别用在不同的场景下: PIM-DM模式主要用在组成员较少且相对密集的组播网络中,该模式建立组播分发树的基本思路是“扩散-剪枝”,即将组播流量全网扩散,然后剪枝没有组成员的路径,最终形成组播分发树。 PIM-SM模式主要用在组成员较多且相对稀疏的组播网络中,该模式建立组播分发树的基本思路是先收集组成员信息,然后再形成组播分发树。使用PIM-SM模式不需要全网泛洪组播,对现网的影响较小,因此现网多使用PIM-SM模式。 2、PIM-DM-同一个公司内部运行的组播路由协议 -PIM-DM:协议无关组播-密集模式 (也叫推的模式) -什么叫密集模式,密集模式适用于组播规模相对较小,但是组播成员相对密集的网络, 称为密集模式,就是组播网络整体规模小,但是这个较小的组播网络中,组成员分布的比较密集,每个网段中都有成员存在。 -当一个企业内部,加入组播组的客户端分布比较密集,建议使用PIM-DM协议, -为什么要成员少,分布密集,就要使用密集模式: -因为这个协议是这样工作的: -邻居发现:建立PIM邻居表 -扩散:接收组播流量,并全部泛洪:从所有启用了PIM DM的接口,发送出去 :DM会将组播源发来的数据报文扩散给整个网络所有的PIM路由器上 -剪枝:流量修剪:指的是告知上游路由器,以后不要在发组播流量了 -嫁接:流量嫁接:指的是下游设备主动向上游路由器寻求:赶紧给我发组播流量 -断言:当一个网段中有多个相连的PIM路由器,那么谁来转发组播报文呢? 需要通过断言机制来保证只有一个PIM路由器向该网段转发组播报文 -当一个网段中有多个组播路由器,需要进行 竞选,选最好的组播路由器,发送组播流量 ====================================== 1、PIM-DM基本概念 PIM-DM主要用在组成员较少且相对密集的网络中, 通过“扩散-剪枝”的方式形成组播转发树(SPT)。 PIM-DM在形成SPT的过程中,除了扩散(Flooding),剪枝(Prune)机制外,还会涉及邻居发现(Neighbor Discovery),嫁接(Graft),断言(Assert)和状态刷新(State Refresh)机制。 2、PIM-DM协议报文 PIM协议报文直接采用IP封装,目的地址224.0.0.13,IP协议号103。 PIM-DM与PIM-SM使用的协议报文类型有所不同。 PIM-DM使用报文主要是以下几类: 3、邻居发现 组播转发路径只能在PIM邻居之间建立,因此邻居发现是形成组播分发树的先决条件。 邻居发现主要通过PIM Hello包完成。 4、首次形成组播分发树 PIM-DM模式首次形成组播分发树主要依赖扩散机制、剪枝机制、断言机制与DR选举机制。 扩散机制:组播数据包向所有的PIM邻居泛洪,同时组播路由器产生组播路由表项。 断言机制:当组播转发过程中存在多路访问网络,则需要选举出一个组播转发路由器,避免重复组播报文。 剪枝机制:如果组播路由器下没有组成员,则将源到该组播路由器的组播转发路径剪枝。 1)拓扑 2)解析: 组播分发树: 组播分发树:MDT:PIM网络已组播组为单位在路由器上建立一个 点到多点的组播转发路径,由于这个转发路径拓扑长得像树的形状, 所以我们称为组播分发树 组播分发树: 分为两种情况 &:SPT: 已组播源为根,已组播组成员为叶子的组播分发树,称为SPT(最短路径树) :SPT既适用于DM网络,也适用于SM网络 &:RPT: 已RP为根,以组播组成员为叶子的组播分发树,称为RPT(汇聚点树) :RPT适用于PIM-SM网络 组播源: -MCS1-产生组播流量的服务器主机 PIM路由器分类: 叶子路由器:R3和R4:与用户主机相连的PIM路由器,就叫叶子路由器 但是连接的用户主机可能加组,也可能没加组 第一跳路由器:R1: 在组播转发路径上, 与组播源相连并且转发组播数据的PIM路由器 中间路由器:R2: 在组播转发路径上, 在第一跳和最后一跳之间的运行PIM的路由器 最后一跳路由器:R4 :在组播转发路径上,与组播组成员相连(接受组播流量的成员) 并且转发组播数据的PIM路由器 4、组播实验-PIM-DM1)拓扑 2)需求:PC2加入组播组,成为组播组成员,能够接受组播源产生的组播数据 3)配置思路: -配置IP地址 -配置OSPF协议 -配置组播功能 -启用组播路由 -客户机加入组播组 -组播源发布视频数据 -客户机接收组播流量,并且能够实时观看到组播源发布的视频 4)配置命令: -组播源的配置: -PIM路由器的配置: sysname R1 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.1.254 255.255.255.0 pim dm # interface GigabitEthernet0/0/1 ip address 192.168.12.1 255.255.255.0 pim dm # ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 192.168.1.0 0.0.0.255 network 192.168.12.0 0.0.0.255 # sysname R2 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.12.2 255.255.255.0 pim dm # interface GigabitEthernet0/0/1 ip address 192.168.23.2 255.255.255.0 pim dm # interface GigabitEthernet0/0/2 ip address 192.168.24.2 255.255.255.0 pim dm # ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.12.0 0.0.0.255 network 192.168.23.0 0.0.0.255 network 192.168.24.0 0.0.0.255 # sysname R3 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.23.3 255.255.255.0 pim dm # interface GigabitEthernet0/0/1 ip address 192.168.2.254 255.255.255.0 igmp enable # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.2.0 0.0.0.255 network 192.168.23.0 0.0.0.255 sysname R4 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.24.3 255.255.255.0 pim dm # interface GigabitEthernet0/0/1 ip address 192.168.3.254 255.255.255.0 igmp enable # ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 192.168.3.0 0.0.0.255 network 192.168.24.0 0.0.0.255-组播组成员的配置 -开启组播源视频,在客户端接受组播流量验证结果 -先在组播源服务器上运行视频,发布组播流量数据 -在去客户机接受组播流量验证: -验证结果: 1、PIM-DM的不足 中大型组播网络中由于网络较大,如果依然使用PIM-DM会遇到诸多问题: 使用“扩散-剪枝”方式需要全网扩散组播报文,对于网络有一定冲击。 所有组播路由器均需要维护组播路由表,即使该组播路由器无需转发组播数据。 对于组成员较为稀疏的组播网络,使用“扩散-剪枝”形成组播分发树的效率不高。 PIM-SM(ASM)介绍 PIM-DM模型使用“扩散-剪枝”形成组播分发树的原因是:组播网络中大部分组播路由器无法得知组成员的位置。 PIM-SM(ASM)模型形成组播分发树的方法是: 将组成员的位置事先告知某台组播路由器(Rendezvous Point,RP),形成RPT(RP Tree)。 组播源在发送组播数据时,组播网络先将组播数据发送至RP,然后由RP再将组播数据转发给组成员。 对于部分次优的组播转发路径,PIM-SM(ASM)能自动优化为最优路径(SPT)。 2、PIM-SM(ASM)协议报文 PIM协议报文直接采用IP封装,目的地址224.0.0.13,IP协议号103。 3、RP介绍 汇聚点RP(Rendezvous Point)为网络中一台重要的PIM路由器,用于处理源端DR注册信息及组成员加入请求,网络中的所有PIM路由器都必须知道RP的地址,类似于一个供求信息的汇聚中心。 目前可以通过以下方式配置RP: 静态RP:在网络中的所有PIM路由器上配置相同的RP地址,静态指定RP的位置。 3、RPT构建 RPT(RP Tree)是一棵以RP为根,以存在组成员关系的PIM路由器为叶子的组播分发树。 1)PIM-SM 介绍 -PIM-SM :协议无关组播-稀疏模式(拉的模式) -PIM-SM协议也是运行在一个企业网内部,但是适合的企业场景,和DM不太一样,SM适合是稀疏的用户模式,就是企业网络中,需要加入组播组的网段非常少,组播组成员分别的很稀疏,这种情况下,适合SM-稀疏模式 -如果在这种情况下,依然使用PIM-DM模式,就会导致,组播流量在整个企业网络内部大量的泛洪转发,从而导致大量的设备之间的网络带宽资源被浪费了,因为经过这些带宽传输的组播流量,需要接收组播客户机的数量,非常少, -所以为了能够在 节省组播网络设备之间带宽资源的情况下,还能够将组播流量转发到组播客户机的时候,,我们可以选择采用PIM-SM 2)PIM-SM工作流程如下: -建立PIM邻居 -确定/选举 PIM的RP地址 -组播源发送组播流量给组播路由器,然后发给RP -RP基于收集的组播客户端的加组消息,形成组播路由表 6、组播实验-PIM-SM1)拓扑 2)需求:PC1和PC2都加入组播组,成为组播组成员,能够接受组播源产生的组播数据 3)配置思路: -配置IP地址 -配置OSPF协议 -配置组播功能 -启用组播路由 -配置RP地址 -客户机加入组播组 -组播源发布视频数据 -客户机接收组播流量,并且能够实时观看到组播源发布的视频 4)配置命令 组播源的配置: 配置PIM路由器 sysname R1 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.1.254 255.255.255.0 pim sm # interface GigabitEthernet0/0/1 ip address 192.168.12.1 255.255.255.0 pim sm # ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 192.168.1.0 0.0.0.255 network 192.168.12.0 0.0.0.255 # pim static-rp 10.10.2.2 //配置静态PIM # sysname R2 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.12.2 255.255.255.0 pim sm # interface GigabitEthernet0/0/1 ip address 192.168.23.2 255.255.255.0 pim sm # interface GigabitEthernet0/0/2 ip address 192.168.24.2 255.255.255.0 pim sm # interface LoopBack0 ip address 10.10.2.2 255.255.255.255 # ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 10.10.2.2 0.0.0.0 network 192.168.12.0 0.0.0.255 network 192.168.23.0 0.0.0.255 network 192.168.24.0 0.0.0.255 # pim static-rp 10.10.2.2 sysname R3 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.23.3 255.255.255.0 pim sm # interface GigabitEthernet0/0/1 ip address 192.168.2.254 255.255.255.0 igmp enable # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.2.0 0.0.0.255 network 192.168.23.0 0.0.0.255 # pim static-rp 10.10.2.2 sysname R4 # multicast routing-enable # interface GigabitEthernet0/0/0 ip address 192.168.24.4 255.255.255.0 pim sm # interface GigabitEthernet0/0/1 ip address 192.168.3.254 255.255.255.0 igmp enable # ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 192.168.3.0 0.0.0.255 network 192.168.24.0 0.0.0.255 # pim static-rp 10.10.2.2配置组播组成员(客户端) 验证结果: 5)查询命令: display igmp group //查看动态加入的IGMP组播组信息 Interface group report information of VPN-Instance: public net GigabitEthernet0/0/1(192.168.3.254): Total 1 IGMP Group reported Group Address Last Reporter Uptime Expires 239.1.1.1 192.168.3.1 00:15:53 00:01:46 解析: GigabitEthernet0/0/1(192.168.3.254): 表示的是:接口类型及编号(接口IP地址) Total 1 IGMP Group reported:表示的是:接口上动态加入的IGMP组播组个数 Group-address :表示的是:组地址的IGMP组播组信息, 点分十进制形式,取值范围是224.0.1.0~239.255.255.255 Last reporter:表示的是:最后发送Report报文的主机 Uptime:表示的是:发现组播组的时间 时间格式是:小于等于24小时:“时:分:秒” 大于24小时但小于等于一周:“天:时” 大于一周:“周:天” Expires:表示的是:记录将从IGMP组表中删除的预定时间, 时间格式是:小于等于24小时:“时:分:秒” 大于24小时但小于等于一周:“天:时” 大于一周:“周:天” “off”表示永不超时 display pim neighbor //查看PIM邻居信息 VPN-Instance: public net Total Number of Neighbors = 3 Neighbor Interface Uptime Expires Dr-Priority BFD-Session 192.168.12.1 GE0/0/0 00:21:20 00:01:42 1 N 192.168.23.3 GE0/0/1 00:20:02 00:01:43 1 N 192.168.24.4 GE0/0/2 00:18:35 00:01:40 1 N 解析: Total Number of Neighbors:表示的是:接口的PIM邻居总数 Neighbor:表示的是:PIM邻居的IP地址 Interface:表示的是:与PIM邻居相连的接口 Uptime:表示的是:PIM邻居已经存在的时间 Expires:表示的是:PIM邻居还有多少时间就要超时 Dr-Priority:表示的是:DR优先级 BFD-Session:表示的是:是否建立BFD session display pim routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (*, 239.1.1.1) RP: 10.10.2.2 (local) Protocol: pim-sm, Flag: WC UpTime: 00:16:52 Upstream interface: Register Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 2 1: GigabitEthernet0/0/1 Protocol: pim-sm, UpTime: 00:12:12, Expires: 00:03:17 2: GigabitEthernet0/0/2 Protocol: pim-sm, UpTime: 00:16:52, Expires: 00:02:37 (192.168.1.1, 239.1.1.1) RP: 10.10.2.2 (local) Protocol: pim-sm, Flag: SPT ACT UpTime: 00:13:47 Upstream interface: GigabitEthernet0/0/0 Upstream neighbor: 192.168.12.1 RPF prime neighbor: 192.168.12.1 Downstream interface(s) information: Total number of downstreams: 2 1: GigabitEthernet0/0/1 Protocol: pim-sm, UpTime: 00:12:12, Expires: 00:03:17 2: GigabitEthernet0/0/2 Protocol: pim-sm, UpTime: 00:13:47, Expires: 00:02:42 解析: Total 1 (*, G) entry; 1 (S, G) entry :表示的是:PIM路由表中(*, G)项和(S, G)项总数。 备注:PIM路由表的(S, G)项。 PIM路由表项即通过PIM协议建立的组播路由表项。 PIM网络中存在两种路由表项:(S,G)路由表项或(*,G)路由表项。 S表示组播源,G表示组播组,*表示任意。 •(S,G)路由表项主要用于在PIM网络中建立SPT。对于PIM-DM网络和PIM-SM网络适用。 •(*,G)路由表项主要用于在PIM网络中建立RPT。对于PIM-SM网络适用。 RP:表示的是:RP地址 Protocol:表示的是:PIM协议类型:PIM-DM、PIM-SM或PIM-SSM。 UpTime:表示的是:接口存活时间 Upstream interface: 表示的是:入接口(上游接口) Downstream interface(s) information: 表示的是下游接口信息 备注: PIM路由表项中主要用于指导转发的信息如下: •组播源地址。 •组播组地址。 •上游接口:本地路由器上接收到组播数据的接口 •下游接口:将组播数据转发出去的接口抓包验证:在R4的g0/0/1 口上抓包 7、PIM模型比较 8、PIM-DM与PIM-SM使用场景 PIM形成组播分发树主要有两种模式,即PIM-DM模式与PIM-SM模式, 这两种模式应用场景: 1)PIM-DM模式主要用在组成员较少且相对密集的组播网络中 2)PIM-SM模式主要用在组成员较多且相对稀疏的组播网络中 9、组播分发树的分类 通过PIM形成的组播分发树主要分为以下两种: 1)以组播源为根,组播组成员为叶子的组播分发树称为SPT(Shortest Path Tree), 在PIM-DM与PIM-SM中均有使用。 2)以RP(Rendezvous Point)为根,组播组成员为叶子的组播分发树称为RPT(RP Tree),在PIM-SM中使用 10、PIM路由表项 PIM路由表项即通过PIM协议建立的组播协议路由表项。 PIM网络中存在两种路由表项: (S,G)路由表项主要用于在PIM网络中建立SPT。对于PIM-DM网络和PIM-SM网络适用。 (*,G)路由表项主要用于在PIM网络中建立RPT。对于PIM-SM网络适用。 字段解析: S表示组播源,G表示组播组,*表示任意。 PIM路由器上可能同时存在两种路由表项。当收到源地址为S,组地址为G的组播报文,且RPF检查通过的情况下,按照如下的规则转发: 如果存在(S,G)路由表项,则由(S,G)路由表项指导报文转发。 如果不存在(S,G)路由表项,只存在(,G)路由表项,则先依照(*,G)路由表项创建(S,G)路由表项,再由(S,G)路由表项指导报文转发 8、总结 PIM模型有两种: PIM-DM主要使用在网络规模较小,用户集中的组播网络中。 PIM-SM主要使用在网络规模较大,用户较为分散的组播网络中。 PIM-SM基于组播模型又可以分为PIM-SM(ASM)与PIM-SM(SSM)模型, PIM-SM(SSM)模型主要为SSM组播服务。 PIM-DM使用“扩散-剪枝”的方式形成组播分发树,在形成分发树时使用Assert选举与DR选举机制防止环路产生,在组播转发时使用PRF机制防止环路产生。 PIM-SM(ASM)将组成员加组信息发送给RP,形成RPT,组播源再发送组播报文时先将组播报文发送至RP,然后由RP再将组播数据发送至组成员,形成SPT+RPT的组播分发树。为了防止RPT次优路径的问题,PIM-SM(ASM)会发起SPT切换的机制,优化组播分发树。 PIM-SM(SSM)主要为SSM组播模型服务,由于SSM组播模型预先知道组播源的地址,因此可以直接反向建立组播分发树。 PIM简介 概述Protocol Independent Multicast //协议无关组播 这里面的无关,指的是与“单播”路由协议无关 即:PIM协议,不需要专门的维护单播协议 Multicast OSPFOSPF有一个组播版本,专门维护着6类LSA,也就是组播的LSA 如果我们想要在网络中实现组播流量的传递,如果用OSPF,就要用MOSPF 而底层的单播协议,要用OSPFv2或者OSPFv3 这样配置起来,配置量大,麻烦,对工程师要求也较高 PIM协议的优点只专注于组成员和组播源状态的相关信息,而选取路径信息,直接从单播路由协议中获取 即:PIM协议并不像MOSPF一样,维护所谓的组播拓扑数据库 所以,PIM不能自己画出组播拓扑(它是依靠单播路由协议的,但它不在乎单播路由器是哪个) 模式 【 PIM-DM 】 Dense Mode 密集模式 我认为,我的组播网络中,存在很多组播组成员 所以,我需要大量的复制并发送组播流量 这里所谓的密集:指的是组播组成员分布很密集,但具体多少算密集,没有一定的标准 【 PIM-SM 】 Sparce Mode 稀疏模式 我认为,我的组播网络中,不存在太多的组播组成员 所以,我不需要大量的复制并发送组播流量 这里所谓的稀疏:指的是组播组成员分布很稀疏,但具体多少算稀疏,也没有一定的标准 工作流程 【 RPF检查 】 【 创建组播路由表项 】PIM-DM简单实验 拓扑PIM-DM“扩散——剪枝”讲解 拓扑display pim routing-table详解 display pim routing-table // 查看PIM协议的路由表 VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry // 总共0个(*,G)表项,1个(S,G)表项 (192.168.1.1, 225.1.1.1) //(S,G)表项的信息 Protocol: pim-dm // 由PIM-DM形成的该表项 , Flag: LOC ACT // LOC表示与组播源直连,ACT表示有组播流量经过 UpTime: 00:00:21 // 该表项运行的时间 Upstream interface: GigabitEthernet0/0/0 // 上游接口:GE0/0/0 Upstream neighbor: NULL // 上游的邻居:空 RPF prime neighbor: NULL // RPF邻居:空 (RPF邻居,就是通过了RPF检查的PIM邻居) Downstream interface(s) information: // 下游接口(们)的信息 Total number of downstreams: 1 // 下游接口的数量 1: GigabitEthernet0/0/1 // 接口是GE0/0/1 Protocol: pim-dm, UpTime: 00:00:21, Expires: never // 协议是PIM-DM,运行时间、老化时间PIM-SM 拓扑介绍 拓扑PIM-SM介绍 概述 【 回忆 】 我们学过PIM-DM,是通过“扩散-剪枝”机制完成SPT树木构建的 所谓“扩散”,就像是组播源发出组播数据后,第一跳路由器(离组播源最近的路由器)将流量“推”出去(扩散出去) 【 PIM-SM 】 我们在PIM-SM网络中,认为组播组成员是很“稀疏”的,所以我们如果使用PIM-DM那种将流量“推”(扩散)的模式 就会造成组播流量不必要的转发,从而增加设备的处理压力、以及带宽的过多占用 所以,在SM网络中,我们使用了“拉”的模式 【 “拉”的意思 】 需要组播流量的分支(组播网络中连接组播接收者的枝杈),必须主动朝着上游,发送PIM的加入报文(Join报文) 将自己这个枝杈挂在组播的树上DR 拓扑RP 拓扑PIM-SM网络发送组播流量的整个流程 拓扑PIM-SM网络配置实验 拓扑DR、查询器都是干嘛的 源端DR 负责向RP发送单播注册报文 组成员端DR 负责向上游发送PIM Join报文(PIM的加入报文),用于构建RPT树 查询器 用于向组播组成员发送IGMP的普遍组查询报文的 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |