목차

소개

배경 정보

구성

네트워크 다이어그램

컨피그레이션 주요 내용

다음을 확인합니다.

시나리오 1 - EPG-EPG: 공유 서브넷이 사업자 EPG에 정의됨

EPG-1 - EPG-2 플로우 추적

EPG-2-EPG-1 플로우 추적

시나리오 2 - BD-to-BD: 공급자 BD에 정의된 공유 서브넷

EPG-1 - EPG-2 플로우 추적

EPG-2-EPG-1 플로우 추적

TCAM 사용 요약

결론

참조 및 유용한 링크

소개

이 문서에서는 ACI에서 Shared BD를 사용하여 Shared Services 구성을 구성하고 확인하는 단계에 대해 설명합니다.

배경 정보

Shared Services 컨피그레이션은 ACI 패브릭 내의 여러 VRF를 통해 EPG 간의 통신을 가능하게 합니다.

Shared Services는 다음 3가지 PcTag 범주를 십분 활용합니다.

범주 이름

PcTag 범위

시스템

1~15

글로벌

16 - 16385

로컬

16386 - 65535

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

구성

네트워크 다이어그램

컨피그레이션 주요 내용

- 유출할 서브넷에서 "VRF 간 공유" 서브넷 범위가 필요합니다.,192.168.10.1/24

- EPG가 동일한 테넌트에 있으므로 계약에는 적어도 '테넌트' 범위가 있어야 합니다.

- EPG가 서로 다른 테넌트에 있는 경우 계약에 '글로벌' 범위가 있어야 합니다

- 공유 서브넷이 사업자 EPG에 정의된 경우, EPG에서 공유되고 EPG에서 소비되는 계약만 EPG에 제공되어야 합니다.

또는

- 공유 서브넷이 사업자 BD에 정의된 경우, 계약은 두 EPG에 의해 제공되어야 하며 BD의 EPG 및 서브넷에 의해서만 사용되어야 합니다. 이것은 더 많은 Zoning-Rules가 프로그래밍됨에 따라 더 많은 TCAM 공간을 사용합니다.

참고: VZany는 공유 서비스 공급자로 지원되지 않습니다.

다음을 확인합니다.

시나리오 1 - EPG-EPG: 공유 서브넷이 사업자 EPG에 정의됨

이 예제 시나리오에서는 공유 서브넷이 EPG-2 아래에 구성됩니다.

참고: 동일한 서브넷이 EPG와 연결된 BD에 모두 정의된 경우 두 정의 모두 동일한 범위 값이 설정되어 있어야 합니다.

이 옵션은 TCAM 활용률을 최적화하고 Shared Services 구성을 수행합니다. Zoning-Rules는 소비자 VRF에서만 프로그래밍하면 되므로 TCAM이 최적화됩니다. 이 시나리오에서 소비자 VRF는 Leaf 101에만 있습니다.

EPG-1 - EPG-2 플로우 추적

소비자 리프 101

Leaf 101 Consumer VRF PJ:VRF-1의 경로 정보는 VNID 2260992를 통해 192.168.10.10에 대한 경로를 보여 줍니다. 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

소스 10.10.10.10에서 목적지 192.168.10.1로의 ICMP 요청에 대해 소비자 리프 101에서 ELAM으로 트래픽 흐름을 확인할 수 있습니다

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

보고서는 Contract가 Consumer Leaf 101에 적용되고 Src pcTag 16388(EPG-1) 및 Dst PcTAG 10930(EPG-2)가 할당되었음을 보여줍니다.

이 값을 소비자 VRF PJ:VRF-1(VNID 3080192)의 프로그램된 Zoning-Rules와 비교하여 적중된 규칙 ID를 식별할 수 있습니다.

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

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

참고: 암시적 거부 규칙은 Provider EPG-2(PcTag 10930)에서 any(PcTag 0)로 자동으로 생성됩니다. 이는 EPG를 통한 추가 계약 없이 사업자 VRF에서 소비자 VRF로 통신을 수행하지 못하도록 하기 위한 것입니다.

EPG-2-EPG-1 플로우 추적

공급자 리프 102

