Contents

Introduction

Informações de Apoio

Configurar

Diagrama de Rede

Destaques da configuração

Verificar

Cenário 1 - EPG para EPG: sub-rede compartilhada definida no EPG do provedor

Rastreamento de fluxo de EPG-1 para EPG-2

Fluxo de rastreamento de EPG-2 para EPG-1

Cenário 2 - BD-to-BD: sub-rede compartilhada definida no BD do provedor.

Rastreamento de fluxo de EPG-1 para EPG-2

Fluxo de rastreamento de EPG-2 para EPG-1

Destaque de uso de TCAM

Conclusão

Referências e links úteis

Introduction

Este documento descreve as etapas para configurar e verificar a configuração do Shared Services com o Shared BD no ACI.

Informações de Apoio

Uma configuração do Shared Services permite a comunicação entre EPGs em diferentes VRFs em uma estrutura da ACI.

O Shared Services aproveita ao máximo as 3 categorias de PcTag:

Nome da categoria

Intervalo de PcTag

Sistema

1 - 15

Global

16 - 16385

Local

16386 - 65535

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

Diagrama de Rede

Destaques da configuração

- O escopo de sub-rede "Compartilhado entre VRFs" é necessário na sub-rede a ser vazada,192.168.10.1/24

- O Contrato deve ter pelo menos o Escopo 'Tenant', pois os EPGs estão no mesmo espaço.

- Se os EPGs estiverem em locatários diferentes, o Contrato deverá ter o Escopo 'Global'

- Se a sub-rede compartilhada for definida no EPG do provedor, o contrato só precisará ser fornecido no EPG para ser compartilhado e consumido no EPG para consumir.

OU

- Se a Sub-rede Compartilhada for definida no BD do Provedor, o Contrato deverá ser Fornecido por EPGs e Consumido por EPGs e sub-redes somente no BD. Isso usa mais espaço de TCAM à medida que mais regras de zoneamento são programadas.

Observação: VZany não é suportado como um provedor de serviços compartilhados

Verificar

Cenário 1 - EPG para EPG: sub-rede compartilhada definida no EPG do provedor

Neste cenário de exemplo, a Sub-rede Compartilhada é configurada em EPG-2.

Observação: se a mesma sub-rede for definida em um EPG e em seu BD associado, ambas as definições deverão ter os mesmos valores de Escopo definidos.

Essa opção otimiza a utilização do TCAM e realiza a configuração do Shared Services. O TCAM é otimizado, pois as regras de zoneamento só precisam ser programadas no VRF do consumidor. Neste cenário, o VRF de consumidor está apenas na Folha 101.

Rastreamento de fluxo de EPG-1 para EPG-2

Folha do Consumidor 101

As informações de rota no Leaf 101 Consumer VRF PJ:VRF-1 mostram a rota para 192.168.10.10 via VNID 2260992, que é Provider VRF PJ:VRF-2:

leaf101# show ip route 192.168.10.10 vrf PJ:VRF-1

IP Route Table for VRF "PJ:VRF-1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%' in via output denotes VRF

192.168.10.0/24, ubest/mbest: 1/0, attached, direct, pervasive

*via 10.0.240.33%overlay-1, [1/0], 23:06:11, static, tag 4294967294, rwVnid: vxlan-2260992

recursive next hop: 10.0.240.33/32%overlay-1

O fluxo de tráfego pode ser validado com um ELAM na folha de consumidor 101 em relação à solicitação ICMP da origem 10.10.10.10 para o destino 192.168.10.1

leaf101# vsh_lc

module-1# trigger reset

module-1# trigger init in-select 6 out-select 1

module-1# set outer ipv4 src_ip 10.10.10.10 dst_ip 192.168.10.10

module-1# start

module-1# ereport

...

-----------------------------------------------------------------------------------------------------------------------------------

Outer L3 Header

-----------------------------------------------------------------------------------------------------------------------------------

...

IP Protocol Number            : ICMP

IP CheckSum                   : 37262( 0x918E )

Destination IP                : 192.168.10.10

Source IP                     : 10.10.10.10

-----------------------------------------------------------------------------------------------------------------------------------

Contract Lookup Key

-----------------------------------------------------------------------------------------------------------------------------------

IP Protocol                             : ICMP( 0x1 )

L4 Src Port                             : 2048( 0x800 )

