目录

简介

先决条件

要求

使用的组件

规则

配置

网络图

配置

验证

故障排除

相关信息

简介

本文为通过通用路由封装 (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检验。

网络图

本文档使用以下网络设置：

配置

本文档使用以下配置：

- R102

- R104

根据此运行配置文件配置路由器 102：

R102

version 12.2

!hostname r102

!

!ip subnet-zero

no ip domain-lookup

!--- It stops IP domain lookup, which improves

!--- the show command response time.

!

ip multicast-routing

!--- Enables IP multicast routing.

!

interface Loopback0

ip address 2.2.2.2 255.255.255.255

!--- Tunnel Source interface.

!

interface Tunnel0

!--- Tunnel interface configured for PIM and carrying

!--- multicast packets to R104.

ip address 192.168.24.1 255.255.255.252

ip pim sparse-dense-mode

tunnel source Loopback0

tunnel destination 4.4.4.4

!

interface Ethernet0/0

!--- Interface connected to Source.

ip address 10.1.1.2 255.255.255.0

ip pim sparse-dense-mode

!

!

interface Serial8/0

ip address 192.168.23.1 255.255.255.252

!--- Note IP PIM sparse-dense mode is

!--- not configured on Serial interface.

!router ospf 1

log-adjacency-changes

network 2.2.2.2 0.0.0.0 area 0

network 10.1.1.0 0.0.0.255 area 0

network 192.168.23.0 0.0.0.255 area 0

!

ip classless

ip pim bidir-enable

!

line con 0

line aux 0

line vty 0 4

login

!

end

根据此运行配置文件配置路由器 104：

R104

r104#

version 12.2

!

hostname r104

!

!

ip subnet-zero

no ip domain-lookup

!--- It stops IP domain lookup, which improves

!--- the show command response time.

!

ip multicast-routing

!--- Enables IP multicast routing.

!

interface Loopback0

ip address 4.4.4.4 255.255.255.255

!--- Tunnel Source interface.

!

interface Tunnel0

ip address 192.168.24.2 255.255.255.252

!--- Tunnel interface configured for PIM

!--- and carrying multicast packets.

ip pim sparse-dense-mode

tunnel source Loopback0

tunnel destination 2.2.2.2

!

interface Ethernet0/0

ip address 10.2.2.2 255.255.255.0

ip pim sparse-dense-mode

!

interface Serial9/0

ip address 192.168.34.1 255.255.255.252

!--- Note IP PIM sparse-dense mode is not

!--- configured on Serial interface.

!

!

router ospf 1

log-adjacency-changes

network 4.4.4.4 0.0.0.0 area 0

network 10.2.2.0 0.0.0.255 area 0

network 192.168.34.0 0.0.0.255 area 0

!

ip classless

no ip http server

ip pim bidir-enable

ip mroute 10.1.1.0 255.255.255.0 Tunnel0

!--- This mroute ensures a successful RPF check

!--- for packets flowing from the source.

!--- 10.1.1.1 over Shared tree in case of Dense

!--- more and SPT in case of Sparse mode.

!

ip mroute 2.2.2.2 255.255.255.255 tunnel 0

!--- This mroute is required for RPF check when

!--- Sparse mode multicast traffic is

!--- flowing from RP (assuming R102 with 2.2.2.2 as RP)

!--- towards receiver via tunnel

!--- before the SPT switchover.

line con 0

line aux 0

line vty 0 4

login

!

end

验证

使用本部分可确认配置能否正常运行。

思科 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组播路由已启用。

相关信息

- 组播快速开始配置指南

- IP 组播故障排除指南

- 基本多播故障排除工具

- TCP/IP 多播支持页

- 技术支持和文档 - Cisco Systems