Leaf 102 for Provider VRF PJ:VRF-2의 경로 정보에는 VNID 3080192를 통해 10.10.10.10에 대한 경로가 표시되며, 이는 Consumer 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

소스 192.168.10.10에서 목적지 10.10.10으로의 ICMP 요청에 대해 공급자 리프 101에서 ELAM으로 트래픽 흐름을 확인할 수 있습니다.

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

이 보고서에서 sclass 및 dclass가 모두 비로컬 값인지 확인합니다.

공유 서비스 제공자인 EPG-2는 이제 10930의 전역 PcTag를 구동합니다.

이 패킷에 할당된 dclass는 공유 서비스 소비자 PcTag 14입니다. PcTag 14는 VRF 간 트래픽용으로 예약된 시스템 PcTag입니다.

"Action"이 "permit_override"로 설정된 공급자 EPG2 PcTag 10930과 공유 서비스 소비자 시스템 PcTag 14 간에 공급자 리프 102에 특수한 조닝 규칙이 프로그래밍되어 있는지 확인합니다.  이 규칙을 사용하면 최종 정책 조회를 위해 일치하는 플로우가 소비자 리프로 전달될 수 있습니다.

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

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

시나리오 2 - BD-to-BD: 공급자 BD에 정의된 공유 서브넷.

이 예제 시나리오에서는 공유 서브넷이 BD-2에서만 구성됩니다.

Shared Services 컨피그레이션을 완료하려면 두 EPG(EPG-1 및 EPG-2)에서 모두 계약을 소비하고 제공해야 합니다.

EPG-1 - EPG-2 플로우 추적

두 EPG에서 공유 서비스 계약이 제공되고 소비되므로 EPG-1(Leaf 101)과 EPG-2(Leaf 102) 간의 패킷 흐름은 다음 속성을 관찰합니다.

- EPG-1은 제공자로 간주됩니다.

- EPG-2는 소비자로 간주됩니다.

- Leaf 102는 소비자 leaf이므로 최종 정책이 여기에 적용됩니다.

경로 정보는 시나리오 1과 동일합니다.

"공급자" 리프 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 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" )

dclass 14가 할당되었는지 확인합니다. 이는 소비자 리프가 최종 정책 조회를 구동할 수 있도록 트래픽이 "permit_override" 규칙을 통해 계속되도록 허용됨을 의미합니다.

"소비자" 리프 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" )

이제 EPG-1과 EPG-2 모두 전역 PcTag를 갖습니다. EPG-1은 PcTag 18이고 EPG-2는 PcTag 10938.

EPG-2-EPG-1 플로우 추적

두 EPG에서 공유 서비스 계약이 제공되고 소비되므로 EPG-2(Leaf 102)와 EPG-1(Leaf 101) 간의 패킷 흐름은 다음 속성을 관찰합니다.

- EPG-2는 제공자로 간주됩니다.

- EPG-1은 소비자로 간주됩니다.

- Leaf 101은 소비자 leaf이므로 최종 정책이 여기에 적용됩니다.

경로 정보는 시나리오 1과 동일합니다.

"공급자" 리프 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" )

dclass 14가 할당되었는지 확인합니다. 이는 소비자 리프가 최종 정책 조회를 구동할 수 있도록 트래픽이 "permit_override" 규칙을 통해 계속되도록 허용됨을 의미합니다.

"소비자" 리프 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" )

TCAM 사용 요약

BD 대 BD 시나리오에서 EPG-1 및 EPG-2가 모두 Shared Services Contract Consumer이므로 조닝 규칙이 2배 증가했음을 확인합니다.

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

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

참고: 이 컨피그레이션으로 인해 암시적 "shsrc_any_any_deny" 및 "permit_override" Zoning-Rules의 수도 두 배로 늘어났습니다.

결론

두 컨피그레이션 시나리오 모두 Shared Services 기능을 수행하지만 BD-BD 방식은 추가 TCAM 소비 비용을 부담합니다.

참조 및 유용한 링크

Cisco ACI 계약 가이드

ACI Shared Services 이해 및 문제 해결 - DGTL-TSCDCN-305