I内転
このドキュメントでは、Cisco Application Centric Infrastructure(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つのカテゴリに分割できます。
システム:これらは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]の下に表示されます
[Tenants] —> [Application Profiles(AP)](APの選択) —> [Application EPGs (Select the EPG)] —> [Policy] —> [General]
同様に、[Layer 3 Out (L3Out) EPG]で[L3out EPG]を選択します。pcTagは[Policy] -> [General]タブの下にあります
[Tenants] —> [Networking] —> [L3Outs] —> [L3out] —> [External EPGs]([Select the EPG]) —> [Policy] —> [General]
-
APICコマンドラインインターフェイス(CLI)の使用
APIC CLIを使用した場合は、 EPGは得られたbyeither「gui を使用したパッシブ クライアントの設定」 ページ 与えられるshowコマンドまたは使用管理オブジェクトクエリ(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では、EndPoint Manager(EPM)からpcTag/SCLASSを取得できます。
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 <<<<<<<
変更後結果ページpcTagの値を入力します。を参照L3Out EPG、Policy Manager (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名を取得する方法を教えてください。
最も簡単な方法取得EPG名APIC CLIからローカル EAP を有効にすると、知っているpcTag使用ページMO Q以下クエリ
通常の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フロー内のクラスとクラスを決定し、 zoning-rule lookup
クラス |
クラス |
SCLASS = Source Epg pctag、入力EPGが通常のEPGの場合。 SCLASS = vrf pctag、L3Out EPGの0.0.0.0/0サブネットのL3Outに入力する場合。 SCLASS =内線EPG pcTag、L3Out外部EPGの他のデフォルト以外のサブネットにヒットした場合。 |
DCLASS = Destination EPG pcTag(宛先エンドポイントが入力リーフで学習した場合)。 DCLASS =1。宛先エンドポイントが学習されず、パケットがファブリック(ハードウェアプロキシまたはフラッド)に送信される場合。 ポリシーの適用は、宛先リーフに対して行われます。 DCLASS = 15。ヒットがL3Out external EPGの0.0.0.0/0サブネットにある場合。 DCLASS =外部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値を使用して、入力および出力リーフスイッチのゾーニングルールを確認できます。
ゾーン分割ルールの詳細については、ここをクリックしてください。