目录

简介

先决条件

要求

使用的组件

背景信息

支持的Cisco Nexus 3k平台

支持的服务反射方法

常规模式组播NAT

使用无重写组播NAT的快速通道和快速通道

配置

拓扑

配置

交换机1配置（发送方）

交换机2配置（转换器）

交换机3配置（接收器）

验证

验证服务反射功能

交换机1验证

交换机2验证

交换机3验证

故障排除

摘要

相关信息

简介

本文档介绍如何配置和验证Cisco Nexus 3000（常规模式）系列交换机上的服务反射功能。

先决条件

要求

您了解以下主题的一般建议：

- 独立于协议的多播 (PIM)

- 开放最短路径优先(OSPF)

- 网络地址转换 (NAT)

- 互联网组管理协议(IGMP)

使用的组件

本文档中的信息基于以下软件和硬件版本：

Sw1#

N9K-C-93180-FX

NXOS：版本9.3(5)

Sw2#

N3K-C3548P-XL

NXOS：版本7.0(3)I7(9)

Sw3#

N3K-C3172TQ-10GT

NXOS：版本7.0(3)I7(9)

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

支持的Cisco Nexus 3k平台

只有7.0(3)I7(2)版的Cisco Nexus 3548-X平台支持组播服务反射功能。

支持的服务反射方法

常规模式组播NAT

在常规模式下，作为S1、G1接口传入的数据包被转换为S2、G2接口，而传出数据包的目标媒体访问控制(MAC)地址被转换为G2接口（例如，转换后的组）的组播MAC地址。

使用无重写组播NAT的快速通道和快速通道

在快速传递模式下，S1、G1接口被转换为S2、G2接口，并且传出数据包的目的MAC地址具有与G1接口对应的组播MAC地址（例如，预转换组的MAC地址）。

配置

拓扑

本地组：239.194.169.1(G1)

转换后的组：233.193.40.196(G2)

原始源：10.11.11.1(S1)

转换后的源：172.16.0.1。(S2)

配置

交换机1配置（发送方）

SW1# show run int eth1/47

interface Ethernet1/47

no switchport

ip address 10.11.11.1/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

SW1# show run ospf

feature ospf

router ospf 1

router-id 192.168.1.1

interface Ethernet1/47

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

SW1# show run pim

feature pim

ip pim rp-address 10.10.10.10 group-list 239.194.169.1/32

ip pim ssm range 232.0.0.0/8

interface Ethernet1/47

ip pim sparse-mode

交换机2配置（转换器）

SW2# show run int eth 1/23,eth1/47

interface Ethernet1/23

no switchport

ip address 10.0.0.1/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

no shutdown

interface Ethernet1/47

no switchport

ip address 10.11.11.2/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

no shutdown

SW2# show run int lo0,lo411

interface loopback0

ip address 10.10.10.10/32

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

interface loopback411

ip address 172.16.0.1/32

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

ip igmp join-group 239.194.169.1

SW2# show run ospf

feature ospf

router ospf 1

router-id 192.168.1.2

interface loopback0

ip router ospf 1 area 0.0.0.0

interface loopback411

ip router ospf 1 area 0.0.0.0

interface Ethernet1/23

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

interface Ethernet1/47

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

SW2# show run pim

feature pim

ip pim rp-address 10.10.10.10 group-list 239.194.169.1/32

ip pim rp-address 172.16.0.1 group-list 233.193.40.196/32

ip pim ssm range 232.0.0.0/8

interface loopback0

ip pim sparse-mode

interface loopback411

ip pim sparse-mode

interface Ethernet1/23

ip pim sparse-mode

interface Ethernet1/47

ip pim sparse-mode

ip service-reflect mode regular

ip service-reflect destination 239.194.169.1 to 233.193.40.196 mask-len 32 source 172.16.0.1

hardware profile multicast service-reflect port 7

交换机3配置（接收器）

SW3# show run int eth 1/24

interface Ethernet1/24

ip address 10.0.0.2/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

ip igmp join-group 233.193.40.196

no shutdown

SW3# show run ospf

feature ospf

router ospf 1

router-id 192.168.1.3

interface Ethernet1/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

SW3# show run pim

feature pim

ip pim rp-address 172.16.0.1 group-list 233.193.40.196/32

ip pim ssm range 232.0.0.0/8

interface Ethernet1/24

ip pim sparse-mode

验证

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

验证服务反射功能

交换机1验证

SW1# show ip mroute

IP Multicast Routing Table for VRF "default"

