华为路由交换精英培训 之组播.

Slides:



Advertisements
Similar presentations
第五章 网络服务组件.
Advertisements

Rfc3315 Dynamic Host Configuration Protocol for IPv6 (DHCPv6) 組員: 蔡承翰 A 陳鈺璋 A 翁菘㠙 A 指導老師 吳俊興.
第 8 章 IP 基礎與定址.
数据通信与计算机网络 第1讲 绪论 浙江万里学院 邵鹏飞.
第 4 章 网络层 数学科学学院 冯世斌.
第一章 概述 第二章 用户需求分析 第三章 现有网络分析 第四章 逻辑网络设计 第五章 网络设备选择 第六章 WAN接入设计
第 4 章 网络层.
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
第四章 网络层 网络层 网络层 网络层 网络层 网络层.
因特网 TCP/IP协议 IP路由技术 Internet接入技术 Internet服务.
網路硬體設備簡介 Crickstudy Authentication Institute.
路由器的性能特点和工作原理 两种常用的内部网关协议(RIP和OSPF) 路由器的产品结构 局域网中使用路由器的方案
NetGuru 創新 網路通訊實驗教學解決方案 PART I TCP/IP通訊協定深入剖析/以NetGuru實作
讲师介绍 徐一鸣老师, HCIE主考官, 路由交换领域专家
路由器繞送協定- 第三章 路由器動態繞送服務
第六章 在华为路由器上配置动态路由OSPF协议(实训)
安徽邮电职业技术学院计算机系 赵正红 2009/2010学年第一学期
第3章 路由技术—动态路由.
多播技术 郑州大学信息工程学院李向丽.
Routing Protocols and Concepts – Chapter 3
第7章 路由技术 7. 1 广域网技术概述 7. 2 IP子网间的路由技术 7. 3 访问控制列表 7.4 网络地址转换(NAT)技术.
生成树协议.
安徽广播电视大学 组网技术与配置(第2版) 第8章 路由器的配置 汪本标.
课程介绍 教师:邹国忠、白金荣、沐士光 内容:课堂实验、课外实验、选作实验 时间安排:实验:双周 考试形式:闭卷、每人一组独立操作。
计算机网络 吴功宜 编著 欢迎辞.
路由协议配置 1.0 此为封面页,需列出课程编码、课程名称和课程开发室名称。
第31讲 帧中继技术FR 主讲:史宝会.
TCP/IP基本原理 第五章 路由原理与协议
HL-006 广域网协议原理及配置 ISSUE 4.0 此为封面页,需列出课程编码、课程名称和课程开发室名称。
第 6 章 IP 遶送.
PIM-SM协议的实现及引入热备份 计72 赵耀.
Cisco網路設備之設定與管理 台大計資中心 李美雯
Core Switch 設定 Port的開啟與關閉 Virtual LAN建立 將Port指定到Virtual LAN
NAT-PT (Network Address Translation-Protocol Translation)
第 6 章 IP 位址 著作權所有 © 旗標出版股份有限公司.
Chapter 4 Network Layer (網路層).
高雄應用科技大學 有線網路建置實習(I) 聯易科技股份有限公司 Ben 李政勳
IPv6 技術與服務 台東大學 電算中心 郭俊賢 技術師.
基於OpenWSN之無線感測網路系統的實作
IGMP Snooping / Proxy / Server
计算机网络原理 计算机与信息工程分院 周文峰.
基礎網路管理 第十一章 OSPF路由協定 製作:林錦財.
臺東縣中小學資訊教育校園網路管理暨資訊安全防護計畫研習
第六章 差错与控制报文 (ICMP).
IPv6原理与应用 技术培训中心
Internet Protocol (IP)
32 bit destination IP address
第4讲 以太网组网及故障排除.
锐捷网络技术培训系列课程-(中级) OSPF协议 培训组 闵 捷.
Access Networks.
锐捷网络实验室项目培训 交换技术.
路由基础.
RFC3810 Multicast Listener Discovery Version 2 (MLDv2) for IPv6
江西财经大学信息管理学院 《组网技术》课程组
第七讲 网际协议IP.
第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议
第十三章 TCP/IP 與 Internet 網路連結技術
网络系统集成技术 管理交换网络中的冗余链路 第四章.
第13章 IPv6协议.
滕小玲 北京大学计算中心 IPv6技术讲座 现有Internet的基础是IPv4,到目前为止有近20年的历史了。由于Internet的迅猛发展,据统计平均每年Internet的规模就扩大一倍。IPv4的局限性就越来越明显。个人电脑市场的急剧扩大、还有个人移动计算设备的上网、网上娱乐服务的增加、多媒体数据流的加入、以及出于安全性等方面的需求都迫切要求新一代IP协议的出现。
實驗5 IP協定分析 明瞭IP(Internet Protocol;Internet協定)的基礎觀念
傳輸控制協議 /互聯網協議 TCP/IP.
Distance Vector vs Link State
第8章 網際網路協定IPv6介紹與設定 蕭志明老師 CCNA教學.
科学架设和优化校园组网结构 提升内部网络访问和管理水平
第4章 网络层.
IP Layer Basics, Firewall, VPN, and NAT
替代的组播协议.
Distance Vector vs Link State Routing Protocols
第 4 章 网络层.
Presentation transcript:

华为路由交换精英培训 之组播

前 言 组播实现点到多点的高效数据传输。 组播可以有效节约带宽、降低网络负载。 组播广泛应用于IPTV、实时数据传送和多媒体会议等。

培训目标 理解组播基本原理 掌握组播配置命令 提升组播排错能力 加强组播综合运用能力 增强应试能力

原理 命令 排障 案例 建议 目 录 组播原理描述 组播配置命令 组播故障诊断 组播案例分析 组播备考建议

组播原理描述 组播原理描述 组播配置命令 组播故障诊断 组播案例分析 组播备考建议 组播基础 IGMP 二层组播 PIM 组播路由管理 原理 排障 案例 建议 组播原理描述 组播原理描述 组播基础 IGMP 二层组播 PIM 组播路由管理 组播配置命令 组播故障诊断 组播案例分析 组播备考建议

组播基础描述 组播原理描述 组播基础 IGMP 二层组播 PIM 组播路由管理 组播介绍 组播基本概念 组播服务模型 组播地址 组播协议 命令 排障 案例 建议 组播基础描述 组播原理描述 组播基础 组播介绍 组播基本概念 组播服务模型 组播地址 组播协议 IGMP 二层组播 PIM 组播路由管理

组播介绍 组播概述 能够解决点到多点传输 源发送一份数据,仅指定客户端接收该数据 原理 命令 排障 案例 建议 R1 PC1 广播特点: 所有客户端均会收到数据包 带宽浪费严重 单播特点: 网络中传输的信息量和需求该信息的用户量成正比 带宽消耗严重 组播优点: 降低网络流量、减轻服务器和CPU负荷 减少冗余流量、节约网络带宽、降低网络负载 使多点应用成为可能 组播劣势: 基于UDP 尽力而为 没有拥塞避免机制 报文重复 报文失序 Server R4 R2 PC2 单播 采用单播方式时,网络中传输的信息量与需要该信息的用户量成正比。当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。由此可以看出,该传输方式不利于信息的批量发送,只适用于用户稀少的网络。 广播 采用广播方式时,不需要接收信息的主机也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息泛滥。由此可见,该传输方式不利于与特定对象进行数据交互,并且还浪费了大量的带宽。 组播相对单播和广播的优势 相比单播,由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。 相比广播,由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性。 R3 PC3

组播基本概念 组播组 组播源 组播成员 组播路由器 用IP组播地址表示的一组集合 数据包的发送者 所有加入某组播组的主机 运行组播协议的设备 原理 命令 排障 案例 建议 组播基本概念 组播组 用IP组播地址表示的一组集合 组播源 数据包的发送者 组播成员 所有加入某组播组的主机 组播路由器 运行组播协议的设备 R4 R1 R2 R3 PC1 PC2 PC3 Server 组播源 组播成员 组播路由器 组播基本概念 组播组:用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收发往该组播组的组播数据。 组播源:信息的发送者称为“组播源”,即拓扑中的Server。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。组播源通常不需要加入组播组。 组播组成员:所有加入某组播组的主机便成为该组播组的成员,即拓扑中的PC1和PC2。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。 组播路由器:支持三层组播功能的路由器或三层交换机,即拓扑中的各个Router。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。

组播服务模型 组播服务模型 依据接收者接收流量是否针对源进行区分,可分为: ASM模型 SSM模型 SSM ASM 原理 命令 排障 案例 建议 组播服务模型 组播服务模型 依据接收者接收流量是否针对源进行区分,可分为: ASM模型 SSM模型 SSM ASM Server1 Server2 R1 G=228.1.1.1 G=228.1.1.1 源IP 1.1.1.1 源IP 2.2.2.2 组播服务模型的分类是针对接收者主机的,对组播源没有区别。组播源发出的组播数据中总是以组播源自己的IP地址为报文的源IP地址,组播组地址为目的地址。而接收者主机接收数据时可以对源进行选择,因此产生了ASM和SSM两种服务模型。这两种服务模型使用不同的组播组地址范围。 ASM,接收端只能选择加入某个组,不能选择具体组播源。 SSM,接收者主机在加入组播组时,可以指定只接收哪些源的数据。加入组播组以后,主机只会收到指定源发送到该组的数据。 源1.1.1.1 发送的流量 接收 G=228.1.1.1 S=1.1.1.1 接收 G=228.1.1.1 S=1.1.1.1 接收 G=228.1.1.1 S=2.2.2.2 源2.2.2.2 发送的流量 PC1 PC2 PC3

组播地址—IP地址 组播地址为D类地址 原理 命令 排障 案例 建议 地址范围 含义 224.0.0.0~224.0.0.255 永久组地址 224.0.1.0~231.255.255.255 233.0.0.0~238.255.255.255 ASM组播地址,全网范围内有效 232.0.0.0~232.255.255.255 缺省为SSM组播地址,全网范围内有效 239.0.0.0~239.255.255.255 本地管理组地址,仅在本地管理域内有效 组播地址 224.0.0.0 到 224.0.0.255 为 IANA 预留的永久组地址,地址 224.0.0.0 保留不做分配,其它地址供路由协议进行拓扑查找和维护协议使用。该范围内的地址属于局部范畴,不论生存时间字段(TTL)值是多少,都不会被路由器转发。 224.0.1.0到231.255.255.255,233.0.0.0到238.255.255.255为ASM组地址,在全网范围内有效。 232.0.0.0到232.255.255.255,为用户可用的SSM组地址,全网范围内有效。 239.0.0.0到239.255.255.255,为本地管理组播地址,仅在特定的本地管理域内有效,称为本地管理组播地址。本地管理组播地址属于私有地址,在不同的管理域内使用相同的本地管理组播地址不会导致冲突。

