域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。大多数因特网服务依赖于 DNS 而工作,一旦 DNS 出错,就无法连接 Web 站点,电子邮件的发送也会中止。
DNS 有两个独立的方面 :
- 定义了命名语法和规范,以利于通过名称委派域名权限。基本语法是: local.group.site;
- 定义了如何实现一个分布式计算机系统,以便有效地将域名转换成 IP 地址。
在 DNS 命名方式中,采用了分散和分层的机制来实现域名空间的委派授权以及域名与地址相转换的授权。通过使用 DNS 的命名方式来为遍布全球的网络设备分配域名,而这则是由分散在世界各地的服务器实现的。
理论上,DNS 协议中的域名标准阐述了一种可用任意标签值的分布式的抽象域名空间。任何组织都可以建立域名系统,为其所有分布结构选择标签,但大多数 DNS 协议用户遵循官方因特网域名系统使用的分级标签。常见的顶级域是:COM、EDU、GOV、NET、ORG、BIZ,另外还有一些带国家代码的顶级域。
DNS 的分布式机制支持有效且可靠的名字到 IP 地址的映射。多数名字可以在本地映射,不同站点的服务器相互合作能够解决大网络的名字与 IP 地址的映射问题。单个服务器的故障不会影响 DNS 的正确操作。DNS 是一种通用协议,它并不仅限于网络设备名称。
协议结构
| 16 | 21 | 28 | 32 bit | ||||||
| ID | Q | Query | A | T | R | V | B | Rcode | |
| Question count | Answer count | ||||||||
| Authority count | Additional count | ||||||||
ID – 用于连接查询和答复的16bit。
Q – 识别查询和答复消息的1位字段。
Query – 描述消息类型的4位字段:
- 0 标准查询(由姓名到地址);
- 1 逆向查询;
- 2 服务状态请求
A – 命令回答:1位字段。当设置为1时,识别由命令名字服务器作出的答复。
T – 切断。1位字段。当设置为1,表明消息已被切断。
R – 1位字段。由名字服务器设置为1请求递归服务。
V –1位字段。由名字服务器设置表示递归服务的实用性。
B –3位字段。备用,必须设置为0。
Rcode – 响应代码,由名字服务器设置的4位字段用以识别查询状态。
Question count – 16位字段用以定义问题部分的登陆号。
Answer count – 16位字段,用以定义回答部分的资源记录号。
Authority count – 16位字段,用以定义命令部分名字服务器的资源记录号。
Additional count – 16位字段,用以定义附加记录部分的资源记录号。
相关协议:IP、TCP、IGMP、ICMP、SNMP、TFTP、NFS
组织来源:DNS 由 ETF (http://www.ietf.org/)RFC1034 和最新的 1035、1101、1183、1348、1876、1982、2181、2308、2535 定义。
相关链接:http://www.javvin.com/protocol/rfc1034.pdf: Domain Names - Concept and Facilities



评论
智能DNS
智能DNS http://dns.qy.com.cn