약어
ACI - 애플리케이션 중심 인프라
EPG - 엔드포인트 그룹
L3out - 레이어 3 출력
AAR - 애플리케이션 인식 라우팅
SLA - 서비스 레벨 계약
DC - 데이터 센터
WAN - 광역 네트워크
SDN - 소프트웨어 정의 네트워킹
SD DC - 소프트웨어 정의 데이터 센터
SD WAN - 소프트웨어 정의 WAN
QOS - 서비스 품질
VRF - 가상 라우팅 및 포워딩
소개
이 문서에서는 ACI(Application Centric Infrastructure), Cisco의 SD-DC(Software Defined - Data Center) 솔루션과 SD-WAN(Software Defined - Wide Area Network) 및 검증을 통합하는 컨피그레이션 단계에 대해 설명합니다.
SDN(Software Defined Networking) 특정 네트워크 세그먼트를 수용하도록 개선되었습니다.
- 소프트웨어 정의 - 데이터 센터(SD-DC)
- 소프트웨어 정의 - SD-WAN(Wide Area Network)
Cisco 솔루션은 SD-WAN에서 SD-DC(Application Centric Infrastructure ACI) 및 AAR(Application Aware Routing)/SLA(Service Level Agreements) 프로필의 강력한 QoS(Quality of Service) 기능을 제공합니다.
점점 더 많은 고객이 전체 경로를 원활하게 통합하고자 계획하고 있으며, 이에 따라 Cisco는 SD-DC 및 SD-WAN 통합을 개발했습니다.
이 통합에서는 두 가지 활용 사례에 중점을 둡니다.
- ACI(DC)에서 SDWAN으로의 트래픽(비 ACI 브랜치)
- SDWAN(비 ACI Branch)에서 ACI(DC)로의 트래픽
사전 요구 사항
요구 사항
SD-WAN과의 통합은 ACI에서 구성된 L3을 통해 이루어지므로 지원되는 프로토콜과 L3out을 구성해야 합니다.
관리 네트워크를 통해 통합이 이루어지므로 ACI(APIC 컨트롤러)와 vManage 간의 관리 연결성이 필요합니다.
사용되는 구성 요소
ACI 패브릭, SDWAN(vManage, vSmart Controller, vEdge)
이 문서는 ACI 버전 4.2(3l)를 기반으로 합니다.
구성
네트워크 다이어그램
참조 토폴로지:
토폴로지에서는 ACI 사이트 A를 DC로, 비 ACI 사이트 C를 SDWAN 브랜치 사이트로 간주합니다.

구성
섹션 A: 통합 구성
- APIC GUI(Graphical User Interface)를 열고 System(시스템) 탭 아래의 Integrations(통합) 탭으로 이동합니다.

- 통합 그룹 만들기

- 새로 생성된 통합 그룹 "SDWAN2"로 이동하고 vManage를 마우스 오른쪽 버튼으로 클릭합니다.

- vManage를 마우스 오른쪽 버튼으로 클릭하고 Create Integration Manager를 선택합니다.

- 통합 관리자 이름, 디바이스 IP/FQDN, 사용자 이름, 비밀번호 등 적절한 세부 정보를 입력합니다.

- 상태 필드에서 등록이 성공했는지 확인합니다. 오류가 발견되지 않거나 오류가 관찰된 경우 제공된 정보가 올바른지 확인합니다. 파트너 ID는 vManage 컨트롤러의 식별자입니다. Integrations -><Group Name>->vManage -> <Integration Manager Name> -> System info로 이동하여 상태를 확인할 수 있습니다.

섹션 B: WAN SLA 정책 구성
사전 구성된 WAN SLA 프로필은 Tenants(테넌트) ->Common(공통)->Policies(정책)->Protocols(프로토콜)->WAN SLA(WAN SLA)에서 찾을 수 있습니다.
이는 WAN SLA 정책을 사용하여 계약을 구성하는 동안 다른 테넌트에서 상속될 수 있습니다.
이는 사전 구성된 SLA이며 변경할 수 없습니다.

이 ACI 통합에 매핑된 SD-WAN에 구성된 VPN도 Tenants(테넌트) ->common(공통)->Policies(정책)->Protocols(프로토콜)->WAN SLA(WAN SLA)에 반영됩니다.

- WAN 서비스를 매핑할 테넌트/VRF 아래에 계약을 생성합니다.
QoS 우선 순위 값은 Unspecified 이외의 값으로 설정해야 합니다. QoS 우선순위 값이 Unspecified로 설정된 경우 WAN SLA 정책이 작동하지 않습니다.
테넌트 -><테넌트 이름>->계약->표준으로 이동하십시오.