组播地址—MAC地址 IPv4组播地址到MAC地址的映射 原理 命令 排障 案例 建议 组播地址—MAC地址 IPv4组播地址到MAC地址的映射 组播MAC地址的高24bit为0x01005e,MAC地址的低23bit为组播IP地址的低23bit IP地址 1110 XXXX.X XXX XXXX.XXXX XXXX.XXXX XXXX 23Bits 5Bits 丢失 IPv4地址到MAC地址的映射 IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是有32个IPv4组播地址映射到同一MAC地址上。例如IP地址为224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。网络管理员在分配地址时必须考虑这种情况。 MAC地址 01--00--5E--0XXX XXXX.XXXX XXXX.XXXX XXXX 23Bits

组播协议 组播协议 IGMP PIM IGMP PIM PIM IGMP PIM IGMP IGMP Snooping 原理 命令 排障 案例 建议 组播协议 组播协议 IGMP PIM R1 PC1 IGMP PIM Server R4 R2 PC2 PIM IGMP 部署在组播路由器与用户主机之间,路由器配置在与主机相连的接口上。 用于在主机侧实现组播组成员动态加入与离开。在路由器侧实现组成员关系的维护与管理,同时与上层组播路由协议进行信息交互。 PIM PIM包括PIM-DM和PIM-SM。 部署在所有组播路由器上,配置在所有接口上。 用于实现组播路由与转发,并可以动态响应网络拓扑变化,维护组播路由表。 IGMP Snooping 部署在组播路由器和用户主机之间的二层交换机上,配置在VLAN内。 用于侦听路由器和主机之间发送的IGMP报文建立组播数据的二层转发表,从而管理和控制组播数据在二层网络中的转发。 IGMP PIM R3 S1 PC3 IGMP IGMP Snooping

原理 命令 排障 案例 建议 路由组播管理 组播原理描述 组播基础 IGMP 二层组播 PIM 组播路由管理 RPF检查 静态组播路由

RPF检查 RPF检查 确保组播流量沿正确路径转发,避免环路 基于单播路由表 检查过程: 原理 命令 排障 案例 建议 RPF检查 RPF检查 确保组播流量沿正确路径转发,避免环路 基于单播路由表 检查过程: 路由器确认组播报文是从自身连接到组播源的接口上收到的,才进行转发,否则丢弃 IP单播路由表 网段 接口 152.10.0.0/16 S0 192.168.1.0/24 S1 210.1.16.0/24 S2 RPF检查原理 路由器收到一份组播报文后,会根据报文的源地址通过单播路由表查找到达“报文源”的路由,查看到“报文源”的路由表项的出接口是否与收到组播报文的入接口一致。如果一致,则认为该组播报文从正确的接口到达,从而保证了整个转发路径的正确性和唯一性。这个过程就被称为RPF检查。 如果这几条等价路由都是来自同一张路由表项,则选取下一跳地址最大的路由作为RPF路由。 RPF检验可以基于单播路由、MBGP路由和组播静态路由。他们之间的优先顺序为组播静态路由、MBGP路由、单播路由。 拓扑描述 图1,来自组播源152.10.2.2的组播流从S1口到达路由器,路由器检查路由表,发现可以转发该组播流的端口为S0,RPF检查失败。因此达到S1口的数据流被丢弃。 来自组播源152.10.2.2的组播流从S0口达到路由器,检查路由表发现入接口与接收该组播流的接口S0一致,RPF检查成功。因此组播流将被正确的转发。 源152.10.2.2发送的流量 S1 S0 S2 R1 源152.10.2.2发送的流量

静态组播路由 静态组播路由 创建组播路由表项,改变RPF路由 配置静态组播路由后 配置静态组播路由前 原理 命令 排障 案例 建议 R2 PC1 接收者 R3组播路由表 源/掩码 接口 RPF邻居 192.168.1.1/24 E1 34.1.1.3/24 E1 34.1.1.3/24 静态组播路由 R3到组播源(Source)的RPF邻居为R1,从Source发出的组播报文会沿着Source->R1->R3的路径传输。此时,在R3上配置组播静态路由,指定R3的RPF邻居为R2,则从Source发出的组播报文的传输路径将发生改变,改为沿Source->R1->R2->R3的路径传输,区别于原来的单播路由路径。 E1 34.1.1.4/24 PC2 接收者 R2 E0 R1 R3 Server1 192.168.1.1/24 组播流量

PIM 组播原理描述 组播基础 IGMP 二层组播 PIM 组播路由管理 基本概念 PIM-DM PIM-SM PIM-SSM 原理 命令 排障 案例 建议 PIM 组播原理描述 组播基础 IGMP 二层组播 PIM 基本概念 PIM-DM PIM-SM PIM-SSM 组播路由管理

基本概念—PIM协议 PIM协议 域内组播路由协议 构建、维护组播路由转发表项 运行在路由器与路由器之间 原理 命令 排障 案例 建议 基本概念—PIM协议 PIM协议 域内组播路由协议 构建、维护组播路由转发表项 运行在路由器与路由器之间 PIM分为PIM-DM和PIM-SM 与组播相关的协议中前面已经介绍到组播组管理协议IGMP。组播组管理协议IGMP(Internet Group Management Protocol)在接收者主机和组播路由器之间运行。路由器之间则需要运行组播路由协议。 组播路由协议用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由形成了一个从数据源到多个接收端的单向无环数据传输路径,即组播分发树。组播路由协议分为域内组播路由和域间组播路由协议。这里介绍最典型的域内组播路由协议PIM。

基本概念—PIM路由器 PIM路由器 接口使能PIM的路由器 原理 命令 排障 案例 建议 最后一跳路由器 R2 PC1 接收者 Server1 R1 R3 R5 PC2 接收者 PIM路由器 在接口上使能了PIM协议的路由器即为PIM路由器。在建立组播分发树的过程中,PIM路由器又分为以下几种: 叶子路由器:与用户主机相连的PIM路由器,但连接的用户主机不一定为组成员。 第一跳路由器:组播转发路径上,与组播源相连且负责转发该组播源发出的组播数据的PIM路由器。 最后一跳路由器:组播转发路径上,与组播组成员相连且负责向该组成员转发组播数据的PIM路由器。 中间路由器:组播转发路径上,第一跳路由器与最后一跳路由器之间的PIM路由器。 第一跳路由器 中间路由器 PC3 上游接口 R4 下游接口

基本概念—源树 源树 组播分发树的一种 以组播源为根,组播组成员为叶子的组播分发树称为SPT 原理 命令 排障 案例 建议 Server1 PIM网络以组播组为单位在路由器上建立一点到多点的组播转发路径。由于组播转发路径呈现树型结构,也称为组播分发树。 组播分发树的两个基本类型:源路径树和共享树。 源树 源路径树以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。 源路径树使用的是从组播源到接收者的最短路径,也称为最短路径树(shortest path tree,SPT)。对于某个组,网络要为任何一个向该组发送报文的组播源建立一棵树。 本例中有两个组播源(源S1和源S2),接收者PC1和PC22。所以本例中有两棵源路径树。 PIM路由表项 PIM路由表项即通过PIM协议建立的组播路由表项。 (S,G)路由表项知道组播源S的位置,主要用于在PIM路由器上建立SPT。对于PIM-DM网络和PIM-SM网络都适用。 如果存在(S,G)路由表项,则由(S,G)路由表项指导报文转发。 R5 R6 组播表项 (S,G) 上游接口 下游接口列表 PC1 PC2 接收者 接收者

基本概念—共享树 共享树 组播分发树的一种 以RP为根,组播组成员为叶子的组播分发树 原理 命令 排障 案例 建议 Server1 R3RP 组播表项 (*,G) 上游接口 下游接口列表 分发树 PIM网络以组播组为单位在路由器上建立一点到多点的组播转发路径。由于组播转发路径呈现树型结构,也称为组播分发树。 组播分发树的两个基本类型:源路径树和共享树。 共享树 共享树以某个路由器作为路由树的树根,该路由器称为汇集点(Rendezvous Point,RP),将RP到所有接收者的最短路径结合起来构成转发树。使用共享树时,对应某个组,网络中只有一棵树。所有的组播源和接收者都使用这棵树来收发报文,组播源先向树根发送数据报文,之后报文又向下转发到达所有的接收者。 本例中两个源S1和S2共享一颗树。 PIM路由表项 PIM路由表项即通过PIM协议建立的组播路由表项。 (*,G)路由表项由于只知道组播组G的存在,主要用于在PIM路由器上建立RPT。对于PIM-SM网络适用。 如果不存在(S,G)路由表项,只存在(*,G)路由表项,则先依照(*,G)路由表项创建(S,G)路由表项,再由(S,G)路由表项指导报文转发。 R5 R6 源树 PC1 PC2 接收者 接收者 共享树

PIM-DM—概述 PIM-DM 使用“推(Push)模式”转发组播报文 通过周期性的扩散—剪枝构建和维护单项无环的SPT 原理 命令 排障 案例 建议 PIM-DM—概述 PIM-DM 使用“推(Push)模式”转发组播报文 通过周期性的扩散—剪枝构建和维护单项无环的SPT 适用于小型组播网络 工作机制包括: 邻居发现 扩散 剪枝/加入 嫁接 断言 状态刷新 PIM DM概述: PIM-DM使用“推(Push)模式”转发组播报文,一般应用于组播组成员规模相对较小、相对密集的网络。在实现过程中,它会假设网络中的组成员分布非常稠密,每个网段都可能存在组成员。当有活跃的组播源出现时,PIM-DM会将组播源发来的组播报文扩散到整个网络的PIM路由器上,再裁剪掉不存在组播报文转发的分支。PIM-DM通过周期性的进行“扩散(Flooding)—剪枝(Prune)”,来构建并维护一棵连接组播源和组成员的单向无环SPT(Source Specific Shortest Path Tree)。如果在下一次“扩散-剪枝”进行前,被裁剪掉的分支由于其叶子路由器上有新的组成员加入而希望提前恢复转发状态,也可通过嫁接(Graft)机制主动恢复其对组播报文的转发。 PIM-DM的关键工作机制包括邻居发现、扩散、剪枝、嫁接、断言和状态刷新。其中,扩散、剪枝、嫁接是构建SPT的主要方法。

