I介紹
本檔案介紹思科以應用程式為中心的基礎架構(ACI)中的原則類別標籤(pcTag)/類別概念。 本檔案中的資訊是根據軟體版本4.2(3n)。
必要條件
為充分理解本文檔中介紹的設計,讀者必須具備思科ACI的基本工作知識。
什麼是pcTag?
簡而言之,pcTag是一個數字ID,用於ACI中終端策略組(epg)的內部表示,也稱為源類(sclass)或目標類(dclass)。 它用於流量分類和策略實施(合約實施)。 當流量進入ACI枝葉時,ACI枝葉會根據配置的策略實施方向(預設 — 輸入)和本地可用的字首資訊,通過為ACI枝葉分配pcTag值,對源和目標流量進行分類並將其標籤為EPG。分配給源EPG的pcTag稱為SCLASS,而分配給目標EPG的pcTag稱為DCLASS。
pcTag值的範圍介於1和65535之間。可以進一步將其細分為三類。
System — 這些是範圍1-15的內部系統標籤。例如,13用於丟棄EPG,15用於EPG中帶有0.0.0.0/0子網的l3out。
全域性 — 預設情況下,pcTag的範圍是VRF(虛擬路由和轉發)的本地範圍。 但是,在VRF間合約的情況下,pcTag必須具有全域性範圍,並且在api交換矩陣中必須是唯一的。 16-16385範圍保留供全球使用。
Local - pcTag的預設作用域是VRF的本地作用域,並且可以在VRF中重複使用。其值範圍為16386-65535。
如何獲取EPG的pctag值?
-
使用應用策略基礎設施控制器(APIC)圖形使用者介面(GUI)
在APIC GUI上,選擇要為其獲取pctag的EPG,並且可在Policy -> General下檢視pcTag
租戶 — >應用配置檔案(AP)(選擇AP) — >應用EPG(選擇EPG) — >策略 — >常規
同樣,對於第3層Out(L3Out)EPG,請選擇L3out EPG,pcTag位於Policy -> General頁籤下
租戶 — >網路 — > L3Outs—>選擇L3out —>外部EPG(選擇EPG) — >策略 — >常規
使用APIC CLI時, EPG可以獲得依據任一使用 其 給定show command或使用託管對象查詢(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
Moquery以獲取L3Out epg的pcTag值:
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,策略管理器使用策略管理器)字首表:
在輸出,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當您知道pcTag使用其低於MO Query
對於常規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值獲得多個EPG時,存在一些可能性,因為本地pcTag具有本地到VRF的作用域。具有VRF段ID的附加過濾器可以獲取完全匹配。
驅動流的源pcTag和目標pcTag CLASS/DCLASS的規則
這些規則可用於確定VRFflow內的類和類,並 zoning-rule lookup
Sclass |
Dclass |
SCLASS =源Epg pctag(如果輸入EPG是常規EPG)。 SCLASS = vrf pctag,如果輸入到L3Out EPG中0.0.0.0/0子網下的L3Out。 SCLASS =外部EPG pcTag(如果在L3Out外部EPG中找到了任何其他非預設子網)。 |
DCLASS=目標EPG pcTag(如果目標終端已在入口枝葉上獲知)。 DCLASS =1,如果未獲知目標端點,則將資料包傳送到交換矩陣(硬體代理或泛洪)。 策略實施將在目標枝葉上。 DCLASS = 15,如果命中的地址在L3Out外部EPG下的0.0.0.0/0子網上。 DCLASS =外部EPG pcTag(當命中位於更具體的或非預設子網上)。 |
附註:上述子網是您在外部EPG下配置的子網,而不是路由表中的子網。
使用嵌入式邏輯分析模組(ELAM)獲取CLASS/DCLASS
ELAM是獲取流的源和目標pcTag值的首選工具之一。在ELAM中,在「pkt rw向量」下,我們可以利用給定的欄位來得到流的SCLASS和DCLASS。這些值將採用十六進位制形式,需要轉換為十進位制形式才能獲得EPG pcTag。
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值,我們可以驗證入口和出口枝葉交換機上的分割槽規則。
有關Zoning-Rules的詳細資訊,請按一下此處。