| 리포트 | 기술문서 | 테크-블로그 | 글로벌 블로그 | 원샷 갤러리 | 통신 방송 통계  | 한국 ICT 기업 총람 |

제품 검색

| 네트워크/통신 뉴스 | 기술자료실 | 자유게시판 |  
 
 
섹션 5G 4G LTE C-RAN/Fronthaul Gigabit Internet IPTV/UHD IoT SDN/NFV Wi-Fi Video Streaming KT SK Telecom LG U+ OTT Network Protocol CDN YouTube Data Center
 
스폰서채널 |

 

  스폰서채널 서비스란?
LG U+ Google TV (u+ tv G) 비디오 전달 (3편: TV로 영화 및 TV 다시보기 시청)
LG U+ Google TV (u+ tv G) Video Delivery (Part 3: VoD on TV)
January 28, 2013 | By 유창모 (cmyoo@netmanias.com)
코멘트 (2)
13

 

LG U+ Google TV (u+ tv G) 비디오 요청 및 전달 방식 분석

    1. 소개

    2. TV에서 실시간 방송 시청 (LiveTV on TV)

 3. TV에서 영화 및 TV 다시보기 시청 (VoD on TV)

    4. TV에서 YouTube 동영상 시청 (YouTube on TV)

    5. Mobile 단말에서 실시간 방송 시청 (LiveTV on Mobile)

 

 

VoD on TV: TV에서 영화 및 TV 다시보기 시청

 

이번 시간에는 u+ tv G에 VoD 서비스 로직과 스트리밍 특성에 대해서 소개해 드리겠습니다.

 

1. VoD 전달 로직

 

■ VoD 서비스 프로토콜 요약

  • VoD 영상은 VoD 스트리밍 서버에서 STB까지 TCP/Unicast로 전달되며
  • STB은 RTSP(Real Time Streaming Protocol: RFC 2326) 프로토콜을 이용하여 
    • 스트리밍 받을 VoD 서버의 IP 주소를 얻어 오고 (RTSP DESCRIBE 메시지) 
    • VoD 서버로 VoD 스트리밍을 요청하며 (RTSP PLAY 메시지)
    • 이용자의 리모콘 조작에 따라 시청 중 VoD 서버로 Trick Play(Play, Pause, FF, RWD)를 요청합니다. (RTSP PLAY with Scale parameter, RTSP PAUSE 메시지)
    • 그리고 마지막으로 VoD 서버에게 스트리밍 중지(그만 볼래)를 요청합니다. (RTSP TEARDOWN 메시지)

 

VoD 스트리밍 서버 선택하기

  1. 이용자가 VoD 컨텐츠를 선택하면 STB은 이용자가 선택한 컨텐츠의 ID가 포함된 HTTP GET 메시지를 LG U+ 서버로  보내고
  2. LG U+ 서버는 그 응답으로 RTSP URI 3개를 STB으로 전달합니다. RTSP URI에는 (1) 이용자에게 최적의(?) VoD 스트리밍 서버를 선택해 주는 역할을 하는 일종의 Request Router의 IP 주소 정보와 (2) 이용자가 선택한 VoD 컨텐츠 파일명(movie1.mpg)이 포함됩니다. 예상컨데 이 RTSP URI에 포함된 IP 주소 3개는 항상 고정된 값(항상 똑같은 3개의 IP 주소)일 듯 합니다.
  3. 그리고 STB은 3개의 IP 주소 중에 하나로(맨 처음거?) RTSP DESCRIBE 메시지를 보내고
  4. RTSP DESCRIBE 메시지를 수신한 서버는 (1) 이용자가 요청한 컨텐츠와 (2) 이용자의 위치(정말?)를 참조하여 VoD 스트리밍 서버를 선택하고 그 IP 주소(123.140.21.34)를 STB으로 전달합니다.

 

 