(*, 232.0.0.0/8), uptime: 3w6d, pim ip

Incoming interface: Null, RPF nbr: 0.0.0.0

Outgoing interface list: (count: 0)

(10.11.11.1/32, 239.194.169.1/32), uptime: 00:06:57, pim ip

Incoming interface: Ethernet1/47, RPF nbr: 10.11.11.1

Outgoing interface list: (count: 1)

Ethernet1/47, uptime: 00:06:57, pim, (RPF)

交换机2验证

SW2# show ip mroute

IP Multicast Routing Table for VRF "default"

(*, 232.0.0.0/8), uptime: 00:04:39, pim ip

Incoming interface: Null, RPF nbr: 0.0.0.0

Outgoing interface list: (count: 0)

(*, 233.193.40.196/32), uptime: 00:04:11, pim ip

Incoming interface: loopback411, RPF nbr: 172.16.0.1  <-- Translation (ingress) Loopback interface

Outgoing interface list: (count: 1)

Ethernet1/23, uptime: 00:03:59, pim    <-- Egress interface for S2,G2

(172.16.0.1/32, 233.193.40.196/32), uptime: 00:00:15, ip mrib pim

Incoming interface: loopback411, RPF nbr: 172.16.0.1

Outgoing interface list: (count: 1)

Ethernet1/23, uptime: 00:00:15, pim

(*, 239.194.169.1/32), uptime: 00:04:34, static pim ip  <-- (The NAT router would pull the traffic by using a (*,G) join on loopback )

Incoming interface: loopback0, RPF nbr: 10.10.10.10

Outgoing interface list: (count: 1)

loopback411, uptime: 00:04:34, static    <-- Translation (egress) Loopback interface

(10.11.11.1/32, 239.194.169.1/32), uptime: 00:00:17, ip mrib pim

Incoming interface: Ethernet1/47, RPF nbr: 10.11.11.1, internal     <-- Ingress interface for S1,G1

Outgoing interface list: (count: 1)

loopback411, uptime: 00:00:17, mrib

SW2# show ip mroute sr   <-- (Only SR nat routes)

IP Multicast Routing Table for VRF "default"

(*, 239.194.169.1/32), uptime: 00:09:29, static pim ip

NAT Mode: Ingress

NAT Route Type: Pre

Incoming interface: loopback0, RPF nbr: 10.10.10.10

Translation list: (count: 1)

SR: (172.16.0.1, 233.193.40.196)

(10.11.11.1/32, 239.194.169.1/32), uptime: 00:05:12, ip mrib pim

NAT Mode: Ingress

NAT Route Type: Pre

Incoming interface: Ethernet1/47, RPF nbr: 10.11.11.1, internal

Translation list: (count: 1)

SR: (172.16.0.1, 233.193.40.196)

交换机3验证

SW3# show ip mroute

IP Multicast Routing Table for VRF "default"

(*, 232.0.0.0/8), uptime: 02:45:09, pim ip

Incoming interface: Null, RPF nbr: 0.0.0.0

Outgoing interface list: (count: 0)

(*, 233.193.40.196/32), uptime: 01:47:02, ip pim igmp

Incoming interface: Ethernet1/24, RPF nbr: 10.0.0.1

Outgoing interface list: (count: 1)

Ethernet1/24, uptime: 01:43:27, igmp, (RPF)

(172.16.0.1/32, 233.193.40.196/32), uptime: 00:02:59, ip mrib pim

Incoming interface: Ethernet1/24, RPF nbr: 10.0.0.1

Outgoing interface list: (count: 1)

Ethernet1/24, uptime: 00:02:59, mrib, (RPF)

故障排除

本部分提供了可用于对配置进行故障排除的信息。

如果S2和G2未创建，或者用户遇到随机转换问题，您可以检查以下几点：

1.收到流量后（转换前），系统会根据在mcastfwd中传送的pkt创建转换后的条目。

2.如果您在mcastfwd中没有看到数据包被传送，则可以检查是否通过ACL在入口接口上获得请求的流量。

3如果您在ACL中看到计数器增加，请通过ethanalyzer检查相同流量到达CPU。

4还可以检查MRIB event-history中的转换：

SW2# show system  internal  mfwd ip mroute  --> Packets Punted in Mcast Forwarding.

MCASTFWD Multicast Routing Table for VRF "default"

(0.0.0.0/0, 232.0.0.0/8)

Software switched packets: 0, bytes: 0

RPF fail packets: 0, bytes: 0

(0.0.0.0/0, 233.193.40.196/32)

