APP下载

基于高性能域名服务器的分析

2021-05-31欧阳帆

中国信息化 2021年5期
关键词:数据包域名高性能

欧阳帆

一、引言

域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和lP地址之间的转换及有关电子邮件的选路信息。这里的分布式是指在Internet上的单个站点不能拥有所有的信息。每个站点保留它自己的信息数据库,并运行一个服务器程序提供Internet上的其他系统(客户程序)查询。DNS提供了允许服务器和客户程序相互通信的协议。

在因特网中几乎每个用户的每次访问都会使用到域名解析,所以域名解析的准确程度和响应速度对整个网络的服务质量的影响非常重要。如何保证对域名的管理和解析统一、及时、准确,成为一个必须关注的问题。

随着宽带业务的迅速发展,用户对网络响应速度的要求越来越高,传统设备负载比较高,部分设备CPU负载达60%左右,存在安全隐患。高性能域名服务器将彻底解决传统的域名解析系统存在的上述问题,提高运营商本地资源竞争优势,提高用户访问质量。

二、高性能域名服务器介绍

为应对运营商大规模增长的域名查询、提高递归查询效率和用户上网体验而推出的纯缓存和递归系统;该系统采用了授权和缓存拆分的构架,只提供递归和缓存功能,使用事件驱动的内存寻址技术,以及更高效的递归任务管理机制,可以达到现在传统BIND系统性能的4-6倍。

高性能域名服务器,单台设备具备160万QPS缓存和320万QPS防护能力,基本具备三倍系统冗佘能力,并且具备通过软件license扩容能力。

(一)工作原理

工作原理比較简单,它工作在二层透明模式下。对所有进出的数据包可以进行二层的数据比对,从而按照相应的策略拦截和过滤相关的数据包.正常的数据包则放行至DNS缓存系统。

既然所有的数据包都会通过高性能域名服务器,则高性能服务器就可以对这些数据包进行检测、过滤和控制。由于工作在二层,因此其工作效率极高。后面的内容我们将会详细介绍该性能够实现的安全防护功能。

(二)成功应答率

根据运营商入网测试的结果和实际使用情况可以知道,高性能域名服务器能够最大程度地保证后台服务的正常运行。即使在承受800万qps甚至更高的DDOS攻击时,以及其它的递归攻击、放大攻击、中毒攻击、错误域名攻击等情况时,后台缓存系统解析成功率依然可以保持在99.5%以上。

(三)不影响用户

高性能域名服务器如果出现故障,系统具备下面多种冗余措施,保证不会对用户流量产生影响:anycast架构中设备的健康检查功能,链路bypass功能,设备支持网卡bypass功能,即在遇到某些特殊情况时,如断电、系统故障时,系统不对数据包进行任何处理,而直接交给后面的系统完成相关的功能。

(四)失败保护

高性能域名服务器具备丰富的失败保护机制,即失败跳接。具体情况如下:

1.设备硬件故障

当系统出现硬件故障,如网络中断、宕机、掉电等情况时,用户流量将会自动的跳接给原有的DNS系统,网管系统可以进行告警。

2.系统故障

系统带有健康检查模块,该模块可以实时的对高速缓存系统的状态进行检测,当发现存在严重问题或是可能要出现严重故障时,健康检查系统可以自动将高速缓存系统进行失败跳接,并发出告警。

3.手工失败跳接

不论在任何情况下,如果管理员需要进行失败跳接,系统都可以进行强制的跳接工作。

4.工作流程

系统具体是按照如下的流程进行工作的:1、用户请求数据包,通过网络和网卡进入高速缓存服务器2、缓存空间中如果有相关的记录,则直接将结果返回用户。3、如果缓存空间中没有相关的记录,则请求包将继续发送给递归系统。4、递归系统接收到相关的请求,并进行相关的递归查询。5、递归查询的结果将会返回给高速缓存服务器。6、该递归结果将被缓存至高速缓存空间中以便后续使用,可以采用分布式部署方式实现的针对DNs系统的防护功能,且支持性能上的线性叠加。该系统部署支持串接、旁挂及流量牵引模式。

5.工作原理(软+硬)

