OTT, IPTV, CDN + IPv6 Challenges of OTT video delivery in the dual-stacked world Berislav Todorovic, berislav.todorovic@gmail.com Disclaimer A disclaimer a day, keeps the lawyer away The views and opinions expressed in this presentation are those of the author and do not necessarily reflect the official policy or position of the author’s employer or any other legal entity. Examples and diagrams provided within this presentation are only generic examples, not reflecting any implementation of an existing system or a network. Assumptions made within the presentation are not reflective of the position of any legal entity. … and you’re not supposed to read it easily! Digital Video Ecosystem Today • DVB-S, DVB-C, DVB-T … • VoD over cable networks (STB-based) • Over-the-top TV – YouTube – Netflix – … • TV Delivery via IP (IPTV) • Multi-screen TV – Live streaming – VoD Internet-based The Isles of the Cyberworld … IPv6 IPv4 NAT64 DS-Lite 4rd 6rd MAP (P+T) The Dual-Stacked Reality Bottleneck Private IPv4 (or no IPv4) IPv4 Internet Dual-Stack ISP IPv4/IPv6 Public IPv6 “NAT” IPv6 Internet They use IPv4, so it goes via the “NAT” gateway !!! TV channels Live Sources DRM Key Server MUX VoD Library On-demand content owners OTT Video Ecosystem Simplified Live Encoder VoD Encoder Live Packager VoD Packager Content Ingest Content Delivery Live DRM C D N VoD DRM Portal Website Metadata Processing Systems Where to start with the IPv6 migration? Migrating the Head-End Good news • Majority of application flows are HTTP(S) sessions! – Exception: live encoders usually use multicast towards sources – This may be tough … true! • Apache or IIS mostly, so migration should be easy, right? Bad news • In a .php file, in the middle of nowhere, someone wrote: ... $this->asset[‘url’] = “http://10.193.3.214/assets/” . $country . “/” $date . “/” . $filename; get_metadata ($this->asset[‘url’], ...); ... Ever heard of DNS ??? And what about this? TV channels Live Sources DRM Key Server MUX VoD Library On-demand content owners OTT Video Ecosystem Simplified Live Encoder VoD Encoder Live Packager VoD Packager Live DRM C D N VoD DRM Portal Website Metadata Processing Systems Content Ingest Content Delivery TV channels Live Sources DRM Key Server MUX VoD Library On-demand content owners Pragmatic Approach Live Encoder VoD Encoder Live Packager VoD Packager Content Ingest Content Delivery Live DRM C D N VoD DRM Portal Website Metadata Processing Systems Leave this in its IPv4 nirvana! Here you need IPv6! In other words … • • • • The CDN is the key component here! It requires full dual-stack support! It will talk to the back-end systems using IPv4 To the customers it will use IPv6 or IPv4 (depends on the end customer site). • We should avoid using using IPv4 for IPv6-enabled customers! • But try to find an IPv6-capable CDN … CDN Options • Lease • Buy • Build your own (e.g. using open-source etc.) Vendors can be funny sometimes … (Both birds and mosquitos can fly, so …) Question: • Does your product support IPv6. Please elaborate! Answer: • Yes it does. Our product is based on Linux Linux kernel supports IPv6 Therefore, our product supports IPv6 … Sure? Content Delivery Network (CDN) Content Delivery (Caches) Origin Backup Origin 14 CDN Intelligence - Request Routing d1.IE.cdn.com 198.18.44.1 2001:db8:cd::44:1 HTTP redirector d1.DK.cdn.com 198.18.55.1 2001:db8:cd::55:1 Content HTTP request GET / HTTP/1.1 Host: www.x.com Request Router d1.DE.cdn.com 198.18.33.1 2001:db8:cd::33:1Redirection based on End Client IP(v4/v6) address! HTTP response HTTP 302 Found \n Location: http://d1.de.cdn.com/path Content request (GET /path HTTP...) 15 CDN Intelligence - Request Routing d1.IE.cdn.com 198.18.44.1 2001:db8:cd::44:1 DNS query www.x.com IP = ??? Authoritativ e DNS Content Request Router DNS reply www.x.com IP = 198.18.33.1 d1.DK.cdn.com 198.18.55.1 2001:db8:cd::55:1 Local DNS d1.DE.cdn.com 198.18.33.1 2001:db8:cd::33:1Redirection based on the IP address of End Client’s Local DNS! Content request (GET /path HTTP...) 16 DNS Request Routing Issue • IP address of the DNS is presented to the CDN’s RR • Client IP information by default lost • Proposal - draft-vandergaast-edns-client-subnet – – – – Uses EDNS0 option to include end client’s IP subnet info Added by the ISP local DNS Supported by Google rDNS [8.8.8.8] / [8.8.4.4] Full dual-stack (IPv4/IPv6) support! 192.0.1.1/32 2001:db8:ec::1/128 Local DNS DNS Q DNS Q EDNS0 192.0.1.0/24 2001:db8:ec::/48 Request Router Global CDNs supporting edns-client-subnet CDN as a tool for IPv6 migrations … No FW changes! IPTV Backend CDN IPv4 / IPv6 IPv6 world IPv4 BE systems can live on IPv4 … Issues to Take Care … • • • • • The CDN should FULLY support IPv6 (on all nodes!) Authoritative DNS infrastructure – IPv6 ready? Resolving DNS servers – IPv6 ready? Geo-IPv6 information to be kept accurate! Otherwise, we may experience issues … – Redirection of IPv6 customer to an IPv4-only node … – Redirection of IPv6 customer to a non-optimal node • Security …