L4 Dst Port                             : 16568( 0x40B8 )

sclass (src pcTag)                      : 16388( 0x4004 )

dclass (dst pcTag)                      : 10930( 0x2AB2 )

src pcTag is from local table           : yes

derived from a local table on this node by the lookup of src IP or MAC

Unknown Unicast / Flood Packet          : no

If yes, Contract is not applied here because it is flooded

-----------------------------------------------------------------------------------------------------------------------------------

Contract Result

-----------------------------------------------------------------------------------------------------------------------------------

Contract Drop                           : no

Contract Logging                        : no

Contract Applied                        : yes

Contract Hit                            : yes

Contract Aclqos Stats Index             : 81874

( show sys int aclqos zoning-rules | grep -B 9 "Idx: 81874" )

O relatório mostra que o Contrato é aplicado na Folha de Consumidor 101 e que foram atribuídos Src pcTag 16388 (EPG-1) e Dst PcTAG 10930 (EPG-2).

Esses valores podem ser comparados com as regras de zoneamento programadas no VRF PJ:VRF-1 do consumidor (VNID 3080192) para identificar quais IDs de regra foram atingidas:

leaf101# show zoning-rule scope 3080192

+---------+--------+--------+----------+----------------+---------+---------+--------------+----------+------------------------+

| Rule ID | SrcEPG | DstEPG | FilterID |      Dir       |  operSt |  Scope  |     Name     |  Action  |        Priority        |

+---------+--------+--------+----------+----------------+---------+---------+--------------+----------+------------------------+

|   4117  | 10930  |   0    | implicit |    uni-dir     | enabled | 3080192 |              | deny,log | shsrc_any_any_deny(12) |

|   4108  | 10930  | 16388  |    8     | uni-dir-ignore | enabled | 3080192 | PJ:EPG1-EPG2 |  permit  |     fully_qual(7)      |

|   4118  | 16388  | 10930  |    8     |     bi-dir     | enabled | 3080192 | PJ:EPG1-EPG2 |  permit  |     fully_qual(7)      |

+---------+--------+--------+----------+----------------+---------+---------+--------------+----------+------------------------+

Observação: uma regra de negação implícita é criada automaticamente do provedor EPG-2 (PcTag 10930) para qualquer (PcTag 0). Isso evita a comunicação do VRF do provedor com o VRF do consumidor sem contratos adicionais nos EPGs.

Fluxo de rastreamento de EPG-2 para EPG-1

Folha do Provedor 102

As informações de rota na Folha 102 para o Provedor VRF PJ:VRF-2 mostram a rota para 10.10.10.10 via VNID 3080192, que é Consumidor VRF PJ:VRF-1:

leaf102# show ip route 10.10.10.10 vrf PJ:VRF-2

IP Route Table for VRF "PJ:VRF-2"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%' in via output denotes VRF

10.10.10.0/24, ubest/mbest: 1/0, attached, direct, pervasive

*via 10.0.240.33%overlay-1, [1/0], 1d22h, static, tag 4294967294, rwVnid: vxlan-3080192

recursive next hop: 10.0.240.33/32%overlay-1

O fluxo de tráfego pode ser validado com um ELAM na Folha 101 do Provedor em relação à Solicitação ICMP da Origem 192.168.10.10 para o Destino 10.10.10.10:

leaf102# trigger reset

module-1# trigger init in-select 6 out-select 1

module-1# set outer ipv4 src_ip 192.168.10.10 dst_ip 10.10.10.10

module-1# start

module-1# ereport

...

-----------------------------------------------------------------------------------------------------------------------------------

Outer L3 Header

-----------------------------------------------------------------------------------------------------------------------------------

...

IP Protocol Number            : ICMP

IP CheckSum                   : 37262( 0x918E )

Destination IP                : 10.10.10.10

Source IP                     : 192.168.10.10

-----------------------------------------------------------------------------------------------------------------------------------

Contract Lookup Key

-----------------------------------------------------------------------------------------------------------------------------------

IP Protocol                             : ICMP( 0x1 )

L4 Src Port                             : 0( 0x0 )

L4 Dst Port                             : 18616( 0x48B8 )

sclass (src pcTag)                      : 10930( 0x2AB2 )

dclass (dst pcTag)                      : 14( 0xE )

src pcTag is from local table           : yes

derived from a local table on this node by the lookup of src IP or MAC

