内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

ネットワーク図

設定

トラブルシュート

トンネルの確認

トラフィックキャプチャ

SPANキャプチャ

ELAMキャプチャ

QoSのトラブルシューティング

はじめに

このドキュメントでは、Nexus 9300(EX-FX-GX)モデルでトンネルGREを介したQoS(QOS)を設定およびトラブルシューティングする方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- QoS

- トンネルGRE

- Nexus 9000

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- ハードウェア：N9K-C9336C-FX2

- バージョン：9.3(8)

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

さまざまなパッセンジャプロトコルのキャリアプロトコルとして、Generic Routing Encapsulation（GRE；総称ルーティングカプセル化）を使用できます。

GREトンネルのIPトンネルコンポーネントが図に示されています。元のパッセンジャプロトコルパケットはGREペイロードになり、デバイスはGREヘッダーをパケットに追加します。

次に、デバイスはトランスポートプロトコルヘッダーをパケットに追加して送信します。

トラフィックは、トラフィックの分類方法と、作成してトラフィッククラスに適用するポリシーに基づいて処理されます。

QoS機能を設定するには、次の手順を使用します。

1. IPアドレスやQoSフィールドなどの基準に一致するNexusへの入力パケットを分類するクラスが作成されます。

2. パケットの監視、マーキング、廃棄など、トラフィッククラスに対して実行されるアクションを指定するポリシーを作成します。

3. ポート、ポートチャネル、VLAN、またはサブインターフェイスにポリシーを適用します。

一般的に使用されるDSCP値

ネットワーク図

設定

トンネルGREを介したQoSの設定の目的は、N9K-EX1とN9K-EX2の間のGREトンネルを通過する特定のVLANのトラフィックにDSCPを設定することです。

Nexusはトラフィックをカプセル化し、QoSマーキングを失うことなくトンネルGRE上で送信します。以前にDSCP値に対してVLANで行ったように、この場合は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を作成し、次にQoS設定を目的のDSCPに設定し、最後にサービスポリシー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カウンタ

受信パケットや送信パケットなど、同様の情報を表示します。

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値がトラフィックにすでに設定されていることがわかります。また、2つのNexus間に設定されたトンネルによってパケットがカプセル化されていることにも気付きます。

次の図は、N9K-EX1スイッチのインターフェイスEthernet 1/3の出力におけるARP応答のキャプチャを示しています。使用する必要があるDSCP AF11値がトラフィックに引き続き設定されていることがわかります。また、2つのNexus間で設定されているトンネルによってパケットがカプセル化されていないことにも気付きます。

次の図に、N9K-EX2スイッチのEthernet 1/1インターフェイスの出力におけるARP応答のキャプチャを示します。使用する必要があるDSCP AF11値がトラフィックに引き続き設定されていることがわかります。また、2つのNexus間に設定されたトンネルによってパケットがカプセル化されていることにも気付きます。

Nexusは物理IPを使用するため、パケットキャプチャはカプセル化のトンネルIPを示さないことに注意してください。これは、GREトンネリングを使用する場合のNexusの自然な動作です。パッケージのルーティングに物理IPが使用されるためです。

ELAMキャプチャ

in-select 9を使用してN9KEX-2でELAMキャプチャを使用し、外側のl3ヘッダーと内側のl3ヘッダーを確認します。送信元IPとターゲット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#