VoD 스트리밍 서버를 통해 스트리밍 받기

  1. STB은 RTSP SETUP 메시지를 VoD 스트리밍 서버로 전송하여 스트리밍 받을 컨텐츠 파일의 경로 및 이름(rtsp://123.140.21.34/movie1.mpg)과 스트리밍 전달 방식(TCP/Unicast)을 알리고
  2. VoD 스트리밍 서버는 그 응답으로 스트리밍 해 줄 비디오/오디오에 대한 SDP 정보를 STB으로 전달합니다.
  3. STB은 STB 고유 식별자(User ID)를 RTSP SET_PARAMETER 메시지를 통해 알리고
  4. 그 응답으로 RTSP 200 OK 메시지를 수신한 후 VoD 스트리밍 서버와 TCP 연결을 맺어 스트리밍 받을 준비를 합니다.
  5. 이제 STB은 RTSP PLAY 메시지를 VoD 스트리밍 서버로 전송하여 스트리밍 시작을 요청하고
  6. VoD 스트리밍 서버는 그 응답으로 RTSP 200 OK 메시지 전송 후에
  7. VoD 영상을 STB으로 스트리밍하기 시작합니다.
  8. 이용자가 VoD 시청을 중단하면(리모콘에 STOP 버튼을 누르면) STB은 RTSP TEARDOWN 메시지를 VoD 스트리밍 서버로 보내고
  9. VoD 스트리밍 서버는 해당 STB으로 전달하던 스트리밍을 중단하고, 스트리밍을 위해 할당했던 리소스를 해제합니다. 따라서 스트리밍을 위해 맺어졌던 TCP 연결도 끊습니다.

 

 

Trick Play 하기 ("RTSP acts as a network remote control for multimedia servers")

  1. VoD 스트리밍이 전달되고 있는 중에
  2. 이용자가 리모콘을 이용해서 Pause 버튼을 누르면 STB은 RTSP PAUSE 메시지를 VoD 스트리밍 서버로 전달하고
  3. VoD 스트리밍 서버는 RTSP 200 OK 메시지 전송 후 스트리밍을 중지합니다. (스트리밍 세션은 유지함)
  4. 이용자가 다시 Play 버튼을 누르면 STB은 RTSP PLAY 메시지를 VoD 스트리밍 서버로 전달하고
  5. VoD 스트리밍 서버는 RTSP 200 OK 메시지 전송 후
  6. 다시 VoD 스트리밍을 시작합니다.
  7. 이용자가 FF(앞으로 2배 빨리 재생) 버튼을 누르면 STB은 Scale 파라미터 값을 2로 하여 RTSP PLAY 메시지를 VoD 스트리밍 서버로 전송하고
  8. VoD 스트리밍 서버는 RTSP 200 OK 메시지 전송 후
  9. 2배 빨리 앞으로 재생되는 영상을 STB으로 전달합니다. (2배, 4배, 8배, 16배, 32배, 64배 재생 지원)
  10. 이용자가 RWD(뒤로 2배 빨리 재생) 버튼을 누르면 STB은 Scale 파라미터 값을 -2로 하여 RTSP PLAY 메시지를 VoD 스트리밍 서버로 전송하고
  11. VoD 스트리밍 서버는 RTSP 200 OK 메시지 전송 후
  12. 2배 빨리 뒤로 재생되는 영상을 STB으로 전달합니다. (-2배, -4배, -8배, -16배, -32배, -64배 재생 지원)

 

 

■ VoD 전달 로직 고찰

 

LG 데이콤 시절에는 VoD 전달 방식이 D&P(Download & Play) 방식 - VoD 서버에 있는 컨텐츠를 STB의 하드디스크에 다운로드 받아 재생하는 방식으로 현재 OTT 전달 방식과 같이 초기에 빨리 다운로드 받고 패킷 손실시 재전송함. 따라서 IP 망에 QoS 불필요 - 이었었는데 지금의 LG U+는 그 방식을 RTSP로 전환하였습니다.

 

현재의 RTSP 기반의 LG U+ VoD 전달 로직은 KT 방식과 매우 매우 유사합니다. KT VoD 서비스 역시

  1. STB에서 HTTP 메시지를 이용하여 VoD 컨텐츠에 대한 RTSP URI를 받아 오고
  2. RTSP DESCRIBE 메시지를 통해 VoD 스트리밍 서버의 IP 주소를 얻어 오며
  3. RTSP SETUP 메시지를 통해 Transport Protocol을 UDP로 정의(요것만 다름)해서 알려주고, 그 응답으로 비디오/오디오에 대한 SDP 정보를 받아 옵니다.
  4. 또한 RTSP SET_PARAMETER 메시지를 통해 User ID를 알리고
  5. RTSP PLAY 메시지를 통해 VoD 스트리밍을 요청합니다.

 

KT나 LG U+ 모두 STB이 스트리밍 받을 VoD 서버를 "망에서 선택"해 주는 방식이라면, 네덜란드 Tele2-Versatel 사업자(2005년에 넷매니아즈에서 TPS 컨설팅 수행)의 경우 망에서 STB으로 여러개의 VoD 스트리밍 서버 IP 주소를 전달하고(예. 9개), STB에서 이 서버들로 RTSP DESCRIBE 메시지를 보내어 이 중 응답(RTSP 200 OK 메시지)이 가장 빠른 VoD 서버를 "STB이 선택"하는 방식을 사용하였습니다.

 

 

2. VoD 전달 특성

 

아래 그림은 Wireshark을 이용하여 RTSP 및 VoD 스트리밍 패킷을 캡쳐한 것입니다.

VoD 영상은 아주 일정하게 8Mbps 대역폭으로 전달됨을 볼 수 있고, 스트리밍 패킷의 Transport Protocol은 TCP이며 DSCP 값은 0x88(AF41: Assured Forwarding)로 마킹되어 LG U+ IP 망에서 QoS 보장을 받습니다.

 

 

 

작년 봄에 시험한 KT VoD 스트리밍 서비스의 전달 특성은 아래와 같았습니다.

  • Transport Protocol = UDP
  • 전달 대역폭: 8Mbps
  • QoS: DSCP = 0x60 (Class Selector = 3)

 

3. VoD CDN

 

LG U+ VoD 서비스에 있어 "(1) 이용자가 요청한 컨텐츠가 VoD 스트리밍 서버에 존재하지 않을때(Cache Miss) VoD 오리진 서버로 부터 가져와서(Cache Fill) 이용자에게 전달해 줄까? (2) 만약 Cache Miss/Fill 동작 없이 운영자가 VoD 스트리밍 서버에 미리 컨텐츠를 저장시켜 놓는다면, 이용자가 자주 시청하는 컨텐츠(Hot Contents, 예: 런닝맨)와 그렇지 않은 컨텐츠(Cold Contents, 예: 이승만 다큐멘터리)는 어떻게 분산 배치되어 있을까?"가 궁금했습니다.

 

먼저 작년 봄 KT 시험 결과를 소개해 드리면 다음과 같습니다.

KT의 경우, traceroute 실행 결과(DOS 명령어: tracert) Hot Contents는 댁내 STB으로 부터 5개의 hop count(# of router) 후에 VoD 스트리밍 서버가 위치해 있었고 Cold Contents는 10개의 hop count 후에 VoD 스트리밍 서버가 위치해 있었습니다. 이 결과를 통해 "KT VoD 서버는 전국 각 시/도에 위치한 POP에 분산 배치되어 있고 이들 서버에는 Hot Contents들이 저장되어 있다. 그리고 서울 여의도에 위치한 KT IPTV Headend에는 모든 Contents(Hot Contents + Cold Contents)가 위치한다."라는 예상이 가능했습니다. Hot과 Cold Contents가 서로 다른 VoD 스트리밍 서버에 위치해 있음을 통해 Cache Miss/Fill 동작은 하지 않는 것으로 추측이 됩니다. (추측의 근거: 만약 Cache Miss/Fill 동작을 한다면 Hot과 Cold Contents 모두 이용자와 가까운 즉, hop count가 5인 VoD 스트리밍 서버로 부터 컨텐츠를 받을 것임)

 

LG U+ 역시 Hot Contents를 전달해 주는 VoD 스트리밍 서버 대역(123.140.21.0/24)과 Cold Contents를 전달해 주는 VoD 스트리밍 서버 대역(123.140.207.0/24)이 달랐습니다(아래 그림 참조). 이를 통해 일단 Cache Miss/Fill 동작은 하고 있지 않은 것으로 추측이 됩니다.

그런데.... traceroute 결과에서 나온 hop count가 좀 이상했습니다. Hot Contents를 저장하고 있는 VoD 스트리밍 서버는 STB으로 부터 9개 hop count 후에 위치해 있으며 Cold Contents를 저장하고 있는 VoD 스트리밍 서버는 10개 hop count 후에 위치해 있었습니다. 즉, 둘 사이가 너무 가깝습니다. 그리고, Hot Contents를 저장하고 있는 VoD 스트리밍 서버가 KT와 비교했을때 STB과 너무 멀리 위치해 있습니다.

이 결과만을 놓고 봤을때는 Hot Contents를 저장하고 있는 LG U+ VoD 스트리밍 서버가 이용자와 가까운 곳(POP)에 전진/분산 배치되어 있는 것인지 확신이 들지 않습니다. (대전이나 부산에서 한번 시험을 해 보면 그 해석이 좀 더 명확해 질 것 같습니다만...)

 

 

 

김희영 2013-10-10 14:26:55
DESCRIBE에 대한 서버의 응답으로 SDP가 오는 것으로 알고 있었는데, 이 글에서는 SETUP에 대한 응답으로 SDP가 온다고 나와서요...어떤것이 맞나요?? 확인부탁드립니다.
넷매니아즈 2013-10-10 22:19:42
웹(http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol) 상에 자료를 보면 말씀하신 것과 같이 DESCRIBE에 대한 응답으로 SDP가 오는게 맞는데, 실제 사업자(KT, LG U+ VoD) 시험 결과 본 블로그 글과 같은 결과가 나왔습니다. 아래는 Wireshark 결과입니다. 참고하시기 바랍니다.

■ STB to VoD server
SETUP rtsp://123.140.21.34/M0112BAA63PPV00HD108.mpg RTSP/1.0
CSeq: 0
Transport: CIP/TCP; unicast; destination=192.168.219.21
x-VODRequestID:

■ VoD server to STB
RTSP/1.0 200 OK
CSeq: 0
Session: 1387711
Transport: MP2T/TCP; unicast; client_port=21586; server_port=38156
Content-Type: application/sdp
Content-Length: 1030
m=audio 0 MP2T/TCP 83
m=video 0 MP2T/TCP 89
a=length: 4554912692
a=X-muxrate: 7487329
a=X-duration: 4866785
a=X-trickable: 1
a=X-ptsVideoUnit: 3003.000000
a=X-packetTime: 5423.562895
a=X-patpid: 0
a=X-pmtpid: 256
a=X-pcrpid: 33
a=X-videopid: 33
a=X-audiopid: 34
a=X-videoTrackId: 0
a=X-audioTrackId: 0
a=X-videoTimescale: 0
a=X-audioTimescale: 0
a=X-dwMicroSecPerFrame: 0
a=X-biSize: 0
a=X-biWidth: 0
a=X-biHeight: 0
a=X-biPlanes: 0
a=X-biBitCount: 0
a=X-biCompression: 0
a=X-biSizeImage: 0
a=X-biXPelsPerMeter: 0
a=X-biYPelsPerMeter: 0
a=X-biClrUsed: 0
a=X-biClrImportant: 0
a=X-wFormatTag: 0
a=X-nChannels: 0
a=X-nSamplesPerSec: 0
a=X-nAvgBytesPerSec: 0
a=X-nBlockAlign: 0
a=X-wBitsPerSample: 0
a=X-cbSize: 0
a=X-cicpport: 32127
a=X-pmt: R0EAHwACsFAAAcEAAOAh8CiRJgBDU1A9TEdEYWNvbSZJRD0nTT......
Thank you for visiting Netmanias! Please leave your comment if you have a question or suggestion.
View All (973)
5G (68) AI (5) ALTO (1) AR (2) ARP (6) AT&T (1) Akamai (5) Authentication (5) BT (1) Backhaul (2) Big Data (2) Bridging (5) C-RAN/Fronthaul (17) CDN (20) CIoT (2) CPRI (6) Carrier Aggregation (5) Charging (2) China Mobile (2) Cisco (6) CoMP (3) Comcast (1) DHCP (6) DNS (15) Data Center (15) EDGE (11) EMM (1) EPS Bearer (7) Ethernet (3) FTTH (8) GSLB (5) Gigabit Internet (17) Google (17) Google Global Cache (8) Google TV (1) HLS (5) HTTP (5) HTTP Adaptive Streaming (7) HTTP Progressive Download (2) Handover (5) Huawei (1) IGMP (3) IP (6) IP Allocation (8) IP Routing (20) IPSec (4) IPTV (25) IoST (2) IoT (45) KT (45) Korea (8) Korea ICT Vendor (1) L3 Switch (5) LG U+ (24) LTE (99) LTE-A (10) LTE-A Pro (1) LTE-M (1) LTE-U (3) LoRa (5) MEC (11) MPLS (3) MWC 2013 (1) MWC 2015 (3) MWC 2016 (2) MWC 2017 (1) Mobile IPTV (1) Multi-Screen (1) Multicast (2) NAT (9) NB-IoT (6) NTT Docomo (1) Netflix (5) Network Protocol (49) Network Slicing (3) OSPF (3) OTT (20) Operator CDN (1) P2P (3) PS-LTE (3) Pooq (2) QoS (5) RCS (1) RRH (1) Request Routing (3) SD-WAN (8) SDN/NFV (34) SK Broadband (1) SK Telecom (38) Samsung (2) Security (8) Self-Driving (3) Shortest Path Tree (2) Small Cell (3) Spectrum Sharing (1) TAU (2) Transparent Caching (9) UHD (7) VLAN (2) VPN (3) VR (3) Video Streaming (22) VoLTE (1) VoWiFi (1) WAN Optimization (1) Wi-Fi (30) WiBro(WiMAX) (2) YouTube (16) eICIC (1) eMBMS (1) ePDG (6) u+ tv G (4) 로컬 5G (1)

 

 

     
         
     

 

     
     

넷매니아즈 회원 가입 하기

2019년 1월 현재 넷매니아즈 회원은 49,000+분입니다.

 

넷매니아즈 회원 가입을 하시면,

► 넷매니아즈 신규 컨텐츠 발행 소식 등의 정보를

   이메일 뉴스레터로 발송해드립니다.

► 넷매니아즈의 모든 컨텐츠를 pdf 파일로 다운로드

   받으실 수 있습니다. 

     
     

 

     
         
     

 

 

비밀번호 확인
코멘트 작성시 등록하신 비밀번호를 입력하여주세요.
비밀번호