计算机网络-应用层(4)DNS协议

域名系统(Domain Name System, DNS) 是:一个分层的由DNS 服务器实现的分布式数据库+一个使得主机能够查询分布式数据库的应用层协议。
DNS 服务器通常是运行BIND (Berkeley Internet Name Domain) 软件的UNIX 机器。
 
DNS提供的服务主要包括:
  • 进行主机名到IP地址的转换
同一台用户主机上运行着DNS 应用的客户端。
浏览器从URL 中抽取出主机名,并将这台主机名传给DNS 应用的客户端。
DNS客户端向DNS 服务器发送一个包含主机名的DNS查询报文。所有的DNS 请求和回答报文使用UDP数据报经端口53发送。
DNS客户端最终会收到一份回答报文,其中含有对应于该主机名的IP 地址。
一旦浏览器接收到来自DNS 的该IP地址,它能够向位于该lP地址80端口的HTTP服务器进程发起一个TCP 连接。
  • 主机别名
  • 邮件服务器别名
  • 负载分配
 
考虑到单点失败问题、流量问题、距离问题、维护性问题, 采用的是分布式层次式数据库
DNS查询分为迭代查询和递归查询(默认)
根DNS服务器:全球共13个,每个实际都是一个冗余服务器的网络
顶级域(Top-Level Domain, TLD)DNS服务器:负责顶级域名如com 、org 、net 、edu、gov以及所有国家的顶级域名
权威DNS服务器:组织的域名解析服务器,提供组织内部服务器的解析服务
本地DNS服务器:严格来说不属于层级系统,每个ISP都有一台本地DNS服务器。当主机与某个ISP相连时,ISP会通过DHCP服务为其提供IP地址和一台或多台DNS服务器地址。作为代理(proxy),将查询转发给层级式域名解析服务器系统
只要域名解析服务器获得域名—IP映射,即缓存这一映射,一段时间过后,缓存条目删除失效
本地域名服务器一般会缓存顶级域名服务器的映射,因此根域名服务器不经常被访问
 
DNS 服务器存储了资源记录(Resource Record ,RR),RR 提供了主机名到IP地址的映射。
每个DNS回答报文包含了一条或多条资源记录。 
每条RR有Name, Value, Type, TTL四个字段:
TTL 是该记录的生存时间,它决定了资源记录应当从缓存中删除的时间。
Name 和Value 的值取决于Type:
  • Type=A,Name为主机域名、Value为IP地址
  • Type=NS,Name为域(edu.cn)、Value为该域权威域名解析服务器的主机域名。这个记录用于沿着查询链来路由DNS 查询。
  • Type=CNAME,Name:为某一真实域名的别名、Value为真实域名
  • Type=MX,Value 是个别名为Name的邮件服务器的规范主机名。
如果一台DNS 服务器是用于某特定主机名的权威DNS 服务器,那么该DNS 服务器会有一条包含该主机名的类型A 记录(即使该DNS 服务器不是其权威DNS 服务器,它也可能在缓存中包含有一条类型A 记录) 。
如果服务器不是用于某主机名的权威服务器,那么该服务器将包含一条类型NS 记录,该记录对应千包含主机名的域;它还将包括一条类型A 记录,该记录提供了在NS 记录的Value 字段中的DNS 服务器的IP 地址。
 
DNS查询报文和回答报文有相同的格式:
前12 个字节是首部区域,其中有几个字段:
  • 标识符
是一个16 比特的数,用于标识该查询。这个标识符会被复制到对查询的回答报文中,以便让客户用它来匹配发送的请求和接收到的回答。
  • 标志字段
1比特的 查询/回答标志位指出报文是查询报文(0) 还是回答报文(1) 。
权威回答(Authoritative Answer)标志位只在应答的时候才有意义,指出给出应答的服务器是查询域名的授权解析服务器。 
如果客户(主机或者DNS 服务器)在该DNS 服务器没有某记录时希望它执行递归查询,将设置1比特的 希望递归(Recursion Desired)标志位
如果该DNS 服务器支持递归查询,在它的回答报文中会对1比特的 递归可用(Recursion Available)标志位置位。
在该首部中,还有4个有关数量的字段,这些字段指出了在首部后的4类数据区域出现的数量
  • 问题区域:包含着正在进行的查询信息 
名字字段,指出正在被查询的主机名字;
类型字段,它指出有关该名字的正被询问的问题类型,例如主机地址是与一个名字相关联(类型A) 还是与某个名字的邮件服务器相关联(类型MX) 。
  • 回答区域
在来自DNS 服务器的回答中,回答区域包含了对最初请求的名字的资源记录。
每个资源记录中有Type (如A 、NS 、CNAME 和MX) 字段、Value 字段和TTL 字段。在回答报文的回答区域中可以包含多条RR, 因此一个主机名能够有多个IP地址(例如冗余Web 服务器) 
  • 权威区域
包含了其他权威服务器的记录。
  • 附加区域
包含了其他有帮助的记录
例如,对于一个MX 请求的同答报文的回答区域包含了一条资源记录,该记录提供了邮件服务器的规范主机名。该附加区域包含一个类型A 记录,该记录提供了用千该邮件服务器的规范主机名的IP 地址。
 
注册域名的步骤:
(1)因特网名字和地址分配机构(ICANN)向各种 注册登记 机构(Network Solutions)授权。
(2)向注册登记机构提供自己的基本和辅助权威域名解析服务器的名字和IP地址
(3)对每个新添加的权威域名解析服务器,注册登记机构向com顶级域名解析服务器中插入一条TYPE A记录和一条TYPE NS记录
(4)确保用于Web服务器的类型A资源记录和用于邮件服务器的类型MX 资源记录被输入自己的权威DNS服务器中

猜你喜欢

转载自www.cnblogs.com/yangyuliufeng/p/9264271.html