简介
本文档介绍如何在Nexus 9300 (EX-FX-GX)模型中配置隧道GRE上的QoS并对其进行故障排除。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 硬件: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值所做的一样,因为在这种情况下,DSCP AF-11的值用于VLAN 9。
主机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捕获
下图显示了ARP请求在N9K-EX1交换机上的接口Ethernet 1/3的条目处的捕获。您可以看到,由于捕获在交换机的输入处,因此流量尚未标有您想要使用的DSCP (AF11)。
下图显示了ARP请求在N9K-EX2交换机上的接口Ethernet 1/1的条目处捕获的情况。您可以看到流量已具有需要使用的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的自然行为,因为它们使用物理ip来路由数据包。
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#