Unknown Unicast / Flood Packet          : no

If yes, Contract is not applied here because it is flooded

-----------------------------------------------------------------------------------------------------------------------------------

Contract Result

-----------------------------------------------------------------------------------------------------------------------------------

Contract Drop                           : no

Contract Logging                        : no

Contract Applied                        : no

Contract Hit                            : yes

Contract Aclqos Stats Index             : 81873

( show sys int aclqos zoning-rules | grep -B 9 "Idx: 81873" )

Neste relatório, observe que a classe e a classe são valores não locais.

O EPG-2, o provedor de serviços compartilhados, agora dirige um Global PcTag de10930.

A classe atribuída a este pacote é Shared Service Consumer PcTag 14. PcTag 14 é o PcTag do sistema reservado para o tráfego Inter-VRF.

Observe que há uma regra de zoneamento especial programada na Folha 102 do provedor entre o Provedor EPG2 PcTag 10930 e o Sistema de Consumidor de Serviços Compartilhados PcTag 14 com a "Ação" definida como "permit_override".  Esta regra permite que fluxos correspondentes sejam encaminhados para a Folha do Consumidor para pesquisa de política final:

leaf102# show zoning-rule

+---------+--------+--------+----------+---------+---------+----------+------+-----------------+----------------------+

| Rule ID | SrcEPG | DstEPG | FilterID |   Dir   |  operSt |  Scope   | Name |      Action     |       Priority       |

+---------+--------+--------+----------+---------+---------+----------+------+-----------------+----------------------+

|   4113  | 10930  |   14   | implicit | uni-dir | enabled | 2260992  |      | permit_override |    src_dst_any(9)    |

+---------+--------+--------+----------+---------+---------+----------+------+-----------------+----------------------+

Cenário 2 - BD-to-BD: sub-rede compartilhada definida no BD do provedor.

Neste cenário de exemplo, a Sub-rede Compartilhada é configurada apenas em BD-2.

Para concluir a configuração do Shared Services, os Contratos devem ser Consumidos e Fornecidos em ambos os EPGs: EPG-1 e EPG-2.

Rastreamento de fluxo de EPG-1 para EPG-2

Como um contrato de serviço compartilhado é fornecido e consumido em ambos os EPGs, um fluxo de pacotes entre o EPG-1 (Folha 101) e o EPG-2 (Folha 102) observa estas propriedades:

- O EPG-1 é considerado o provedor

- O EPG-2 é considerado o consumidor

- A folha 102 é a folha do consumidor, e por isso a política final é aplicada aqui.

As informações de rota são as mesmas do Cenário 1.

Folha 101 do "provedor":

Leaf101# vsh_lc

module-1# trigger reset

module-1# trigger init in-select 6 out-select 1

module-1# set outer ipv4 src_ip 10.10.10.10 dst_ip 192.168.10.10

module-1# start

module-1# status

module-1# ereport

...

-----------------------------------------------------------------------------------------------------------------------------------

Outer L3 Header

-----------------------------------------------------------------------------------------------------------------------------------

...

IP Protocol Number            : ICMP

IP CheckSum                   : 23304( 0x5B08 )

Destination IP                : 192.168.10.10

Source IP                     : 10.10.10.10

-----------------------------------------------------------------------------------------------------------------------------------

Contract Lookup Key

-----------------------------------------------------------------------------------------------------------------------------------

IP Protocol                             : ICMP( 0x1 )

L4 Src Port                             : 2048( 0x800 )

L4 Dst Port                             : 59074( 0xE6C2 )

sclass (src pcTag)                      : 18( 0x12 )

dclass (dst pcTag)                      : 14( 0xE )

src pcTag is from local table           : yes

derived from a local table on this node by the lookup of src IP or MAC

Unknown Unicast / Flood Packet          : no

If yes, Contract is not applied here because it is flooded

-----------------------------------------------------------------------------------------------------------------------------------

Contract Result

-----------------------------------------------------------------------------------------------------------------------------------

Contract Drop                           : no

Contract Logging                        : no

Contract Applied                        : no

Contract Hit                            : yes

Contract Aclqos Stats Index             : 81873

( show sys int aclqos zoning-rules | grep -B 9 "Idx: 81873" )

Observe que a classe 14 está atribuída. Isso significa que o tráfego tem permissão para continuar por meio da regra "permit_override" para que a Folha do consumidor possa direcionar a pesquisa de política final.