PIM-DM—邻居发现 Hello消息 建立和维护邻居关系 在IGMPv1中选举查询者 原理 命令 排障 案例 建议 Hello消息 R1 1.1.1.1 R2 1.1.1.2 Hello消息 Hello消息 Hello消息 在PIM路由器每个使能了PIM协议的接口上,都会对外发送Hello报文。封装Hello报文的组播报文的目的地址是224.0.0.13(表示同一网段中所有PIM路由器)、源地址为接口的IP地址、TTL数值为1。 Hello报文的作用:发现PIM邻居、协调各项PIM协议报文参数、维持邻居关系。 发现PIM邻居 同一网段中的PIM路由器都必须接收目的地址为224.0.0.13的组播报文。这样直接相连的PIM路由器之间通过交互Hello报文以后,就可以彼此知道自己的邻居信息,建立邻居关系。 只有邻居关系建立成功后,PIM路由器才能接收其他PIM协议报文,从而创建组播路由表项。 协调各项PIM协议报文参数 Hello报文中携带多项PIM协议报文参数,主要用于PIM邻居之间PIM协议报文的控制。具体参数如下: DR_Priority:表示各路由器接口竞选DR的优先级,优先级越高越容易获胜。该参数只用于PIM-SM中DR的选举。 Holdtime:表示保持邻居为可达状态的超时时间。 LAN_Delay:表示共享网段内传输Prune报文的延迟时间。 Neighbor-Tracking:表示邻居跟踪功能。 Override-Interval:表示Hello报文中携带的否决剪枝的时间间隔。 维持邻居关系 PIM路由器之间周期性地发送Hello报文。如果Holdtime超时还没有收到该PIM邻居发出的新的Hello报文,则认为该邻居不可达,将其从邻居列表中清除。 PIM邻居的变化将导致网络中组播拓扑的变化。如果组播分发树上的某上游邻居或下游邻居不可达,将导致组播路由重新收敛,组播分发树迁移。 为IGMPv1选举查询者 在PIM-DM中通过比较Hello消息上携带的优先级和IP地址,各路由器为多路由器网段选举指定路由器DR,充当IGMPv1的查询器。 当DR出现故障时,接收Hello消息将会超时,邻居路由器之间会触发新的DR选举过程。 Hello计时器 Hello消息默认发送周期是30秒。 Hello超时时间默认为105秒。 IGMPv1 PC1 PC2

PIM-DM—扩散 PIM-DM扩散 将组播源发送的组播报文扩散到全网 沿途每台PIM-DM路由器创建(S,G)项 原理 命令 排障 案例 建议 PIM-DM—扩散 PIM-DM扩散 将组播源发送的组播报文扩散到全网 沿途每台PIM-DM路由器创建(S,G)项 R3 PC1 接收者 Server1 R1 R2 S=1.1.1.1 G=228.1.1.1 E1 E0 R4 E2 PC2 当PIM-DM网络中出现活跃的组播源之后,组播源发送的组播报文将在全网内扩散。当PIM路由器接收到组播报文,根据单播路由表进行RPF检查通过后,就会在该路由器上创建(S,G)表项,下游接口列表中包括除上游接口之外与所有PIM邻居相连的接口,后续到达的组播报文将从各个下游接口转发出去。 最后组播报文扩散到达叶子路由器,会出现以下两种情况: 若与该叶子路由器相连用户网段上存在组成员,则将与该网段相连的接口加入(S,G)表项的下游接口列表中,后续的组播报文会向组成员转发。 若与该叶子路由器相连用户网段上不存在组成员,且不需要向其下游PIM邻居转发组播报文,则执行剪枝机制。 拓扑描述 组播源S开始向组播组G发送组播报文。 R1接收到源发送的组播报文后,根据单播路由表进行RPF检查。RPF检查通过,创建(S,G)表项,下游接口列表包括与R2和R2相连的接口,后续到达的报文向R2和R3转发。 R2接收到来自R1的组播报文,RPF检查成功,在本地创建对应(S,G)表项,下游接口列表包括与R3和R4相连的接口,后续到达的报文向R3和R4转发。 R5接收到来自R1的组播报文,由于与R5相连下游网段不存在组成员和PIM邻居,执行剪枝。 R3接收到来自R2的组播报文,RPF检查成功,在本地创建对应(S,G)表项,下游接口列表添加与组成员PC1相连的接口,后续到达的报文向PC1转发。 R4接收到来自R2的组播报文,由于与R4相连下游网段不存在组成员和PIM邻居,执行剪枝。 组播表项 (S,G) (1.1.1.1,228.1.1.1) 入接 E0 出口列表 E1和E2 R5 组播数据流 PC3

PIM-DM—剪枝/加入 PIM-DM减枝/加入 如不需要上游发送组播报文,则发送Prune消息 原理 命令 排障 案例 建议 PIM-DM—剪枝/加入 PIM-DM减枝/加入 如不需要上游发送组播报文,则发送Prune消息 共享网络上有路由器连接接收者,则该路由器发送Join消息来覆盖其他路由器发送的Prune消息 R3 PC1 接收者 Server1 R1 R2 S=1.1.1.1 G=228.1.1.1 E1 E0 R4 E2 PC2 当PIM路由器接收到组播报文后,RPF检查通过,但是下游网段没有组播报文需求。此时PIM路由器会向上游发送剪枝报文,通知上游路由器禁止相应下游接口的转发,将其从(S,G)表项的下游接口列表中删除。剪枝操作由叶子路由器发起,逐跳向上,最终组播转发路径上只存在与组成员相连的分支。 路由器为被裁剪的下游接口启动一个剪枝定时器(默认为210秒),定时器超时后接口恢复转发。组播报文重新在全网范围内扩散,新加入的组成员可以接收到组播报文。随后,下游不存在组成员的叶子路由器将向上发起剪枝操作。通过这种周期性的扩散-剪枝,PIM-DM周期性的刷新SPT。 当下游接口被剪枝后 如果下游叶子路由器有组成员加入,并且希望在下次“扩散-剪枝”前就恢复组播报文转发,则执行嫁接机制。 如果下游叶子路由器一直没有组成员加入,希望该接口保持抑制转发状态,则执行状态刷新机制。 拓扑描述 R5向上游R1发送Prune报文,通知R1不用再转发数据到该下游网段。 R1收到Prune报文后,停止该下游接口转发,将该下游接口从(S,G)表项中删除。由于R1上还存在其他处于转发状态的下游接口,剪枝过程停止。后续到达的报文只向R2转发。 R4向上游R1发送Prune报文,通知R2不用再转发数据到该下游网段。 R2收到Prune报文后,等待3秒(lan-delay + override-interval ),此时R3也能收到R4上上游发送的Prune消息,且R3发现自己下游是一个接收者,所以R3向上游发送Join消息以否决R4发送的Prune消息。 当R2收到Join消息后,会忽略R4发送的Prune消息。继续向下游转发组播流量。 对于lan-delay和override-interval的解释 路由器向外发送的Hello报文携带lan-delay(报文传输延迟时间,默认为500毫秒)参数和override-interval(剪枝否决时间间隔,默认为2500毫秒)参数。override-interval表示允许下游路由器否决Prune剪枝动作的时间。 当同一网段中有路由器向上游发送剪枝报文时,如果其他路由器仍然需要接收组播数据,则必须在override-interval时间内向上游发送剪枝否决报文。 当同一链路中的所有路由器上的override-interval值不同时,将进行协商从中选取最大值。 lan-delay + override-interval = PPT。路由器接收到下游剪枝报文后,并不立即执行剪枝操作,而是等待一段时间PPT(Prune-Pending Timer),超时则剪枝。在PPT时间内如果收到下游发来的剪枝否决报文,则取消剪枝操作。 组播表项 (S,G) (1.1.1.1,228.1.1.1) 入接口 E0 出口列表 E1 R5 组播数据流 PC3 Prune消息 Join消息

PIM-DM—SPT树形成 SPT树形成 经过扩散—剪枝过程,形成组播源与接收者之间STP树 扩散—剪枝周期进行,每3分钟重复一次 原理 命令 排障 案例 建议 PIM-DM—SPT树形成 SPT树形成 经过扩散—剪枝过程,形成组播源与接收者之间STP树 扩散—剪枝周期进行,每3分钟重复一次 每台路由器均会保留(S,G)表项 R3 PC1 接收者 Server1 R1 R2 S=1.1.1.1 G=228.1.1.1 E1 E0 R4 E2 PC2 组播路由器根据剪树消息剪去多余的分枝,形成一棵新的SPT树。虽然剪枝消息让路由器再不再向没有组播成员的分枝转发组播报文。但是每个路由器上的(S,G)表项仍目存的,其目的是为了一旦有组播成员加入时可以快速加入并转发组播报文。 组播表项 (S,G) (1.1.1.1,228.1.1.1) 入接口 E0 出口列表 E1,E2(抑制状态) R5 PC3 组播数据流

PIM-DM—嫁接 PIM-DM嫁接 使有新组成员加入的网段快速得到组播报文 下游设备向上游单播发送Graft消息 原理 命令 排障 案例 建议 PIM-DM—嫁接 PIM-DM嫁接 使有新组成员加入的网段快速得到组播报文 下游设备向上游单播发送Graft消息 上游设备收到后,需回复Graft Ack消息 R3 PC1 接收者 Server1 R1 R2 S=1.1.1.1 G=228.1.1.1 E1 E0 R4 E2 PC2 PIM-DM通过嫁接机制,使有新组成员加入的网段快速得到组播报文。叶子路由器通过IGMP了解到与其相连的用户网段上,组播组G有新的组成员加入。随后叶子路由器会向上游发送Graft报文,请求上游路由器恢复相应出接口转发,将其添加在(S,G)表项下游接口列表中。 嫁接过程从叶子路由器开始,到有组播报文到达的路由器结束。 拓扑描述 被剪枝的下游节点可以在剪枝超时器超时会恢复到转发状态,但是剪枝超时器要等待210秒。如果在这期间有组播成员相加入时必须等待,这个时间是比较长的。为了减少反应的时间,当被剪枝的下游节点需要恢复到转发状态时,该节点可以使用Graft嫁接消息主动通知上游节点。 网络中一个接收者恢复接收组播数据,R5会发送Graft嫁接消息,并逐跳向组播源S传递,R1接收到Graft嫁接消息后回应确认,从而先前被剪掉的分支恢复信息传输。 组播表项 (S,G) (1.1.1.1,228.1.1.1) 入接口 E0 出口列表 E1和E2 R5 组播数据流 Graft消息 PC3 接收者 Graft ACK消息 IGMP报告报文

PIM-DM—状态刷新 PIM-DM状态刷新 原理 命令 排障 案例 建议 PIM-DM—状态刷新 PIM-DM状态刷新 通过第一跳路由器周期性发送State Refresh来避免被裁剪的接口因为“剪枝定时器”超时而恢复转发 R3 PC1 接收者 Server1 R1 R2 S=1.1.1.1 G=228.1.1.1 R4 PC2 在PIM-DM网络中,为了避免被裁剪的接口因为“剪枝定时器”超时而恢复转发,离组播源最近的第一跳路由器会周期性地触发State Refresh报文在全网内扩散。收到State Refresh报文的PIM路由器会刷新剪枝定时器的状态。被裁剪接口的下游叶子路由器如果一直没有组成员加入,该接口将一直处于抑制转发状态。 拓扑描述 R1触发状态刷新机制,将State Refresh报文向R2和R5扩散。 R5上存在被裁剪接口,刷新该接口的“剪枝定时器”的状态。下一次“扩散-剪枝”来临时,由于R5上仍然没有组成员加入,R5上被裁剪的接口将被抑制转发组播报文。 R5 PC3 组播数据流 State Refresh报文

