移动dns解决方案.docx
《移动dns解决方案.docx》由会员分享,可在线阅读,更多相关《移动dns解决方案.docx(14页珍藏版)》请在冰豆网上搜索。
![移动dns解决方案.docx](https://file1.bdocx.com/fileroot1/2022-10/29/36a70bb2-9b90-4654-ba05-4084aa7853f7/36a70bb2-9b90-4654-ba05-4084aa7853f71.gif)
移动dns解决方案
移动DNS解决方案
一、移动IDC机房需求分析
1.移动IDC简介
传统IDC(InternetDataCenter),即互联网数据中心,是专门承接IT资源外包以及专业网络服务的数据中心。
IDC为各类用户提供一个安全、可靠、高速、可扩展的电信服务场所,借助丰富的网络&IT资源向企业、网站出租带宽和机位资源,并提供有品质保证的服务。
它提供的业务主要有主机托管、虚拟主机、增值服务和企业应用等。
移动互联网数据中心是中国移动通信集团公司所属的,依照国际一流标准设计建设的专业互联网数据中心。
移动IDC是依托移动一流的电信级数据网络环境建立起来的具备大规模服务器托管能力的数据中心,其高度自动化管理系统和高度可扩充设施系统能够为不同用户提供可靠、快速、全面的托管服务;为上千台服务器提供高品质的网络资源和专业化服务。
作为国内数据业务的主要运营商之一,移动IDC将运用自身专业化管理、全新的服务理念,以及技术、市场和资源优势,与企业一起探索电子商务创新的经营模式、务实的管理机制,提供开展电子商务所需的技术服务,推动企业核心价值的稳定增长。
2.域名注册与DNS托管
任何个人或机构,必须先与管理域信息的两个单独实体接洽,然后才能在Internet上使用自己的域名,这两个实体分别是“域名注册机构”和“DNS托管机构”。
通常,域名注册机构也是DNS托管机构。
但是,并非始终如此。
域名注册机构是负责注册域名的公司。
从个人到跨国公司,所有用户都必须先通过域名注册机构注册其域名。
所有域名注册机构都必须获得互联网名称与数字地址分配机构(ICANN)的认证。
当您在特定域名注册机构那里搜索可用域名时,实际上是在向全世界的所有域名注册机构搜索该域名的可用性。
DNS托管服务是拥有包含域的DNS记录的DNS服务器的公司。
某些域名注册机构提供DNS托管服务,作为其域注册的一部分;而其他域名注册机构则不提供DNS托管服务。
与必须在可信任的域名注册机构那里注册的域名不同,任何具有已注册的域名和公用IP地址的个人或公司都可以创建公用DNS服务器,并驻留任意数量域的DNS记录。
当某个域的DNS记录由DNS托管服务驻留时,您和Internet的其余人实际上都可以使用该域。
3.移动DNS部署需求
虽然任何具有已注册域名和公网IP地址的个人或公司都可以自行创建DNS服务器,并驻留任意数量的DNS记录,但对于绝大部分的个人、中小企业和政企机构等用户,自行创建并维护DNS服务器,是一件非常可拍的事情。
首先,额外的硬件资本投入是一份不小的开支,其次个人搭建的DNS服务器在稳定性、性能和安全等方面存在很大隐患,再次,DNS服务器的维护需要占用额外的人力。
因此几乎90%以上用户会选择DNS托管服务。
然而,选择DNS托管机构也是一件非常麻烦的事情。
某些DNS托管公司允许用户自行创建和修改域的DNS记录。
其他DNS托管公司则不允许用户直接修改。
而且,并非所有DNS托管服务都支持所有种类的DNS记录。
例如,某些DNS托管服务不支持TXT记录或SRV记录。
另外,DNS的主动权掌握在别人手中,需要自行增加二级域名等情况发生时,需要向托管机构提交申请,要等待漫长的验证时间。
作为河南省最大的IDC之一,移动占据了大量的服务器等托管业务市场份额。
托管的网站等业务,如果DNS解析不能自己掌握,将会是一件非常可怕的事情!
同联通、电信不同,移动IDC主要提供服务器托管、DNS解析托管,用户请求的域名基本都在本地DNS部署,即移动IDC机房的DNS服务器是这些网站的权威DNS服务器,DNS主要工作压力来自解析查询和响应。
4.Cache服务器需求
移动IDCweb托管服务中,必不可少的一项就是为客户提供边缘网络镜像,即CDN的边界内容缓存服务器。
例如北京电信托管的某大型门户网站,要求实现CDN功能,当河南的用户访问该网站,要能够遵循就进访问的原则,访问河南本地的镜像内容。
达到这一预期目标,有两点是必须做到的:
DNS智能解析、河南内容Cache服务器。
1)本地CacheServer
首先,河南本地必须有CacheServer,用来提供用户访问的网站内容,这是前提条件。
CDN边界内容服务器并不是传统意义的镜像站点。
它可以是一台服务器,同时缓存N多站点的全部或部分内容,灵活的提供边界层次的便捷访问,对于来访用户完全透明。
其次,随着缓存内容的增加,来访用户并发连接、每秒新建回话数、服务器查询进程等会指数级增长,性能耗费要远大于提供单一站点访问的原web服务器。
因此CacheServer除了对内存要求特别高以外,一般都采用集群方式部署,并且要求做到高效率的负载均衡。
2)DNS智能解析
实现CDN的前提是能够有效将用户的访问引至最近的CacheServer。
这就要求负责该域名解析的DNS服务器支持智能解析,能够按照来访用户所属物理地域范围,返回合理的IP地址。
普通DNS服务器并不能做到这一高级功能。
二、ISP级别DNS部署方式
1.DNS简介
DNS是域名系统(DomainNameSystem)的缩写,它是由解析器和域名服务器组成的。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
其中域名必须对应一个IP地址,而IP地址不一定有域名。
域名系统采用类似目录树的等级结构。
域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:
主服务器和转发服务器。
将域名映射为IP地址的过程就称为“域名解析”。
在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。
当用户在应用程序中输入网站名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。
因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。
2.ISP传统DNS部署方案及问题
传统运营商DNS部署方案
与普通用户不同,运营商DNS服务器对性能、稳定性要求更加苛刻。
联通、电信等运营商,由于提供宽带上网业务,宽带用户群体庞大,客户端上网所设DNS服务器就位于各地市的ISP中心机房。
联通、电信的DNS服务器,主要充当了DNS转发、缓存的角色,因为用户访问互联网的绝大部分网站,都不在运营商本地DNS上。
即,联通和电信的本地DNS服务器不是用户访问目标的权威解析服务器,其主要负担来自缓存和转发。
每秒千万级别的查询请求,需要强大处理能力做支撑,任何常规的DNS服务器都是无法胜任的。
为了解决DNS服务器瓶颈问题,服务器集群方案被引入DNS部署架构。
同一地点的DNS服务器群内,每台服务器除了私网地址外,还公用同一个公网ip地址,该地址即为注册生效的DNS地址。
图1常规ISPDNS部署图
如图1所示,通常运营商会选择多台性能强劲的X86通用服务器,安装windows或者Linux操作系统,然后结合windows自带的服务或者Bind软件,以服务器集群的方式搭建DNS服务。
传统方案存在的问题
1)解析不够智能
Windows平台下不能实现智能解析。
额外安装系统自带的dns服务和相关组件就可以搭建一个简单的DNS服务器,但是无法实现按照线路和区域实现智能解析,不能解决不同ISP互访的瓶颈问题。
更常见的DNS服务器是搭建在Linux系统下的。
Bind无疑是业界实用最普遍的DNS软件。
作为DNS各种规范的实际“制作者”,Bind源自Unix系统,却发祥与Linux。
90%以上的DNS服务器就是基于Linux下的Bind软件实现的。
当然,Bind是可以实现部分智能解析功能的,比如按照来访用户所属运营商不同,返回不同的IP地址等。
但是该功能的实现是基于比较简单的方法---线路区域。
需要手工建立一个个IP地址段,定义某些IP段属于哪个ISP线路。
但Bind要实现某些高级的智能解析就有点吃力了,比如对CDN的支持就不够完美,甚至某些情况下无法实现。
2)性能有瓶颈
Windows友好的操作界面确实为管理员提供了不少方便之处,但是庞大的windows系统本身并不是为专业DNS服务量身定做的系统,即使在没有任何工作的情况下,绝大部分内存、cpu和中断等资源都被系统各种服务和无关进程占用着,DNS服务并不能获得高优先级,因此,windows下搭建DNS应付小需求还可以,在运营商部署确是一个噩梦。
Linux下的Bind已经相当出众,但却受到所在平台的严重约束。
强大的硬件平台,却无法得到Linux高度的优化,各种协议栈的通用性降低了系统对硬件性能的挖掘力度,不能很好的提升网卡的处理能力,特别是小包和短时间内的链接建立、保持、断开。
当代,通用的X86平台硬件配置已经相当优越,并且升级也非常方便,但是X86平台并不适和实时操作系统和网络任务,尤其针对小包的处理,性能下降率在60%至90%!
Bind结合Mysql数据库,在3.0Ghz双核cpu、4G内存的服务器上测试,性能为40000qps上下。
针对省级DNS千万qps级别的处理量,需要这样的服务器约上百台。
当然目前服务器的硬件配置已经相当可观。
但是如此强劲的配置得到的性能确实不太理想的。
并且如图1所示,常规的集群方法是通过Windows或者Linux自带的服务器或者软件实现负载均衡。
其实通过操作系统实现的集群方式的负载均衡,本身存在一定的问题。
因为对外透明的情况下,同一角色的集群成员服务器公用同一个公网IP,当数据包到达该IP,即到达该集群,集群服务或者软件会根据一定的算法判断由其中某一台服务器做出响应,初衷是好的,但是实现方式确实以广播的形式通过给该集群的每一位成员。
最然最终是只有一台服务器响应,但是每台服务器每次都要接受处理广播报文,对整个集群的性能也是一种不小的负担!
3)安全性差
随着信息化的高速发展,目前的网络安全现状和前几年相比,已经发生了很大的改变。
蠕虫、病毒、木马、漏洞攻击、DDoS攻击等威胁互相结合,对网络的稳定运行和应用安全造成了较大的威胁和不良影响。
其中针对DNS(域名服务器,DomainNameService)的攻击也已成为最严重的威胁之一。
DNS是Internet的重要基础,包括WEB访问、Email服务在内的众多网络服务都和DNS息息相关,因此DNS的安全直接关系到整个互联网应用能否正常使用。
DNS系统面临的安全威胁
作为当前全球最大最复杂的分布式层次数据库系统,由于其开放、庞大、复杂的特性以及设计之初对于安全性的考虑不足,再加上人为攻击和破坏,DNS系统面临非常严重的安全威胁,因此如何解决DNS安全问题并寻求相关解决方案是当今DNS亟待解决的问题。
DNS安全防护主要面临如下威胁:
对DNS的DDoS攻击
DDoS(DistributedDenialofService)攻击通过僵尸网络利用各种服务请求耗尽被攻击网络的系统资源,造成被攻击网络无法处理合法用户的请求。
而针对DNS的DDoS攻击又可按攻击发起者和攻击特征进行分类。
□按攻击发起者分类
僵尸网络:
控制大批僵尸网络利用真实DNS协议栈发起大量域名查询请求
模拟工具:
利用工具软件伪造源IP发送海量DNS查询
□按攻击特征分类
Flood攻击:
发送海量DNS查询报文导致网络带宽耗尽而无法传送正常DNS查询请求
资源消耗攻击:
发送大量非法域名查询报文引起DNS服务器持续进行迭代查询,从而达到较少的攻击流量消耗大量服务器资源的目的
■DNS欺骗
DNS欺骗是最常见的DNS安全问题之一。
当一个DNS