SlideShare a Scribd company logo
选型指南
CDN系统中的DNS设计与开发
目录
 智能DNS解析
 域名解析过程
 性能要求
 智能DNS与CDN流量调度的关系
智能DNS解析
 业务形式
 CDN与DNS支持协议标准
 权威DNS通信特点
 系统消耗特征
业务形式
CDN与DNS支持协议标准
 rfc 1035 : 基础
 rfc 2671 : EDNS0
 rfc 3596 : AAAA
 ECS支持: draft-vandergaast-edns-client-subnet-04
权威DNS通信特点
 典型报文特征
 UDP为主
 单包请求应答
 小数据包
 五元组不重复
 业务特征
 延迟敏感
 分布式部署
系统消耗特征
 网络I/O密集型
 小包高频
 一次性网络I/O
 CPU密集型
 小包高频
 一次性网络I/O
 域名为字串查询和处理为主。
 额外进行CDN策略计算
域名解析过程
 终端与Local DNS交互特征
 Local DNS与 CDN DNS交互特征
 Local DNS与 DNS集群的交互特征
终端与LocalDNS交互特征
 大部分终端使用是当地
Local DNS
本地终端用户群
Local DNS的终端用户群
Local DNS与智能DNS交互特征
 Local DNS的用户规模差异极为悬殊
 从CDN DNS视角
 Local DNS的cache稀释了热点
 流量调度视角
 每次DNS访问涵盖用户群大小不一
CDN
DNS
LDNS用户群
LocalDNS与DNS集群的交互特征
 Local DNS择优:解析时延敏感
 高概率选择近NS(RTT短)
 低概率选择远NS(RTT长)
 流量调度视角
 每个NS获得的访问不对等
集群择优实例
解析延迟
IP-1
IP-5
IP-2
0
10
20
30
40
50
DNS设备
解析延迟ms
DNS 解析序列
高延迟情形下惩罚实例
502502
解析延迟
IP-3
IP-1
IP-4
IP-5
IP-6
IP-2
0
50
100
150
200
500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700
DNS设备
解析延迟ms
DNS 解析序列
性能要求
 高品质的DNS软件的性能特征
 评估性能设计指标
 性能测试
 网络I/O选型
 新近出现的DNS数据存储
高品质的DNS软件的性能
 与ICMP echo服务(ping)特征相仿
性能指标评估
性能量级
C40M - 40Gb
C10M - 10Gb
C1M - 1Gb
C500K-C100 - 100Mb
C10K - 10Mb
C1K - 1Mb
C100K
域名解析量
DDoS
小型DDoS
小型DDoS
大型网站峰值解析
活跃的网站
单机性能
Knot、NSD、BIND、PowerDNS
BIND+DLZ+NOSQL
热点稀释对性能影响
 热度稀释原因
 上游Local DNS是cache型服务,有效期内不会再次访问
 NS集群分散了访问加大了访问周期
 热度稀释效应
 线上性能比测试性能低一大截
 软硬件各级cache miss率偏高,
 云环境下,因为自身数据活跃性的劣势,软硬件各级cache miss率偏高。
 需要注意
 评估中需要额外考虑,留出足够富余
 对于存储和算法等的选型中,随机访问的性能稳定性需要额外考量
 回放或clone在线流量进行DNS测试。
性能测试
 queryperf
 DNSPerf
 tcpreplay 回放
 tcpcopy
 性能测试仪器
性能评价误区
 CDN DNS的并发性能是多少?
 作为权威DNS,业务特点是迅速完成一次性的应答。
 对于CPU密集业务,堆积并发易失控,越低越好。
 QPS是评价CDN DNS性能的基本指标
 使用queryperf、 DNSPerf评价在线CDN DNS在线性能?
 CDN DNS的Local DNS变化维度很难覆盖到
 五元组固定,不能正确体现出底层消耗
 queryperf、 DNSPerf配合被测DNS设备的应答节奏进行固定强度压力测试
 互联网访问节奏通常服从泊松分布,但会波动。
 但也DNS存在人为相关性的的访问加剧波动。
 如周期性探测,周期性的网页爬取。
网络I/O选型
性能量级
Q40M - 40Gb
Q10M - 10Gb
Q1M - 1Gb
Q100K - 100Mb
Q10K - 10Mb
Q1K - 1Mb
网络I/O
DPDK
PF_RING,Netmap
BPS,netfilter
Socket
新近出现的DNS数据存储
 Open LDAP LMDB
 Lightning Memory-Mapped Database
 PowerDNS + LMDB
 400kqps
 Knot DNS
 700kqps