PIM-DM—断言 PIM-DM断言 保证只有一个PIM路由器向该网段转发组播报文,以实现无重复组播流量 原理 命令 排障 案例 建议 R2 Server1 R1 R4 S=1.1.1.1 G=228.1.1.1 PC1 接收者 当一个网段内有多个相连的PIM路由器RPF检查通过向该网段转发组播报文时,则需要通过断言机制来保证只有一个PIM路由器向该网段转发组播报文。PIM路由器在接收到邻居路由器发送的相同组播报文后,会以组播的方式向本网段的所有PIM路由器发送Assert报文,其中目的地址为永久组地址224.0.0.13。其它PIM路由器在接收到Assert报文后,将自身参数与对方报文中携带的参数做比较,进行Assert竞选。竞选规则如下: 单播路由协议优先级较高者获胜。 如果优先级相同,则到组播源的开销较小者获胜。 如果以上都相同,则下游接口IP地址最大者获胜。 根据Assert竞选结果,路由器将执行不同的操作: 获胜一方的下游接口称为Assert Winner,将负责后续对该网段组播报文的转发。 落败一方的下游接口称为Assert Loser,后续不会对该网段转发组播报文,PIM路由器也会将其从(S,G)表项下游接口列表中删除。 Assert竞选结束后,该网段上只存在一个下游接口,只传输一份组播报文。所有Assert Loser可以周期(默认为180秒)性地恢复组播报文转发,从而引发周期性的Assert竞选。 拓扑描述 假设R2到组播源的开销小于R3到组播源的开销。 R2和R3从各自下游接口接收到对方发来的组播报文,RPF检查都失败,报文被丢弃。同时,R2和R3分别向该网段发送Assert报文。 R2将自身的路由信息与R3发来的Assert报文中携带的路由信息进行比较,由于自身到组播源的开销较小而获胜。于是后续组播报文仍然向该网段转发,R3在接收到组播报文后仍然由于RPF检查失败而丢弃。 R3将自身的路由信息与R2发来的Assert报文中携带的路由信息进行比较,由于自身到组播源的开销较大而落败。于是禁止相应下游接口向该网段转发组播报文,将其从(S,G)表项的下游接口列表中删除。 R3 组播数据流 Assert报文

PIM-SM—概述 PIM-SM 使用“拉(Pull)模式”转发组播报文 以RP为根构建RPT 适用于大型组播网络 工作机制包括: 邻居发现 原理 命令 排障 案例 建议 PIM-SM—概述 PIM-SM 使用“拉(Pull)模式”转发组播报文 以RP为根构建RPT 适用于大型组播网络 工作机制包括: 邻居发现 DR竞选 RP发现 RPT构建 组播源注册 SPT切换 剪枝/加入 断言 PIM-SM适用于ASM(Any-Source Multicast)和SSM(Source-Specific Multicast)两种模型。在ASM模型中,它使用“拉(Pull)模式”转发组播报文,一般应用于组播组成员规模相对较大、相对稀疏的网络。基于这一种稀疏的网络模型,它的实现方法是: 在网络中维护一台重要的PIM路由器:汇聚点RP(Rendezvous Point),可以为随时出现的组成员或组播源服务。网络中所有PIM路由器都知道RP的位置。 当网络中出现组成员(用户主机通过IGMP加入某组播组G)时,最后一跳路由器向RP发送Join报文,逐跳创建(*,G)表项,生成一棵以RP为根的RPT。 当网络中出现活跃的组播源(信源向某组播组G发送第一个组播数据)时,第一跳路由器将组播数据封装在Register报文中单播发往RP,在RP上创建(S,G)表项,注册源信息。 在ASM模型中,PIM-SM的关键机制包括邻居发现、DR竞选、RP发现、RPT构建、组播源注册、SPT切换、剪枝、断言;同时也可通过配置BSR(Bootstrap Router)管理域来实现单个PIM-SM域的精细化管理。

PIM-SM—邻居发现和DR竞选 邻居发现和DR竞选 邻居发现和PIM-DM一致 广播网络中须DR竞选,以发送Register和Join报文 原理 命令 排障 案例 建议 PIM-SM—邻居发现和DR竞选 邻居发现和DR竞选 邻居发现和PIM-DM一致 广播网络中须DR竞选,以发送Register和Join报文 R5 DR R1 Server1 S=1.1.1.1 G=228.1.1.1 PC1 接收者 在组播源或组成员所在的网段,通常同时连接着多台PIM路由器。这些PIM路由器之间通过交互Hello报文成为PIM邻居,Hello报文中携带DR优先级和该网段接口地址。PIM路由器将自身条件与对方报文中携带的信息进行比较,选举出唯一的DR来负责源端或组成员端组播报文的收发。竞选规则如下: DR优先级较高者获胜(网段中所有PIM路由器都支持DR优先级)。 如果DR优先级相同或该网段存在至少一台PIM路由器不支持在Hello报文中携带DR优先级,则IP地址较大者获胜。 果当前DR出现故障,将导致PIM邻居关系超时(缺省为105秒),其他PIM邻居之间会触发新一轮的DR竞选。 在ASM模型中,DR主要作用如下: 在连接组播源的共享网段,由DR负责向RP发送Register注册报文。与组播源相连的DR称为源端DR。 在连接组成员的共享网段,由DR负责向RP发送Join加入报文。与组成员相连的DR称为组成员端DR。 R2 DR R4 RP R3 R6 Hello报文 Register报文 Join报文

PIM-SM—RPT树构建 RPT树构建 RPT树以RP为根,以存在组成员关系的PIM路由器为叶子的组播分发树 原理 命令 排障 案例 建议 DR PC1 接收者 Server1 S=1.1.1.1 G=228.1.1.1 PIM-SM RPT是一棵以RP为根,以存在组成员关系的PIM路由器为叶子的组播分发树。如拓扑所示,当网络中出现组成员(用户主机通过IGMP加入某组播组G)时,组成员端DR向RP发送Join报文,在通向RP的路径上逐跳创建(*,G)表项,生成一棵以RP为根的RPT。 R1 DR R2 RP R4 PC2 R5 Join报文 (*,G)

PIM-SM—组播源注册 组播源注册 组播源都必须首先在RP处进行单播“注册” 建立源到RP的SPT树 原理 命令 排障 案例 建议 R3 DR PC1 接收者 Server1 S=1.1.1.1 G=228.1.1.1 在PIM-SM网络中,任何一个新出现的组播源都必须首先在RP处“注册”,继而才能将组播报文传输到组成员。具体过程如下: 组播源将组播报文发给源端DR。 源端DR接收到组播报文后,将其封装在Register报文中,发送给RP。 RP接收到Register报文,将其解封装,建立(S,G)表项,并将组播数据沿RPT发送到达组成员。 此时RP不再需要R1发送的Register报文,所以RP会单播向R1(DR)发送Register-Stop报文,告知R1停止发送Register报文。 R1 DR R2 RP R4 PC2 R5 组播流量 Register报文 Join报文 Register-Stop报文

PIM-SM—SPT树切换 SPT树切换 组成员DR向原方向发送Join报文 原理 命令 排障 案例 建议 PIM-SM—SPT树切换 SPT树切换 组成员DR向原方向发送Join报文 组成员DR或上游设备向RP发送Prune报文,RP向源端DR发送Prune报文 R1 DR R2 RP Server1 S=1.1.1.1 G=228.1.1.1 在PIM-SM网络中,一个组播组只对应一个RP,只构建一棵RPT。在未进行SPT切换的情况下,所有发往该组的组播报文都必须先封装在注册报文中发往RP,RP解封装后,再沿RPT分发。RP是所有组播报文必经的中转站,当组播报文速率逐渐较大时,对RP形成巨大的负担。为了解决此问题,PIM-SM允许RP或组成员端DR通过触发SPT切换来减轻RP的负担。 切换条件 当信息吞吐率超过预定的值时,PIM-SM就会从共享树切换到组播源路径树。 在VRP中,缺省情况下连接接收者的路由器在探测到组播源之后(即接收到第一个数据报文),便立即加入最短路径树(源树),即从RPT向SPT切换。 组成员端DR周期性检测组播报文的转发速率,一旦发现(S,G)报文的转发速率超过阈值,则触发SPT切换: 组成员端DR逐跳向源端DR逐跳发送Join报文并创建(S,G)表项,建立源端DR到组成员DR的SPT。 SPT建立后,组成员端DR会沿着RPT逐跳向RP发送剪枝报文,删除(S,G)表项中相应的下游接口。剪枝结束后,RP不再沿RPT转发组播报文到组成员端。 如果SPT不经过RP,RP会继续向源端DR逐跳发送剪枝报文,删除(S,G)表项中相应的下游接口。剪枝结束后,源端DR不再沿“源端DR-RP”的SPT转发组播报文到RP。 PC1 接收者 R3 DR 组播流量 Prune报文 Join报文

PIM-SM—RP发现 RP发现 所有路由器均需知晓RP所在位置 发现RP方式 静态RP 动态RP 原理 命令 排障 案例 建议 在PIM-SM组播网络里,担当共享树树根的节点称为RP (Rendezvous Point) 。 RP的作用: 共享树里所有组播流都通过RP转发到接收者。 RP可以负责几个或者所有组播组的转发,网络中可以有一个或多个RP 。用户通过配置命令,可以限制RP只为IP地址在一定范围的组播组服务。一个RP可以同时为多个组播组服务,但一个组播组只能对应一个RP。所有该组成员和向该组发送组播数据的组播源都向唯一的RP汇聚。 RP的发现: 静态RP:在PIM域中的所有PIM路由器上逐一进行配置,静态指定RP。static-rp rp-address 指定静态RP的IP地址。 动态RP:在PIM域内选择几台PIM路由器,配置成为C-RP(Candidate-RP),最后从C-RP中竞选产生RP。 使用动态RP,必须同时配置C-BSR(Candidate-BootStrap Router)。由C-BSR竞选产生BSR。 RP是PIM-SM域中的核心路由器,在小型并且简单的网络中,组播信息量少,全网络仅依靠一个RP进行信息转发即可,此时可以在SM域中各路由器上静态指定RP位置。但是更多的情况下,PIM-SM网络规模都很大,通过RP转发的组播信息量巨大,为了缓解RP的负担同时优化共享树的拓扑结构,不同组播组应该对应不同的RP,此时就需要自举机制来动态选举RP,配置自举路由器BSR(BootStrap Router)。