Software switched packets: 1, bytes: 84

RPF fail packets: 0, bytes: 0

(172.16.0.1/32, 233.193.40.196/32), data-alive

Software switched packets: 1, bytes: 84

RPF fail packets: 8, bytes: 672

(0.0.0.0/0, 239.194.169.1/32)

Software switched packets: 1, bytes: 84

RPF fail packets: 0, bytes: 0

(10.11.11.1/32, 239.194.169.1/32), data-alive

Software switched packets: 10, bytes: 840

RPF fail packets: 0, bytes: 0

SW2# show ip access-lists test

IP access list test

statistics per-entry

10 permit ip any 239.194.169.1/32 [match=105] <-- Intrested traffic hitting ingress interface

20 permit ip any any [match=11]

interface Ethernet1/47

no switchport

ip access-group test in  <-- ACL applied on ingress interface

ip address 10.11.11.2/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

no shutdown

SW2# ethanalyzer loca int inband display-filter "ip.addr == 239.194.169.1" limit-captured-frames 0  --> Confirm (S1,G1) seen on CPU

Capturing on inband

wireshark-cisco-mtc-dissector: ethertype=0xde09, devicetype=0x0

2022-09-18 04:21:37.840227 10.11.11.1 -> 239.194.169.1 ICMP Echo (ping) request

2022-09-18 04:21:37.841275 10.11.11.1 -> 239.194.169.1 ICMP Echo (ping) request

2022-09-18 04:21:37.860153 10.11.11.1 -> 239.194.169.1 ICMP Echo (ping) request

2022-09-18 04:21:37.861199 10.11.11.1 -> 239.194.169.1 ICMP Echo (ping) request

2022-09-18 04:21:37.880072 10.11.11.1 -> 239.194.169.1 ICMP Echo (ping) request

2022-09-18 04:21:37.881113 10.11.11.1 -> 239.194.169.1 ICMP Echo (ping) request

SW2# ethanalyzer local  interface  inband capture-filter  "host 172.16.0.1" limit-captured-frames 0 --> Confirm (S2,G2) seen on CPU

Capturing on inband

wireshark-cisco-mtc-dissector: ethertype=0xde09, devicetype=0x0

2022-09-18 03:12:51.423484 172.16.0.1 -> 233.193.40.196 ICMP Echo (ping) request

2022-09-18 03:12:51.423978 10.0.0.2 -> 172.16.0.1 ICMP Echo (ping) reply

2022-09-18 03:12:53.425754 172.16.0.1 -> 233.193.40.196 ICMP Echo (ping) request

2022-09-18 03:12:53.425761 10.0.0.2 -> 172.16.0.1 ICMP Echo (ping) reply

2022-09-18 03:12:55.426719 172.16.0.1 -> 233.193.40.196 ICMP Echo (ping) request

2022-09-18 03:12:55.426726 10.0.0.2 -> 172.16.0.1 ICMP Echo (ping) reply

2022-09-18 03:12:57.428669 172.16.0.1 -> 233.193.40.196 ICMP Echo (ping) request

2022-09-18 03:12:57.429175 10.0.0.2 -> 172.16.0.1 ICMP Echo (ping) reply

2022-09-18 03:12:59.429890 172.16.0.1 -> 233.193.40.196 ICMP Echo (ping) request

2022-09-18 03:12:59.430386 10.0.0.2 -> 172.16.0.1 ICMP Echo (ping) reply

10 packets captured

SW2# show ip pim event-history  mrib --> Event history to confirm that the translation is being done

2022 Sep 18 04:28:39.970688: E_DEBUG    pim [19433]:  Sending ack: xid: 0xeeee00d2

2022 Sep 18 04:28:39.970255: E_DEBUG    pim [19433]:  MRIB Join notify for (10.11.11.1/32, 239.194.169.1/32)

2022 Sep 18 04:28:39.968875: E_DEBUG    pim [19433]:  MRIB sr route type notif for (10.11.11.1/32, 239.194.169.1/32) : 1

2022 Sep 18 04:28:39.968859: E_DEBUG    pim [19433]:  pim_process_mrib_rpf_notify: MRIB RPF notify for (10.11.11.1/32, 239.194.169.1/32), old RPF info: 10.11.11.1 (Ethernet1/47), new RPF info: 10.11.11.1 (Ethernet1/47). LISP source RLOC address

: 0.0.0.0, route-type 1

