I紹介
このドキュメントでは、シスコアプリケーションセントリックインフラストラクチャ(ACI)のポリシークラスタグ(pcTag)/クラスの概念について説明します。 このドキュメントの情報は、ソフトウェアバージョン4.2(3n)に基づくものです。
前提条件
このドキュメントで説明されている設計を最もよく理解するには、読者はCisco ACIに関する基本的な実務知識が必要です。
pcTagとは
簡単に言うと、pcTagはACIのエンドポイントポリシーグループ(epg)の内部表現に使用される数値IDで、ソースクラス(sclass)または宛先クラス(dclass)とも呼ばれます。 トラフィックの分類とポリシーの適用(契約の適用)に使用されます。 トラフィックがACIリーフに入ってくる場合、設定されたポリシー適用の方向(デフォルト:入力)とローカルで使用可能なプレフィクス情報に基づいて、ACIリーフはpcTag値を割り当てることにより、送信元と宛先のトラフィックを分類し、EPGにマークします。送信元EPGに割り当てられたpcTagはSCLASSと呼ばれ、宛先EPGに割り当てられたpcTagはDCLASSと呼ばれます。
pcTag値の範囲は1 ~ 65535です。さらに、3つのカテゴリに分類できます。
System:これらは1 ~ 15の範囲の内部システムタグです。たとえば、13はドロップEPG用で、15はEPGで0.0.0.0/0サブネットを持つl3out用に使用されます。
Global:デフォルトでは、pcTagの範囲はVRF(Virtual Routing and Forwarding)に対してローカルです。 ただし、VRF間コントラクトの場合、pcTagはグローバルスコープを持ち、apiファブリック全体で一意である必要があります。 16 ~ 16385の範囲は、グローバル用に予約されています。
Local:pcTagのデフォルトの範囲はVRFに対してローカルで、VRF間で再利用できます。値の範囲は16386 ~ 65535です。
EPGのpctag値を取得する方法
-
Application Policy Infrastructure Controller(APIC)グラフィカルユーザインターフェイス(GUI)の使用
APIC GUIで、pctagを取得するEPGを選択します。pcTagはPolicy -> Generalの下に表示されます
テナント – >アプリケーションプロファイル(AP)(APを選択) —>アプリケーションEPG(EPGを選択) – >ポリシー – >一般

同様に、Layer 3 Out (L3Out) EPGに対しては、L3out EPGを選択します。pcTagはPolicy -> Generalタブのすぐ下にあります
Tenants —> Networking —> L3Outs —>L3out —>外部EPGを選択します(EPGを選択) —>Policy —>General