PIM-SM—动态RP 动态RP 选举BSR 选举RP C-BSR组播发送Bootstrap报文,比较Bootstrap报文选举BSR 原理 命令 排障 案例 建议 PIM-SM—动态RP 动态RP 选举BSR C-BSR组播发送Bootstrap报文,比较Bootstrap报文选举BSR 选举RP C-RP向BSR单播发送Advertisement报文 BSR将信息汇总为RP-Set,封装在Bootstrap报文中,发布给全网的每一台PIM-SM路由器 全网PIM-SM路由器根据Bootstrap报文包含的信息选举RP R1 R4 C-BSR在竞选的时候,每个C-BSR都认为自己是BSR,向全网发送Bootstrap报文。Bootstrap报文中携带C-BSR地址、C-BSR的优先级。每一台PIM路由器都收到所有C-BSR发出的Bootstrap报文,通过比较这些C-BSR信息,竞选产生BSR。竞选规则如下: 优先级较高者获胜(优先级数值越大优先级越高)。 如果优先级相同,IP地址较大者获胜。 C-RP在竞选的时候,具体过程如下: C-RP向BSR发送Advertisement报文,报文中携带C-RP地址、服务的组范围和C-RP优先级。 BSR将这些信息汇总为RP-Set,封装在Bootstrap报文中,发布给全网的每一台PIM-SM路由器。 各PIM路由器根据RP-Set,使用相同的规则进行计算和比较,从多个针对特定组的C-RP中竞选出该组RP。规则如下: C-RP接口地址掩码最长者获胜。 C-RP优先级较高者获胜(优先级数值越大优先级越低)。 如果优先级相同,则执行Hash函数,计算结果较大者获胜。 如果以上都相同,则C-RP地址较大者获胜。 由于所有PIM路由器使用相同的RP-Set和竞选规则,所以得到的组播组与RP之间的对应关系也相同。PIM路由器将“组播组—RP”对应关系保存下来,指导后续的组播操作。 R3 BSR Advertisement报文 R2 C-RP R5 C-RP Bootstrap报文

IGMP 组播原理描述 组播基础 IGMP 二层组播 PIM 组播路由管理 IGMP介绍 IGMPv1基本原理 IGMPv2基本原理 命令 排障 案例 建议 IGMP 组播原理描述 组播基础 IGMP IGMP介绍 IGMPv1基本原理 IGMPv2基本原理 IGMPv3基本原理 IGMP不同版本互操作 IGMP SSM Mapping 二层组播 PIM 组播路由管理

IGMP介绍 IGMP 定义了一个网段内主机与组播路由器之间如何维护组成员信息 包括 IGMPv1 IGMPv2 IGMPv3 IGMP 原理 命令 排障 案例 建议 IGMP介绍 IGMP 定义了一个网段内主机与组播路由器之间如何维护组成员信息 包括 IGMPv1 IGMPv2 IGMPv3 R1 IGMP IGMP 是TCP/IP协议族中负责IPv4组播成员管理的协议,用来在IP主机和与其直连的组播路由器之间建立和维护组播组成员关系。 部署在组播路由器与用户主机之间,路由器配置在与主机相连的接口上。 用于在主机侧实现组播组成员动态加入与离开。在路由器侧实现组成员关系的维护与管理,同时与上层组播路由协议进行信息交互。 三个版本在演进过程中对协议报文的处理是向前兼容的,因此尽管各个版本的协议报文格式不同,但是运行IGMP高版本的路由器可以识别低版本的成员报告。 所有IGMP版本都支持ASM(Any-Source Multicast)模型。IGMPv3可以直接应用于SSM(Source-Specific Multicast)模型,而IGMPv1和IGMPv2则需要SSM-Mapping技术的支持。 PC1 PC2 PC3

IGMPv1基本原理 IGMPv1报文 普遍组查询报文 成员报告报文 查询 报告 组成员离开 新成员加入 原理 命令 排障 案例 建议 R1 查询者 R2 查询 报告 组成员离开 新成员加入 IGMP报文封装在IP报文中,IGMPv1报文有两种类型 普遍组查询报文(General Query):查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播组存在成员。 成员报告报文(Report):主机向组播路由器发送的报告消息,用于申请加入某个组播组或者应答查询报文。 IGMPv1工作机制 IGMPv1协议主要基于查询和响应机制完成组播组管理。当一个网段内有多个组播路由器时,只需要其中一台发送查询报文就足够了,此时需要选举出一个IGMP查询器。在IGMPv1中,由组播路由协议PIM选举出唯一的组播信息转发者(Assert Winner或DR,该部分内容后续介绍)作为IGMPv1的查询器,负责该网段的组成员关系查询。 普遍组查询和响应 组播网络中R1和R2连接主机网段,R1为查询器,在主机网段上有PC1、PC2、PC3三个接收者。假设PC1和PC2想要接收发往组播组G1的数据,PC3想要接收发往组播组G2的数据。普遍组查询和响应过程如下: IGMP查询器(R1)发送普遍组查询报文,目的地址是224.0.0.1(表示同一网段内所有主机和路由器)。普遍组查询报文是周期性发送的,发送周期可以通过命令配置,缺省每隔60秒发送一次。 网段内所有主机都接收到该查询报文,PC1和PC2是组播组G1成员,则在本地启动定时器Timer-G1。PC3是组播组G2的成员,则在本地启动定时器Timer-G2。定时器的范围为0~10秒之间的随机值。 第一个定时器超时的主机发送针对该组的报告报文。PC1上的Timer-G1首先超时,向该网段发送目的地址为G1的报告报文。也想加入组G1的PC2侦听到此报告报文,则停止定时器Timer-G1,不再发送针对G1的报告报文。这样报告报文被抑制,可以减少网段上的流量。 PC3上的Timer-G2超时,向该网段发送报告报文,目的地址为G2。 路由器接收到报告报文后,了解到本网段内存在组播组G1和G2的成员,则由组播路由协议生成(*,G1)和(*,G2)组播转发项,“*”代表任意组播源。网络中一旦有组播组G1和G2的数据到达路由器,将向该网段转发。 新组成员加入 假设在网段上新接入一个主机PC4,想加入组播组G3,但是侦听到网段中没有G3的组播数据。则不等待普遍组查询报文的到来,立即发送针对G3的报告报文。路由器收到报告报文后,了解到本网段内出现了组播组G3的成员,则生成组播转发项(*,G3)。网络中一旦有G3的数据到达路由器,将向该网段转发。 组成员离开 IGMPv1没有专门定义离开组的报文。当主机离开组播组时,将不会再对普遍组查询报文做出回应。假设PC4退出组播组G3,当收到普遍组查询报文时,PC3不再发送针对G3的报告报文。由于网段上不存在组G3的其他成员,路由器不会收到G3的报告报文,则在一定时间(130秒,即组成员关系超时时间=IGMP普遍查询消息发送间隔 × 健壮系数 + 最大查询响应时间)后,删除G2所对应的组播转发项。 普遍组查询 组播组G1普遍组查询 组播组G2普遍组查询 PC4 G3 PC1 G1 PC2 G1 PC3 G2 组播组G3普遍组查询

IGMPv2基本原理 相较于IGMPv1,IGMPv2新增报文 特定组查询报文 成员离开报文 命令 排障 案例 建议 IGMPv2基本原理 相较于IGMPv1,IGMPv2新增报文 特定组查询报文 成员离开报文 修改IGMPv1普遍组查询报文,添加最大响应时间,控制成员相应速度 R1 查询者 R1 R2 查询器选举 离开组机制 10.1.1.2/24 10.1.1.1/24 相比于IGMPv1,除了普遍组查询报文和成员报告报文之外,IGMPv2新增了两种报文 特定组查询报文(Group-Specific Query):查询器向共享网段内指定组播组发送的查询报文,用于查询该组播组是否存在成员。 成员离开报文(Leave):成员离开组播组时主动向路由器发送的报文,用于宣告自己离开了某个组播组。 IGMPv2对普遍组查询报文格式也做了改进,添加了最大响应时间(Max Response Time)字段。此字段取值可以配置,用于控制成员的响应速度。 查询者选举 IGMPv2使用独立的查询器选举机制,当共享网段上存在多个组播路由器时,IP地址最小的路由器成为查询器。而IGMPv1依赖于PIM等上层协议进行选举。 拓扑描述: 所有IGMPv2路由器在初始时都认为自己是查询器,向本地网段内的所有主机和路由器发送普遍组查询报文。 其他路由器在收到该报文后,将报文的源IP地址与自己的接口地址作比较。通过比较,IP地址最小的路由器将成为查询器,其他路由器成为非查询器(Non-Querier)。R1的接口地址小于R2,则R1当选为查询器。 所有非查询器上都会启动一个定时器(即其他查询器存在时间定时器Other Querier Present Timer,其他IGMP查询器的存活时间 = 健壮系数 × IGMP普遍查询消息发送间隔 +(1/2)× 最大查询响应时间。当健壮系数、IGMP普遍查询消息发送间隔和最大查询响应时间都取缺省值时,其他IGMP查询器的存活时间的值为125秒。)。在该定时器超时前,如果收到了来自查询器的查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。 离开组机制 在IGMPv2中,主机PC3想离开组播组G2时,过程如下: PC3向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送针对组G2的离开报文。 查询器收到离开报文,会发送针对组G2的特定组查询报文。发送间隔和发送次数可以配置。缺省每隔1秒发送一次,一共发送两次。同时启动组成员关系定时器Timer-Membership=发送间隔x发送次数。 网段内不存在其他组G2的成员,则路由器不会收到针对组G2的报告报文,会在Timer-Membership超时后,删除(*,G)表项中对应的下游接口。组G2的数据再到达路由器时,将不会再向该网段转发。 如果网段内还有组G2的其他成员,则这些成员在收到特定组查询报文后,会在该报文中指定的最大响应时间内发送针对组G2的报告报文。路由器继续维护该组成员关系。 R1发布普遍组查询 R2发布普遍组查询 PC3发送离开组G2消息 PC1 G1 PC2 G1 PC3 G2 R1发布组G2查询消息

IGMPv3—报文 相较于IGMPv2,IGMPv3新增的报文 特定源组查询报文 报告报文包括主机要加入的组和组播源的过滤模式 原理 命令 排障 案例 建议 IGMPv3—报文 相较于IGMPv2,IGMPv3新增的报文 特定源组查询报文 报告报文包括主机要加入的组和组播源的过滤模式 INCLUDE EXCLUDE 取消成员关系报告抑制机制 IGMPv3主要是为了配合SSM(Source-Specific Multicast)模型发展起来的,提供了在报文中携带组播源信息的能力,即能加入到指定源的组播组。 IGMPv3报文包含两大类:查询报文和报告报文。相较IGMPv2,其变化如下: 查询报文中除了普遍组查询和特定组查询,新增了特定源组查询报文(Group-and-Source-Specific Query)。该报文由查询器向共享网段内特定组播组成员发送,用于查询该组成员是否愿意接收特定源发送的数据。特定源组查询通过在报文中携带一个或多个组播源地址来达到这一目的。 报告报文不仅通知路由器主机要加入某组播组,并且可以指定只接收哪些组播源发往该组的数据。IGMPv3增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),将组播组与源列表之间的对应关系简单的表示为(G,INCLUDE,(S1、S2...)),表示只接收来自指定组播源S1、S2……发往组G的数据;或(G,EXCLUDE,(S1、S2...)),表示接收除了组播源S1、S2……之外的组播源发给组G的数据,即S1、S2……在接收范围之外。