2022 Sep 18 04:28:39.968307: E_DEBUG    pim [19433]:  Copied the flags from MRIB for route (10.11.11.1/32, 239.194.169.1/32), (before/after): att F/F, sta F/F, z-oifs T/F, ext F/F, fabric F/F, fabric_src: F/F mofrr F/F

2022 Sep 18 04:28:39.968301: E_DEBUG    pim [19433]:  MRIB Join notify for (10.11.11.1/32, 239.194.169.1/32)

2022 Sep 18 04:28:39.968294: E_DEBUG    pim [19433]: Received a notify message from MRIB xid: 0xeeee00cf for 1 mroutes

2022 Sep 18 04:28:35.904652: E_DEBUG    pim [19433]:  Sending ack: xid: 0xeeee00cc

2022 Sep 18 04:28:35.904625: E_DEBUG    pim [19433]:  pim_process_mrib_rpf_notify: MRIB RPF notify for (172.16.0.1/32, 233.193.40.196/32), old RPF info: 172.16.0.1 (loopback411), new RPF info: 172.16.0.1 (loopback411). LISP sourc

e RLOC address: 0.0.0.0, route-type 0

2022 Sep 18 04:28:35.904484: E_DEBUG    pim [19433]:  pim_process_mrib_rpf_notify: After copying the values for route (0.0.0.0/32, 233.193.40.196/32) we got RPF info: 172.16.0.1 (loopback411). LISP source RLOC address: 0.0.0.0, route-t

ype 0

2022 Sep 18 04:28:35.904476: E_DEBUG    pim [19433]:  pim_process_mrib_rpf_notify: MRIB RPF notify for (0.0.0.0/32, 233.193.40.196/32), old RPF info: 0.0.0.0 ((null)), new RPF info: 172.16.0.1 (loopback411). LISP source RLOC address: 0

.0.0.0, route-type 0

2022 Sep 18 04:28:35.904400: E_DEBUG    pim [19433]:  MRIB Join notify for (172.16.0.1/32, 233.193.40.196/32)

2022 Sep 18 04:28:35.904343: E_DEBUG    pim [19433]:  MRIB Join notify for (0.0.0.0/32, 233.193.40.196/32)

2022 Sep 18 04:27:49.862827: E_DEBUG    pim [19433]:  pim_process_mrib_rpf_notify: After copying the values for route (*, 239.194.169.1/32) we got RPF info: 10.10.10.10 (loopback0). LISP source RLOC address: 0.0.0.0, route-type 0

2022 Sep 18 04:27:49.862812: E_DEBUG    pim [19433]:  pim_process_mrib_rpf_notify: MRIB RPF notify for (*, 239.194.169.1/32), old RPF info: 0.0.0.0 ((null)), new RPF info: 10.10.10.10 (loopback0). LISP source RLOC address: 0.0.0.0, route-

type 0

2022 Sep 18 04:27:49.862798: E_DEBUG    pim [19433]:  MRIB Join notify for (*, 239.194.169.1/32)

2022 Sep 18 04:27:49.862795: E_DEBUG    pim [19433]:  MRIB Join notify for (172.16.0.1/32, 233.193.40.196/32)

2022 Sep 18 04:27:49.862789: E_DEBUG    pim [19433]:  MRIB Join notify for (0.0.0.0/32, 233.193.40.196/32)

2022 Sep 18 04:27:49.861870: E_DEBUG    pim [19433]:  Creating PIM route for (*, 239.194.169.1/32)

2022 Sep 18 04:27:49.861868: E_DEBUG    pim [19433]:  MRIB Join notify for (*, 239.194.169.1/32)

摘要

- 在常规模式下，流量在第一次通过时到达原始S、G条目，由于传出接口列表(OIFL)只有环回端口，因此流量会重新循环。在第二个通道中，它获取重写的目标MAC。

- 在第三步中，组播路由查找在转换后的S、G上发生，数据包被转发到相应的转换组OIFL端口。

- 添加了环回上的静态连接，以强制在NAT设备上接收流量。

- 当(s1, g1)收到第一个数据包时，交换机将使用新的SR标志(s1, g—> s2, g2)对(s1, g1)进行编程。

- 交换机将使用此元数据重新循环数据包，并为g2传送数据包。一旦将(S2、G2)数据包传送到sup，s2、g2的NAT盒上将触发FHR（第一跳路由器）功能。

- 收到流量后，即会根据在mcastfwd中传送的pkt创建转换前和转换后条目。

- 如果您看不到各个组在mcastfwd中传送的数据包，可以使用上述故障排除过程确认感兴趣的流量是否到达交换机

相关信息

- 思科技术支持和下载

.