Iintrodução
Este documento descreve o conceito de Policy Class Tag (pcTag) / Class na Cisco Application Centric Infrastructure (ACI). As informações neste documento são baseadas na versão de software 4.2(3n).
Prerequisites
Para entender melhor o design apresentado neste documento, o leitor deve ter um conhecimento básico de funcionamento da Cisco ACI.
O que é pcTag?
Em palavras simples, pcTag é uma ID numérica usada para representação interna do Endpoint Policy Group (epg) na ACI, também conhecida como Source Class (classe) ou Destination Class (classe). É usado para a classificação do tráfego e para a Aplicação de Políticas (Aplicação de Contratos). Quando o tráfego entra em uma folha da ACI, com base na direção configurada de aplicação de política (Default - Ingress) e nas informações de prefixo disponíveis localmente, a folha da ACI classificará e marcará o tráfego de origem e de destino em EPGs, atribuindo um valor de pcTag a ela. O pcTag atribuído ao epg de origem é chamado de SCLASS, enquanto o pcTag atribuído ao EPG de destino é chamado de DCLASS.
o valor de pcTag varia entre 1 e 65535. Pode ainda ser subdividida em três categorias.
System - Essas são marcas internas do sistema do intervalo de 1 a 15. p. ex., 13 é para o EPG drop e 15 é usado para l3out com sub-rede 0.0.0.0/0 no EPG.
Global - Por padrão, o escopo do pcTag é local para VRF (Virtual Routing and Forwarding, roteamento e encaminhamento virtual). No entanto, no caso de contratos entre VRF, o pcTag deve ter um escopo global e deve ser exclusivo na estrutura de api. O intervalo 16-16385 é reservado para uso global.
Local - O escopo padrão de pcTag é local para VRF e pode ser reutilizado em VRFs. Seu valor varia de 16386-65535.
Como obter o valor pctag de um EPG?
-
Usando a Interface gráfica do usuário (GUI) do Application Policy Infrastructure Controller (APIC)
Na GUI do APIC, selecione o EPG para o qual deseja obter o pctag e o pcTag pode ser visto em Policy -> General (Política -> Geral)
Locatários —> Application Profiles(AP) (Selecione o AP) —> Application EPGs (selecione o EPG)—> Policy —>General
Da mesma forma, para o EPG de Camada 3 Saída (L3Out), selecione L3out EPG e o pcTag pode ser encontrado na guia Policy -> General (Política -> Geral)
Locatários —> Rede —> L3Outs—>Selecione a L3out —> EPGs externas ( Selecione o EPG) —>Política —>Geral
-
Usando a CLI (Command Line Interface, interface de linha de comando) do APIC
Usando APIC CLI, pcTag de um O EPG podeobtidoporouusando o dadoshow command ouusandouma consulta de objeto gerenciado(Consulta 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 para obter o valor de pcTag de uma página L3Out:
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
-
Usando CLI Folha
- Quando o endpoint foi aprendido em umEPG regular, você pode obter o pcTag/SCLASS do 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 <<<<<<<
ParagetopcTagvalorparaEPG L3Out,o Policy Manager (Policy-mgr) tabela de prefixo usada:
INsaída,16386 é o pcTag para a sub-rede 10.20.20.0/24.
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
Como obter o nome EPG quando você souber o valor de pcTag?
A maneira mais simples derecuperaro nome do EPGda CLI do APICquando vocêconhecimentoo pcTagé usadooabaixo da fila do MOagonia
Para um EPG regular,
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
Para um EPG L3out:
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
Note: Há chances de você obter vários EPGs em um valor de pcTag, pois o pcTag local tem um escopo local para o VRF. Um filtro adicional com ID de segmento VRF pode obter a correspondência exata.
Regras para determinar o pcTag de origem e o pcTag de destino SCLASS/DCLASS de um fluxo
Estesregras podem ser usadas para determinar a classe e a classe de um fluxo intra-VRF e zoning-rule lookup
Classe |
Dclass |
SCLASS = Pctag de origem Epg, se o EPG de entrada for um EPG regular. SCLASS = vrf pctag, se ingressar em um L3Out na sub-rede 0.0.0.0/0 no L3Out EPG. SCLASS = Ext. EPG pcTag, se pressionar qualquer outra sub-rede não padrão no EPG externo L3Out. |
DCLASS = Destination EPG pcTag, se o ponto final de destino tiver aprendido no folha de entrada. DCLASS =1, se o endpoint de destino não for aprendido e enviarmos o pacote para a estrutura (Proxy de hardware ou inundação). A aplicação de políticas seria na folha de destino. DCLASS = 15, se o acerto for na sub-rede 0.0.0.0/0 em L3Out external EPG. DCLASS = External EPG pcTag, quando um hit está em uma sub-rede mais específica ou não padrão. |
Note: A sub-rede mencionada acima é a sub-rede configurada em EPG externo e não a sub-rede em uma tabela de roteamento.
Obtendo SCLASS/DCLASS usando o Embedded Logic Analysis Module (ELAM)
ELAM é uma das ferramentas preferidas para obter os valores de pcTag origem e destino de um fluxo. No ELAM, em "vetor de fluxo de pacote", podemos obter o SCLASS e o DCLASS de um fluxo usando os campos fornecidos. Os valores estarão em hexadecimal e precisarão ser convertidos em decimal para obter o EPG pcTag.
sug_lurw_vec.info.nsh_Special.dclass: <val>
sug_lurw_vec.info.nsh_Special.sclass: <val>
Exemplo:
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
Com os valores de pcTag de origem e de destino, podemos verificar as regras de zoneamento em Switches leaf de entrada e saída.
Para obter mais informações sobre Regras de zoneamento, clique aqui.