IGMPv3—报告报文组记录 IGMPv3报告报文组记录 通过报告报文组记录字段记录组播组与组播源列表对应关系发生的变化 分类 组记录类型 原理 命令 排障 案例 建议 IGMPv3—报告报文组记录 IGMPv3报告报文组记录 通过报告报文组记录字段记录组播组与组播源列表对应关系发生的变化 分类 组记录类型 含义 当前状态报告,相应查询报文 IS_IN 表示组播组与源列表之间的对应方式为INCLUDE IS_EX 表示组播组与源列表之间的对应方式为EXCLUDE 过滤模式报告,通告过滤模式发生变化 TO_IN 表示组播组与源列表之间的对应关系切换到INCLUDE。如果源列表为空,则表示离开该组播组 TO_EX 表示组播组与源列表之间的对应关系切换到EXCLUDE 源列表报告,通告源发生变化 ALLOW 表示在现有基础上,还希望从那些源接收或不接收数据 BLOCK IGMPv3报告报文中的组类型 IS_IN 表示组播组与源列表之间的对应方式为INCLUDE,即接收从指定源列表发往该组播组的数据。 IS_EX TO_IN 表示组播组与源列表之间的对应方式由EXCLUDE转换到INCLUDE。如果这时指定源列表为空,则表示离开该组播组。 表示组播组与源列表之间的对应方式由INCLUDE转换到EXCLUDE。 ALLOW 表示在现有的基础上,还希望从某些组播源接收组播数据。如果当前对应关系为INCLUDE,则向现有源列表中添加某些组播源;如果当前对应关系为EXCLUDE,则从现有源列表中删除某些组播源。 表示在现有的基础上,不再希望从某些组播源接收组播数据。如果当前对应关系为INCLUDE,则从现有源列表中删除某些组播源;如果当前对应关系为EXCLUDE,则向现有源列表中添加某些组播源。 在IGMPv3中一个成员报告报文可以携带多个组播组信息,而之前的版本一个成员报告只能携带一个组播组。这样在IGMPv3中报文数量大大减少。 IGMPv3没有定义专门的成员离开报文,成员离开通过特定类型的报告报文来传达。例如组225.1.1.1的成员想离开这个组,则会发送(225.1.1.1,TO_IN,(0))的报告报文。

IGMPv3—工作机制 与IGMPv2相比,IGMPv3增加了主机对组播源的选择能力 特定源组加入 原理 命令 排障 案例 建议 Server1 Server2 R1 G=228.1.1.1 G=228.1.1.1 源1.1.1.1 发送的流量 源IP 1.1.1.1 源IP 2.2.2.2 如果主机和路由器之间运行的是IGMPv1或IGMPv2,主机加入组播组G时无法对组播源进行选择,无论其是否需要,都会同时接收到来自组播源S1和S2的数据。如果采用IGMPv3,主机可以选择仅接收S1组播数据。 方法一:Host发送IGMPv3报告(G,IS_IN,(S1)),仅接收源S1向组播组G发送的数据。 方法二:Host发送IGMPv3报告(G,IS_EX,(S2)),不接收指定源S2向组播组G发送的数据,从而仅有来自S1的组播数据才能传递到Host。 源2.2.2.2 发送的流量 G,IS_IN,(S1) IGMPv3报告报文 PC2

IGMP不同版本互操作 与IGMPv1路由器兼容 与IGMPv1主机兼容 IGMPv2主机必须发送版本1成员报告报文,且不发送成员离开报文 原理 命令 排障 案例 建议 IGMP不同版本互操作 与IGMPv1路由器兼容 IGMPv2主机必须发送版本1成员报告报文,且不发送成员离开报文 IGMPv2路由器必须强制发送版本1报文 与IGMPv1主机兼容 IGMPv2主机成员报告报文需被版本1主机抑制 IGMPv2路由器忽略收到的成员离开报文 与IGMPv1路由器兼容 当版本2的主机发现版本1的路由器后,版本2的主机必须发送版本1的成员关系报告报文,并且不能发送成员离开报文。 同一网段既有版本1路由器,又有版本2路由器,则查询路由器必须发送版本1报文。 与IGMPv1主机兼容 版本2主机的成员关系报告报文必须被版本1主机的成员关系报告报文抑制,否则查询者将不会知道网络中存在版本1的主机。如果查询者为版本2路由器,且该查询者收到成员关系(假设版本1主机在该组中)离开报文,则会导致版本1主机不能收到特定组的流量。 IGMPv2路由器如果发现网络中存在版本1的主机后,该路由器会忽略后续收到的成员离开报文。

IGMP SSM Mapping IGMP SSM Mapping 为IGMPv1主机和IGMPv2主机提供SSM服务 原理 命令 排障 案例 建议 IGMP SSM Mapping IGMP SSM Mapping 为IGMPv1主机和IGMPv2主机提供SSM服务 通过在路由器上静态配置SSM地址的映射规则,将IGMPv1和IGMPv2报告报文中的(*,G)信息转化为对应的(S,G)信息 Server1 IGMPv3成员报告 PC1 10.10.1.1 IGMPv3 IGMPv3成员报告 G=232.1.2.2 SSM Mapping的机制是:通过在路由器上静态配置SSM地址的映射规则,将IGMPv1和IGMPv2报告报文中的(*,G)信息转化为对应的(S,G)信息,以提供SSM组播服务。缺省情况下,SSM组地址范围为232.0.0.0~232.255.255.255。 IGMP SSM Mapping不处理IGMPv3的报告报文。为了保证同一网段运行任意IGMP版本的主机都能得到SSM服务,需要在路由器接口上运行IGMPv3。 配置了SSM Mapping规则后,当路由器收到来自成员主机的IGMPv1或IGMPv2报告报文时,首先检查该报文中所携带的组播组地址G,然后根据检查结果的不同分别进行处理。 如果G在ASM(Any-Source Multicast)范围内,则只提供ASM服务。 如果G在SSM组地址范围内: 如果路由器上没有G对应的SSM Mapping规则,则无法提供SSM服务,丢弃该报文。 如果路由器上有G对应的SSM Mapping规则,则依据规则将报告报文中所包含的(*,G)信息映射为(S,G)信息,提供SSM服务。 拓扑描述 SSM网络中PC1运行IGMPv3、PC2运行IGMPv2、PC3运行IGMPv1。PC2和PC3无法升级到IGMPv3,如果要为该网段中的所有主机提供SSM服务,需要在R1上使用IGMP SSM Mapping。 使能映射前,R1上的映射关系如下: 组播组----源:232.0.0.0/8----10.10.1.1 组播组----源:232.1.0.0/16----10.10.2.2 组播组----源:232.1.1.0/24----10.10.3.3 使能映射后,首先判断报文携带的组地址是否在SSM范围内,发现在SSM范围内,则根据配置的映射规则生成如下所示的组播表项。如果一个组地址映射了多个源,则生成多个(S,G)表项。这里给出针对PC2和PC3报告报文形成的表项: (10.10.1.1,232.1.1.1) (10.10.2.2,232.1.1.1) (10.10.3.3,232.1.1.1) (10.10.1.1,232.1.2.2) (10.10.2.2,232.1.2.2) Server2 R1 PC2 SSM域 10.10.2.2 IGMPv2 IGMPv3成员报告 G=232.1.3.3 Server3 PC3 10.10.3.3 IGMPv1

二层组播 组播原理描述 组播基础 IGMP 二层组播 PIM 组播路由管理 IGMP Snooping 组播VLAN 原理 命令 排障 案例 建议 二层组播 组播原理描述 组播基础 IGMP 二层组播 IGMP Snooping 组播VLAN PIM 组播路由管理

IGMP Snooping—概述 IGMP Snooping 解决组播报文在二层广播的问题 监听IGMP报文,构建MAC组播表项 原理 命令 排障 案例 建议 IGMP Snooping—概述 IGMP Snooping 解决组播报文在二层广播的问题 监听IGMP报文,构建MAC组播表项 Server1 R1 根据IGMP协议,主机加入组播组时,需要向上游设备发送IGMP报文,向其报告加入组播组消息,这样上游设备才可以将组播报文发送给主机。由于IGMP报文是封装在IP报文内,属于三层协议报文,而二层设备不处理报文的三层信息,所以这个过程它并不知道,而且通过对数据链路层数据帧的源MAC地址的学习也学不到组播MAC地址(数据帧的源MAC地址不会是组播MAC地址)。这样当二层设备在接收到一个目的MAC地址为组播MAC地址的数据帧时,在以前学习的MAC地址表中就不会找到对应的表项。那么这时候,它就会采用广播方式发送接收到的组播报文,这样一来不但会造成带宽的极大浪费,而且影响网络安全。 S1 组播流量 PC1 PC2

IGMP Snooping—工作机制 工作机制 组播转发表项 VLAN 2 组播地址 228.1.1.1 路由器端口 E0/0/1 原理 命令 排障 案例 建议 IGMP Snooping—工作机制 工作机制 Server1 R1 组播转发表项 VLAN 2 组播地址 228.1.1.1 路由器端口 E0/0/1 组播组成员端口 E0/0/2 E0/0/1 S1 E0/0/2 路由器端口 基本概念 路由器端口: 路由器端口是指朝向组播路由器的端口,数据链路层组播设备从该端口接收组播报文。路由器端口分为如下两类: 动态路由器端口:能够接收到源地址不为0.0.0.0的IGMP Query报文或者PIM Hello报文的端口。动态路由器端口依赖于组播设备与主机之间交互的协议报文,动态维护。每个动态路由器端口启动一个路由器端口老化定时器,定时器超时则该路由器端口失效。 静态路由端口:用户使用配置命令指定的,不会老化。 组播组成员端口是指朝向组成员主机的端口,数据链路层组播设备从该端口发出组播报文。组播组成员端口简称为成员端口,分为如下两类: 动态成员端口:能够接收到IGMP Report报文的端口。动态成员端口依赖于组播设备与主机之间交互的协议报文,动态维护。每个动态成员端口启动一个成员端口老化定时器,定时器超时则该成员端口失效。 静态成员端口:用户使用配置命令指定的,不会老化。 出端口信息 工作机制 当收到IGMP通用查询报文时,如果收到通用查询报文的端口原来就是路由器端口,以太网交换机就重置该端口的老化定时器;如果收到通用查询报文的端口原来不是路由器端口,则交换机启动对该端口的老化定时器(老化时间为180秒或PIM Hello报文携带的Holdtime值,其中Holdtime缺省为105秒)。 当以太网交换机收到IGMP报告报文时,首先判断该报文要加入的IP组播组对应的MAC组播组是否已经存在。 如果不存在则新建MAC组播组,并将接收报告报文的端口加入该MAC组播组中,同时启动该端口的老化定时器(健壮系数 × 普遍查询时间间隔 + 最大响应时间),将该端口所属VLAN下存在的所有路由器端口加入到此MAC组播转发表中,而且新建IP组播组,并将接收报告报文的端口加入到IP组播组中。 如果该报文对应的MAC组播组已经存在,但是接收报告报文的端口不在该MAC组播组中,则将接收报告报文的端口加入MAC组播组中并启动该端口的老化定时器,然后判断此报文对应的IP组播组是否存在:如果不存在,则新建IP组播组并把接收报告报文的端口加入到IP组播组中,如果存在则将接收报告报文的端口加入到IP组播组中。 如果该报文对应的MAC组播组已存在,并且接收报告报文的端口也已经存在于该MAC组播组,则仅重置接收报告报文的端口上的老化定时器。 IGMP离开报文:当以太网交换机收到对某IP组播组的离开报文,则会向接收此离开报文的端口发送所离开组的特定组查询报文,以确认此端口相连的主机中还有没有此组播组的其他成员,同时启动一个响应查询定时器(特定组查询消息发送时间间隔 × 健壮系数)。如果在该定时器超时的时候还没有收到该组播组的报告报文,则将该端口从相应MAC组播组中删去。如果MAC组播组没有组播成员端口时,交换机将通知组播路由器将该分支从组播树中删除。 组播组成员端口 通用组查询报文 成员关系报告报文 PC1 VLAN 2 Level报文

