DNS域名解析系统

一、DNS作用

       域名系统(DomainNameSystem,缩写:DNS)是互联网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网

        DNS定义了两种报文,一种为查询报文;另一种是对查询报文的响应,称为响应报文。无论是查询报文还是响应报文,都有12个字节的头和查询问题。

 

          图1 DNS查询报文格式                                            图2 DNS响应报文格式

二、什么是DNS记录?

域名和IP之间的对应关系,称为“记录”(record)。根据记录使用的目的不同,又分为不同的类型

三、DNS记录的常见类型

1. A记录
A记录也称为主机记录,A记录的基本作用就是一个主机域名对应的ip地址是多少,即是域名和ip地址的对应关系。

例如:
www.baidu.com. IN A 1.1.1.2
mx1.baidu.com. IN A 1.1.1.3
mx2.baidu.com. IN A 1.1.1.3

2. NS记录
NS记录称为域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。假设baidu.com区域有两个DNS服务器负责解析,ns1.baidu.com是主服务器,ns2.baidu.com是辅助服务器,ns1.baidu.com的ip是202.99.16.1,ns2.baidu.com的ip是202.99.16.2。那么我们应该创建两条NS记录,当然,NS记录依赖A记录的解析,我们首先应该为ns1.baidu.com和ns2.baidu.com创建两条A记录
注:ns记录说明,在这个区域里,有多少个服务器承担解析的任务

例如:
baidu.com. IN NS ns1.baidu.com. 
baidu.com. IN NS ns2.baidu.com.

3. SOA记录
起始授权记录,用于一个区域的开始,SOA记录后的所有信息均是用于控制这个区域的,每个区域数据库文件都必须包含一个SOA记录,并且必须是其中的第一个资源记录,用以标识DNS服务器管理的起始位置,SOA说明能解析这个区域的dns服务器中哪个是主服务器
例如,NS记录说明了有两个DNS服务器负责baidu.com的域名解析,但哪个是主服务器呢?这个任务由SOA记录来完成

4. CNAME记录
又称为别名记录,其实就是让一个服务器有多个域名,大致相当于给一个人起个外号。

1. 为什么需要Cname记录呢?一方面是照顾用户的使用习惯,例如我们习惯把邮件服务器命 名为mail,把ftp服务器命名为ftp;
2. 那如果只有一台服务器,同时提供邮件服务和FTP服务,那我们究竟该么命名呢?
我们可以把服务器命名为mail.baidu.com,然后再创建一个Cname记录叫ftp.baidu.com就可以两者兼顾了。
3. 另外使用Cname记录也有安全方面的考虑因素?
例如我们不希望别人知道某个网站的真实域名,那我们可以让用户访问网站的别名,例如我们访问的百度网站的真实域名就是www.a.shifen.com,我们使用的www.baidu.com只是www.a.shifen.com的别名而已

例如:
web.sangfor.com. IN CNAME www.sangfor.com

5. MX记录
又称为邮件交换记录,MX记录用于说明哪台服务器是当前区域的邮件服务器,例如在baidu.com区域中,mail.baidu.com是邮件服务器,而且IP地址是202.99.16.125。那么我们就可以在DNS服务器中进行下列处理:
1、为邮件服务器创建A记录,我们首先为邮件服务器创建一条A记录,这是因为MX记录中描述邮件服务器时不能使用IP地址,只能使用完全合格域名

例如:
magedu.com. IN MX 10 mx1.magedu.com. 
IN MX 20 mx2.magedu.com

2、创建MX记录
MX记录对邮件服务器来说是不可或缺的,两个互联网邮局系统在相互通讯时必须依赖DNS的MX记录才能定位出对方的邮件服务器位置。例如163.net邮局给263.net邮局发一封电子邮件,那163邮局的SMTP服务器就需要向DNS服务器发出一个查询请求,请DNS服务器查询263.net的MX记录,这样163邮局的SMTP服务器就可以定位263.net的SMTP服务器,然后就可以把邮件发送到263邮局。

注:具体创建MX记录,需要参考不同的域名注册服务商和环境的操作指南了,实在搞不懂,可以打电话找他们客服。

6. PRT记录
又称为逆向查询记录,用于从ip地址中查询域名。PRT记录是A记录的逆向记录,作用是把IP地址解析为域名

