DNS是什么?

DNS是什么?

因特网上的主机,可以使用多种方式标识,比如主机名或IP地址。一种标识方法就是用它的主机名(hostname),比如·www.baidu.comwww.google.comgaia.cs.umass.edu等。

这方式方便人们记忆和接受,但是这种长度不一、没有规律的字符串路由器并不方便处理。还有一种方式,就是直接使用定长的、有着清晰层次结构的IP地址,路由器比较热衷于这种方式。为了折衷这两种方式,我们需要一种能进行主机名到IP地址转换的目录服务。这就是域名系统(Domain Name System,DNS)的主要任务。

  • DNS是:

1、一个由分层的DNS服务器实现的分布式数据库

2、一个使得主机能够查询分布式数据库的应用层协议

  • DNS服务器通常是运行BIND软件的UNIX机器,DNS协议运行在UDP上,使用53号端口

  • DNS通常是由其他应用层协议所使用的,包括HTTP、SMTP等。其作用则是:将用户提供的主机名解析为IP地址

  • DNS的一种简单设计就是在因特网上只使用一个DNS服务器,该服务器包含所有的映射。很明显这种设计是有很大的问题的:

单点故障:如果该DNS服务器崩溃,全世界的网络随之瘫痪

通信容量:单个DNS服务器必须处理所有DNS查询

远距离的集中式数据库:单个DNS服务器必须面对所有用户,距离过远会有严重的时延。

维护:该数据库过于庞大,还需要对新添加的主机频繁更新。

所以,DNS被设计成了一个分布式、层次数据库

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

推荐阅读

iOS开发——最新 BAT面试题合集(持续更新中)

推荐阅读更多精彩内容

  • 1. 基础知识 1.1 3种常见的计算机体系结构划分 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话...
    Mr希灵阅读 10,654评论 6 108
  • 网络层提供的两种服务 在计算机网络领域,网络层应该向运输层提供怎样的服务(面向连接还是无连接)曾引起了长期的争论,...
    srtianxia阅读 1,310评论 0 9
  • 百度百科中的DNS介绍DNS介绍 DNS(Domain Name System,域名系统),万维网上作为域名和i...
    Smi1e_阅读 1,523评论 1 10
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 2,753评论 0 2
  • 如今众多大型企业、政府资源交易中心纷纷摒弃传统纸质招投标模式,引入了更先进的电子招投标形式,通过与互联网对接,实现...
    三岁姐阅读 28评论 0 0