负载均衡选型
 交接机/路由器 + 节点内的Anycast
 如果条件允许首选方式
 硬负载均衡
 软负载均衡
智能DNS与CDN流量调度
 实例分析
 影响DNS调度流量表达的因素
 如何评价DNS流量调度效果
 可采用调度算法
DNS调度优化实例对比
影响智能DNS调度效果的因素
 智能DNS不直接与终端交互
 部分终端改变了自身的Local DNS
 Local DNS Cache 影响调度生效和失效
 Local DNS涵盖的用户群大小不一
 Local DNS择优行为影响数据对等
DNS智能调度的准度与精度
0%
10%
20%
30%
40%
50%
60%
70%
精度差,准度高
实际调度效果 调度目标0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
准度差,精度高
实际调度效果 调度目标
智能DNS的精度和准度特征的影响
 精度特征
 影响调度系统动态调节难度
 影响设备带宽利用效果
 准度特征
 影响调度系统预测规划难度
DNS调度依据
 DNS中的统计计数数据作为调度依据
 不推荐直接使用
 按照固有属性进行流量调度
 Local DNS IP 地域属性
 Local DNS IP 网络属性
 按照无状态属性进行流量调度
 Hash特征
 随机
常见调度表达方式
 默认流量等分
 按照比例
 IP分类
 静态的地域分类
 动态的网络链路
 ...
流量调度常见形式特征
调度方法 准度 精度
地区切分 很差 好
默认等分 很好 很好
随机比例 准确 不稳定
按照Local DNS IP切分流量 差 好
智能DNS与其他调度方式结合
 智能DNS粗分,其他调度方式细分
 Http 302
 集群
 设备限连接,限流。
 节点内混用各取所长
 高品质,小流量业务
 高精度智能DNS调度
 低要求,大流量业务
 高准度智能DNS调度,跨节点调度
 辅助设备限连接,限流。
安全
 软件缺陷
 异构软件互备
 基于开源DNS软件
 功能裁剪
 CDN涉及的是DNS软件最基础,最稳定部分
 代码级砍掉无关功能分支
 DDoS类流量性攻击
 结合CDN带宽优势,设计超高性能非常规DNS软件
 引入第三方DNS安全产品
 注意引入安全产品对流量调度表达的影响
 提高软件性能有助于降低第三方DNS安全产品的难度,降低负面风险
高可用性
 分布式部署
 异构DNS软件
 平台镜像
异构DNS
 一组DNS由两种DNS软件组成
 DNS的全球13个根为BIND和NSD的混用
 为什么要作异构DNS?
 利用开发和来源不同DNS软件缺陷不一致性,保证高可用性
 DNS是关键性系统,软件缺陷导致瘫痪是灾难性的
 Local DNS的集群重试能产生蔓延效果,直到整组DNS设备全部瘫痪。
 开发维护成本
 DNS是相对简单,开发周期短
 DNS是变化较少网络协议,CDN相关的部分变化更小
 CDN相关功能
 待功能稳定后,开发
 开源DNS软件表达个性定制的CDN功能可能不充分,但是是非常不错后备系统
DNS平台克隆互备
 应对平台级,平台外故障。
 平台级域名故障
 域名注册级故障
 上级顶级域故障
 安全威胁
 分散风险
 鸡蛋分散到过个篮子里
 疏散
 平台遭受故障或威胁时,转移客
户至克隆平台
user1.cnd1.cn
user2.cnd1.cn
user3.cnd1.cn
user4.cnd1.cn
user5.cnd1.cn
user1.cnd2.com
user2.cnd2.com
user3.cnd2.com
user4.cnd2.com
user5.cnd2.com
user1
user2
user3
user4
user5
CDN
平
台
1
CDN
平
台
2
客
户

More Related Content

What's hot

淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统Dai Jun
 
Hbase使用hadoop分析
Hbase使用hadoop分析Hbase使用hadoop分析
Hbase使用hadoop分析baggioss
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
84zhu
 
SINGLE CLIENT ACCESS NAME (SCAN)
SINGLE CLIENT ACCESS NAME (SCAN)SINGLE CLIENT ACCESS NAME (SCAN)
SINGLE CLIENT ACCESS NAME (SCAN)
jenkin
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践drewz lin
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践Wensong Zhang
 
