はじめに
このドキュメントでは、Nexus 9300(EX-FX-GX)モデルでトンネルGREを介したQoS(QOS)を設定およびトラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- ハードウェア:N9K-C9336C-FX2
- バージョン:9.3(8)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
さまざまなパッセンジャプロトコルのキャリアプロトコルとして、Generic Routing Encapsulation(GRE;総称ルーティングカプセル化)を使用できます。
GREトンネルのIPトンネルコンポーネントが図に示されています。元のパッセンジャプロトコルパケットはGREペイロードになり、デバイスはGREヘッダーをパケットに追加します。
次に、デバイスはトランスポートプロトコルヘッダーをパケットに追加して送信します。
トラフィックは、トラフィックの分類方法と、作成してトラフィッククラスに適用するポリシーに基づいて処理されます。
QoS機能を設定するには、次の手順を使用します。
-
IPアドレスやQoSフィールドなどの基準に一致するNexusへの入力パケットを分類するクラスが作成されます。
-
パケットの監視、マーキング、廃棄など、トラフィッククラスに対して実行されるアクションを指定するポリシーを作成します。
-
ポート、ポートチャネル、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#