Contenido

Introducción

Antecedentes

Configurar

Diagrama de la red

Aspectos destacados de configuración

Verificación

Situación 1: de EPG a EPG: subred compartida definida en el EPG del proveedor

Seguimiento de flujo de EPG-1 a EPG-2

Seguimiento de flujo de EPG-2 a EPG-1

Situación 2: de BD a BD: subred compartida definida en el proveedor BD.

Seguimiento de flujo de EPG-1 a EPG-2

Seguimiento de flujo de EPG-2 a EPG-1

Uso destacado de TCAM

Conclusión

Referencias y enlaces útiles

Introducción

Este documento describe los pasos para configurar y verificar la configuración de Shared Services con Shared BD en ACI.

Antecedentes

Una configuración de Shared Services permite la comunicación entre EPG a través de diferentes VRF dentro de un fabric de ACI.

Shared Services aprovecha al máximo las tres categorías de PcTag:

Nombre de categoría

Intervalo PcTag

Sistema

1 - 15

Global

16 - 16385

Local

16386 - 65535

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Configurar

Diagrama de la red

Aspectos destacados de configuración

- Se requiere el alcance de subred "Compartido entre VRFs" en la subred que se va a filtrar,192.168.10.1/24

- El contrato debe tener al menos un alcance de arrendatario, ya que los EPG están en el mismo arrendatario.

- Si los EPG se encuentran en arrendatarios diferentes, el contrato debe tener un alcance 'global'conservado

- Si la subred compartida está definida en el EPG del proveedor, el contrato solo debe proporcionarse en el EPG para compartirlo y consumirlo en el EPG para consumirlo.

O conservado

- Si la subred compartida está definida en el BD del proveedor, el contrato debe ser suministrado por los EPG y consumido por los EPG y las subredes en el BD solamente. Esto utiliza más espacio TCAM a medida que se programan más reglas de zonificación.

Nota: VZany no se admite como proveedor de servicios compartidos

Verificación

Situación 1: de EPG a EPG: subred compartida definida en el EPG del proveedor

En este escenario de ejemplo, la subred compartida se configura bajo EPG-2.

Nota: Si se define la misma subred bajo un EPG y su BD asociado, ambas definiciones deben tener los mismos valores de alcance establecidos.

Esta opción optimiza la utilización de TCAM y lleva a cabo la configuración de Shared Services. TCAM está optimizado, ya que las reglas de zonificación sólo deben programarse en el VRF de consumidor. En esta situación, el VRF de consumidor está solamente en la hoja 101.

Seguimiento de flujo de EPG-1 a EPG-2

Hoja de consumidor 101

La información de ruta en la hoja 101 Consumidor VRF PJ:VRF-1 muestra la ruta para 192.168.10.10 a través de VNID 260992, que es Proveedor 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

El flujo de tráfico se puede validar con un ELAM en la hoja de consumidor 101 frente a la solicitud ICMP del origen 10.10.10.10 al 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" )

El informe muestra que el contrato se aplica en la hoja de consumidor 101 y que se asignaron Src pcTag 16388 (EPG-1) y Dst PcTAG 10930 (EPG-2).

Estos valores se pueden comparar con las reglas de zonificación programadas en Consumer VRF PJ:VRF-1 (VNID 3080192) para identificar qué ID de regla se han alcanzado:

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)      |

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

Nota: se crea automáticamente una regla de denegación implícita desde el proveedor EPG-2 (PcTag 10930) a cualquier proveedor (PcTag 0). Esto se realiza para evitar la comunicación del VRF del proveedor al VRF del consumidor sin contratos adicionales a través de los EPG.

Seguimiento de flujo de EPG-2 a EPG-1

Hoja de proveedor 102

La información de ruta en la hoja 102 para el proveedor VRF PJ:VRF-2 muestra la ruta para 10.10.10.10 a través de VNID 3080192, que es el VRF de consumidor 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

El flujo de tráfico se puede validar con un ELAM en la hoja de proveedor 101 frente a la solicitud ICMP del origen 192.168.10.10 al 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" )

En este informe, observe que sclass y dclass son valores no locales.

EPG-2, el proveedor de servicios compartidos, dirige ahora una etiqueta de PC global de 10930.

La dclass asignada a este paquete es Shared Service Consumer PcTag 14. PcTag 14 es el System PcTag reservado para el tráfico Inter-VRF.

Observe que hay una regla de zonificación especial programada en la hoja de proveedor 102 entre la PcTag 10930 del proveedor EPG2 y la PcTag 14 del sistema de consumo de servicios compartidos con la "Acción" establecida en "permit_override".  Esta regla permite que los flujos coincidentes se reenvíen a la hoja de consumidor para la búsqueda de políticas 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)    |

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

Situación 2: BD a BD: subred compartida definida en el proveedor BD.

En este escenario de ejemplo, la Subred compartida sólo se configura en BD-2.

Para completar la configuración de Shared Services, los contratos deben consumirse y proporcionarse en ambos EPG: EPG-1 y EPG-2.

Seguimiento de flujo de EPG-1 a EPG-2

Dado que se proporciona y se consume un contrato de servicio compartido en ambos EPG, un flujo de paquetes entre EPG-1 (hoja 101) y EPG-2 (hoja 102) observa estas propiedades:

- EPG-1 se considera el proveedor

- EPG-2 se considera el Consumidor

- La hoja 102 es la hoja Consumidor, por lo que la política final se aplica aquí.

La información de ruta es la misma que en el escenario 1.

Hoja 101 del "proveedor":

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 se asigna dclass 14. Esto significa que se permite que el tráfico continúe a través de la regla "permit_override" para que la hoja de consumidor pueda dirigir la búsqueda final de políticas.

Hoja "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 EPG-1 como EPG-2 ahora tienen Global PcTags; EPG-1 es PcTag 18 y EPG-2 es PcTag 10938.

Seguimiento de flujo de EPG-2 a EPG-1

Dado que se proporciona y se consume un contrato de servicio compartido en ambos EPG, un flujo de paquetes entre EPG-2 (hoja 102) y EPG-1 (hoja 101) observa estas propiedades:

- EPG-2 se considera el proveedor

- EPG-1 se considera el Consumidor

- La hoja 101 es la hoja Consumidor, por lo que la política final se aplica aquí.

La información de ruta es la misma que en el escenario 1.

Hoja "Proveedor" 102

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 se asigna dclass 14. Esto significa que se permite que el tráfico continúe a través de la regla "permit_override" para que la hoja de consumidor pueda dirigir la búsqueda final de políticas.

Hoja "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" )

Uso destacado de TCAM

En la situación de BD a BD, observe que las reglas de división en zonas se han duplicado, ya que tanto EPG-1 como EPG-2 son consumidores de contratos de servicios compartidos:

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)      |

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

Nota: Observe que el número de "shsrc_any_any_deny" y "permit_override" Zoning-Rules implícitas también se han duplicado debido a esta configuración.

Conclusión

Ambos escenarios de configuración logran la funcionalidad de Shared Services; sin embargo, el método de BD a BD tiene un coste adicional en el consumo de TCAM.

Referencias y enlaces útiles

Guía de contratos de Cisco ACI

Comprensión y solución de problemas de ACI Shared Services - DGTL-TSCDCN-305