域名系统
域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS最早于1983年由保罗·莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案中发布。1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。
早期的域名必须以英文句号.结尾。例如,当用户访问 的HTTP服务时必须在地址栏中输入:http://www.579yun.cn ,这样DNS才能够进行域名解析。如今DNS服务器已经可以自动补上结尾的句号。
记录类型:域名服务器记录类型列表
DNS系统中,常见的资源记录类型有:
主机记录(A记录):A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
别名记录(CNAME记录): CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
IPv6主机记录(AAAA记录): 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
服务位置记录(SRV记录): 用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。
域名服务器记录(NS记录) :用来指定该域名由哪个DNS服务器来进行解析。 您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。 简单的说,NS记录是指定由哪个DNS服务器解析你的域名。
NAPTR记录:它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。
概述
DNS通过允许一个名称服务器把它的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间。此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。
任何一个使用IP的计算机网络可以使用DNS来实现它自己的私有名称系统。尽管如此,当提到在公共的Internet DNS系统上实现的域名时,术语“域名”是最常使用的。
这是基于984个全球范围的“根域名服务器”(分成13组,分别编号为A至M)[2]。从这984个根服务器开始,余下的Internet DNS名字空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。
DNS系统是由各式各样的DNS软件所驱动的,例如:
BIND(Berkeley Internet Name Domain),使用最广的DNS软件
DJBDNS(Dan J Bernstein's DNS implementation)
MaraDNS
Name Server Daemon(Name Server Daemon)
PowerDNS
Dnsmasq
国际化域名Punycode
Punycode是一个根据国际化域名 (IDNA)的 Unicode 引导字符串编码标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码。而该编码是根据域名相异字表 (页面存档备份,存于互联网档案馆)(由IANA制定),Punycode可以防止所谓的IDN欺骗。
域名解析
举一个例子,www.579yun.cn 作为一个域名就和IP地址相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打的名字www.wvidc.com 来代替电话号码(IP地址)。DNS在我们直接调用网站的名字以后就会将像www.579yun.cn 一样便于人类使用的名字转化成像一样便于机器识别的IP地址。
DNS查询有两种方式:递归和迭代。DNS客户端设置使用的DNS服务器一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询方式。
以查询 www.579yun.cn 为例:
客户端发送查询报文"query www.579yun.cn"至DNS服务器,DNS服务器首先检查自身缓存,如果存在记录则直接返回结果。
如果记录老化或不存在,则:
DNS服务器向根域名服务器发送查询报文"query www.579yun.cn",根域名服务器返回顶级域 .cn 的顶级域名服务器地址。
DNS服务器向 .cn域的顶级域名服务器发送查询报文"query www.579yun.cn",得到二级域 .579yun.cn 的权威域名服务器地址。
DNS服务器向 .579yun.cn 域的权威域名服务器发送查询报文"query www.579yun.cn",得到主机 www 的A记录,存入自身缓存并返回给客户端。
WHOIS(域名数据库查询)
一个域名的所有者可以通过查询WHOIS数据库而被找到;对于大多数根域名服务器,基本的WHOIS由ICANN维护,而WHOIS的细节则由控制那个域的域注册机构维护。
对于240多个国家代码顶级域名(ccTLDs),通常由该域名权威注册机构负责维护WHOIS。例如中国互联网络信息中心(China Internet Network Information Center)负责.CN域名的WHOIS维护,中国香港互联网注册管理有限公司(Hong Kong Internet Registration Corporation Limited)负责.HK域名的WHOIS维护。