iQIYI CDN IPv6 Deployment Architecture and Implementation
iQIYI’s CDN scheduling system was redesigned for dual‑stack IPv4/IPv6, adding Anycast DNS, IPv6‑aware probes, and hybrid CDN integration, while upgrading data‑center, backbone, and server configurations through automated SDN and management platforms, enabling over 100 million IPv6 users and gigabit‑scale traffic.
IPv6 (Internet Protocol Version 6) is the next‑generation IP protocol designed by the IETF to replace IPv4, whose address space is severely exhausted. IPv6 not only expands the address pool but also removes many barriers for devices to access the Internet.
At the end of 2017, the Chinese central government issued a plan to accelerate large‑scale IPv6 deployment, targeting 200 million active IPv6 users by the end of 2018, 500 million by 2020, and to become the world leader by 2025. In response, iQIYI launched a comprehensive IPv6 deployment project, upgrading its core network, backend services, and front‑end applications to support dual‑stack IPv4/IPv6. In June 2019, iQIYI’s IPv6 case was recognized as an outstanding example by the IPv6 Deployment Expert Committee.
The iQIYI CDN scheduling system, including Anycast DNS scheduling and HTTP video scheduling, now fully supports IPv6, enabling efficient integration with IPv6 resources and accelerating the rollout.
2. Scheduling System Design
2.1 System Architecture
The overall IPv4/IPv6 scheduling architecture is shown in the diagram (Figure 2‑1). Key components and their roles are:
Client : iQIYI playback clients on mobile, tablet, PC, TV, and web. Clients first resolve DNS for the video scheduling domain, request the HTTP video scheduler for a CDN download URL, and then download the video.
Probe Server : Dual‑stack HTTP servers that provide probe services to help clients determine local IPv4/IPv6 availability.
Local DNS : The DNS server provided by the user’s ISP; it forwards queries to iQIYI Anycast DNS.
Anycast DNS : iQIYI’s self‑developed high‑performance DNS system (≈1 M QPS per node) that supports IPv6 AAAA record queries.
HTTP Video Scheduler : A core CDN component that selects the optimal CDN node based on the client’s IP, ISP, and region, returning either an IPv4 or IPv6 download address.
iQIYI Hybrid CDN : Combines self‑built CDN and commercial CDN to serve billions of users.
Resource Management Platform (TianGong) : Unified platform for resource demand collection, procurement, deployment, operation, and cost accounting.
Scheduling Management Platform (Fuxi) : Manages DNS and HTTP video scheduling configurations and policies, synchronizes resource information, and performs health probing and automatic failover.
Configuration Management Platform (Fast) : Manages server configurations, synchronizes assets, and ensures high‑availability configuration delivery via a multi‑operator Proxy cluster.
SDN Management Platform : Provides template‑based network configuration, supporting batch deployment via netconf/ssh/snmp and automating IDC core network construction.
2.2 System Design Details
iQIYI’s engineering team performed extensive design work on clients, schedulers, and backend management to support IPv6:
Client : All major playback clients now support IPv6. Upon startup or network change, the client contacts an IPv6 probe server using both IPv4 and IPv6 HTTP requests to detect connectivity. If IPv6 is available, the client prefers IPv6 video scheduler addresses and includes a Net-Stack header indicating the supported protocol stack.
Anycast DNS : Operates in dual‑stack mode, serving both A and AAAA records and providing always‑online authoritative DNS for IPv4 and IPv6.
HTTP Video Scheduler : In dual‑stack mode, it examines the Net-Stack header and client IP to decide whether to return an IPv4 or IPv6 URL. The decision flow is illustrated in Figure 2‑2.
2.3 Network Resource Preparation
Key network capabilities were prepared:
Data Center IPv6 Readiness : All iQIYI data centers (Core, Storage, Cache) have completed IPv6 address allocation, deployment, registration, and are fully operational.
Network Backbone IPv6 Upgrade : The internal QNET backbone was upgraded to IPv6, interconnecting with major ISPs and education networks, and the Anycast system was upgraded accordingly.
IPv6 Network Quality Monitoring : Dual‑stack traffic and network monitoring systems compare IPv4 and IPv6 performance across regions to guide deployment.
2.4 IPv6 Node Transformation
The node transformation process includes:
Using the Resource Management Platform to allocate IPv6 address blocks to each server and network device.
SDN Management Platform generates full‑mesh IPv6 configurations and pushes them to core IDC devices.
Configuration Management Platform creates task templates to automatically apply IPv6 settings and software updates to servers.
After services support IPv6, they register their capability with the Scheduling Management Platform.
The Scheduling Management Platform adjusts routing policies to gradually shift traffic to IPv6 where enabled.
Figure 2‑3 shows the overall node transformation workflow.
2.5 Client Scheduling Flow
Figure 2‑4 depicts the sequence diagram for IPv4/IPv6 client access to DNS, video scheduling, and CDN, demonstrating that both DNS and video services can return IPv4 or IPv6 resources based on client capabilities.
3. Smooth Rollout
3.1 System Configuration
System‑level IPv6 enablement includes kernel adjustments and network configuration:
(1) grub configuration: remove ipv6.disable=1 from /etc/default/grub .
(2) Regenerate grub: grub2-mkconfig --output /boot/grub2/grub.cfg .
(3) Enable global IPv6: add NETWORKING_IPV6=yes to /etc/sysconfig/network .
(4) Configure NIC IPv6 address in /etc/sysconfig/network-scripts/ifcfg-ethx :
IPV6INIT="yes" IPV6ADDR=" " IPV6_DEFAULTGW=" "
(5) Activate IPv6 address: reboot on CentOS 7 or service network restart on CentOS 6.
(6) Test connectivity with ping6 .
Key kernel parameters to tune:
Kernel Parameter
Purpose
net.ipv6.conf.bond0.accept_dad
Disable Duplicate Address Detection for static addresses to speed up initialization.
net.ipv6.route.max_size
Increase IPv6 routing cache size to match IPv4 defaults.
net.ipv6.conf.all.disable_ipv6 / net.ipv6.conf.eth0.disable_ipv6
Ensure IPv6 is globally enabled and can be disabled per‑interface if needed.
3.2 Service Software Configuration
(1) Enable IPv6 listening on Nginx‑based schedulers and video cache servers:
server{ listen [::]:80 backlog=8192; … }
(2) Enable IPv6 listening on the custom DNS service (based on the open‑source acl framework):
service hpdns { master_disable = no; master_service = |53; // listen on port 53 for all addresses … }
3.3 Business Traffic Shifting
The Scheduling Management Platform allows fine‑grained IPv6 traffic control per region and ISP. Enabling the “IPv6 support” option for an IDC node activates IPv6 video service for that node, and traffic is gradually shifted in a gray‑release manner to avoid user impact.
Figures illustrate the UI for region/ISP based IPv6 enablement.
4. Summary and Outlook
After more than a year of effort, iQIYI’s scheduling system fully supports IPv6. By the end of June 2019, monthly active IPv6 users exceeded 100 million, with peak bandwidth reaching several hundred gigabits. The team will continue to increase IPv6 coverage, bandwidth share, and further optimize the network and system architecture to improve user experience and reduce costs.
iQIYI Technical Product Team
The technical product team of iQIYI
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.