此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文为通过通用路由封装 (GRE) 隧道进行组播提供配置示例。
在许多网络场景中,您都需要配置网络,以使用 GRE 隧道在路由器之间发送独立于协议的组播 (PIM) 和组播流量。当组播源和接收方被没有配置IP组播路由的IP网云分开时,通常会出现这种情况。在这种网络方案中,使用PIM在整个IP网云中配置了一个隧道,实现了组播信息包到接收器的传输。本文描述了有关GRE隧道上的组播的配置、验证和相关问题。
尝试进行此配置之前,请确保满足以下要求:
对多组播和 PIM 有个基本了解会很有用。欲知关于组播和PIM 的更多信息,请参见组播快速配置指南。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本部分提供有关如何配置本文档所述功能的信息。
如网络图所示,组播源(10.1.1.1)连接到R102,并配置为组播组239.1.1.20。组播接收器(10.2.2.3)连接到R104,并配置为接收组239.1.1.20的组播数据包。将R102和R104分隔为IP云,未配置组播路由。
在用环回接口确定来源的 R104 与 R102 之间配置隧道。在隧道接口上配置ip pim sparse-dense mode命令,并在R102和R104上启用组播路由。隧道接口上的稀疏 — 密集模式配置允许根据组的交汇点(RP)配置在隧道上转发稀疏模式或密集模式数据包。
注意: 对于密集模式 — 在隧道上配置PIM密集模式时,在R104上配置ip mroute 10.1.1.0 255.255.255.0 tunnel 0命令,以确保组播源地址10.1.1.1的RPF成功。传入(10.11.1.1、239.1.1.20)通过隧道0(Tu0)的组播数据包使用此mroute语句检查反向路径转发(RPF)。在检查成功后,会将组播数据包转发至流出接口列表 (OIL) 接口。
注意: 对于稀疏模式 — 在隧道上配置PIM稀疏模式时,请确保以下点得到寻址:
要对从 RP 流过共享结构树 (*,G) 的组播数据流成功进行 RPF 验证,需要为指向隧道接口的 RP 地址配置 ip mroute rp-address nexthop 命令。
在此示例中假设 R102 是 RP(RP 地址 2.2.2.2),那么 mroute 为ip mroute 2.2.2.2 255.255.255.255 tunnel 0 命令,可确保能够对流过共享结构树的流量成功执行 RPF 检查。
"对于最短路径结构树(SPT)的组播(S,G)数据流的成功RPF验证,ip mroute source-address nexthop命令需要配置组播源,指向隧道接口。"
在这种情况下,当SPT数据流流经隧道接口时,ip mroute 10.1.1.0 255.255.255.0 tunnel 0命令将配置在R104上,保证Tu0接口的流入(10.1.1.1,239.1.1.20)组播数据包成功的RPF检验。
本文档使用以下网络设置:
本文档使用以下配置:
根据此运行配置文件配置路由器 102:
R102 |
---|
version 12.2 !hostname r102 ! !ip subnet-zero no ip domain-lookup !--- It stops IP domain lookup, which improves |
根据此运行配置文件配置路由器 104:
R104 |
---|
r104# version 12.2 ! hostname r104 ! ! ip subnet-zero no ip domain-lookup !--- It stops IP domain lookup, which improves |
使用本部分可确认配置能否正常运行。
思科 CLI 分析器(仅适用于注册客户)支持某些 show 命令。要查看对 show 命令输出的分析,请使用思科 CLI 分析器。
show ip igmp group - 验证接收方是否已将组239.1.1.20的IGMP加入成员请求发送到R104。
r104#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.1.1.20 Ethernet0/0 00:00:04 00:02:55 10.2.2.3
show ip mroute group-address — 验证当源10.1.1.1开始为组239.1.1.20组播数据包时,R102会安装(*,239.1.1.20)和(10.1.1.1,239.1.20)条目。
注:在(10.1.1.1、239.1.1.20)条目中,OIL为Tunnel0。
r102#show ip mroute 239.1.1.20 IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report Outgoing interface flags: H - Hardware switched Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.1.1.20), 00:00:09/00:02:59, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse-Dense, 00:00:09/00:00:00 Ethernet0/0, Forward/Sparse-Dense, 00:00:09/00:00:00 (10.1.1.1, 239.1.1.20), 00:00:09/00:02:58, flags: T Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse-Dense, 00:00:09/00:00:00
show ip mroute group-address — 当R104转发源自10.1.1.1的组239.1.1.20的组播数据包时,验证它是否具有(*,239.1.1.20)和(10.1.1,20)条目1.
注:在(10.1.1.1, 239.1.1.20)中,传入接口为Tunnel0,RPF邻居为192.168.24.1 - R102上的隧道头端。RPF验证基于在上配置的mroute完成r104,组播数据包被推送到OIL,到Ethernet 0/0接口上连接的接收方。
r104#show ip mroute 239.1.1.20 IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report Outgoing interface flags: H - Hardware switched Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.1.1.20), 00:07:10/00:00:00, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse-Dense, 00:07:10/00:00:00 Ethernet0/0, Forward/Sparse-Dense, 00:07:10/00:00:00 (10.1.1.1, 239.1.1.20), 00:01:13/00:02:24, flags: CLT Incoming interface: Tunnel0, RPF nbr 192.168.24.1, Mroute Outgoing interface list: Ethernet0/0, Forward/Sparse-Dense, 00:01:13/00:00:00
show ip rpf ip-address — 对源自10.1.1.1的数据包执行RPF验证。以下示例确认10.1.1.1的RPF是通过隧道0进行的,我们在隧道0上接收组播(S,G)数据包。
r104>show ip rpf 10.1.1.1 RPF information for ? (10.1.1.1) RPF interface: Tunnel0 RPF neighbor: ? (192.168.24.1) RPF route/mask: 10.1.1.1/24 RPF type: static RPF recursion count: 0 Doing distance-preferred lookups across tables
使用本部分可排除配置故障。
思科 CLI 分析器(仅适用于注册客户)支持某些 show 命令。要查看对 show 命令输出的分析,请使用思科 CLI 分析器。
注意:在使用debug命令之前,请参阅有关Debug命令的重要信息。
如果通过 GRE 隧道进行的组播不工作,则可能由于以下原因之一:
隧道未打开/打开 — 隧道两端的隧道源和目标不匹配。例如,如果R102上的隧道目的地更改为到IP地址10.2.2.2 而不是2.2.2.2,在R104上保留相同配置时,隧道不会出现。
发出 show interface tunnel 0 命令,以验证隧道的状态。
由于 RPF 故障而丢弃组播数据包。
发出 show ip mroute count 命令。此输出中显示了此命令的示例输出,以及由于 RPF 故障而增加的计数器:
r104#show ip mroute count IP Multicast Statistics 3 routes using 1642 bytes of memory 2 groups, 0.50 average sources per group Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc) Group: 224.0.1.40, Source count: 0, Packets forwarded: 0, Packets received: 0 Group: 239.1.1.20, Source count: 1, Packets forwarded: 11, Packets received: 45 Source: 10.1.1.1/32, Forwarding: 11/0/100/0, Other: 25/14/0 !--- After some time, the show ip mroute count command
!--- is issued again. You can see the RPF failed counter increasing: r104#show ip mroute count IP Multicast Statistics 3 routes using 1642 bytes of memory 2 groups, 0.50 average sources per group Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc) Group: 224.0.1.40, Source count: 0, Packets forwarded: 0, Packets received: 0 Group: 239.1.1.20, Source count: 1, Packets forwarded: 11, Packets received: 50 Source: 10.1.1.1/32, Forwarding: 11/0/100/0, Other: 30/19/0 r104#
您还可以发出 show ip rpf source 命令。确保RPF接口与接收源组播数据包的接口相同 — 本例中为隧道0。有关 RPF 故障的详细信息,请参考 IP 组播故障排除指南。
PIM邻居 — 路由器R102未通过Tunnel0接口转发,因为它没有看到PM邻居R104。
发出以下命令:
show ip pim neighbor -您可以在R102上使用show ip pim neighbor命令通过隧道显示邻居R104。
show ip pim int — 您还可以使用show ip pim int命令显示有邻居。
ip pim sparse-dense-mode — 验证在隧道两端都配置了接口级别ip pim sparse-dense-mode命令,并且IP组播路由已启用。