域名系统






Crystal 128 yast dns.png










































網域名稱系統(英文:Domain Name System,縮寫:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53[1]。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。


开始时,域名的字符仅限于ASCII字符的一个子集。2008年,ICANN通过一项决议,允许使用其它语言作为互联网顶级域名的字符。使用基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集。因此,诸如“XXX.香港”、“XXX.台湾”的域名可以在地址栏直接输入并访问,而不需要安装插件。但是,由于英语的广泛使用,使用其他语言字符作为域名会产生多种问题,例如难以输入,难以在国际推广等。




目录






  • 1 歷史


  • 2 记录类型


  • 3 技术实现


    • 3.1 概述


    • 3.2 软件


    • 3.3 国际化域名


    • 3.4 域名解析


    • 3.5 WHOIS(域名数据库查询)




  • 4 其他


  • 5 相关条目


  • 6 参考文献


  • 7 外部链接





歷史


DNS最早于1983年由保罗·莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案(RFC 882)中发布。1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。


早期的域名必须以英文句号“.”结尾,例如,当用户访问 www.wikipedia.org 的HTTP服务时必须在地址栏中输入:http://www.wikipedia.org.,这样DNS才能够进行域名解析。如今DNS服务器已经可以自动补上结尾的句号。



记录类型



DNS系统中,常见的资源记录类型有:



  • 主机记录(A记录):RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。

  • 别名记录(CNAME记录): RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。

  • IPv6主机记录(AAAA记录): RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。

  • 服务位置记录(SRV记录): RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。

  • NAPTR记录:RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。



技术实现



概述


DNS通过允许一个名称服务器把他的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间。此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。


任何一个使用IP的计算机网络可以使用DNS来实现他自己的私有名称系统。尽管如此,当提到在公共的Internet DNS系统上实现的域名时,术语“域名”是最常使用的。


这是基于504个全球范围的“根域名服务器”(分成13组,分别编号为A至M)[2]。从这504个根服务器开始,余下的Internet DNS命名空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。



软件


DNS系统是由各式各样的DNS软件所驱动的,例如:




  • BIND(Berkeley Internet Name Domain),使用最廣的DNS軟體


  • DJBDNS英语djbdns(Dan J Bernstein's DNS implementation)

  • MaraDNS英语MaraDNS


  • Name Server Daemon英语NSD(Name Server Daemon)

  • PowerDNS英语PowerDNS

  • Dnsmasq



国际化域名



Punycode是一個根據RFC 3492標準而製定的編碼系統,主要用於把域名從地方語言所採用的Unicode編碼轉換成為可用於DNS系統的編碼。而該編碼是根據域名相異字表(由IANA制定),Punycode可以防止所謂的IDN欺騙。



域名解析


举一个例子,zh.wikipedia.org 作为一个域名就和IP地址198.35.26.96 相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打198.35.26.96 的名字zh.wikipedia.org 来代替电话号码(IP地址)。DNS在我们直接呼叫网站的名字以后就会将像zh.wikipedia.org 一样便于人类使用的名字转化成像198.35.26.96 一样便于机器识别的IP地址。


DNS查询有两种方式:递归迭代。DNS客户端设置使用的DNS服务器一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询方式。


以查询 zh.wikipedia.org 为例:



  • 客户端发送查询报文"query zh.wikipedia.org"至DNS服务器,DNS服务器首先检查自身缓存,如果存在记录则直接返回结果。

  • 如果记录老化或不存在,则:

    1. DNS服务器向根域名服务器发送查询报文"query zh.wikipedia.org",根域名服务器返回顶级域 .org 的权威域名服务器地址。

    2. DNS服务器向 .org 域的权威域名服务器发送查询报文"query zh.wikipedia.org",得到二级域 .wikipedia.org 的权威域名服务器地址。

    3. DNS服务器向 .wikipedia.org 域的权威域名服务器发送查询报文"query zh.wikipedia.org",得到主机 zh 的A记录,存入自身缓存并返回给客户端。





WHOIS(域名数据库查询)


一个域名的所有者可以通过查询WHOIS数据库[3]而被找到;对于大多数根域名伺服器,基本的WHOIS由ICANN维护,而WHOIS的细节则由控制那个域的域注册机构维护。


对于240多个国家代码顶级域名(ccTLDs),通常由该域名权威注册机构负责维护WHOIS。例如中国互联网络信息中心(China Internet Network Information Center)负责.CN域名的WHOIS维护,香港互聯網註冊管理有限公司(Hong Kong Internet Registration Corporation Limited)负责.HK域名的WHOIS维护,台灣網路資訊中心(Taiwan Network Information Center)负责.TW域名的WHOIS维护。



其他


此外,一些黑客通过伪造DNS服务器将用户引向错误网站,以达到窃取用户隐私信息的目的。这种DNS服务器大约有68000台[4]



相关条目





  • IP位址

  • 域名

  • 中文域名

  • 域名搶注

  • 动态DNS

  • ICANN

  • DNSSEC

  • Google Public DNS

  • OpenDNS

  • 1.1.1.1


  • 域名劫持 / 域名伺服器緩存污染

  • 域名伺服器記錄類型列表

  • 根域名服务器




参考文献





  1. ^ (英文)P. Mockapetris. RFC 1035 - DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION: Page 32. 1987-11. The Internet supports name server access using TCP [RFC-793] on server port 53 (decimal) as well as datagram access using UDP [RFC-768] on UDP port 53 (decimal). 


  2. ^ (英文)Root Server Technical Operations Assn. [2014年1月28日]. 


  3. ^ https://whois.net/


  4. ^ JORDAN ROBERTSON. Use of Rogue DNS Servers on Rise. The Associated Press. [2008-02-18]. (原始内容存档于2008-02-17). 



  • RFC 882

  • RFC 883

  • RFC 1034

  • RFC 1035


  • RFC 1180 - TCP/IP tutorial




外部链接



  • DNS协议详细资料

  • DNS & BIND Resources

  • DNS Security Extensions (DNSS)

  • Root Server (EC)

  • 台灣區電信業者DNS列表

  • 可以查询域名的MX,CName,A等DNS记录

  • 在线DNS查询工具





Popular posts from this blog

數位音樂下載

When can things happen in Etherscan, such as the picture below?

格利澤436b