Folha "Consumidor" 102

Leaf102# vsh_lc

module-1# trigger reset

module-1# trigger init in-select 14 out-select 1

module-1# set inner ipv4 src_ip 10.10.10.10  dst_ip 192.168.10.10

module-1# start

module-1# ereport

...

-----------------------------------------------------------------------------------------------------------------------------------

Inner L3 Header

-----------------------------------------------------------------------------------------------------------------------------------

...

IP Protocol Number            : ICMP

Destination IP                : 192.168.10.10

Source IP                     : 10.10.10.10

-----------------------------------------------------------------------------------------------------------------------------------

Contract Lookup Key

-----------------------------------------------------------------------------------------------------------------------------------

IP Protocol                             : ICMP( 0x1 )

L4 Src Port                             : 2048( 0x800 )

L4 Dst Port                             : 26203( 0x665B )

sclass (src pcTag)                      : 18( 0x12 )

dclass (dst pcTag)                      : 10930( 0x2AB2 )

src pcTag is from local table           : no

derived from group-id in iVxLAN header of incoming packet

Unknown Unicast / Flood Packet          : no

If yes, Contract is not applied here because it is flooded

-----------------------------------------------------------------------------------------------------------------------------------

Contract Result

-----------------------------------------------------------------------------------------------------------------------------------

Contract Drop                           : no

Contract Logging                        : no

Contract Applied                        : yes

Contract Hit                            : yes

Contract Aclqos Stats Index             : 81874

( show sys int aclqos zoning-rules | grep -B 9 "Idx: 81874" )

Observe que tanto o EPG-1 quanto o EPG-2 agora têm Global PcTags; o EPG-1 é o PcTag 18 e o EPG-2 é o PcTag 10938.

Fluxo de rastreamento de EPG-2 para EPG-1

Como um contrato de serviço compartilhado é fornecido e consumido em ambos os EPGs, um fluxo de pacotes entre o EPG-2 (Folha 102) e o EPG-1 (Folha 101) observa as seguintes propriedades:

- O EPG-2 é considerado o provedor

- O EPG-1 é considerado o consumidor

- A folha 101 é a folha do Consumidor e, portanto, a política final é aplicada aqui.

As informações de rota são as mesmas do Cenário 1.

Folha 102 do "provedor"

Leaf102# vsh_lc

module-1# trigger reset

module-1# trigger init in-select 6 out-select 1

module-1# set outer ipv4 src_ip 192.168.10.10 dst_ip 10.10.10.10

module-1# start

module-1# ereport

...

-----------------------------------------------------------------------------------------------------------------------------------

Outer L3 Header

-----------------------------------------------------------------------------------------------------------------------------------

...

IP Protocol Number            : ICMP

IP CheckSum                   : 23308( 0x5B0C )

Destination IP                : 10.10.10.10

Source IP                     : 192.168.10.10

-----------------------------------------------------------------------------------------------------------------------------------

Contract Lookup Key

-----------------------------------------------------------------------------------------------------------------------------------

IP Protocol                             : ICMP( 0x1 )

L4 Src Port                             : 0( 0x0 )

L4 Dst Port                             : 56682( 0xDD6A )

sclass (src pcTag)                      : 10930( 0x2AB2 )

dclass (dst pcTag)                      : 14( 0xE )

src pcTag is from local table           : yes

derived from a local table on this node by the lookup of src IP or MAC

Unknown Unicast / Flood Packet          : no

If yes, Contract is not applied here because it is flooded

-----------------------------------------------------------------------------------------------------------------------------------

Contract Result

-----------------------------------------------------------------------------------------------------------------------------------

Contract Drop                           : no

Contract Logging                        : no

Contract Applied                        : no

Contract Hit                            : yes

Contract Aclqos Stats Index             : 81873

( show sys int aclqos zoning-rules | grep -B 9 "Idx: 81873" )

Observe que a classe 14 está atribuída. Isso significa que o tráfego tem permissão para continuar por meio da regra "permit_override" para que a Folha do consumidor possa direcionar a pesquisa de política final.

Folha "Consumidor" 101

Leaf101# vsh_lc

module-1# trigger reset

module-1# trigger init in-select 6 out-select 1

module-1# set outer ipv4 src_ip 192.168.10.10 dst_ip 10.10.10.10