cdn的那些事儿
cdn的那些事儿cdn的那些事儿
cdn的那些事儿
rfyiamcool
 
稳定、高效、低碳 -淘宝软件基础设施构建实践
稳定、高效、低碳  -淘宝软件基础设施构建实践稳定、高效、低碳  -淘宝软件基础设施构建实践
稳定、高效、低碳 -淘宝软件基础设施构建实践
Wensong Zhang
 
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
hdhappy001
 
大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011Yiwei Ma
 
百度 刘宁 系统也智慧
百度 刘宁 系统也智慧百度 刘宁 系统也智慧
百度 刘宁 系统也智慧
guiyingshenxia
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术团队
 
Baidu Cloud Foundry
Baidu Cloud FoundryBaidu Cloud Foundry
Baidu Cloud Foundry
James Watters
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构Cosey Lee
 
Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x
Jiang Yu
 

What's hot (15)

淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统
 
Hbase使用hadoop分析
Hbase使用hadoop分析Hbase使用hadoop分析
Hbase使用hadoop分析
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
SINGLE CLIENT ACCESS NAME (SCAN)
SINGLE CLIENT ACCESS NAME (SCAN)SINGLE CLIENT ACCESS NAME (SCAN)
SINGLE CLIENT ACCESS NAME (SCAN)
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
cdn的那些事儿
cdn的那些事儿cdn的那些事儿
cdn的那些事儿
 
稳定、高效、低碳 -淘宝软件基础设施构建实践
稳定、高效、低碳  -淘宝软件基础设施构建实践稳定、高效、低碳  -淘宝软件基础设施构建实践
稳定、高效、低碳 -淘宝软件基础设施构建实践
 
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
 
大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011
 
百度 刘宁 系统也智慧
百度 刘宁 系统也智慧百度 刘宁 系统也智慧
百度 刘宁 系统也智慧
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
 
Baidu Cloud Foundry
Baidu Cloud FoundryBaidu Cloud Foundry
Baidu Cloud Foundry
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
 
Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x Hdfs raid migration to hadoop 1.x
Hdfs raid migration to hadoop 1.x
 

Similar to 选型指南:Cdn系统中dns的设计与研发

百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
Chuanying Du
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务drewz lin
 
Java nio开发
Java nio开发 Java nio开发
Java nio开发 pepsixp
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
ITband
 
20110625.【打造高效能的cdn系统】.易统
20110625.【打造高效能的cdn系统】.易统20110625.【打造高效能的cdn系统】.易统
20110625.【打造高效能的cdn系统】.易统锐 张
 
弹性计算云安全(Elastic Compute Cloud Security)
弹性计算云安全(Elastic Compute Cloud Security)弹性计算云安全(Elastic Compute Cloud Security)
弹性计算云安全(Elastic Compute Cloud Security)
im_yunshu
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
Wensong Zhang
 
打造你自己的DNS服务器
打造你自己的DNS服务器打造你自己的DNS服务器
打造你自己的DNS服务器
Yihua Huang
 
胡涛:Cdn支撑平台构建实践分享
胡涛:Cdn支撑平台构建实践分享胡涛:Cdn支撑平台构建实践分享
胡涛:Cdn支撑平台构建实践分享Enlight Chen
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构drewz lin
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise
美团点评技术团队
 
Dns easy
Dns easyDns easy
Dns easy
CYJ
 
Taobao base
Taobao baseTaobao base
Taobao base
mysqlops
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践lovingprince58
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Community
 
云网锦绣 SDN实战研讨会
云网锦绣 SDN实战研讨会云网锦绣 SDN实战研讨会
云网锦绣 SDN实战研讨会
Hardway Hou
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
acelyc1112009
 
receiving packets faster
receiving packets fasterreceiving packets faster
receiving packets faster
yang peng
 
大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf
chachachat
 

Similar to 选型指南:Cdn系统中dns的设计与研发 (20)

百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务
 
Java nio开发
Java nio开发 Java nio开发
Java nio开发
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
 
20110625.【打造高效能的cdn系统】.易统
20110625.【打造高效能的cdn系统】.易统20110625.【打造高效能的cdn系统】.易统
20110625.【打造高效能的cdn系统】.易统
 
