DNS

15 3月
  • 域名
  • DNS服务器(域名服务器)
  • DNS解析(域名解析)
  • DNS记录

域名

域名也可以叫做主机名,例如www.abc.com,com是顶级域名,abc是二级域名,www是三级域名。

  • 顶级域名:国家用:cn中国,us美国等。非国家用:com公司企业,net网络服务机构,org非营利组织,edu教育机构,gov政府部门等。
  • 二级域名:自定义
  • 三级域名:www网站服务器,mail邮件服务器

域名便于人们记忆,但对计算机反而不好处理,它更善于处理IP地址这种东西,需要DNS协议将域名映射到主机的IP地址。

DNS服务器(域名服务器)

域名是个树状结构,所以DNS服务器(域名服务器)也会将多个节点划分为一个区,用分区的方式进行域名解析。例如abc.com和y.abc.com,两个区对应了两个权限域名服务器:

DNS服务器(域名服务器)分为四种不同的类型:

根域名服务器:对应域名树中的根节点,是最高层次的域名服务器,总共有13个不同IP地址的根域名服务器,用a到m来表示,如a.rootservers.net。当访问根域名服务器时,由路由器找到最近的根域名服务器访问。

顶级域名服务器:顶级域名服务器负责管理在顶级域名下的所有二级域名,例如cn是顶级域名服务器,管理edu、gov等二级域名。当接收到查询请求时,要么给出最终结果(即具体IP地址),要么给出下一步应该访问的权限域名服务器的IP地址。

权限域名服务器:每个域名分区对应一个服务器就叫做权限域名服务器。当接收到DNS查询请求时,如果可以给出具体的IP地址就给出(例如abc.com可以给出v.x.abc.com的IP地址的话,直接返回),否则就把下一步要访问的权限域名服务器的IP地址返回(如abc.com不能给出t.y.abc.com的IP,就会把y.abc.com这个权限域名服务器的IP地址返回)。

本地域名服务器:上面的图中并没有本地域名服务器这一层级结构,这是因为本地域名服务器(也叫作首选域名服务器,或者默认域名服务器)不属于域名树的层次结构,但是相当重要。当一台计算机要进行DNS查询的时候,就会将查询的请求发给本地域名服务器。通常一个互联网服务提供商(ISP)或者是一个大学(甚至是一个系)都有一个本地域名服务器,即使用校内网络时,你的本地域名服务器并不是指你自己的电脑,而是全校共用一个本地域名服务器。

DNS解析(域名解析)

主机向本地域名服务器的域名查询一般采用递归查询,本地域名服务器如果不知道IP地址,那么本地域名服务器就代替主机成为DNS客户,向根域名服务器进行下一步查询。

本地域名服务器向根域名服务器的查询一般采用迭代查询。根域名服务器要么给出最终的IP地址,要么给出下一步本地域名服务器要访问的顶级域名服务器的IP地址,之后本地域名服务器再去访问相应的顶级域名服务器(而不是让根域名服务器代替本地域名服务器去进行下一步查询)。

简单来说,递归查询返回具体IP地址或者报错没找到,迭代查询返回具体IP地址或者返回下一步的IP地址。如下图:

因为DNS协议的基于UDP协议,所以上述8个步骤中,总共使用了8个UDP报文。为了提高查询的效率以及降低根域名服务器的负荷,通常域名服务器中都有高速缓存,用来记录最近查询过的域名的缓存。

DNS记录

在DNS区域文件里,保存着记录。最简单的记录形式是资源和名称之间的单独映射。它们可以将域名映射到IP地址。

SOA起始记录是区域中强制性记录,必须是文件中的第一条记录,通常长这样:

domain.com.:区域的根,表明该区域文件用于domain.com域名,通常用@代替,它只是个占位符,表示$ORIGIN变量的内容。

IN SOA:IN是Internet互联网的简写,可以省略。SOA表示起始记录。

ns1.domain.com.:该区域的主名称服务器,主名称服务器可以是主服务器或从服务器。

admin.domain.com.:该区域的管理员的邮箱地址。邮箱地址的@被.代替,邮箱名中的.会被\代替,例如your.name@domain.com会成your\name.domain.com

下面依次是:12083是区域文件的序列号,3h是区域刷新间隔(即服务器向主服务器轮询检查区域文件是否变更),30m是区域的重试间隔(slave从机在刷新周期内无法连接到master主服务器,将等待此时间并重试轮询主机),3w是到期时间(slave从服务器在此时间内无法连接到master主服务器,则停止对外提供服务),1h是TTL时间

记录类型:

A记录AAAA记录:都将主机映射到IP地址。 A (Address)记录用于将主机映射到IPv4,AAAA记录用于将主机映射到IPv6。域名绑定A/AAAA记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。

CNAME记录:别名记录。可以将注册的不同域名都转到一个域名记录上,由这个记录统一解析管理,与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址。例如A记录定义了server1的主机,用www作为此主机的别名:

NS记录:NS(Name Server)记录是指定由哪个DNS服务器解析你的域名。注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现:ns1.domain.com、ns2.domain.com等。

MX记录:MX(Mail Exchanger)记录是指定哪个邮件服务器解析你的邮件地址。例如某用户发一封信给user@mydomain.com时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录。

TXT记录:主机名或域名的说明,即可以设置TXT内容以便使别人联系到您。还有SPF(Sender Policy Framework)反垃圾邮件,SPF是跟DNS相关的一项技术,它的内容写在DNS的TXT类型的记录里。MX记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟MX相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的,用于反垃圾邮件。例如当邮件服务器收到自称发件人是spam@gmail.com的邮件,那么到底它是不是真的gmail.com的邮件服务器发过来的呢,我们可以查询gmail.com的SPF记录,以此防止别人伪造邮件。

PTR记录:PTR是pointer的简写,是A/AAAA记录的逆,即反向DNS。

发表评论

邮箱地址不会被公开。 必填项已用*标注