- Contract Subject(계약 제목)를 생성하고 Contract Subject(계약 제목)에서 WAN SLA Policy(WAN SLA 정책)를 지정합니다.
QoS 우선 순위 값은 Unspecified 이외의 값으로 설정해야 합니다. QoS 우선순위 값이 Unspecified로 설정된 경우 WAN SLA 정책이 작동하지 않습니다.

- EPG에서 계약 제공
테넌트 -><테넌트 이름>->애플리케이션 프로필->애플리케이션 EPG->계약으로 이동하십시오.

- SD-WAN에 대해 구성된 L3out에서 계약 사용
테넌트 -><테넌트 이름>->L3outs->외부 EPG->Consumed Contracts로 이동하십시오. 또한 L3out External EPG에서 제공하고 EPG에서 사용하는 계약을 가질 수 있으며 유효합니다.

- 테넌트 VRF에 WAN VPN 일치
테넌트 -><테넌트 이름>->VRFs->정책->WAN VPN으로 이동하십시오.

다음을 확인합니다.
섹션 3: 확인
- 구성 확인
ACI의 컨피그레이션에 따라 두 SDWAN 디바이스에 컨피그레이션이 푸시됩니다.
DC 엔드(L3out에 연결됨) SDWAN 경로
ASR1001-X-DC#show sdwan policy from-vsmart
-->>> SLA Policy (parameters)
from-vsmart sla-class Bulk-Data
loss 10
latency 300
jitter 100
from-vsmart sla-class Default
loss 25
latency 300
jitter 100
from-vsmart sla-class Transactional-Data
loss 5
latency 50
jitter 100
from-vsmart sla-class Voice-And-Video
loss 2
latency 45
jitter 100
from-vsmart data-policy _vpn-10_data_policy
direction from-service
vpn-list vpn-10
default-action accept
-->>> DSCP to SLA Mapping
from-vsmart app-route-policy _412898115_vpn_412898115
vpn-list 412898115_vpn
sequence 10
match
dscp 14
action
sla-class Default
no sla-class strict
sequence 20
match
dscp 18
action
sla-class Voice-And-Video
no sla-class strict
sequence 30
match
dscp 12
action
sla-class Transactional-Data
no sla-class strict
sequence 40
match
dscp 10
action
sla-class Bulk-Data
no sla-class strict
from-vsmart lists vpn-list 412898115_vpn
vpn 10
from-vsmart lists vpn-list vpn-10
vpn 10
ASR1001-X-DC#
지사 엔드 SDWAN 라우터
ASR1001-X-Branch#show sdwan policy from-vsmart
-->>> SLA Policy (parameters)
from-vsmart sla-class Bulk-Data
loss 10
latency 300
jitter 100
from-vsmart sla-class Default
loss 25
latency 300
jitter 100
from-vsmart sla-class Transactional-Data
loss 5
latency 50
jitter 100
from-vsmart sla-class Voice-And-Video
loss 2
latency 45
jitter 100
-->>> DSCP to SLA Mapping
from-vsmart app-route-policy _412898115_vpn_412898115
vpn-list 412898115_vpn
sequence 10
match
dscp 14
action
sla-class Default
no sla-class strict
sequence 20
match
dscp 18
action
sla-class Voice-And-Video
no sla-class strict
sequence 30
match
dscp 12
action
sla-class Transactional-Data
no sla-class strict
sequence 40
match
dscp 10
action
sla-class Bulk-Data
no sla-class strict
from-vsmart lists vpn-list 412898115_vpn
vpn 10
ASR1001-X-Branch#
- QoS 확인
예 1
WAN SLA 정책 "Transactional-Data". Tenants -><tenant name>->Contracts->Standard-><Contract Name>-><Contract Subject>-> General-> WAN SLA Policy로 이동하십시오.

