목차

소개

사전 요구 사항

pcTag란?

EPG의 pctag 값을 가져오는 방법

APIC(Application Policy Infrastructure Controller) 그래픽 사용자 인터페이스(GUI) 사용

APIC CLI(Command Line Interface) 사용

Leaf CLI 사용

pcTag 값을 알고 있을 때 EPG 이름을 가져오는 방법

소스 pcTag 및 목적지 pcTag 흐름의 SCLASS/DCLASS를 구동하는 규칙

ELAM(Embedded Logic Analysis Module)을 사용하여 SCLASS/DCLASS 가져오기

나소개

이 문서에서는 Cisco ACI(Application Centric Infrastructure)의 정책 클래스 태그(pcTag)/클래스 개념에 대해 설명합니다. 이 문서의 정보는 소프트웨어 버전 4.2(3n)를 기반으로 합니다.

사전 요구 사항

이 문서에 제시된 설계를 최대한 이해하려면 Cisco ACI에 대한 기본적인 실무 지식을 갖추고 있어야 합니다.

pcTag란?

간단히 말해, pcTag는 ACI에서 엔드포인트 정책 그룹(epg)의 내부 표시에 사용되는 숫자 ID로, 소스 클래스(sclass) 또는 대상 클래스(dclass)라고도 합니다. 트래픽 분류 및 정책 시행(계약 시행)에 사용됩니다. 구성된 정책 시행 방향(기본값 - 인그레스) 및 로컬에서 사용 가능한 접두사 정보에 따라 트래픽이 ACI Leaf를 인그레스(ingress)하는 경우 ACI Leaf는 pcTag 값을 할당하여 소스 및 목적지 트래픽을 EPG로 분류하고 표시합니다.소스 epg에 할당된 pcTag는 SCLASS이며, 대상 EPG에 할당된 pcTag는 DCLASS라고 합니다.

pcTag 값의 범위는 1~65535입니다. 3개의 범주로 나눌 수 있습니다.

시스템 - 1~15 범위의 내부 시스템 태그입니다. 예를 들어, 13은 EPG용, 15는 EPG의 0.0.0.0/0 서브넷을 사용하는 l3out에 사용됩니다.

전역 - 기본적으로 pcTag의 범위는 VRF(Virtual Routing and Forwarding)에 로컬입니다. 그러나 VRF 간 계약의 경우 pcTag는 전역 범위를 가져야 하며 api 패브릭 전체에서 고유해야 합니다.  범위 16~16385는 전 세계적으로 사용하도록 예약되어 있습니다.

로컬 - pcTag의 기본 범위는 VRF에 로컬이며 VRF에서 재사용할 수 있습니다.값의 범위는 16386-65535입니다.

EPG의 pctag 값을 가져오는 방법

- APIC(Application Policy Infrastructure Controller) 그래픽 사용자 인터페이스(GUI) 사용

APIC GUI에서 pctag 및 pcTag를 가져올 EPG를 Policy(정책) -> General(일반)에서 선택합니다.

테넌트 —> 애플리케이션 프로파일(AP)(AP 선택) —> 애플리케이션 EPG(EPG 선택)—> 정책 —> 일반

마찬가지로 L3Out(L3Out) EPG의 경우 L3out EPG를 선택하면 Policy(정책) -> General(일반) 탭 바로 아래에서 pcTag를 찾을 수 있습니다.

테넌트 —> 네트워킹 —> L3Outs—>L3out —> 외부 EPG를 선택합니다( EPG 선택) —>정책 —>일반

- APIC CLI(Command Line Interface) 사용

APIC CLI, pcTag 사용 EPG는획득기준둘 중 하나사용 이(가) 제공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

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

- Leaf CLI 사용

- 엔드포인트가 학습된 경우일반 EPG에서는 EPM(EndPoint Manager)에서 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,정책 관리자(P)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에서언제알고 있음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에 대한 범위가 있으므로 한 pcTag 값에 대해 여러 EPG를 가져올 수 있습니다.VRF 세그먼트 ID가 있는 추가 필터를 사용하면 정확한 일치 결과를 얻을 수 있습니다.

소스 pcTag 및 목적지 pcTag 흐름의 SCLASS/DCLASS를 구동하는 규칙

이규칙은 intra-VRFflow의 클래스 및 클래스를 확인하고 다음을 수행하는 데 사용할 수 있습니다. 영역 지정 규칙 조회

클래스

클래스

SCLASS = Source Epg pctag(인그레스 EPG가 일반 EPG인 경우)

SCLASS = vrf pctag, L3Out EPG의 0.0.0.0/0 서브넷 아래에 있는 L3Out에 인그레스(ingress)가 있는 경우.

SCLASS = 내선EPG pcTag - L3Out 외부 EPG에서 기본이 아닌 다른 서브넷을 누르는 경우

DCLASS= 대상 엔드포인트가 인그레스 leaf에서 학습한 경우 대상 EPG pcTag.

DCLASS = 1, 대상 엔드포인트가 학습되지 않은 경우 패킷을 패브릭에 보냅니다(하드웨어 프록시 또는 플러드). 정책 시행은 대상 Leaf에 있습니다.

DCLASS = 15, hit가 L3Out 외부 EPG 아래의 0.0.0.0/0 서브넷에 있는 경우.

DCLASS = External EPG pcTag, 적중 횟수가 더 특정 또는 비기본 서브넷에 있는 경우.

참고:위에 언급된 서브넷은 라우팅 테이블의 서브넷이 아니라 외부 EPG에서 구성하는 서브넷입니다.

ELAM(Embedded Logic Analysis Module)을 사용하여 SCLASS/DCLASS 가져오기

ELAM은 흐름의 소스 및 목적지 pcTag 값을 가져오기 위한 기본 도구 중 하나입니다.ELAM의 "pkt rw vector"에서 지정된 필드를 사용하여 흐름의 SCLASS 및 DCLASS를 가져올 수 있습니다.값은 16진수로 변환되며 EPG pcTag를 가져오려면 십진수로 변환해야 합니다.

sug_lurw_vec.info.ns클래스:<간격>

sug_lurw_vec.info.ns클래스:<간격>

예:

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를 확인할 수 있습니다.

Zoning-Rules에 대한 자세한 내용을 보려면 여기를 클릭하십시오.