지난 블로그에서 Silver Peak, Citrix, Viptela, Velocloud의 SD-WAN 경로 제어 기술에 관해 살펴보았다. 본 블로그에서는 Versa Networks의 경로 제어 및 WAN 품질 향상 기술에 관해 살펴보자.
Versa Networks(이하, Versa)는 2012년 설립된 인도 회사로 기업과 통신 사업자에게 SD-WAN 솔루션을 공급하고 있다(통신사업자 사례: 미국 CenturyLink, 미국 Comcast, 인도 Tata, 유럽 Colt 등).
1. 경로 품질 측정 (SLA Monitoring)
두 거점 (예, 지사와 본사)에 위치하는 SD-WAN CPE는 각 경로상으로 일정 주기로 SLA Probe를 주고 받아 경로의 품질을 측정한다(Active Monitoring방식임).
Probe 프로토콜로 ITU Y.1731/CFM을 사용하고 있으며, 두 SD-WAN CPE는 Y.1731의 VSM (Vendor Specific OAM Message)와 VSR (Vendor Specific OAM Reply)를 IP 패킷에 실어, 주고 받아, Delay(Round-Trip Delay임), Jitter(->, <-), Loss(->, <-)를 측정한다.
이 측정 과정을 통해 두 거점간에 가용한 Path들의 현재 품질이 EF급인지, AF급, BE급인지를 알아낸다. SD-WAN CPE는 일정 주기로, 예를 들어 5분마다, 이 측정값들을 Versa Analytics 서버로 전달한다.
EF, AF, BE는 망품질 요구사항을 등급으로 분류한 Diff-Serv 용어이지요. 약어는 EF: Expedited Forwarding, AF: Assured Forwarding, BE: Best Effort 입니다.
일단 Diff-Serv는 넘어가도 되고, 여기서는 EF>AF>BE의 순으로 종단간 품질 요구사항 (Delay, Jitter, Packet Loss가 각각 얼마 이내이어야 한다)이 엄격하다는 것만 기억하시면 됩니다.
2. 트래픽 식별 (Traffic Classification)과 Forwarding Profile 지정
SD-WAN CPE는 LAN으로부터 트래픽이 유입되면 패킷의 L3, L4, L7 정보를 참조하여, 이 패킷의 Forwarding Profile (EF, AF, BE)을 알아낸다. 운영자가 5-tuple (srcIP, dstIP, protocol, srcPort, dstPort)을 수동으로 지정하여 특정 Flow를 특정 Forwarding Profile로 설정할 수도 있고, 응용명 지정하여(예, Skype, facebook, ...) Forwarding Profile을 지정할 수도 있다. Versa는 2,600개의 응용을 자동 감지할 수 있다.
3. 기본적인 경로 선정 정책
SD-WAN CPE는 SLA Probe를 통해 각 경로의 품질 (SLA metric)을 알고 있으며, 각 Forwarding Profile의 Flow들을 자신의 SLA requirements를 충족하고 있는 경로들로 보낸다.
아래 예에서 Forwarding Profile 1의 요구 SLA 품질은 EF인데, 품질이 EF급인 경로는 Path 1뿐이므로 Forwarding Profile 1에 속한 모든 Flow들은 Path 1로 전달한다.
또 Forwarding Profile 2는 AF의 품질을 요구하는 데, Path 2(AF)과 Path 3(AF)가 모두 AF의 품질을 보이고 있으므로, 두 경로로 Forwarding Profile 2에 속한 Flow들을 전달한다. Versa는 디폴트가 Flow 단위 로드밸런싱이다. 즉, Path 2과 Path 3로 Flow 단위로 트래픽이 나누어져 전달되며, 특정 Flow는 (디폴트설정하에서는) 특정 Path로만 전달된다. 두 Path로 Flow들을 나누어 보낼 때, 현재 각 Path의 available BW에 비례하게 나누어 보낸다.
통신중 경로의 품질이 저하되면 어떻게 하나?
예를 들어, Forwarding Profile 1의 Flow들이 Path 1을 통해 전달되다가 어느 시간에 Path 1의 품질이 EF밑으로 떨어지면, 다른 경로를 써치해서 그 시각에 EF급의 경로가 있으면 그 경로로 EF Flow들을 넘긴다. 만일 그 시각에 EF의 경로가 없으면, 두 가지 옵션 중 선택하여 설정할 수 있다. 첫째는 Path 1로 EF flow들을 보내다가 Path 1 품질이 AF로 떨어졌는 데, 다른 경로 모두 EF가 아니면, 그냥 Path 1으로 계속 보낸다. 두 번째 옵션은 트래픽들을 Drop시키고 EF 경로가 다시 보이면 그때 전송을 재개한다. (*개인적으로는 전자를 쓰겠음)
4. Advanced Feature: Packet Striping (Link Aggregation, Per-packet load balancing)
위에서 언급한 것처럼, Versa의 경우 복수 경로상으로의 트래픽 로드밸런싱은 디폴트가 Per-Flow이다. Versa는 이와 더불어 Per-Packet Load Balancing도 지원하며, "load balacing" configuration을 "Per-Packet"으로 설정하면 된다. 이 경우, 한 Flow에 속한 패킷들이 여러 경로로 패킷 단위로 나누어져 전달된다. 물론 수신단 SD-WAN CPE는 여러 경로를 통해 전달되어 오면서 순서가 뒤바꿔진 패킷들을 수신하게 되며, 수신단 SD-WAN CPE가 이를 Re-Sequencing하여 원래 순서대로 패킷들을 해당 목적지로 보내준다.
대부분의 응용들은 Per-Flow load balancing이면 충분하다. 그런데, 백업이나 큰 파일 전송과 같은 흔히 얘기하는 Elephant Flow의 경우에는 Per-Packet load balancing이 유용하다.
5. Advanced Feature: Packet Duplication
Versa는 특정 응용 Flow들에 대해 송신측 SD-WAN CPE가 패킷을 복사하여 두개의 경로로 둘 다 보내는 기능을 지원한다. 수신측 SD-WAN CPE는 어느 경로로 오든, 먼저 오는 패킷을 취하고 두번째로 오는 동일 패킷은 버린다. 빨리 온 패킷을 취하므로 Latency 특성이 좋아지고, 패킷 손실에 대한 내성이 강해지는 장점을 준다. VoIP와 같은 UDP 응용들에 적용할 수 있다.
6. Advanced Feature: FEC (Forward Error Control)
Versa는 특정 응용 Flow에 대해 FEC를 제공하여 패킷 손실이 많은 경로의 패킷 손실 특성을 향상시킨다. 송신측 SD-WAN CPE는 매 n개의 패킷마다 하나의 FEC 패킷을 끼워 넣어 주고 송신측 SD-WAN CPE는 수신한 패킷들중 손실이 발생했어도 FEC 패킷을 통해 복원해 낸다. 주로 TCP 응용을 위한 것이며 패킷 손실로 인한 재전송, Throughput 저하를 예방해준다.
7. Advanced Feature: Asymmetric Forwarding
Versa의 경우, 아래 첫번째 그림처럼 두 SD-WAN CPE간에 트래픽 Flow을 양방향 모두 하나의 WAN을 통해 전달하는 것(Symmetric forwarding)이 디폴트이다. 복수 WAN의 품질 상황이 예를 들어 아래 두번째 그림처럼 Path 1과 Path 4는 양호(EF급)한 데, Path 2와 Path 3가 품질 저하 상태(BE급)이면, 아래 세번째 그림처럼 Tom-to-Alice 트래픽은 MPLS망을 통해 전달되고 Alice-to-Tom 트래픽은 인터넷망을 통해 전달하는 Asymmetric Forwarding도 지원한다.
다음 문서도 보세요
SD-WAN 벤더 솔루션 비교 Version 1.1 넷매니아즈 원샷 갤러리