sequence 30
match
dscp 12
action
sla-class Transactional-Data
no sla-class strict
방향:
1. DC에서 SDWAN으로의 트래픽
아래 캡처에서 볼 수 있듯이, DC에서 시작된 트래픽은 dscp 00이지만 SDWAN에 도달하는 트래픽은 DSCP 12(16진수 0x0c)를 사용합니다.
이는 WAN SLA 정책에 따라 DSCP 값이 변경됨을 나타냅니다.
원래 DSCP 값을 00으로 반영하여 소스(DC)에서 수행된 패킷 캡처입니다.
인터넷 프로토콜, 소스: 192.168.10.2(192.168.10.2), Dst: 172.16.20.2(172.16.20.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x00(DSCP 0x00: 기본값; ECN: 0x00)
0000 00. = 차별화된 서비스 코드 포인트: 기본값(0x00)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa0d5(41173)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 255
프로토콜: ICMP(0x01)
헤더 체크섬: 0x9016 [정확함]
[좋음: 참]
[불량: 거짓]
출처: 192.168.10.2(192.168.10.2)
대상: 172.16.20.2(172.16.20.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0xc16a [정확함]
식별자: 0x4158
시퀀스 번호: 768(0x0300)
데이터(56바이트)
WAN SLA 정책에 따라 DSCP 12(16진수 0x0c) 값의 변경 사항을 반영하는 목적지(SDWAN Branch 사이트)의 패킷 캡처
인터넷 프로토콜, 소스: 192.168.10.2(192.168.10.2), Dst: 172.16.20.2(172.16.20.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x30(DSCP 0x0c: Assured Forwarding 12; ECN: 0x00)
0011 00.. = 차별화된 서비스 코드 포인트: Assured Forwarding 12(0x0c)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa0d1(41169)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 251
프로토콜: ICMP(0x01)
헤더 체크섬: 0x93ea [정확함]
[좋음: 참]
[불량: 거짓]
출처: 192.168.10.2(192.168.10.2)
대상: 172.16.20.2(172.16.20.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0x6e30 [정확함]
식별자: 0xc057
시퀀스 번호: 1024(0x0400)
데이터(56바이트)
2. SDWAN에서 DC로의 트래픽
아래 캡처에서 볼 수 있듯이, SDWAN 브랜치 사이트에서 시작된 트래픽은 dscp 00을 사용하지만 DC에 도달하는 트래픽은 적용된 WAN SLA 정책에 따라 DSCP 값의 변화를 반영하는 DSCP 12(16진수 0x0c)를 사용합니다.
원래 DSCP 값을 00으로 반영하여 소스(SDWAN Branch)에서 수행된 패킷 캡처입니다.
인터넷 프로토콜, 소스: 172.16.20.2(172.16.20.2), Dst: 192.168.10.2(192.168.10.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x00(DSCP 0x00: 기본값; ECN: 0x00)
0000 00. = 차별화된 서비스 코드 포인트: 기본값(0x00)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa0c8(41160)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 255
프로토콜: ICMP(0x01)
헤더 체크섬: 0x9023 [정확함]
[좋음: 참]
[불량: 거짓]
출처: 172.16.20.2(172.16.20.2)
대상: 192.168.10.2(192.168.10.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0xd3ff [정확함]
식별자: 0x5c79
시퀀스 번호: 1(0x0001)
데이터(56바이트)
WAN SLA 정책에 따라 DSCP 12(16진수 0x0c) 값의 변경 사항을 반영하는 DC(Packet Capture on Destination)의 패킷 캡처입니다.
인터넷 프로토콜, 소스: 172.16.20.2(172.16.20.2), Dst: 192.168.10.2(192.168.10.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x30(DSCP 0x0c: Assured Forwarding 12; ECN: 0x00)
0011 00.. = 차별화된 서비스 코드 포인트: Assured Forwarding 12(0x0c)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa073 (41075)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 251
프로토콜: ICMP(0x01)
헤더 체크섬: 0x9448 [정확함]
[좋음: 참]
[불량: 거짓]
출처: 172.16.20.2(172.16.20.2)
대상: 192.168.10.2(192.168.10.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0x741a [정확함]
식별자: 0x5c79
시퀀스 번호: 43776 (0xab00)
데이터(56바이트)
예 2
WAN SLA 정책 "음성 및 비디오" 테넌트 -><테넌트 이름>->계약->표준-><계약 이름>-><계약 제목>-> 일반- WAN SLA 정책

sequence 20
match
dscp 18
action
sla-class Voice-And-Video
no sla-class strict
1. DC에서 SDWAN으로의 트래픽
아래 캡처에서 볼 수 있듯이, DC에서 시작된 트래픽은 DSCP 00을 사용하지만 SDWAN에 도달하는 트래픽은 DSCP 18(16진수 0x12)을 사용합니다.
이는 WAN SLA 정책에 따라 DSCP 값이 변경됨을 나타냅니다.
원래 DSCP 값을 00으로 반영하여 소스(DC)에서 수행된 패킷 캡처입니다.
인터넷 프로토콜, 소스: 192.168.10.2(192.168.10.2), Dst: 172.16.20.2(172.16.20.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x00(DSCP 0x00: 기본값; ECN: 0x00)
0000 00. = 차별화된 서비스 코드 포인트: 기본값(0x00)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa2b6(41654)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 255
프로토콜: ICMP(0x01)
헤더 체크섬: 0x8e35 [정확함]
[좋음: 참]
[불량: 거짓]
출처: 192.168.10.2(192.168.10.2)
대상: 172.16.20.2(172.16.20.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0x3614 [정확함]
식별자: 0x8c5f
시퀀스 번호: 512(0x0200)
데이터(56바이트)
대상의 패킷 캡처(SDWAN Branch 사이트)는 DSCP 값 18(0x12)의 변경 사항을 반영하여 WAN SLA 정책과 일치시킵니다.
인터넷 프로토콜, 소스: 172.16.20.2(172.16.20.2), Dst: 192.168.10.2(192.168.10.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x48(DSCP 0x12: Assured Forwarding 21; ECN: 0x00)
0100 10.. = 차별화된 서비스 코드 포인트: Assured Forwarding 21(0x12)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa2b8(41656)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 255
프로토콜: ICMP(0x01)
헤더 체크섬: 0x8deb [정확함]
[좋음: 참]
[불량: 거짓]
출처: 172.16.20.2(172.16.20.2)
대상: 192.168.10.2(192.168.10.2)
인터넷 제어 메시지 프로토콜
유형: 0(에코(ping) 응답)
코드: 0()
체크섬: 0x8a13 [정확함]
식별자: 0x8c5f
시퀀스 번호: 1024(0x0400)
데이터(56바이트)
2. SDWAN에서 DC로의 트래픽
원본 DSCP 값(00)을 보여 주는 소스(SDWAN Branch)의 패킷 캡처입니다.
인터넷 프로토콜, 소스: 172.16.20.2(172.16.20.2), Dst: 192.168.10.2(192.168.10.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x00(DSCP 0x00: 기본값; ECN: 0x00)
0000 00. = 차별화된 서비스 코드 포인트: 기본값(0x00)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa1bb(41403)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 255
프로토콜: ICMP(0x01)
헤더 체크섬: 0x8f30 [정확함]
[좋음: 참]
[불량: 거짓]
출처: 172.16.20.2(172.16.20.2)
대상: 192.168.10.2(192.168.10.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0x68e5 [정확함]
식별자: 0x1d03
시퀀스 번호: 2048(0x0800)
데이터(56바이트)
WAN SLA 정책에 따라 DSCP 값 18(0x12)의 변경 사항을 반영하는 DC(목적지)의 패킷 캡처
인터넷 프로토콜, 소스: 172.16.20.2(172.16.20.2), Dst: 192.168.10.2(192.168.10.2)
버전: 4
헤더 길이: 20바이트
차별화된 서비스 필드: 0x48(DSCP 0x12: Assured Forwarding 21; ECN: 0x00)
0100 10.. = 차별화된 서비스 코드 포인트: Assured Forwarding 21(0x12)
.... ..0. = ECN 지원 전송(ECT): 0
.... ...0 = ECN-CE: 0
총 길이: 84
식별: 0xa1bb(41403)
플래그: 0x00
0.. = 예약된 비트: 설정되지 않음
.0. = 프래그먼트 안 함: 설정되지 않음
..0 = 추가 조각: 설정되지 않음
조각 오프셋: 0
TTL(Time to Live): 251
프로토콜: ICMP(0x01)
헤더 체크섬: 0x92e8 [정확함]
[좋음: 참]
[불량: 거짓]
출처: 172.16.20.2(172.16.20.2)
대상: 192.168.10.2(192.168.10.2)
인터넷 제어 메시지 프로토콜
유형: 8(에코(ping) 요청)
코드: 0()
체크섬: 0x68e5 [정확함]
식별자: 0x1d03
시퀀스 번호: 2048(0x0800)
데이터(56바이트)
문제 해결
다음 로그 파일은 문제 해결 측면에서 유용합니다. .
제어 경로 디버깅
APIC techsupport 파일
Policy(정책)Distributor Logs(총판사 로그), PolicyManager Logs(정책 관리자 로그), PolicyElement(정책 요소), Edmgr 로그를 통해 leaf 및 spine에 푸시되는 관련 컨피그레이션에 대한 정보를 제공할 수 있습니다.
데이터 경로 디버깅
L3out 인터페이스 및 vEdge 라우터의 인터페이스에서 패킷 캡처
ELAM도 도움이 됩니다.