高速缓存之所以能够在相同的配置下实现极高的响应性能,这是和其极高的运行效率分不开的。我们以osl的七层模型为例,看看普通DNS缓存服务器和高新能服务器的区别。普通的DNS缓存服务器针对用户请求进行缓存查询和响应的工作,是在应用层上完成的,也就是说用户请求,通过网络到达普通缓存服务器后,会通过物理层的网卡进入数据链路层、网络层、传输层、会话层、表示层、应用层,最终在应用层进行相关的处理,然后再逐级下行,并将结果返回用户。这样的数据,将会返回贯穿7层模型中的所有层次。高新能服务器则工作在第二层,即用户数据包只需要进入DNS服务器的第二层即可获得答案,并将结果返回给用户。

三、高性能域名服务器的应用

面向用户的域名系统直接向用户提供高性能的域名解析服务。作为纯递归应用为支持复杂业务应用的BIND系统提供缓存分享,建立缓存与递归拆分的二级构架,该结构在2007年已经在国内运营商使用,实现了递归合并与缓存分享,支持多种硬件平台,可直接在现有BIND平台上部署,提供软硬绑定的一体化系统。

同一节点内采用RNS与BIND系统的混合模式,即保留了业务复杂支持的能力,又增加了域名系统整体的处理能力;采用anycast技术部署RNS系统,使其组网结构灵活在遭受攻击时,可以通过路由调整负载提高系统抗攻击能力;平时还可以作为小节点的一级递归。

根据攻击的模式可以动态组合多种形式提高系统稳定性,如:递归攻击、反射攻击、UDP Flood等。

以高性能RNS系统构建一级递归系统,提供高效递归查询;采用anycast架构部署,接收本节点和临近节点的递归查询;作为省内递归查询出口,与其它BIND系统分享缓存结果;应用TTL优化,建立可控制的TTL调整机制;一级递归系统实现全网的递归查询汇聚,自动合并重复的递归查询,减少出网的递归查询量;在遭受递归攻击时,实现递归队列缓冲,避免单层架构递归队列迅速占满引发的系统故障;预混合模式相同,这个系统在遭到其他类型攻击时,可以调整工作状态,加入到本地工作组或分流其它节点的攻击流量。

四、高性能域名服务器的必要性

解析系统主要应用于支撑IP宽带业务,根据辽宁省通信管理局网站信息,互联网宽带用户数量全国排名第十。随着互联网业务的普及,终端接入带宽的增长,宽带接入业务预计在未来几年内,业务用户数和业务流量将会有更大增长。特别是随着市场竞争的激烈,用户ARPU值也呈微幅下降的趋势。根据综合规划,未来几年将持续推进宽带升级提速,提高宽带业务在家庭市场的渗透率,提升宽带作为全业务发展基础的战略地位。促进固网宽带与移动互联网应用结合,大力发展基于家庭网关的“语音+数据+终端+应用”一体化解决方案,开展深度经营,加大业务捆绑营销。

高速缓存系统完全可以单机独立运行,就和普通的DNs缓存服务器的使用方式一样。不同的是其缓存直接解析性能可以达到160万qps以上。递归解析性能可以达到7万qps以上。通过这样的方式,我们可以简单的沿用anycast架构的灵活的扩容方式,在交换机下增加高速缓存服务器即可大幅提高该节点内系统的整体性能。为了达到最大性能,建议采用10GE交换机或接口。

五、结语

普通的域名服务器由于工作在应用层,因此它上面的系统,如BIND可以支持多种复杂的功能、配置,适合完成多种复杂的、多变的应用。高性能域名服务器,由于只工作在数据链路层,因此针对缓存应用工作效率极高,是传统BIND系统性能的4-6倍且部署也相对灵活。

猜你喜欢

数据包域名高性能
满足法规要求的车载终端数据包加密方案分析
高性能混凝土不同配合比下的性能研究
《江苏教育研究》官方网站域名变更公告
《江苏教育研究》官方网站域名变更公告
C#串口高效可靠的接收方案设计
高性能混凝土开裂成因及控制要点
中国E级高性能计算机原型系统正式进入研制阶段
网络数据包的抓取与识别
是更新还是换代?
浪潮高性能计算用心良苦