지난 시간에 이어 오늘은 Pooq CDN 시험 결과와 그 결과가 가지는 의미에 대해서 살펴 보도록 하겠습니다.
Test Result
■ 방송 3사 별 VoD 서버 위치
테스트 결과(log file)에 기록된 IP 주소를 이용하여 후이즈(www.whois.co.kr)에서 확인한 결과, 아래와 같이 총 6개사의 IDC(KT, SKB, LG U+, Sejong Telecom, HCLC, NHN)에 Pooq VoD 서버가 분산 배치되어 있음을 알수 있었습니다. KT IDC에 제일 많고(총 21대), LG U+ IDC에 제일 적게(1대) 설치되어 있네요. NHN IDC에도 있는게 흥미롭습니다.
■ VoD 서버 선택 분포
아래 그래프는 LG U+ 회선을 사용하는 시험 단말(PC)이 Pooq DNS로 부터 전달 받은 VoD 서버 분포도입니다. (KT 회선을 이용한 시험도 유사 결과)
SBS 결과를 보면, 6개의 IDC에 총 27대의 SBS용 VoD 서버가 있고 총 45,668회의 DNS Query(sbsvod.pooq.co.kr)에 대한 응답으로 27대의 VoD 서버를 거의 균등하게 할당 받았습니다. (평균 1691회, 최소 1472회, 최대 1891회). MBC, KBS 역시 고루 분포 되어 있습니다.
Test Result Analysis
위 결과를 보면 VoD 서버가 아주 잘 분포되어 있는데요. 그럼 이게 좋은 걸까요?
위 시험을 진행하기 전에 예상 결과는 아래 그림 (a)였습니다. 하지만 결과는 (b)로 나온 것이죠.
(a) Ideal: 우리(통신사업자)의 바램
시험 단말(PC)이 LG U+ 회선에 연결된 경우 LG U+ IDC에 있는 VoD 서버를 많이 선택해 주고, KT 회선을 사용한 경우 KT IDC에 있는 VoD 서버를 선택해 줄 것이라 기대했었습니다.
사용자의 DNS 요청이 왔을때 Pooq DNS 서버가 Local DNS 서버의 IP 주소(통신사업자의 Local DNS 서버는 보통 2개 정도)를 확인하고 VoD 서버를 선택해 준다면 KT 가입자는 KT IDC에 있는 VoD 서버를 통해 스트리밍/다운로드 받고, SKB/SKT 가입자는 SKB IDC를, LG U+ 가입자는 LG U+ IDC를 통해 스트리밍/다운로드 받을 수 있습니다. 즉, Pooq 영상 트래픽이 통신 사업자간에 연결된 Transit/Peering 링크를 통하지 않게 됩니다.
(b) Reality: 하지만 현실은...
결과 그래프와 같이 사용자 요청에 대해 VoD 서버가 고르게 분포되었다는 것은, Pooq DNS 서버는 Local DNS 서버의 IP 주소를 보지 않는다는 뜻입니다. 즉, Pooq DNS 서버는 사용자가 어느 망에 붙어 있던 상관없이 현재 설치된 VoD 서버(SBS 27대, MBC 17대, KBS 11대) 중에 하나를 Random 혹은 Round-Robin으로 골라 주는 방식을 사용하고 있습니다. (Random 방식도 긴 시간을 두고 보면 Round-Robin과 동일하게 균등한 분포의 효과를 가짐)
그래서 위 그림과 같이 KT, SKB/SKT, LG U+ 가입자들은 모두 6개 IDC에 분포된 VoD 서버로 부터 콘텐츠를 스트리밍/다운로드 받게 되며, 따라서 통신사업자간 Transit/Peering을 통해 트래픽이 흐를 수 밖에 없습니다.
누가 봐도 현재의 Pooq CDN 전달 방식은 비효율적입니다. Pooq CDN에서 Local DNS 서버의 IP 주소를 확인하여 VoD 서버를 선택해 주기만 한다면 통신 사업자간 Transit/Peering 트래픽이 발생하지 않으니 해당 링크의 대역폭이 절감되어 Transit 비용도 줄고, 또 그 만큼 다른 서비스 트래픽이 다닐 수 있는 여유가 있을 것입니다.
하지만 이를 Pooq(Content Provider) 입장에서 생각해 본다면 다음과 같은 논리를 가질 수도 있겠죠.
현재 통신 사업자 3사간 링크 대역폭은 작게는 390Gbps에서 많게는 580Gbps 입니다 (아래 그림 참조).
Pooq 유료 사용자 6만명 중 동시 접속율 10%, 그리고 동영상 인코딩율 2Mbps로 가정한다면 60,000명 x 10% x 2Mbps = 12Gbps입니다. 현 통신 사업자간 링크 대역폭과 비교해 보았을 때 큰 영향을 줄 양은 아닐 수 있습니다. 하지만 Pooq 사용자가 지속적으로 증가하고, 또한 Pooq CDN과 유사한 기술을 사용하는 국내 OTT가 계속 늘어간다면.... 언젠가는 통신 사업자의 걱정 거리가 하나 더 늘게 되겠지요.
Pooq CDN Workflow
이제 마지막으로 현재 Pooq CDN의 서비스 로직을 간단히 살펴 보도록 하겠습니다.
글을 마치며
Pooq과 통신사업자 서로간의 이해 관계를 떠나 기술적인 관점에서 바라본다면 Pooq DNS 서버를 GSLB로 업그레이드하는 것이 맞다고 생각합니다. 아마도 Pooq 서비스가 초고속 인터넷 강국 대한민국이 아닌 통신망이 열악한 인도나 중동에서 서비스 되었다면 아마도 사용자에게 가장 가까운 최적의 서버를 선택해 줄 수 있도록 많은 노력을 기울였을 것입니다.
현재 Pooq의 TV 다시보기 서비스는 단말 타입(PC, iPhone/iPad, 안드로이드 계열 단말)에 따라 서로 다른 스트리밍 방식(RTMP, HTTP PDL, HLS, RTSP 등)과 서로 다른 인코딩율(500Kbps ~ 2Mbps)을 제공하고 있습니다. 또 다른 통신 사업자의 고민은 3G/4G 무선망을 타고 다니는 고대역폭의 동영상이 아닌가 싶습니다. (왜 손바닥 만한 단말한테 고화질을 전달해 주나???)
Wi-Fi 주파수 간섭 땜에 패킷 지연/손실이 심한 경우 프로파일이 여러개라면 사용자들의 동영상 시청(QoE)이 좀 더 좋아질텐데요...
그리고 라이브(On-Air)의 경우 VoD 서버가 아닌 별도 Live 서버를 이용하고 있습니다.
Headend와 각 IDC간 회선 용량은 저도 잘 모르겠네요.
(소설을 쓰자면...) Pooq의 라이브 채널이 대략 35개이고, 한 컨텐츠당 2Mbps로 가정. 따라서 70Mbps.
각 IDC에는 Headend 방송을 수신하는 대장 Live 서버가 있고, 이 서버가 라이브 컨텐츠를 수신하여 동일 LAN에 있는 다른 Live 서버들로 컨텐츠를 전달해 준다면...
Headend와 각 IDC는 100Mbps 대역폭으로도 가능하지 않을까 싶네요.
imbcvod.pooq.co.kr 경우 두개 GTM 장비로 위임 되어 있고
imbcvod.pooq.co.kr. 60 IN NS gtm3.pooq.co.kr.
imbcvod.pooq.co.kr. 60 IN NS gtm4.pooq.co.kr.
두개의 GTM 장비 IP를 보아하니 GS CDN을 사용하고 있습니다.
gtm3.pooq.co.kr. 60 IN A 123.111.233.138
gtm4.pooq.co.kr. 60 IN A 119.205.216.45
제가 생각했을땐 GSLB Rule을 Round-Robin 정책으로 처리 하고 있는 것으로 보이네요.
그리고 6개 IDC VoD 서버에 모든 컨텐츠를 미리 가져다 놓는다고 하시는건 컨텐츠 동기화를 진행한다는 말씀이신가요?
하루 올라오는 동영상 컨텐츠의 양도 어마어마 할텐데 그 모든 컨텐츠를 서버에 스토어 하기에는 한계가 있을 것으로 보이고
PC , Mobile 디바이스에 서비스 하고 있는 것으로 보아 Wowza Media Server를 사용하는 것으로 보이는데
제가 생각햇을땐 Wowza의 캐시 모듈을 이용할것으로 보여집니다.
F5 GTM 장비라면 충분히 Local DNS 서버의 IP 주소를 확인 후 이용자 위치에 따라 VoD 서버 선택이 가능할 텐데, 좀 아쉽네요....
http://support.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm_config_guide_10_1/gtm_topology_newest.html
다만 CDN사업자 입장에서는 KT사용자가 KT서버에서 처리를 하더라도(트랜짓 트래픽이 발생하지 않았다 하더라도) 서버에서 처리 한 트래픽에 대한 비용을 ISP에 내야 합니다. 당연히 CDN사업자 마다 트래픽 단가가 싼 ISP로 트래픽을 흘릴수 밖게 없고 비용이 저렴한 ISP에 인프라를 구축할수밖에 없다는게 현재 문제점으로 보입니다.....
덕분에 공부 많이 하였습니다.
덕분에 잘 보고 갑니다~ ^^
좋은 정보 감사합니다.