이번 시간에는 WAN 가속기(WAN Optimization) 솔루션에 대해 소개드리도록 하겠습니다.
보통 기업망(Enterprise Network)은 아래 2가지 방식을 통해 본사(Head Quarter)/지사(Branch Office)/데이터센터(Data Center) 간에 "Private한 네트워크"를 구축합니다.
KT 기업용 상품 홈페이지(biz.olleh.com)에서는 전자를 "인터넷 VPN", 후자를 "VPN premium"이라 부르고 있네요.
아래 그림은 PE based VPN 즉, 통신 사업자의 MPLS VPN 망을 이용한 본사(데이터센터)/지사 간에 연결을 보이고 있습니다.
서울에 데이터센터를 포함한 본사가 위치하고, 경상도, 전라도에 지사가 있으며 본사와 지사 간에는 MPLS VPN 망을 통해 연결되어 있습니다. 그리고 지사에 있는 근무자들은 WAN 구간을 거쳐 본사 데이터센터의 IT 서버들에 접속하게 됩니다.
그림 우측에 KT의 MPLS VPN 회선 사용료(망 운영 비용 포함)를 보이고 있는데요. 꽤 비싸죠!
예를 들어, 본사-지사1 간에 10Mbps, 본사-지사2 간에 10Mbps 회선을 사용하기 위해서는, 월 천만원이 훌쩍 넘는 비용이 소요됩니다.
어떤 방식으로 기업망을 구축하던 1) Public & Private Cloud 도입 증가, 2) 관리의 효율성을 위해 지사에 흩어져 있던 서버들을 데이터센터로 통합, 3) 데이터센터 이중화(DR 센터 구축), 4) 대역폭을 많이 필요로 하는 Web 기반 Business Application, 5) Remote File Share, 6) Business Video 트래픽의 증가 등의 이유로 인해 본사/지사/데이터센터 간에 트래픽 즉, WAN을 통해 전달되는 트래픽의 양은 계속 증가하고 있는 추세입니다.
이와 같이 WAN 트래픽이 지속적으로 증가하는 상황에서 기업 전산실 담당자들의 고민은...
이와 같은 전산실 담당자들의 고민을 해결해 줄 수 있는 장비가 바로 WAN 가속기(WAN Optimization)입니다.
WAN 가속기(WAN Optimization)는 여러가지 재미난 기능들(아래 1번 ~ 6번)을 통해 WAN 구간의 데이터 전송 효율을 극대화 해줍니다. WAN 가속기가 지향하는 바는 "WAN을 통한 응답 속도가 마치 LAN과 같은 QoE를 제공"하는 것이라 볼 수 있습니다.
WAN 가속기의 주요 기능은 아래와 같습니다.
■ WAN 대역폭 사용을 최소화하자!
1. Compression: PC에서 파일을 압축하여 HDD 공간을 절약하듯이, WAN으로 전송되는 패킷들을 압축하여 WAN으로 전송되는 패킷의 크기(양)를 줄이는 개념입니다.
2. Deduplication: 개인적으로 참 마음에 드는 기능인데요. 최초 전송한 패킷들(그 패킷의 응용이 뭐든 간에)의 Payload내 bit stream을 일정 조각으로 잘라 token(또는 reference라 부름) 값과 함께 저장 하고 있다가, 이후 동일 bit stream이 포함된 패킷들이 수신되면 bit stream 대신 token 값(당연히 token의 길이는 bit stream 조각 보다는 작겠죠)을 패킷에 넣어 WAN으로 보내는 개념입니다. 그러면 이를 수신한 반대편 WAN 가속기는 token값을 bit stream으로 바꿔 클라이언트/서버로 전달합니다. 이를 통해 위의 Compression과 같이 WAN으로 전송되는 패킷의 크기(양)를 줄일 수 있습니다.
3. Content Caching: Netmanias Blog를 통해 TIC(Transparent Internet Caching) 개념에 대해 몇차례 소개해 드린 적이 있는데요. 사실 통신 사업자 망에서 콘텐츠를 캐싱하는 개념 보다 기업망에서의 콘텐츠 캐싱 개념이 먼저 나왔습니다. WAN 가속기의 캐싱은 TIC와 동일한 개념으로 응용 프로토콜(예. HTTP, FTP, CIFS, RTSP/RTP 등)이 실어 나르는 콘텐츠를 지사에 설치된 WAN 가속기가 캐싱을 하여 이후 지사 근무자가 동일 콘텐츠를 요청하면 WAN 가속기가 해당 콘텐츠를 전달하는 개념입니다. 1번, 2번의 경우 WAN으로 전달되는 패킷의 크기(양)를 줄이는 효과를 제공한다면 3번의 경우 WAN으로 전달되는 트래픽 양을 제로(0 MB)로 하는 효과를 줍니다.
■ 프로토콜을 최적화해서 빨리 보내자!
4. TCP Optimization: TCP라는 프로토콜은 Delay가 큰 WAN에 최적화 되어 있지 않습니다. 그래서 지사와 데이터센터에 설치된 WAN 가속기 간에 최적화된 TCP 프로토콜(비록 비표준이기 하지만)을 통해 TCP 전송 효율을 최대화하는 것입니다.
▷ TCP 최적화의 예 1: WAN 가속기 간에 TCP Window Size를 수MB까지 올려 WAN의 Delay가 커도 TCP 전송 성능(Throughput, bps)을 Line Rate(Link Speed)로 유지
▷ TCP 최적화의 예 2: Packet Drop이 발생해도 TCP 전송 속도를 거의 줄이지 않는 방법(표준 TCP 프로토콜은 50%로 감소) - Advanced Congestion Control 알고리즘 적용
▷ TCP 최적화의 예 3: Forward Error Correction(FEC)
5. Application Protocol Optimization: HTTP, File Sharing(CIFS, NFS), MS Exchange(MAPI) 등의 각 응용 별로 프로토콜 최적화를 하여 응답 속도를 개선하는 방법입니다.
▷ 가장 대표적인 응용인 HTTP의 경우, 클라이언트는 하나의 완성된 웹페이지를 만들기 위해 서버로 많은 수의 HTTP Request 메시지를 보내어 Image, Flash, Text 등의 Web Object들을 받아 오게 되는데(네이버 첫페이지를 위해 약 90개의 HTTP Request 메시지가 나감) 지사에 설치된 WAN 가속기가 HTTP 메시지를 분석하여 클라이언트가 앞으로 요청할 Web Object들을 미리 서버로 요청하여 받아 오고, 이후 클라이언트의 HTTP Request에 대해서 WAN 가속기가 응답을 주는 방식입니다. 이를 통해 지사의 사용자는 매우 빠른 응답 속도를 느낄 수 있게 될 것입니다.
■ 중요 서비스 패킷은 빠르고 안전하게 전송하자!
6. QoS & Traffic Management: WAN 회선 대역폭이 20Mbps인 경우(보통 기업으로는 100Mbps 혹은 1Gbps 링크 제공), Policing(Rate-Limiting)를 통해 20Mbps 이상의 트래픽이 통신 사업자 망안으로 유입되지 않도록 합니다. 그런데 Policing 적용 시에 기업의 중요 패킷(Business-Critical Application)과 그렇지 않은 패킷을 구분하지 않고 그냥 drop합니다. 따라서 기업망 입장에서는 WAN으로 트래픽을 전달하기 전에 기업망 내에서 서비스 별, 사용자 그룹 별 QoS 등급을 정하고, 각 등급별로 대여폭을 제어하여 가능한 한 통신 사업자 망 내부에서 Policing으로 인한 패킷 drop이 발생하지 않도록 해야 할 것입니다. 이를 위해 WAN 가속기는 서비스 별 + 사용자 그룹 별로 대역폭을 제어하는 기능을 제공합니다.
아래 그림은 WAN 가속기의 패킷 처리 흐름을 보이고 있습니다.
http://aramidesign.com/portfolio/flash/riverbed/flashDemo.swf
VoIP와 같은 실시간성 트래픽은 WAN 가속기로 인해 지연이 발생할 것 같은데요. 어떻게 되나요?
좋은 내용 늘 감사드립니다.
Compression이나 Deduplication을 통해 전송량을 줄여 대역폭을 절감할 수 있는 장점이 있는 반면 Latency가 증가하게 됩니다. 그래서 WAN 가속기 벤더는 하드디스크 기반과 더불어 메모리 기반 Deduplication도 제공하고 있습니다.
하지만 Video나 Voice와 같이 자체 코덱에 의해 이미 데이터 압축이 된 경우 Compression/Deduplication으로 인한 잇점이 별로 없다고 하네요.
또한 WAN 가속기는 통상적으로 TCP 응용을 타겟으로 개발된 장비라 VoIP와 같은 UDP 기반 트래픽은 지원을 하지 않는 경우도 있습니다.
따라서 WAN 가속기는 모든 트래픽을 대상으로 하지 않고, Source/Destination IP, Protocol(TCP or UDP), Port # 설정을 통해 특정 트래픽에 대해서만 최적화/가속을 수행하게 되어 있습니다.
말씀하신 UDP 기반의 VoIP 트래픽은 설정에 의해서 WAN 가속기가 bypass 하도록 하는 것이 일반적일 듯 싶네요.
Deduplication 구현에 대해서 좀 더 자세히 알고 싶은데요. 어디서 자료를 찾을 수 있나요?
그리고 Deduplication은 packet 단위로 이루어 지나요?
http://media.techtarget.com/searchNetworkingChannel/downloads/App._Acceleration_Ch._6.pdf
그리고 Packet 단위의 Deduplication의 경우 압축 효율이 떨어져(패킷 하나라고 해 봤자 최대 크기가 1.5KB 밖에 안되므로), TCP session 별로 합니다.
즉, TCP session 별로 WAN 가속기가 데이터를 일정양 모으고(예를 들어 64KB), 이에 대해서 Deduplication 수행 후 Peer WAN 가속기에 전달하는 식입니다.