基于DNS权重扩展协议实现CDN比例调度的探索与研究
  F4eWl82ptHPf 2023年11月13日 23 0

摘 要:CDN服务商普遍面临着各边缘节点承载能力不均难以最优调度的棘手问题,中国移动充分发挥掌握Local DNS的优势,首创了DNS权重扩展协议,可将CDN节点的容量比例由GSLB调度中心传递到LocalDNS,实现面向终端用户的按比例调度,本文介绍了DNS权重扩展协议的技术原理,在江苏移动的部署测试情况,为均衡CDN节点利用率提供了一种新的解决方案。

关键词:EDNS;权重调度;比例调度;CDN调度;ECS

引言(研究背景及意义)

内容分发网络(Content Delivery Network,CDN)的作用是将数字内容智能分发到离用户最近的节点,从而减少网络延迟,节省带宽资源,提高用户体验。知名CDN服务商常常建有成百甚至上千个边缘节点,单个节点容量少则十几G、多则上百G,各节点容量分布不均衡是普遍现象。受限于传统域名系统(Domain Name System,DNS)调度控制精度低,难以均衡各CDN节点的容量利用率,尤其是在单业务流量突发场景时,部分节点利用率超过95%,而部分节点不到30%,造成“有空闲容量却无法承载业务”的困境,这对CDN服务商的调度能力提出了巨大挑战。

中国移动CDN业务也面临着类似问题,前期尝试了边缘节点多VIP、调度中心根据收到的递归请求数量做按比例响应等技术,有一定成效,但仍存在易受DNS缓存影响、地址占用多,AAAA类型响应报文过大等问题。为了应对CDN节点利用率均衡难题,充分发挥运营商掌握Local DNS(简称LDNS)的优势,首创了DNS权重扩展协议,实现了权重参数(如CDN节点的容量比例)由调度中心传递到LocalDNS,继而将用户DNS访问请求按权重比例引流到不同的CDN节点,达到负载均衡的目的。

总体思路及技术方案

1.1 目标功能和使用场景

传统的DNS权重调度是指权威DNS针对递归DNS访问总次数来进行比例解析,这种权重分配方式只能以递归DNS服务器为分配颗粒度而不是最终用户,造成CDN业务节点的用户访问量与所期望的分配比例不一致(因为每个递归DNS服务器所服务的最终用户数量不同,导致流量分配产生误差)。中国移动所提出的DNS权重扩展协议,可针对域名的多个解析IP预设权重参数,由权威DNS或全局负载均衡(global server load balance ,GSLB)传递给递归DNS服务器(包括运营商LocalDNS),再由LDNS按照权重比例基于终端用户返回相应的解析IP,继而将用户访问流量引导至不同的CDN节点,达到负载均衡的目的。DNS权重扩展协议既可以独立运行,也可以叠加其他EDNS扩展功能共同服务,例如EDNS Client Subnet扩展(简称ECS扩展)。

DNS权重扩展协议的应用场景:

(1)通过 DNS权重调度技术来微调域名使得多个CDN节点的整体利用率均衡。比如有两个CDN边缘节点分布在A、B两地,其中A节点处理能力为100G,B节点处理能力为50G,通过权重调度按每3个请求循环一次的周期进行DNS应答,在一个周期里2个请求回答解析地址A,1个请求回答解析地址B,使得CDN节点流量达到合理的比例。

(2)作为一种应急手段,当某个CDN节点因业务突发暴涨,或者设备故障服务能力下降,通过DNS权重调度快速将部分业务量引导迁移至其它节点,缓解流量压力。

1.2 DNS权重扩展协议的技术原理

为了完善DNS功能,RFC6891中提出了一种扩展DNS机制Extension Mechanisms for DNS (EDNS0),它扩展了原有DNS协议的数据包长度和字段内容,EDNS0协议支持在RR中使用TYPE=41的RDATA存放更多选项信息。

中国移动提出的DNS权重扩展协议就是在此基础上,新定义了一个扩展选项(option)来携带域名多个解析结果的权重参数信息。如果整个解析流程的LDNS、权威DNS或CDN 调度系统(GSLB)均支持权重扩展,则可以实现按照不同解析地址权重准确调度流量。如果解析流程中存在不支持权重扩展的DNS服务器,则会使用标准DNS协议进行DNS解析,不会有兼容性问题。

基于DNS权重扩展协议实现CDN比例调度的探索与研究_CDN调度

图 1 DNS权重扩展协议报文格式


1.3 DNS权重扩展协议报文格式

本文使用的新扩展的EDNS0选项(option),整个EDNS0选项的报文格式为:

