简介
本文档介绍如何配置和验证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中传送的数据包,可以使用上述故障排除过程确认感兴趣的流量是否到达交换机
相关信息
.