域名服務器

维基百科,自由的百科全书

(重定向自DNS)
跳转到: 导航, 搜索
网络协议
5. 应用层

DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · TLS · SDP · SOAP · GTP · STUN · NTP · 更多

4. 传输层
TCP · UDP · DCCP · SCTP · RTP · RSVP · IGMP · PPTP · 更多
3. 网络层
IP (IPv4 · IPv6 · IPv9) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · ICMP · ICMPv6 · 更多
2. 数据链路层
802.11 · 802.16 · Wi-Fi · WiMAX · ATM · DTM · 令牌环 · 以太网 · FDDI · 帧中继 · GPRS · EVDO · HSPA · HDLC · PPP · L2TP · ISDN · 更多
1. 物理层
乙太網物理层 · 调制解调器 · PLC · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线 · 更多
本模板: 查看  討論  編輯  歷史

网域名称系统Domain Name System缩写DNS,Domain Name被译为域名;另外域名服务器Domain Name Server也简称为DNS)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

DNS 使用TCPUDP端口 53。

目录

[编辑] 歷史

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仍然可以处理这种结尾带句号的域名。

当前,对于域名长度的限制是63个字符,包括www..com或者其他的扩展名。域名同时也仅限于ASCII字符的一个子集,这使得很多其他语言无法正确表示他们的名字和单词。基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集,这已经通过了验证并被一些注册机构作为一种变通的方法所采纳。

[编辑] 软件

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

  • BIND (Berkeley Internet Name Domain), the most commonly used namedaemon.
  • DJBDNS (Dan J Bernstein's DNS implementation)
  • MaraDNS
  • NSD (Name Server Daemon)
  • PowerDNS

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

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

这是基于13个全球范围的“根服务器”,除了当中的3个以外,其他都位于美国。从这13个根服务器开始,余下的Internet DNS 命名空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。

[编辑] 查询方式

举一个例子,www.wikipedia.org作为一个域名就和IP地址130.94.122.199相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打wikipedia的名字来代替电话号码(IP地址)。DNS在我们直接呼叫网站的名字以后就会将像www.wikipedia.org一样便于人类使用的名字转化成像130.94.122.199一样便于机器识别的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数据库而被找到;对于大多数根域名服務器, 基本的WHOIS由ICANN维护,而WHOIS的细节则由控制那个域的域注册机构维护。 对于240多个国家代码顶级域名(ccTLDs),通常由该域名权威注册机构负责维护WHOIS。例如香港互聯網註冊管理有限公司(Hong Kong Internet Registration Corporation Limited) 负责 .HK 域名的WHOIS维护,台灣網絡資訊中心 (Taiwan Network Information Center) 负责 .TW 域名的WHOIS维护。

[编辑] 反對

当前对于DNS系统的控制方式,常常受到指责。最常被攻击的焦点是垄断企业或准垄断企业对DNS的滥用,例如VeriSign公司,以及对于顶级域名的分配。

也有些人宣称很多DNS服务器软件无法在动态IP分配上很好的工作,尽管这是某些特定实现的失败而非协议本身的问题。

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

[编辑] Punycode

Punycode是一個根據RFC 3492標準而製定的編碼系統,主要用於把域名從地方語言所採用的Unicode編碼轉換成為可用於DNS系統的編碼。 Punycode是一個根據RFC 3492標準而製定的編碼系統,主要用於把域名從地方語言所採用的Unicode編碼轉換成為可用於DNS系統的編碼。而該編碼是根據[1](由IANA制定)

[编辑] 相关条目

[编辑] 参考文献

  1. ^ JORDAN ROBERTSON.“Use of Rogue DNS Servers on Rise”,The Associated Press.於2008年2月18日查阅. 

[编辑] 外部链接

个人工具