module-1# start

module-1# ereport

-----------------------------------------------------------------------------------------------------------------------------------

Inner L3 Header

-----------------------------------------------------------------------------------------------------------------------------------

L3 Type                       : IPv4

DSCP                          : 0

Don't Fragment Bit            : 0x0

TTL                           : 254

IP Protocol Number            : ICMP

Destination IP                : 10.10.10.10

Source IP                     : 192.168.10.10

-----------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------

Contract Lookup Key

-----------------------------------------------------------------------------------------------------------------------------------

IP Protocol                             : ICMP( 0x1 )

L4 Src Port                             : 0( 0x0 )

L4 Dst Port                             : 22874( 0x595A )

sclass (src pcTag)                      : 10930( 0x2AB2 )

dclass (dst pcTag)                      : 18( 0x12 )

src pcTag is from local table           : no

derived from group-id in iVxLAN header of incoming packet

Unknown Unicast / Flood Packet          : no

If yes, Contract is not applied here because it is flooded

-----------------------------------------------------------------------------------------------------------------------------------

Contract Result

-----------------------------------------------------------------------------------------------------------------------------------

Contract Drop                           : no

Contract Logging                        : no

Contract Applied                        : yes

Contract Hit                            : yes

Contract Aclqos Stats Index             : 81874

( show sys int aclqos zoning-rules | grep -B 9 "Idx: 81874" )

Destaque de uso de TCAM

No cenário BD-to-BD, observe que as regras de zoneamento dobraram, já que EPG-1 e EPG-2 são Consumidores de Contrato de Serviços Compartilhados:

Leaf101# show zoning-rule scope 3080192

+---------+--------+--------+----------+----------------+---------+---------+--------------+-----------------+------------------------+

| Rule ID | SrcEPG | DstEPG | FilterID |      Dir       |  operSt |  Scope  |     Name     |      Action     |        Priority        |

+---------+--------+--------+----------+----------------+---------+---------+--------------+-----------------+------------------------+

|   4117  | 10930  |   0    | implicit |    uni-dir     | enabled | 3080192 |              |     deny,log    | shsrc_any_any_deny(12) |

|   4129  |   18   |   14   | implicit |    uni-dir     | enabled | 3080192 |              | permit_override |     src_dst_any(9)     |

|   4128  | 10930  |   18   |    8     |     bi-dir     | enabled | 3080192 | PJ:EPG1-EPG2 |      permit     |     fully_qual(7)      |

|   4127  |   18   | 10930  |    8     | uni-dir-ignore | enabled | 3080192 | PJ:EPG1-EPG2 |      permit     |     fully_qual(7)      |

+---------+--------+--------+----------+----------------+---------+---------+--------------+-----------------+------------------------+

Leaf102# show zoning-rule scope 2260992

+---------+--------+--------+----------+----------------+---------+---------+--------------+-----------------+------------------------+

| Rule ID | SrcEPG | DstEPG | FilterID |      Dir       |  operSt |  Scope  |     Name     |      Action     |        Priority        |

+---------+--------+--------+----------+----------------+---------+---------+--------------+-----------------+------------------------+

|   4113  | 10930  |   14   | implicit |    uni-dir     | enabled | 2260992 |              | permit_override |     src_dst_any(9)     |

|   4123  |   18   | 10930  |    8     |     bi-dir     | enabled | 2260992 | PJ:EPG1-EPG2 |      permit     |     fully_qual(7)      |

|   4124  |   18   |   0    | implicit |    uni-dir     | enabled | 2260992 |              |     deny,log    | shsrc_any_any_deny(12) |

|   4122  | 10930  |   18   |    8     | uni-dir-ignore | enabled | 2260992 | PJ:EPG1-EPG2 |      permit     |     fully_qual(7)      |

+---------+--------+--------+----------+----------------+---------+---------+--------------+-----------------+------------------------+

Observação: observe que o número de regras de zoneamento "shsrc_any_any_deny" e "permit_override" implícitas também dobrou devido a essa configuração.

Conclusão

Os dois cenários de configuração realizam a funcionalidade do Shared Services, no entanto, o método BD-to-BD é pago pelo consumo extra de TCAM.

Referências e links úteis

Guia de contratos da Cisco ACI

Entender e solucionar problemas do ACI Shared Services - DGTL-TSCDCN-305