SSM配置案例 案例配置拓扑: 案例配置需求 1、 互联IP为XY.XY.XY.X/24,Loopback 0的IP为X.X.X.X,其中X为本设备ID,Y为对端设备ID; 2、 PC1和PC2的IP分别为192.168.1.1、192.168.1.2,网关在R1上(192.168.1.254); 3、 三台路由器使用OSPF进行IGP通信; 4、 在路由器间使用PIM-SM进行组播路由的通信; 5、 在R3上配置,使得F0/0可以接收到来自组播源192.168.1.1组224.1.1.1的数据,不能接收来自192.168.1.2组播源的224.1.1.1; 案例配置思路 1.根据拓扑配置IP地址 R1: FastEthernet0/0 192.168.1.254 FastEthernet0/1 12.12.12.1 R2: FastEthernet0/0 23.23.23.2 FastEthernet0/1 12.12.12.2 loopback0 2.2.2.2 R3: FastEthernet0/0 23.23.23.3 2.在 R1 R2 R3上开启组播功能 ip multicast-routing 3.配置PC1和PC2的IP和网关; ip default-network 192.168.1.254 4.配置OSPF,为组播提供IGP连通性 R1: router ospf 100 router-id 1.1.1.1 log-adjacency-changes network 12.12.12.0 0.0.0.255 area 0 network […]
Tag: PIM
组播服务模型之SSM
组播服务模型之SSM 技术背景 在ASM(Any-Source Multicast,任意源组播)组播服务模型中,对于每个组播组而言,任意的设备都可以成为组播源。 对于组播接收者而言,它们事先并不知晓组播源的地址,只要它们加入了一个组播组,当任意的源向该组发送组播流量时,组播接收者会收到这些流量。 PIM-DM及PIM-SM都支持ASM。 PIM-DM适用于组成员分布较为密集的小型网络,而PIM-SM则适用于组成员分布较为稀疏的大型网络。 引入问题 对于PIM-SM而言,由于事先并不知晓组播源的地址,因此最后一跳路由器在发现其直连网络中出现组成员之后,首先朝着RP的方向构建一段RPT的分支从而在RPT上接收组播流量,然后为了确保在到达组播源的最优路径上接收组播流量,还需在获知组播源的IP地址后进行SPT的切换,这个过程是可以进行优化的。 在ASM中,为了保证组播流量在接收者这里不会产生冲突,同一个组播组地址在同一时间只能够被一个组播应用使用,即同一时间只允许一个组播源向某个特定的组播组发送组播流量。这个限制将直接造成组播IP地址紧缺。 解决方法 SSM ( Source-Specific Multicast,特定源组播)组播服务器模型可以解决上述问题。 在SSM中,组播接收者在加入组播组时,可以指定接收或者拒绝来自特定组播源的组播流量——特定源组播因此得名。也就是说,组播接收者通过IGMP成员关系报告加组时,除了指定期望加入的组播组地址,还能够指定组播源的地址。 为了实现这样的需求,IGMPv1及IGMPv2都是无法直接胜任的,而IGMPv3则天然拥有这方面的能力和优势。 SSM+IGMPv3的组合,使得最后一跳路由器在初始时就知晓了组播源的地址,并且直接朝着源的方向构建SPT的分支,于是组播流量就能够沿着构建好的SPT直接到达接收者,而不用经过RP,实际应用场景上完全不需要用到RP。 此外,SSM也缓解了组播IP地址紧缺的问题,在SSM中,在同一时间内,不同的组播源可以向同一个组播IP地址发送数据,因此,每个组播应用无需独占一个组播IP地址。(SSM中,组播接收者通过IGMPv3明确了其感兴趣的组播源和组播组地址,同一时间,即使存在多个组播源向同一个组播地址发送组播流量,如果不是组播接收者感兴趣的组播源,最后一跳路由器也不会向接收者传递组播流量) IANA规定,232.0.0.0/8这个组播地址段专门用于SSM。SSM在PIM-SM的基础上实现,部署SSM时,只需要在设备上激活PIM-SM即可,最后一跳路由器根据组播组地址来选择PIM-SM或PIM-SSM工作模式(HW),缺省情况下,针对232.0.0.0/8地址范围的组播组不执行RPT加入过程。 PIM-SSM优点 PIM-SSM的出现,解决了ASM存在的诸多短板,也体现了诸多优势。 由于组播接收者在宣告自己加入组播组的时候,同时还指定了组播源的地址,因此最后一跳路由器在最开始的时候便知晓了组播源的地址,它可以直接朝着源的方向建立SPT的分支,而不用朝着RP的方向建立RPT的分支,然后等待组播流量到达之后再进行SPT切换,效率得到了提升。 由于组播接收者明确了其感兴趣的组播源,因此如果存在其他组播源向该组播组发送流量,那么这些流量将不会被转发给组播接收者。 在SSM中,多个不同的组播应用,可以使用相同的组播组地址。因为有了组播源的加入,组播网络可以在目的IP地址相同的组播流量中,根据源IP地址区分不同的应用。这个特点极大地缓解了组播IPv4地址短缺的问题。 PIM-SSM的工作机制 如下图所示,Rl、R2、R3及R4是PIM-SM组播路由器,这些路由器都运行了OSPF,并通过OSPF获知了到达全网各个网段的路由。其中R4在自己连接终端PC的接口上激活了IGMPv3。 (1)组播接收者触发: PC希望接收组播源10.1.1.1发往组播组232.1.1.1的流量,PC运行的IGMPv3使得这个需求的实现变得非常简单。它向网络中发送一个IGMPv3 membership report,在该报文中,包含一个group record,该组记录的类型为Mode Is Include,组地址为232.1.1.1,而组播源为10.1.1.1。 (2)最后一跳路由器处理流程: 最后一跳路由器R4收到这个IGMPv3报文后,意识到其接口直连的网络中出现了组播组232.1.1.1的接收者,并且该接收者指定的组播源为10.1.1.1。 由于组地址232.1.1.1是SSM地址,因此R4采用PIM-SSM模式进行后续的工作。 R4在自己的单播路由表中查询到达组播源10.1.1.1的路由,记录目的路由的出接口,然后立即在其PIM路由表中创建(10.1.1.1,232.1.1.1)表项,将到达10.1.1.1的路由的出接口作为上游接口,将收到IGMPv3成员关系报告报文的接口添加到下游接口列表。 然后R4将在自己与组播源之间建立一段SPT的分支。它从上游接口发送一个(10.1.1.1,232.1.1.1)的PIM加入报文(其实PM-SSM的工作无需RP,也不用执行RPT加入过程。)。 (3)中间路由器处理流程: R2收到下游PIM邻居R4发送的(10.1.1.1,232.1.1.1)加入报文后,在其PIM路由表中创建(10.1.1.1,232.1.1.1)表项,将接收加入报文的接口添加到该表项的下游接口列表中,将到达组播源10.1.1.1的接口作为上游接口。 然后,R2从上游接口向上游邻居R1发送(10.1.1.1,232.1.1.1)PIM加入报文。 (4)第一跳路由器处理流程: 第一跳路由器R1收到R2发送的(10.1.1.1,232.1.1.1)PIM加入报文后,如果已经存在(10.1.1.1, 232.1.1.1)表项,则将收到加入报文的接口添加到该表项的下游接口列表中,如果没有就创建(10.1.1.1, 232.1.1.1)PIM表项,并且将接收PIM加入报文的接口添加到该表项的下游接口列表中。 当10.1.1.1开始向232.1.1.1发送组播流量时,组播流量便能够沿着已经建立好的SPT流向PC。