组播VLAN 组播VLAN 解决路由器为不同VLAN用户复制多份流量的问题 组播VLAN转发 普通二层转发 原理 命令 排障 案例 建议 Server1 R1 组播VLAN转发 普通二层转发 组播VLAN Trunk S1 二层组播 如果不同VLAN的用户有相同的组播数据需求时,上游路由器仍然需要发送多份相同报文到不同VLAN中。 属于不同VLAN(VLAN2和VLAN3)的用户需要接收相同的组播流,上游路由器RouterA就会把组播数据在每个VLAN内都复制一份然后发送给下游交换机SwitchA。这样,既造成了路由器与二层设备之间带宽的浪费,也增加了路由器额外的负担。 组播VLAN 组播VLAN,在二层网络设备上进行跨VLAN组播复制。 在交换机上部署了组播VLAN功能后,上游路由器不必在每个用户VLAN(VLAN2和VLAN3)内都复制一份组播流,而是数据流在组播VLAN(VLAN4)内复制一份后发送给二层设备。这样就避免了组播流在上游设备的重复复制,不仅节省了网络带宽,又减轻了上游路由器的负担。 基本概念 组播VLAN:网络侧接口所属VLAN,用于实现组播流的汇聚。一个组播VLAN可以绑定多个用户VLAN。 用户VLAN:用户侧接口所属VLAN,用于接收组播VLAN的组播数据。一个用户VLAN只能加入一个组播VLAN。 VLAN2组播报文 VLAN3组播报文 用户VLAN PC1 PC2 VLAN4组播报文 VLAN 2 VLAN 3

Bootstrap配置命令 c-rp命令用来配置路由器向BSR通告自己为候选RP C-RP竞选RP的规则如下: C-RP接口地址掩码最长者获胜; C-RP优先级值越小者获胜; 如果优先级相同,则执行Hash函数,计算结果较大者获胜; 如果以上都相同,则C-RP地址较大者获胜 c-bsr priority命令用来配置C-BSR的全局优先级 当PIM-SM域中多个C-BSR参与竞选BSR时: 具有最高优先级的路由器将成为BSR; 当优先级相同时,IP地址较大者将成为BSR。

PIM-SSM PIM-SSM特点 无需维护RP、无需构建RPT、无需注册组播源,可以直接在源与组成员之间建立SPT 原理 命令 排障 案例 建议 PIM-SSM PIM-SSM特点 无需维护RP、无需构建RPT、无需注册组播源,可以直接在源与组成员之间建立SPT 使用组播地址232.0.0.0-232.255.255.255 R1 DR R3 DR Server1 PC1 接收者 SSM模型是借助PIM-SM的部分技术和IGMPv3/MLDv2来实现的,无需维护RP、无需构建RPT、无需注册组播源,可以直接在源与组成员之间建立SPT。 SSM的特点是网络用户能够预先知道组播源的具体位置。因此用户在加入组播组时,可以明确指定从哪些源接收信息。组成员端DR了解到用户主机的需求后,直接向源端DR发送Join报文。Join报文逐跳向上传输,在源与组成员之间建立SPT。 在SSM模型中,PIM-SM的关键机制包括邻居发现、DR竞选、构建SPT。 SPT的建立过程如下: R3、R5借助IGMPv3协议了解到用户主机有到相同组播组不同组播源的组播需要,逐跳向源方向发送Join报文。 PIM路由器通过Join报文分别创建(S1,G)、(S2,G)表项,从而分别建立了源S1到组成员PC1、源S2到组成员PC2的SPT。 SPT建立后,源端就会将组播报文沿着SPT分发给组成员。 R4 R2 DR Server2 PC2 接收者 组播流量报文 R5 DR Join (S1,G) Join(S2,G)

MSDP MSDP(Multicast Source Discovery Protocol)是能够解决上述问题的一种机制,成为基于多个PIM-SM域互连而开发的一种域间组播解决方案。MSDP的实现方式是:在各个PIM-SM域的RP之间建立MSDP对等体关系,MSDP对等体之间通过交互SA(Source-Active)消息,将(S,G)信息从“组播源注册的RP”传递给其他的PIM-SM域的“组成员主机加入的RP”。

配置MSDP实现PIM-SM域间组播示例

配置命令

配置基于MSDP的Anycast RP示例

MSDP命令 peer connect-interface 命令用来配置MSDP对等体 originating-rp命令用来在RP创建SA消息时,使用指定接口IP地址代替实际的源RP地址,也称为“逻辑RP” peer mesh-group 命令用来将一个MSDP对等体加入全连接组 当Mesh Group内部成员接收到SA消息后,首先检查该SA消息的来源: 如果该SA消息来自Mesh Group外部的某个MSDP对等体,则对该SA消息进行RPF检查。如果检查通过,向Mesh Group内其他所有成员转发。 如果该SA消息来自Mesh Group内部成员,则不进行RPF检查,直接接收。同时也不再向Mesh Group内其他成员转发。 peer sa-policy命令用来配置接收或转发SA消息的过滤策略

MSDP命令 cache-sa-enable命令用来使能SA缓存功能,收到SA消息后缓存其中包含的(S,G)表项 static-rpf-peer命令用来指定MSDP对等体为静态RPF对等体,从该对等体发来的SA消息不需要进行RPF检查 display msdp rpf-peer命令用来查看到指定源RP地址的所有RPF对等体信息,包括RPF对等体选取规则及依据的路由信息类型 设备收到下列任何一种MSDP对等体发送的SA消息都不进行RPF检查: 1.该MSDP对等体地址为源RP地址 2.该MSDP对等体为本设备静态指定的RPF对等体 3.该MSDP对等体为本设备唯一的MSDP对等体 4.该MSDP对等体加入了全连接组,为Mesh Group的成员

组播配置命令 组播原理描述 组播配置命令 组播故障诊断 组播案例分析 组播备考建议 配置PIM-DM 配置PIM-SM 原理 命令 排障

配置PIM-DM 公司A网络拓扑如下所示,现根据需求完成如下配置: 全网运行OSPF协议,且已经部署完毕; 全网采用PIM-DM模式; 原理 命令 排障 案例 建议 配置PIM-DM 公司A网络拓扑如下所示,现根据需求完成如下配置: 全网运行OSPF协议,且已经部署完毕; 全网采用PIM-DM模式; 使用IGMPv1协议,保证R2为查询者。 Server1 R1 R2 1.1.1.2/24 2.2.2.1/24 PC1 2.2.2.3/24 (S,G)=(1.1.1.1,228.1.1.1) 案例描述 本案例中设备互联地址规则如下: 如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。 2.2.2.4/24 2.2.2.2/24 PC2 R3

配置PIM-DM(续) 原理 命令 排障 案例 建议 R1 R2 R3 Server1 (S,G)=(1.1.1.1,228.1.1.1) 1.1.1.2/24 2.2.2.1/24 2.2.2.2/24 PC1 PC2 2.2.2.3/24 2.2.2.4/24 interface Ethernet0/0/1 ip address 2.2.2.1 255.255.255.0 pim hello-option dr-priority 10000 pim dm igmp enable igmp version 1 # interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.0 interface GigabitEthernet0/0/1 ip address 23.1.1.2 255.255.255.0 ospf 1 area 0.0.0.0 network 12.1.1.0 0.0.0.255 network 23.1.1.0 0.0.0.255 network 2.2.2.0 0.0.0.255 [R3]display pim routing-table Total 1 (*, G) entry; 1 (S, G) entry (*, 228.1.1.1) Protocol: pim-dm, Flag: WC (1.1.1.1, 228.1.1.1) UpTime: 00:00:10 Protocol: pim-dm, Flag: ACT Upstream interface: NULL UpTime: 00:18:02 Upstream neighbor: NULL Upstream interface: GigabitEthernet0/0/2 RPF prime neighbor: NULL Upstream neighbor: 13.1.1.1 Downstream interface(s) information: RPF prime neighbor: 13.1.1.1 Total number of downstreams: 1 1: Ethernet0/0/1 Protocol: igmp, UpTime: 00:00:10, Expires: never Protocol: pim-dm, UpTime: 00:00:10, Expires: 00:02:31 命令含义 multicast routing-enable命令用来使能组播功能。 pim dm命令用来在接口上使能PIM-DM。 pim hello-option dr-priority命令用来配置PIM接口竞选成为DR的优先级。 igmp enable命令用来在接口上使能IGMP。 igmp version命令用来在接口上配置运行的IGMP版本。 注意事项 拓扑中R2为IGMP查询者,而R3负责向下游转发组播报文。是因为R3在断言的过程中胜出,所以R3负责向下游转发组播流量。 display pim routing-table命令用来查看PIM协议组播路由表的内容。 display pim routing-table fsm查看PIM协议组播路由表FSM状态的详细信息。

配置PIM-SM 公司A网络拓扑如下所示,现根据需求完成如下配置: 全网运行OSPF,且已经部署完毕; 原理 命令 排障 案例 建议 配置PIM-SM 公司A网络拓扑如下所示,现根据需求完成如下配置: 全网运行OSPF,且已经部署完毕; 使用R1环回口地址作为C-RP地址和C-BSR地址; BSR消息不能传输到Server和PC所在网络。 R1 R2 R3 Server1 (S,G)=(1.1.1.1,228.1.1.1) 1.1.1.2/24 2.2.2.1/24 2.2.2.2/24 PC1 PC2 2.2.2.3/24 2.2.2.4/24 Loopback0 11.11.11.11/32 案例描述 该案例拓扑和之前的拓扑一致。全网运行PIM-SM,另外需要对BSR消息传播范围进行限制。