例如:
4.3.2.1.in-addr.arpa. IN PRT www.sangfor.com
四、资源记录类型总结
资源记录类型一句话说明
初始授权记录(SOA)表示一个区域的开始,指定当前区域内谁是 主DNS服务器
主机记录(A)

也称Host记录,将 域名 映射到 IP地址,正向解析

AAAA 记录:IPv6地址

别名记录(CNAME)将 A记录指向的域名 映射到 另一个域名 
名称服务器记录(NS)指出当前区域内有几个DNS服务器在提供服务
邮件交换器记录(MX)指定当前区域内 SMTP邮件服务器的IP, 一个MX记录对应一个邮件服务器
反向解析(PRT)指针记录,将 IP 映射为 域名,反向解析
五、域名解析过程

域名解析方法主要有两种:递归查询和迭代查询。

①递归查询

通常,主机向本地域名服务器查询时使用。若不知道,本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。

②迭代查询

通常在本地域名服务器向根域名服务器查询时使用。要么给出所要查询的IP地址,要么告诉下一个要查询的域名服务器的IP地址,由本地域名服务器继续后续查询。

那我们实际的域名解析过程为:

  1. 主机向本地域名服务器的查询采用递归查询;
  2. 本地域名服务器向根域名服务器的查询采用迭代查询。

那么如何提高域名解析的效率?

设置高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。

作用:大大减轻根域名服务器的负荷,使DNS查询请求和回答报文的数量大为减少。域名服务器应为每项内容设置计时器,并处理超过合理时间的项。当权限域名服务器回答一个查询请求时,在响应中指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。

六、DNS相关命令

① nslookup:测试DNS服务器

② ipconfig/displaydns:显示windows域名缓冲区内容

③ ipconfig/flushdns:清除windows域名缓冲区内容

七、DNS相关安全事件

       1、在2002年的10月21日13台服务器遭受到了有史以来最为严重的也是规模最为庞大的一次网络袭击。此次受到的攻击是DDoS攻击,超过常规数量30至40倍的数据猛烈地向这些服务器袭来并导致其中的9台不能正常运行。7台丧失了对网络通信的处理能力,另外两台也紧随其后陷于瘫痪。

      2、2014年1月21日,全球大量互联网域名的DNS解析出现问题,一些知名网站及所有不存在的域名,均被错误的解析指向65.49.2.178。

八、浏览器的DNS缓存查看和清除

有dns的地方,就有缓存。浏览器、操作系统、Local DNS、根域名服务器,它们都会对DNS结果做一定程度的缓存。本文总结一些常见的浏览器和操作系统的DNS缓存时间

 浏览器先查询自己的缓存,查不到,则调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址

DNS查询顺序:浏览器缓存→系统缓存→路由器缓存→ISP DNS 缓存→递归搜索

1、chrome:

为了加快访问速度,Google Chrome浏览器采用了预提DNS记录,在本地建立DNS缓存的方法,加快网站的连接速度。chrome://net-internals/#dns 这里可以看各域名的DNS 缓存时间。chrome对每个域名会默认缓存60s。

在url地址栏输入chrome://chrome-urls/可以看到chrome所有的配置界面;

选择chrome://dns或者chrome://net-internals/#dns可以查看chrome浏览器的dns缓存信息

点击“Clear host cache”+然后选择"clear cache"和 " flush socket",可以清空chrome的dns缓存

2、firefox:

配置含义:

network.dnsCacheEntries:缓存的数量

network.dnsCacheExpiration:dns缓存的时间

network.dnsCacheExpirationGracePeriod:dns缓存的时间,设置为0表示不缓存

3、浏览器对DNS解析结果的处理

如果一个域名的DNS解析结果会有多个的话,浏览器是如何处理的呢?Chrome浏览器会优先向第一个IP发起HTTP请求,如果不通,再向后面的IP发起HTTP请求

4、验证一把:如图,有DNS Lookup、Initial connection(TCP连接)、SSL连接

再次请求,上面的三个过程没有了,因为浏览器有DNS 缓存;TCP长连接还没有断开;SSL连接也还在

如图所示点击“Flush sockets”

三个请求重新发起:DNS查询、TCP三次握手、SSL连接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值