-
APICコマンドラインインターフェイス(CLI)の使用
APIC CLIを使用して、EPGのpcTagを取得できますgivenshowコマンドを使用するか、管理オブジェクトクエリを使用するか(MOクエリ)。
apic# show epg EPG1 detail
Application EPg Data:
Tenant : Prod
Application : AP01
AEPg : EPG1
BD : BD1
uSeg EPG : no
Intra EPG Isolation : unenforced
Proxy ARP : none
Policy Tag : 49155
Vlan Domains : prod-phy-dom
Consumed Contracts : default
Provided Contracts :
Denied Contracts :
Qos Class : unspecified
Tag List :
apic# moquery -c fvAEPg -f 'fv.AEPg.name=="EPG1"' | egrep "^name|^dn|^pcTag|^scope"
name : EPG1
dn : uni/tn-Prod/ap-AP01/epg-EPG1
nameAlias :
pcTag : 49155
scope : 2326533
L3Out epgのpcTag値を取得するためのMoquery:
apic# moquery -c l3extInstP -f 'l3ext.InstP.name=="ext_EPG"' | egrep "^name|^dn|^pcTag"
name : ext_EPG
dn : uni/tn-Prod/out-L3out_BGP/instP-ext_EPG
nameAlias :
pcTag : 16386
-
リーフCLIの使用
- エンドポイントが通常のEPGでは、pcTag/SCLASSをEndPoint Manager(EPM)から取得できます。
bgl-aci05-leaf5# show system internal epm endpoint ip 192.168.10.10
MAC : 002c.c80a.7ca9 ::: Num IPs : 1
IP# 0 : 192.168.10.10 ::: IP# 0 flags : ::: l3-sw-hit: No
Vlan id : 74 ::: Vlan vnid : 13894 ::: VRF name : Prod:vrfA
BD vnid : 15826927 ::: VRF vnid : 2326533
Phy If : 0x1a011000 ::: Tunnel If : 0
Interface : Ethernet1/18
Flags : 0x80000c04 ::: sclass : 49155 ::: Ref count : 5 <<<<<<<
変更後getthepcTagの値を入力します。l3Out EPGでは、ポリシーマネージャ(Policy-mgr)プレフィクステーブルが使用されます。
イン出力16386サブネット10.20.20.0/24のpcTagです。
bgl-aci05-leaf5# vsh -c 'show system internal policy-mgr prefix' | egrep "Vrf-Vni|==|2326533"
Vrf-Vni VRF-Id Table-Id Table-State VRF-Name Addr Class Shared Remote Complete
======= ====== =========== ======= ============================ ================================= ====== ====== ====== ========
2326533 5 0x5 Up Prod:vrfA 0.0.0.0/0 15 True True False
2326533 5 0x80000005 Up Prod:vrfA ::/0 15 True True False
2326533 5 0x5 Up Prod:vrfA 10.20.20.0/24 16386 True True False
pcTag値がわかっている場合にEPG名を取得する方法
最も簡単な方法pcTagisが以下のMOクエリを使用することを知っている場合、APIC CLIからEPG名を取得します
通常のEPGでは –
apic# moquery -c fvAEPg -f 'fv.AEPg.pcTag=="16387"' | egrep "name|^dn"
name : EPG1
dn : uni/tn-mgmt/ap-AP/epg-EPG1
nameAlias :
scope : 2621440
L3out EPGの場合:
apic# moquery -c l3extInstP -f 'l3ext.InstP.pcTag=="16386"'| egrep "name|^dn|scope"
name : ext_EPG
dn : uni/tn-Prod/out-L3out_BGP/instP-ext_EPG
nameAlias :
scope : 2326533
注:ローカルのpcTagにはVRFに対してローカルなスコープがあるため、1つのpcTag値に対して複数のEPGを取得できる可能性があります。VRFセグメントIDを持つ追加のフィルタを使用すると、完全一致を取得できます。
フローの送信元pcTagおよび宛先pcTag SCLASS/DCLASSを決定するルール
これらのルールを使用して、VRF内フローのsclassとdclassを決定し、 ゾーニングルールルックアップ
Sclass(必須) |
Dクラス |
SCLASS = Source Epg pctag(入力EPGが通常のEPGの場合)
SCLASS = vrf pctag。L3Out EPGの0.0.0.0/0サブネットの下でL3Outに入力する場合。
SCLASS =外部L3Out外部EPG内の他のデフォルト以外のサブネットがヒットした場合はEPG pcTag。
|
DCLASS= Destination EPG pcTag(宛先エンドポイントが入力リーフで学習した場合)
DCLASS =1(宛先エンドポイントが学習されず、パケットをファブリック(ハードウェアプロキシまたはフラッド)に送信する場合) ポリシーの適用は、宛先リーフで実行されます。
DCLASS = 15(ヒットがL3Out外部EPGの0.0.0.0/0サブネットにある場合)
DCLASS = External EPG pcTag(ヒットがより具体的なサブネットまたはデフォルト以外のサブネットにある場合)
|
注:上記のサブネットは、ルーティングテーブルのサブネットではなく、外部EPGで設定するサブネットです。
Embedded Logic Analysis Module(ELAM)を使用したSCLASS/DCLASSの取得
ELAMは、フローの送信元および宛先のpcTag値を取得するための推奨ツールの1つです。ELAMでは、「pkt rw vector」の下で、指定されたフィールドを使用してフローのSCLASSとDCLASSを取得できます。値は16進数で表示され、EPG pcTagを取得するには10進数に変換する必要があります。
sug_lurw_vec.info.nsh_special.dclass: <val>
sug_lurw_vec.info.nsh_special.sclass: <val>
例:
sug_lurw_vec.info.nsh_special.dclass: 0x8004 << dst epg pctag is 32772
sug_lurw_vec.info.nsh_special.sclass: 0x8002. << src epg pctag is 32769
送信元と宛先のpcTag値を使用して、入力および出力リーフスイッチのゾーン分割ルールを確認できます。
ゾーニング・ルールの詳細については、ここをクリックしてください。