配置PIM-SM(续) 原理 命令 排障 案例 建议 R1 R2 R3 Server1 (S,G)=(1.1.1.1,228.1.1.1) 1.1.1.2/24 2.2.2.1/24 2.2.2.2/24 PC1 PC2 2.2.2.3/24 2.2.2.4/24 interface Ethernet0/0/1 ip address 1.1.1.2 255.255.255.0 pim bsr-boundary pim sm interface GigabitEthernet0/0/0 ip address 12.1.1.1 255.255.255.0 interface GigabitEthernet0/0/2 ip address 13.1.1.1 255.255.255.0 interface LoopBack0 ip address 11.11.11.11 255.255.255.255 # ospf 1 area 0.0.0.0 network 1.1.1.0 0.0.0.255 network 12.1.1.0 0.0.0.255 network 13.1.1.0 0.0.0.255 network 11.11.11.0 0.0.0.255 pim c-bsr LoopBack0 c-rp LoopBack0 Protocol: pim-sm, UpTime: 00:00:10, Expires: 00:03:20 [R1]display pim routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (1.1.1.1, 228.1.1.1) (*, 228.1.1.1) Protocol: pim-sm, Flag: SPT 2MSDP LOC ACT RP: 11.11.11.11 (local) Protocol: pim-sm, Flag: WC UpTime: 00:00:22 UpTime: 00:00:10 Upstream interface: Ethernet0/0/1 Upstream interface: Register Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/0/2 命令含义 pim sm命令用来在接口上使能PIM-SM。 c-rp命令用来配置路由器向BSR通告自己为候选RP。 c-bsr命令用来配置C-BSR。 pim bsr-boundary命令用来在接口上配置PIM-SM域的BSR边界。 注意事项 拓扑中R2为IGMP查询者,而R3负责向下游转发组播报文。是因为R3在断言的过程中胜出,所以R3负责向下游转发组播流量。 display pim routing-table命令用来查看PIM协议组播路由表的内容。 display pim routing-table fsm查看PIM协议组播路由表FSM状态的详细信息。

原理 命令 排障 案例 建议 组播路由故障诊断 组播原理描述 组播配置命令 组播故障诊断 组播案例分析 组播备考建议

原理 命令 排障 案例 建议 二层组播故障诊断 用户VLAN下用户无法收到组播报文 1. 检查上下行链路是否为UP 2. 检查全局和VLAN是否使能了IGMP Snooping 3. 检查是否存在配置冲突 4. 检查是否禁用了接口或VLAN动态学习功能 5. 检查配置了成员接口快速离开功能 6. 检查是否配置igmp-snooping require-router-alert 7. 是否配置了组播组策略

三层组播故障诊断(1) 三层组播故障诊断 PIM邻居down 组播业务不通 1. 检查接口是否使能PIM 2. 检查接口PIM状态是否为Up 原理 命令 排障 案例 建议 三层组播故障诊断(1) 三层组播故障诊断 PIM邻居down 1. 检查接口是否使能PIM 2. 检查接口PIM状态是否为Up 3. 检查接口上PIM相关配置是否正确 组播业务不通 1. 检查有无到源的路由 2. 检查组播转发表项出、入接口的状态是否正常 3. 检查PIM协议信息表是否生成 4. 检查转发表项是否生成

三层组播故障诊断(2) 三层组播故障诊断 PIM-SM网络中RPT无法正常转发数据 1.检查PIM路由表中是否存在正确的(*,G)表项 原理 命令 排障 案例 建议 三层组播故障诊断(2) 三层组播故障诊断 PIM-SM网络中RPT无法正常转发数据 1.检查PIM路由表中是否存在正确的(*,G)表项 2.检查接口是否使能PIM-SM 3.检查下游接口是否收到Join消息 4.检查RP信息是否正确 5.检查是否存在到达RP的RPF路由 6.检查转发组播数据的接口是否为接收者DR 7.检查接口是否配置组播边界 8.检查是否配置了source-policy PIM-SM网络中SPT的检查和RPT类似。

三层组播故障诊断(3) 三层组播故障诊断 组播设备无法正常建立IGMP表项 1.检查设备是否使能组播 2.检查接口是否使能IGMP 原理 命令 排障 案例 建议 三层组播故障诊断(3) 三层组播故障诊断 组播设备无法正常建立IGMP表项 1.检查设备是否使能组播 2.检查接口是否使能IGMP 3.检查IGMP的版本 4.检查组播组G是否属于SSM组地址范围 5.检查接口上是否配置了限制用户加入的组范围 6.检查接口是否配置了限制IGMP组成员关系的最大数量 PIM-SM网络中SPT的检查和RPT类似。

原理 命令 排障 案例 建议 组播案例分析 组播原理描述 组播配置命令 组播故障诊断 组播案例分析 案例1 组播备考建议

案例1 公司B网络部分拓扑如下图所示,现公司B要求如下: 全网帧中继和OSPF已经部署完毕; 原理 命令 排障 案例 建议 案例1 公司B网络部分拓扑如下图所示,现公司B要求如下: 全网帧中继和OSPF已经部署完毕; R3配置为C-BSR,C-BSR地址为R3的环回口地址; R4使用Loopback 0的地址,作为232.0.0.0-239.255.255.255组播地址段的C-RP地址。 R1 .1 102 103 案例描述 本案例中设备互联地址规则如下: 如RTX与RTY互联,则互联地址为XY.1.1.X与XY.1.1.Y。 RTX的环回口地址为X.X.X.X/32。 123.1.1.0/24 .2 201 .3 301 R2 R3 R4

案例1—预配 预配 原理 命令 排障 案例 建议 R1 R2 R3 R4 123.1.1.0/24 预配 router id 4.4.4.4 # interface GigabitEthernet0/0/0 ip address 34.1.1.4 255.255.255.0 interface LoopBack0 ip address 4.4.4.4 255.255.255.255 ospf 1 area 0.0.0.0 network 0.0.0.0 255.255.255.255 router id 1.1.1.1 # interface Serial1/0/0 link-protocol fr undo fr inarp fr map ip 123.1.1.2 102 broadcast fr map ip 123.1.1.3 103 broadcast ip address 123.1.1.1 255.255.255.0 ospf dr-priority 100 interface LoopBack0 ip address 1.1.1.1 255.255.255.255 ospf 1 peer 123.1.1.2 peer 123.1.1.3 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 123.1.1.0 0.0.0.255 预配 router id 2.2.2.2 # interface Serial1/0/0 link-protocol fr undo fr inarp fr map ip 123.1.1.1 201 broadcast fr map ip 123.1.1.3 201 broadcast ip address 123.1.1.2 255.255.255.0 interface LoopBack0 ip address 2.2.2.2 255.255.255.255 ospf 1 peer 123.1.1.1 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 123.1.1.0 0.0.0.255 router id 3.3.3.3 # interface Serial1/0/0 link-protocol fr undo fr inarp fr map ip 123.1.1.1 301 broadcast fr map ip 123.1.1.2 301 broadcast ip address 123.1.1.3 255.255.255.0 interface LoopBack0 ip address 3.3.3.3 255.255.255.255 ospf 1 peer 123.1.1.1 area 0.0.0.0 network 3.3.3.0 0.0.0.255 network 34.1.1.0 0.0.0.255 network 123.1.1.0 0.0.0.255 预配 该部分配置为OSPF基本配置。其中R1为帧中继网络中的DR。

案例1—需求1 R3配置为C-BSR,C-RP地址为R3的环回口地址。 原理 命令 排障 案例 建议 R1 R2 R3 R4 multicast routing-enable # interface Serial1/0/0 pim sm interface GigabitEthernet0/0/0 interface LoopBack0 pim c-bsr LoopBack0 R1 R2 R3 R4 123.1.1.0/24 [R1]display pim bsr-info VPN-Instance: public net Elected AdminScoped BSR Count: 0 Elected BSR Address: 3.3.3.3 Priority: 0 Hash mask length: 30 State: Accept Preferred Scope: Not scoped Uptime: 00:54:24 Expires: 00:01:34 C-RP Count: 1 [R2]display pim bsr-info multicast routing-enable # interface Serial1/0/0 pim sm interface GigabitEthernet0/0/0 interface LoopBack0 pim c-bsr LoopBack0 ip rpf-route-static 3.3.3.3 32 123.1.1.1 <R2>debug pim all Jul 22 2013 13:58:06.967.5-05:13 R2 PIM/7/RP:(public net): Receive BSR packet. And use BSR Mechanism now. (S034283) <R2> Jul 22 2013 13:58:06.967.6-05:13 R2 PIM/7/RP:(public net): RPF Failure. 123.1.1.1 not next hop to C-BSR 3.3.3.3, ignored. (S18651) Jul 22 2013 13:58:06.967.7-05:13 R2 PIM/7/RP:(public net): Rejecting BSR message from 123.1.1.1 advertising C-BSR 3.3.3.3. (S182334) [R2]dis pim bsr-info VPN-Instance: public net Elected AdminScoped BSR Count: 0 Elected BSR Address: 3.3.3.3 Priority: 0 Hash mask length: 30 State: Accept Preferred Scope: Not scoped Uptime: 00:00:13 Expires: 00:01:57 C-RP Count: 1 结果说明 由于BSR消息是经由R1传递给R2的,违反了R2上的RPF规则,所以R2会直接对其该BSR消息。为了进行修正,需要在R2上通过静态组播路由对RPF做适当修正。

案例1—需求2 R4使用Loopback 0的地址,作为232.0.0.0-239.255.255.255组播地址段的C-RP地址。 原理 命令 排障 案例 建议 案例1—需求2 R4使用Loopback 0的地址,作为232.0.0.0-239.255.255.255组播地址段的C-RP地址。 R1 R2 R3 R4 123.1.1.0/24 acl number 2000 rule 5 permit source 232.0.0.0 7.255.255.255 # pim c-rp LoopBack0 group-policy 2000 [R2]display pim rp-info VPN-Instance: public net PIM-SM BSR RP Number:1 Group/MaskLen: 224.0.0.0/4 RP: 4.4.4.4 Priority: 0 Uptime: 00:07:00 Expires: 00:02:30 结果说明 通过ACL对特定组播地址段进行限制。

原理 命令 排障 案例 建议 组播备考建议 组播原理描述 组播配置命令 组播故障诊断 组播案例分析 组播备考建议

组播备考建议 练习PIM-DM、PIM-SM和IGMP等相关命令 熟悉PIM、 IGMP等原理和应用 熟悉ACL等相关策略工具的使用 排障 案例 建议 组播备考建议 练习PIM-DM、PIM-SM和IGMP等相关命令 熟悉PIM、 IGMP等原理和应用 熟悉ACL等相关策略工具的使用 熟读HedEx文档 包括HedEx涵盖的案例 熟练掌握display和debug命令 熟练掌握理解课程中设计的案例场景