弹性计算云安全(Elastic Compute Cloud Security)
弹性计算云安全(Elastic Compute Cloud Security)弹性计算云安全(Elastic Compute Cloud Security)
弹性计算云安全(Elastic Compute Cloud Security)
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
 
打造你自己的DNS服务器
打造你自己的DNS服务器打造你自己的DNS服务器
打造你自己的DNS服务器
 
胡涛:Cdn支撑平台构建实践分享
胡涛:Cdn支撑平台构建实践分享胡涛:Cdn支撑平台构建实践分享
胡涛:Cdn支撑平台构建实践分享
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise
 
Dns easy
Dns easyDns easy
Dns easy
 
Taobao base
Taobao baseTaobao base
Taobao base
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
 
云网锦绣 SDN实战研讨会
云网锦绣 SDN实战研讨会云网锦绣 SDN实战研讨会
云网锦绣 SDN实战研讨会
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
receiving packets faster
receiving packets fasterreceiving packets faster
receiving packets faster
 
大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf
 

More from SpeedyCloud

教育交互直播的技术难点与架构探索 @ 见云沙龙
教育交互直播的技术难点与架构探索 @ 见云沙龙教育交互直播的技术难点与架构探索 @ 见云沙龙
教育交互直播的技术难点与架构探索 @ 见云沙龙
SpeedyCloud
 
浅析Python多线程与多进程的使用
浅析Python多线程与多进程的使用浅析Python多线程与多进程的使用
浅析Python多线程与多进程的使用
SpeedyCloud
 
How to Use Multi-thread & Multi-process in Python
How to Use Multi-thread & Multi-process in PythonHow to Use Multi-thread & Multi-process in Python
How to Use Multi-thread & Multi-process in Python
SpeedyCloud
 
运维?KVM & OpenVZ & Docker
运维?KVM & OpenVZ & Docker运维?KVM & OpenVZ & Docker
运维?KVM & OpenVZ & Docker
SpeedyCloud
 
深入Docker的资源管理
深入Docker的资源管理深入Docker的资源管理
深入Docker的资源管理
SpeedyCloud
 
Resource Management of Docker
Resource Management of DockerResource Management of Docker
Resource Management of Docker
SpeedyCloud
 
The Evolution of SpeedyCloud Resources Scheduling System
The Evolution of  SpeedyCloud Resources Scheduling SystemThe Evolution of  SpeedyCloud Resources Scheduling System
The Evolution of SpeedyCloud Resources Scheduling System
SpeedyCloud
 
SpeedyCloud 云计算平台资源调度系统要点解析
SpeedyCloud 云计算平台资源调度系统要点解析SpeedyCloud 云计算平台资源调度系统要点解析
SpeedyCloud 云计算平台资源调度系统要点解析
SpeedyCloud
 

More from SpeedyCloud (8)

教育交互直播的技术难点与架构探索 @ 见云沙龙
教育交互直播的技术难点与架构探索 @ 见云沙龙教育交互直播的技术难点与架构探索 @ 见云沙龙
教育交互直播的技术难点与架构探索 @ 见云沙龙
 
浅析Python多线程与多进程的使用
浅析Python多线程与多进程的使用浅析Python多线程与多进程的使用
浅析Python多线程与多进程的使用
 
How to Use Multi-thread & Multi-process in Python
How to Use Multi-thread & Multi-process in PythonHow to Use Multi-thread & Multi-process in Python
How to Use Multi-thread & Multi-process in Python
 
运维?KVM & OpenVZ & Docker
运维?KVM & OpenVZ & Docker运维?KVM & OpenVZ & Docker
运维?KVM & OpenVZ & Docker
 
深入Docker的资源管理
深入Docker的资源管理深入Docker的资源管理
深入Docker的资源管理
 
Resource Management of Docker
Resource Management of DockerResource Management of Docker
Resource Management of Docker
 
The Evolution of SpeedyCloud Resources Scheduling System
The Evolution of  SpeedyCloud Resources Scheduling SystemThe Evolution of  SpeedyCloud Resources Scheduling System
The Evolution of SpeedyCloud Resources Scheduling System
 
SpeedyCloud 云计算平台资源调度系统要点解析
SpeedyCloud 云计算平台资源调度系统要点解析SpeedyCloud 云计算平台资源调度系统要点解析
SpeedyCloud 云计算平台资源调度系统要点解析
 

选型指南:Cdn系统中dns的设计与研发