对于机器而言区分它们的方式是IP地址或者主机名(hostname),前者有严格的层次结构,更容易被路由器区分,后者主机名如“www.baidu.com”更容易被人区分。那么DNS就是用来进行将主机名(hostname)和IP地址进行转换的。
DNS是什么?
是:
解释:
为什么是分布式数据库?而不是使用一个DNS服务器包含所有的主机名 ——>IP地址的映射?
- 单点故障:如果该DNS服务器崩溃,整个因特网随之瘫痪!
- 通信容量:单个 DNS服务器不得不处理所有的DNS查询(用于为上亿台主机产生的所有HTTP请求报文和电子邮件报文服务)。
- 远距离的集中式数据库:单个DNS服务器不可能“邻近”所有查询客户。如果我们将单台 DNS服务器放在纽约市,那么所有来自澳大利亚的查询必须传播到地球的另一边,中间也许还要经过低速和拥塞的链路。这将导致严重的时延。
- 维护:单个DNS服务器将不得不为所有的因特网主机保留记录。这不仅将使这个中央数据库非常庞大,而且它还不得不为解决每个新添加的主机而频繁更新。
为什么他是应用层协议?
原因:
然而:
DNS的作用非常不同于Web应用、文件传输应用以及电子邮件应用。DNS不是一个直接和用户打交道的应用。DNS是为因特网上的用户应用程序以及其他软件提供一种核心功能,即将主机名转换为其背后的IP地址。
除了进行主机名到IP地址的转换外,DNS 还提供了其他重要的服务:
主机别名:有着复杂主机名的主机能拥有一个或者多个别名。例如,一台名为relayl. west- coast. enterprise. com的主机,可能还有两个别名为enter-prise. com和 www.enterprise. com。主机别名比主机规范名更加容易记忆。
邮件服务器别名:显而易见,人们也非常希望电子邮件地址好记忆。道理同主机别名
负载分配:DNS也用于在冗余的服务器之间进行负载分配。繁忙的站点被冗余分布在多台服务器上,每台服务器均运行在不同的端系统上,每个都有着不同的IP地址。由于这些冗余的Web服务器,一个IP地址集合因此与同一个规范主机名相联系。DNS数据库中存储着这些IP地址集合。当客户对映射到某地址集合的名字发出一个DNS请求时,该服务器用IP地址的整个集合进行响应,但在每个回答中循环这些地址次序。DNS 就在所有这些冗余的Web服务器之间循环分配了负载。
原文链接:https://blog.csdn.net/qq_46045632/article/details/122683931?ops_request_misc=&request_id=d89bd289ac8a44d9922c587a8a843643&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-20-122683931-null-null.268%5Ev1%5Econtrol&utm_term=dns%E9%98%B2%E6%8A%A4
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/23128