简介
本文档介绍如何在Nexus 9300(EX-FX-GX)模型中配置隧道GRE上的QoS并对其进行故障排除。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于以下软件和硬件版本:
- Hardware:N9K-C9336C-FX2
- 版本:9.3(8)
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
您可以使用通用路由封装(GRE)作为各种乘客协议的载波协议。
您将在图中看到GRE隧道的IP隧道组件。原始的乘客协议数据包将成为GRE负载,并且设备会向数据包添加GRE报头。
然后,设备将传输协议报头添加到数据包并传输它。

根据您对流量进行分类的方式以及您创建并应用到流量类的策略来处理流量。
要配置QoS功能,请执行以下步骤:
-
创建分类将入口数据包分类到匹配条件(如IP地址或QoS字段)的nexus。
-
创建指定要对流量类执行的操作的策略,例如监视、标记或丢弃数据包。
-
将策略应用于端口、端口通道、VLAN或子接口。
常用的DSCP值

网络图

配置
通过隧道GRE配置QoS的目标是设置特定VLAN流量的DSCP,使其通过N9K-EX1和N9K-EX2之间的GRE隧道。
Nexus会封装流量并将其发送到隧道GRE上,而不会丢失先前在VLAN中为DSCP值所做的QoS标记,对于此情况,VLAN 9使用DSCP AF-11值。
主机A
interface Ethernet1/3
switchport
switchport access vlan 9
no shutdown
interface Vlan9
no shutdown
ip address 192.168.9.9/24
主机B
interface Ethernet1/3
switchport
switchport access vlan 18
no shutdown
interface Vlan18
no shutdown
ip address 192.168.18.18/24
N9K-EX1接口配置
interface Ethernet1/1
ip address 10.10.10.1/30
no shutdown
interface Ethernet1/3
switchport
switchport access vlan 9
no shutdown
interface Tunnel1
ip address 172.16.1.1/30
tunnel source Ethernet1/1
tunnel destination 10.10.10.2
no shutdown
interface Vlan9
no shutdown
ip address 192.168.9.1/24
N9K-EX1路由配置
ip route 0.0.0.0/0 Tunnel
N9K-EX1 QoS配置
由于NXOS中的GRE隧道接口不支持QoS,因此需要在VLAN配置中配置和应用服务策略。如您所见,首先创建ACL以匹配源和目标,然后使用所需的DSCP设置QoS配置,最后使用服务策略进行VLAN配置。
ip access-list TAC-QoS-GRE
10 permit ip any 192.168.18.0/24
class-map type qos match-all CM-TAC-QoS-GRE
match access-group name TAC-QoS-GRE
policy-map type qos PM-TAC-QoS-GRE
class CM-TAC-QoS-GRE
set dscp 10
vlan configuration 9
service-policy type qos input PM-TAC-QoS-GRE
N9K-EX2接口配置
interface Ethernet1/1
ip address 10.10.10.2/30
no shutdown
interface Ethernet1/3
switchport
switchport access vlan 18
no shutdown
interface Tunnel1
ip address 172.16.1.2/30
tunnel source Ethernet1/1
tunnel destination 10.10.10.1
no shutdown
interface Vlan18
no shutdown
ip address 192.168.18.1/24
N9K-EX2路由配置
ip route 0.0.0.0/0 Tunnel
故障排除
隧道验证
两个命令:
- show ip interface brief
- show interface tunnel 1 brief
显示隧道是否启用。
N9K-EX1# show ip interface brief
IP Interface Status for VRF "default"(1)
Interface IP Address Interface Status
Vlan9 192.168.9.1 protocol-up/link-up/admin-up
Tunnel1 172.16.1.1 protocol-up/link-up/admin-up
Eth1/1 10.10.10.1 protocol-up/link-up/admin-up
N9K-EX1# show interface tunnel 1 brief
--------------------------------------------------------------------------------
---------------------------
Interface Status IP Address
Encap type MTU
--------------------------------------------------------------------------------
---------------------------
Tunnel1 up 172.16.1.1/30
GRE/IP 1476
两个命令
- show interface tunnel 1
- show interface tunnel 1 counters
显示类似信息,例如接收和传输的数据包。
N9K-EX1# show interface tunnel 1
Tunnel1 is up
Admin State: up
Internet address is 172.16.1.1/30
MTU 1476 bytes, BW 9 Kbit
Tunnel protocol/transport GRE/IP
Tunnel source 10.10.10.1 (Ethernet1/1), destination 10.10.10.2
Transport protocol is in VRF "default"
Tunnel interface is in VRF "default"
Last clearing of "show interface" counters never
Tx
3647 packets output, 459522 bytes
Rx
3647 packets input, 459522 bytes
N9K-EX1# show interface tunnel 1 counters
--------------------------------------------------------------------------------
--
Port InOctets InUcastPk
ts
--------------------------------------------------------------------------------
--
Tunnel1 459522 36
47
--------------------------------------------------------------------------------
--
Port InMcastPkts InBcastPk
ts
--------------------------------------------------------------------------------
--
Tunnel1 --
--
--------------------------------------------------------------------------------
--
Port OutOctets OutUcastPk
ts
--------------------------------------------------------------------------------
--
Tunnel1 459522 36
47
--------------------------------------------------------------------------------
--
Port OutMcastPkts OutBcastPk
ts
--------------------------------------------------------------------------------
--
Tunnel1 --
--
N9K-EX1#
流量捕获
SPAN捕获
此图显示了在N9K-EX1交换机上的接口Ethernet 1/3条目处捕获ARP请求。您可以看到,由于捕获在交换机的输入处,因此该流量尚未标有您想要使用的DSCP(AF11)。

