오늘은 Operator CDN 중에 대표격인 영국 BT의 Operator CDN(On-Net CDN)의 동작 방식에 대해서 설명드리도록 하겠습니다. BT의 Operator CDN은 Cisco 솔루션을 사용하였으므로 Cisco CDN 솔루션의 동작 원리라고 볼 수도 있겠네요.
일단 Operator CDN이 뭐냐? 부터 설명 드려야 할 것 같은데요. 기존의 CDN 서비스라 함은 Akamai, Limelight, Level 3, CDNetworks와 같은 벤더가 자사의 Cache 서버를 Global하게(전 지구상의 주요 통신사업자에) 배치시키고 다국적 기업(예. 삼성, Cisco, Apple 등)으로 부터 돈을 받고 그 회사의 Contents에 대해 전세계 이용자들에게 CDN 서비스를 하는 구조였다면,
Operator CDN이란 통신 사업자가 자기 망에 직접 Cache 서버를 구축하고 이를 통해 자사 가입자가 Contents를 빠르게 액세스할 수 있도록 하는 것입니다. 여기서 "Contents"라 함은 일반 Web 보다는 Internet Video가 주 타겟이 되구요(대표적인 북미 Internet Video 제공자는 Netflix, Hulu임). 이렇게 되면 Contents Provider(e.g., Netflix, Hulu 등)는 Operator에게 돈을 주고 자사의 Contents를 Operator의 Cache 서버에 놓을 수 있게 되고, Contents 시청자는 Netflix나 Hule에 돈을 주고 그 Contents를 보는데 Operator CDN 안에 그 Contents가 있으니 매우 빠르게 고품질(QoS 보장!)로 볼 수 있다는 장점이 있습니다.
결국 Operator CDN이란 개념도 통신사업자가 기존의 비지니스 모델(Internet, IPTV, VoIP 서비스 제공) 외에 "Make a Money"를 하기 위한 또 하나의 모델이 되는 것이죠.
자 이제 영국 BT의 CDN 동작 원리를 설명 드리겠습니다. (그림이 작아 원본 이미지도 첨부하였습니다. 맨 아래 "첨부파일" 클릭)
영국 BT에서 주 타게팅하는 Contents Provider는 BBC입니다. 그래서 본 설명에서 CSP(Contents Service Provider)는 영국 BBC라고 설명하도록 하겠습니다.
- 가입자가 BBC 홈페이지(iplayer)에 접속을 하여 "아바타" 영상을 클릭합니다.
- 그러면 BBC 홈페이지는 가입자 단말에 그 영상에 대한 URI(http://CSP123-456.cdd.bt.net/vod/avatar.flv)를 전달하는데요. 이 URI는 규칙을 가지고 있습니다. 앞에 CSP123-456이 BBC를 나타내는 CSP ID가 되고, cdd.bt.net은 BT의 CDN 서비스 제공을 위한 URL이 됩니다. 그리고 이후 /vod/avatar.flv는 실제 그 contents가 위치하는 path가 되구요.
- 이제 가입자 단말은 hostname "CSP123-456.cdd.bt.net"에 대한 DNS Query를 하게 됩니다.
- 그 DNS Query는 Root DNS를 거쳐 .net DNS를 거쳐 .bt.net DNS를 거쳐 cdd.bt.net DNS까지 가게 되구요.
- 여기서 잠깐! cdd.bt.net DNS는 일반 DNS 서버가 아닌 Cisco에서 제공하는 Service Router라는 장비입니다(DNS + alpha 기능을 해 주는 놈이죠). 이 Service Router는 DNS 응답으로 다름 아닌 바로 자신(Service Router)의 IP 주소 1.1.1.1을 DNS Response로 줍니다.
- 이제 단말은 hostname "CSP123-456.cdd.bt.net"에 대한 IP 주소가 1.1.1.1인 것을 알았으니 그 IP 주소로 HTTP GET(Contents 요청)을 보냅니다. 즉, IP 주소 1.1.1.1에게 HTTP GET "http://CSP123-456.cdd.bt.net/vod/avatar.flv"을 보내는 것이죠.
- 여기부터 잘 들으셔야 됩니다. 실제 Contents를 가지고 있는 Cache 서버를 Cisco에서는 Edge Server라고 부르는데요(이 Edge Server들은 가입자와 가까운 곳에 전진 배치 되어 있음). Service Router는 이 Edge Server들의 상태를 관리합니다. 여기서 관리라 함은...
- 각 Edge Server의 IP 주소를 알고 있구요.
- 또한 각 Edge Server 별로 지원 streaming protocol(Microsoft SSS, Apple HLS, Adobe HDS, Adobe RTMP 등등)을 알고 있습니다.
- 그리고 각 Edge Server의 생존 여부 및 부하 상태(CPU load, Memory usage, Ethernet port의 Traffic usage 등)을 주기적(예. 10초)으로 확인하고 있습니다.
- 그리고 마지막으로 사용자가 요청한 Contents를 어느 Edge Server가 가지고 있는지를 Consistent Hashing 방식으로 관리합니다. (Consistent Hashing이 뭔지 잘 모르시는 분들이 많으실텐데요. 일단은 해당 Contents가 어느 Edge Server에 위치하는지 대략적으로 알 수 있다 라고 생각하시면 됩니다.)
- 그래서. 이제 가입자가 보낸 HTTP GET "http://CSP123-456.cdd.bt.net/vod/avatar.flv"을 통해 Service Router는 최적의 Edge Server를 선택하기 위해 다음과 같은 동작을 수행하게 됩니다.
- 일단 Service Router는 가입자의 IP 주소를 봅니다. 그리고 그 IP 주소와 동일 대역에 있는(가장 가까운 곳에 위치한) Edge Server들을 선택합니다.
- 그리고 그 Edge Server들 중에, 유저가 요청한 Contents의 streaming 방식(여기서는 확장자가 flv이므로 RTMP)을 지원하는 Edge Server들을 고르구요.
- 그리고 그 Edge Server들 중에, Edge Server들의 생존 여부(죽었니? 살았니?)와 부하 상태를 보아 문제 없는 Edge Server들을 고릅니다.
- 이제 마지막으로 Consistent Hashing 방식으로 유저가 요청한 Contents(avatar.flv)가 있을 만한 Edge Server 하나를 최종 선택하게 됩니다.
- Service Router는 선택된 Edge Server의 hostname을 포함한 URL을 HTTP 302 Redirection 메시지(http://cache2.CSP123-456.cdd.bt.net/vod/avatar.flv)로 가입자 단말에 보냅니다.
- 그럼 가입자 단말은 HTTP 302 Redirection 메시지에 포함된 새로운 hostname(cache2.CSP123-456.cdd.bt.net)에 대해서 DNS Query를 수행하고 IP 주소 10.100.10.12를 받아 옵니다.
- 이제 단말은 Edge Server(10.100.10.12)로 HTTP GET "http://cache2.CSP123-456.cdd.bt.net/vod/avatar.flv" 메시지를 보내고, 그 Edge Server로 부터 동영상 streaming을 받게 되는 것입니다. 이 상황에서 물론 BT 망은 해당 Contents에 대한 QoS 보장을 해주게 되구요.
그런데 만약 해당 Edge Server에 avatar.flv 파일이 없으면(Cache Miss) 어떻게 될까요? 이 경우 Edge Server는 그림 우측의 Contents Acquirer(역시 Cisco 솔루션)를 거쳐 BBC 소유의 Origin Server로 부터 avatar.flv를 가져 와서 Cache Fill을 수행하고 동시에 가입자에게 streaming을 해줍니다.
BT(Cisco) CDN 솔루션을 간략하게 요약한다면
- 가입자의 위치(IP 주소)와 가입자가 요청한 Contents(동영상)를 Service Router가 분석하여,
- Service Router는 가장 optimal한(최적의) Edge Server를 선택하여 가입자에게 알려 준다.
- 그러면 가입자는 자신과 매우 가까운 곳에 위치한 Edge Server에 접속하여 Contents를 받게 되고,
- 이 때 통신사업자망(BT 망)은 해당 Contents에 대해 QoS를 보장하여 기타 다른 Internet 트래픽이 많아 Congestion이 발생해도
- 가입자는 Contents를 끊김 없고 모자이크 없이 시청할 수 있다.
입니다.
Netmanias.2012.01.12-BT_Operator_CDN_(Cisco_Solution)(large).gif
그런데 Live Streaming도 CDN 서비스를 이용할 수 있는지요?