一、DNS简介
DNS是一种基础网络服务,是存储和解析域名和对应网络资源记录的分布式数据库,保存着域名与IP地址的对应关系。
二、DNS解析的基本原理
接收来自客户端的查询消息--------->根据查询消息内容返回响应
这种工作模式存在的问题:一台dns服务器根本负荷不了全网的请求。因为互联网中存在非常多的主机和网站服务器,不可能所有服务器的域名信息都保存在一台dns服务器上。
解决办法:根据域名的层次来查询对应域名服务器的IP地址。具体来说:将信息分布在多台DNS服务器上,这些DNS服务器相互接力配合,进而查找出相关信息。
三、域名的层次结构

四、在本地域名服务器没有缓存的情况下的DNS查询步骤
1、终端用户在WEB浏览器中输入“example.com”,由本地DNS服务器开始进行递归查询。
2、本地DNS服务器采用迭代查询的方法,向根dns服务器发送查询请求。
3、根dns服务器告诉本地dns服务器,下一步应该查询顶级域名dns服务器“.com”的IP地址。
4、本地dns服务器向顶级域名dns服务器“.com”发送查询请求。
5、顶级域名dns服务器告诉本地dns服务器,下一步查询“example.com”的权威dns服务器的IP地址。
6、本地dns服务器向example.com的权威dns服务器发送查询请求。
7、权威dns服务器告诉本地dns服务器所查询的主机ip地址。
8、本地dns服务器把查询的IP地址行营给终端用户的web浏览器。
一旦dns查询的8个步骤返回example.com的IP地址,浏览器就能发出对网页的请求。
9、终端用户的web浏览器向IP地址发出http请求。
10、该IP地址的web应用服务器返回需要的浏览器中呈现的网页。
五、云解析DNS
1、产品架构

解释:1、阿里内部的网络链路都是双冗余的。一条进入主站机房,一条进入POP机房。
2、管控层。管控层将DNS数据下发到adns。adns是一个开源的dns解析库。(官方文档:http://www.chiark.greenend.org.uk/~ian/adns/)。
管控与adns之间,主要通过稳定的内部网络来下发数据,数据传输出错的概率低;
管控向adns发送数据时,有数据补偿机制,对与下发失败,做多次重试,如果重试都无法成功,报警转人工处理。
3、解析层。解析层由adns集群组成,部署在全球的上百个idc机房,通过anycast(泛播)发布大量的服务ip。用户向这些ip发送dns请求,获取解析结果。
BGP(无类别的路径矢量型协议,可控性【给每条路由附加很多路径属性,更易做路由策略】+可靠性【tcp协议传输的可靠性】)+ANYCAST技术。
(1)利用云网络提供的BGP路由发放能力,全部NS(Name Server)的非要我要去IP地址都通过BGP多ISP发布,依赖BGP协议的本身具有冗余备份、消除环路的特点,实现多条互联网线路路由的相互备份。当一条线路出现故障时,路由会自动切换到其他线路,并通过网络提供了多组anycast的NS ip地址。
(2)一同一个集群内部,多台dns服务器之间也是通过网络提供饿ECMP(等价路由)功能进行负载均衡和容错摘除的。当一个dns服务器出现故障后,这台服务器会停止对外部发布IP地址,网络设备会从ECMP组中摘除,不在向其转发流量,从而保证集群内的高可用。
4、DNS DDoS防护
六、应用场景
1、网站建设场景:用户可以通过设置A记录,将域名指向网站的服务器地址,实现网站的访问。
2、电子邮箱场景:用户可以通过设置MX记录,将他指向一个邮件服务器,实现电子邮箱的收发。
3、高访问量的业务场景:当多台服务器服务于同一个业务时,利用dns负载均衡的解析机制,将流量分摊到每台服务器上,一次分散业务压力。
4、跨网或跨地域访问场景:根据用户不通的地理位置或网络环境只能返回解析结果,实现就近接入、低时延的容错架构。
5、全局流量调度与切换场景:加权轮询轻松管理全球流量,实现全局流量调度,还可以在灾难场景下对流量进行动态调整。
6、连接云资源服务场景:设置CNAME记录指向云厂商提供的CNAME别名,从而将网站或应用服务快速连接云资源(比如waf,cdn,高防ip)
7、域名被攻击的场景
七、核心功能
1、公网权威域名的管理和解析
2、子域名独立托管
3、DNS负载均衡:支持对A记录、AAAA记录和CNAME记录做权重配置,指在DNS服务器中为同一个主机记录配置多个IP地址。在应答DNS查询时,所有IP地址按照预先设置的权重返回不通的解析结果,并将用户的DNS查询请求分配到不通的服务器上,达到负载均衡的目的。
4、DNS安全:DNS攻击的防御能力
5、智能解析
网友评论