该图显示了N9K-EX2交换机上Ethernet 1/1接口的条目处捕获的ARP请求。您可以看到流量已具有您需要使用的DSCP AF11值。您还会注意到,数据包通过两个Nexus之间配置的隧道进行封装。

该图显示了N9K-EX1交换机上Ethernet 1/3接口输出处捕获的ARP应答。您可以看到该流量仍具有您需要使用的DSCP AF11值。您还会注意到,数据包未通过两个Nexus之间配置的隧道进行封装。

此图显示了在N9K-EX2交换机上的接口Ethernet 1/1的输出中捕获的ARP应答。您可以看到该流量仍具有您需要使用的DSCP AF11值。您还会注意到,数据包通过两个Nexus之间配置的隧道进行封装。

请务必注意,由于Nexus使用物理隧道IP,因此数据包捕获不显示封装的隧道IP。这是使用GRE隧道时Nexus的自然行为,因为它们使用物理ips来路由数据包。
ELAM捕获
将N9KEX-2上的ELAM捕获与in-select 9结合使用以查看外部l3和内部l3报头。您必须按源和目标IP进行过滤。
debug platform internal tah elam
trigger init in-select 9
reset
set inner ipv4 src_ip 192.168.9.9 dst_ip 192.168.18.18
start
report
您可以验证Nexus是否通过接口1/1接收数据包。此外,您会看到外部l3报头是直连接口的物理IP地址,并且l3内部报头具有主机A和主机B的IP。
SUGARBOWL ELAM REPORT SUMMARY
slot - 3, asic - 1, slice - 0
============================
Incoming Interface: Eth1/1
Src Idx : 0x41, Src BD : 4433
Outgoing Interface Info: dmod 2, dpid 10
Dst Idx : 0x3, Dst BD : 18
Packet Type: IPv4
Outer Dst IPv4 address: 10.10.10.2
Outer Src IPv4 address: 10.10.10.1
Ver = 4, DSCP = 10, Don't Fragment = 0
Proto = 47, TTL = 255, More Fragments = 0
Hdr len = 20, Pkt len = 108, Checksum = 0x3d7a
Inner Payload
Type: IPv4
Inner Dst IPv4 address: 192.168.18.18
Inner Src IPv4 address: 192.168.9.9
L4 Protocol : 47
L4 info not available
Drop Info:
----------
LUA:
LUB:
LUC:
LUD:
Final Drops:
QoS故障排除
您可以如图所示检查QoS配置。
N9K-EX1# show running-config ipqos
!Command: show running-config ipqos
!Running configuration last done at: Thu Apr 4 11:45:37 2024
!Time: Fri Apr 5 11:50:54 2024
version 9.3(8) Bios:version 08.39
class-map type qos match-all CM-TAC-QoS-GRE
match access-group name TAC-QoS-GRE
policy-map type qos PM-TAC-QoS-GRE
class CM-TAC-QoS-GRE
set dscp 10
vlan configuration 9
service-policy type qos input PM-TAC-QoS-GRE
您可以显示指定VLAN上配置的QoS策略,以及与与策略映射关联的ACL匹配的数据包。
N9K-EX1# show policy-map vlan 9
Global statistics status : enabled
Vlan 9
Service-policy (qos) input: PM-TAC-QoS-GRE
SNMP Policy Index: 285219173
Class-map (qos): CM-TAC-QoS-GRE (match-all)
Slot 1
5 packets
Aggregate forwarded :
5 packets
Match: access-group TAC-QoS-GRE
set dscp 10
您还可以使用此处显示的命令清除QoS统计信息。
N9K-EX1# clear qos statistics
检验软件中编程的ACL。
N9K-EX1# show system internal access-list vlan 9 input entries detail
slot 1
=======
Flags: F - Fragment entry E - Port Expansion
D - DSCP Expansion M - ACL Expansion
T - Cross Feature Merge Expansion
N - NS Transit B - BCM Expansion C - COPP
INSTANCE 0x2
---------------
Tcam 1 resource usage:
----------------------
LBL B = 0x1
Bank 2
------
IPv4 Class
Policies: QoS
Netflow profile: 0
Netflow deny profile: 0
Entries:
[Index] Entry [Stats]
---------------------
[0x0000:0x0000:0x0700] permit ip 0.0.0.0/0 192.168.18.0/24 [5]
检验硬件中编程的ACL。
N9K-EX1# show hardware access-list vlan 9 input entries detail
slot 1
=======
Flags: F - Fragment entry E - Port Expansion
D - DSCP Expansion M - ACL Expansion
T - Cross Feature Merge Expansion
N - NS Transit B - BCM Expansion C - COPP
INSTANCE 0x2
---------------
Tcam 1 resource usage:
----------------------
LBL B = 0x1
Bank 2
------
IPv4 Class
Policies: QoS
Netflow profile: 0
Netflow deny profile: 0
Entries:
[Index] Entry [Stats]
---------------------
[0x0000:0x0000:0x0700] permit ip 0.0.0.0/0 192.168.18.0/24 [5]
使用此处显示的命令,您可以检验使用VLAN的端口。在本例中,它是VLAN ID 9,您还可以记录正在使用的QoS策略。
N9K-EX1# show system internal ipqos vlan-tbl 9
Vlan range asked: 9 - 9
=================================================
Vlan: 9, pointer: 0x132e3eb4, Node Type: VLAN
IfIndex array:
alloc count: 5, valid count: 1, array ptr : 0x13517aac 0: IfI
ndex: 0x1a000400 (Ethernet1/3) Policy Lists (1): Flags: 01
Type: INP QOS, Name: PM-TAC-QoS-GRE, Ghost Id: 0x45001c7, Real Id: 0x450
01c8
Defnode Id: 0x45001c9
=================================================
N9K-EX1#