+0 (MSB) +1 (LSB)
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: |       OPTION-CODE(65534)               |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: |       OPTION-LENGTH                 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4: |       OPTION-DATA                  |
/                                /
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

* 选项代码(Option-Code)在RFC6891中定义,占两个字节。

* 选项数据长度(Option-Length)在RFC6891中定义,占两个字节。包括了整个OPTION-DATA的字节长度。

* 选项数据(OPTION-Data)在RFC6891中定义,所占字节由Option-LENGTH确定。在权重选项扩展中,请求报文和应答报文使用不同的OPTION-DATA内容。对于请求报文,不包含OPTION-DATA数据;对于应答报文,包含了域名每个解析地址的权重信息。

基于DNS权重扩展协议实现CDN比例调度的探索与研究_EDNS_02

1.4 DNS权重的工作流程

DNS权重的整个工作流程由多个参与方协同完成。

DNS权重工作流程图

基于DNS权重扩展协议实现CDN比例调度的探索与研究_比例调度_03

DNS权重扩展协议执行流程


方案部署实施

DNS权重扩展协议支持独立运行,但考虑ECS扩展已是LDNS不可或缺的标配功能,中国移动CDN在选择江苏部署时,需要满足ECS和权重两项功能叠加的设计需求。当CDN GSLB同时收到带有这两项扩展功能的DNS请求时,在处理逻辑上,GSLB首先根据ECS扩展选项选择出相应的边缘节点视图,其次再对该视图下的各个节点下发权重信息。

相比CDN GSLB,LDNS侧的改造难度更大,涉及网管服务器、递归服务器、缓存服务器三大网元的改造,权重扩展的部署实施模型如下图所示:

基于DNS权重扩展协议实现CDN比例调度的探索与研究_DNS权重_04

DNS权重扩展协议部署模型

2.1 缓存服务器改造

前期在部署ECS功能时,已经根据业务模型规划了多个分区,通常省级LDNS会以地市做为基本的调度单元来规划CDN业务,每一个地市划分为一个分区,结合地址映射技术归并一个地市所有用户的解析缓存,而普通域名使用公共分区缓存。叠加权重功能时,公共分区和ECS分区均需要支持权重调度算法[3]。

2.2 递归服务器改造

前期在部署ECS功能时,递归服务器已经分成了普通递归和ECS递归两个分组。虽然权重递归可以兼容普通递归,但权重递归比普通递归更加消耗资源,只需要在ECS递归服务器上追加权重功能,改造成权重/ECS合一递归服务器。对于非ECS域名的纯权重域名,实施权重递归;对于既是ECS又是权重的域名,实施带权重扩展的载源递归。

2.3 网管服务器改造

DNS网管基于域名来标识是否属于权重、ECS这两种特殊类别的域名,确保域名调度的主动权掌握在运营商ISP手上。如果是权重或ECS域名,DNS网管上还需要继续标识策略,如forward转发或迭代查询。

前端缓存服务器根据网管标识的权重、ECS域名列表实施分流,权重、ECS域名转发到专用的权重/ECS递归服务器,普通域名转发普通递归服务器。

2.4 权重域名解析流程

DNS前端缓存收到用户请求后,依据DNS网管里的域名标记判断其是否属于权重域名;

如果是权重但非ECS域名,先分流至权重/ECS合一递归服务器,解析结果由公共缓存空间进行缓存;

如果网管标记为权重且ECS域名,则根据用户源IP对应的映射表,进入相应地市ECS缓存分区;将映射公网IP添加进扩展字段构造出新的ECS请求,并追加权重扩展请求,转发给权重/ECS合一递归服务器;合一递归服务器根据ECS里的映射公网IP,进入相应递归分区后执行带权重扩展的载源递归。

试点应用与测试结论

中国移动集团CDN部门牵头,联合移动杭研GSLB、江苏移动、南京信风于2022年6月至2022年8月期间对江苏宽带业务进行现网测试。选择了抖音点播和咪咕视频业务,测试场景覆盖了CDN业务中最频繁使用的视频点播和直播,还包含了权重调度和ECS调度的交叉情况。

......

基于DNS权重扩展协议实现CDN比例调度的探索与研究_CDN调度_05

详细pdf文档见《江苏通信》2023年第3期 第66页至73页 《基于DNS权重扩展协议实现CDN比例调度的探索与研究》 作者 胡前笑 巫俊峰 郭志刚 王晓宇 王济晟 李瀚庭 刘怀彦 黄钟 曹庆皇 唐凯

下载链接 http://www.jsic.cn//uploads/20230714/files/a25d040c63d86023c54a29109bdd86e9.pdf

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  aHqqwBZuiKkn   2023年11月13日   26   0   0 DNSmysqlCentOS
F4eWl82ptHPf