网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。

具体什么是DNS?

DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。DNS就是这样的一位“翻译官”,它的基本工作原理可用下图来表示。

DNS 的过程?

关于DNS的获取流程:

DNS是应用层协议,事实上他是为其他应用层协议工作的,包括不限于HTTP和SMTP以及FTP,用于将用户提供的主机名解析为ip地址。

具体过程如下:

用户主机上运行着DNS的客户端,就是我们的PC机或者手机客户端运行着DNS客户端了

浏览器将接收到的url中抽取出域名字段,就是访问的主机名,比如

, 并将这个主机名传送给DNS应用的客户端

DNS客户机端向DNS服务器端发送一份查询报文,报文中包含着要访问的主机名字段(中间包括一些列缓存查询以及分布式DNS集群的工作)

该DNS客户机最终会收到一份回答报文,其中包含有该主机名对应的IP地址

一旦该浏览器收到来自DNS的IP地址,就可以向该IP地址定位的HTTP服务器发起TCP连接

DNS服务的体系架构是怎样的?

DNS domain name system 主要作用就是将主机域名转换为ip地址

假设运行在用户主机上的某些应用程序(如Webl浏览器或者邮件阅读器)需要将主机名转换为IP地址。这些应用程序将调用DNS的客户机端,并指明需要被转换的主机名。(在很多基于UNIX的机器上,应用程序为了执行这种转换需要调用函数gethostbyname())。用户主机的DNS客户端接收到后,向网络中发送一个DNS查询报文。所有DNS请求和回答报文使用的UDP数据报经过端口53发送(至于为什么使用UDP,请参看为什么域名根服务器只能有13台呢? - 郭无心的回答)经过若干ms到若干s的延时后,用户主机上的DNS客户端接收到一个提供所希望映射的DNS回答报文。这个查询结果则被传递到调用DNS的应用程序。因此,从用户主机上调用应用程序的角度看,DNS是一个提供简单、直接的转换服务的黑盒子。但事实上,实现这个服务的黑盒子非常复杂,它由分布于全球的大量DNS服务器以及定义了DNS服务器与查询主机通信方式的应用层协议组成。

DNS为什么不采用单点的集中式的设计方式,而是使用分布式集群的工作方式?

DNS的一种简单的设计模式就是在因特网上只使用一个DNS服务器,该服务器包含所有的映射,在这种集中式的设计中,客户机直接将所有查询请求发往单一的DNS服务器,同时该DNS服务器直接对所有查询客户机做出响应,尽管这种设计方式非常诱人,但他不适用当前的互联网,因为当今的因特网有着数量巨大并且在持续增长的主机,这种集中式设计会有单点故障(嗝屁一个,全球着急),通信容量(上亿台主机发送的查询DNS报文请求,包括但不限于所有的HTTP请求,电子邮件报文服务器,TCP长连接服务),远距离的时间延迟(澳大利亚到纽约的举例),维护开销大(因为所有的主机名-ip映射都要在一个服务站点更新)等问题

DNS服务器一般分三种,根DNS服务器,顶级DNS服务器,权威DNS服务器。

使用分布式的层次数据库模式以及缓存方法来解决单点集中式的问题。

DNS域名称

域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,包括主机名和域名。DNS数据库中的名称形成一个分层树状结构称为域命名空间。域名包含单个标签分隔点,例如:

im.qq.com

完全限定的域名 (FQDN) 唯一地标识在 DNS 分层树中的主机的位置,通过指定的路径中点分隔从根引用的主机的名称列表。 下图显示与主机称为 im 内

qq.com

DNS 树的示例。 主机的 FQDN 是

im.qq.com

DNS 域的名称层次结构

DNS域名称空间的组织方式

按其功能命名空间中用来描述 DNS 域名称的五个类别的介绍详见下表中,以及与每个名称类型的示例。

举报/反馈

服务器为什么要域名解析,DNS解析的过程是什么 为什么需要DNS解析域名为IP地址?...相关推荐

  1. 一文看懂:网址,URL,域名,IP地址,DNS,域名解析

    今天给大家梳理一篇关于网址.URL.IP地址.域名.DNS.域名解析的白话长文,并以简单的提问-解答形式让读者更加深刻理解网址.URL.IP地址.域名.DNS.域名解析,希望有助于读者的学习,面试和工 ...

  2. 网址,URL,域名,IP地址,DNS,域名解析

    网址,URL,域名,IP地址,DNS,域名解析 文章简介 一篇关于网址.URL.IP地址.域名.DNS.域名解析的白话长文. 编写形式:QA 背景知识 互联网上的所有数据都是存储在主机(服务器)上互联 ...

  3. 域名和IP地址什么关系?如何通过域名解析IP?

    一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍. 域名与IP地址之间的关系 IP地址是计算 ...

  4. DNS这位“翻译官”是如何转换域名和IP地址的?

    DNS这位"翻译官"是如何转换域名和IP地址的? Linux就该这么学 1周前 DNS( Domain Name System)是"域名系统"的英文缩写,是一种 ...

  5. DNS机制(实现域名和IP地址的转化)

    总结:上一级的域名服务器中存储了下一级的域名服务器的ip地址,一直到最低一级的服务器里面存储了www.bilibili.com这个域名的IP地址 举例:com服务器中存储了bilibil服务器的ip地 ...

  6. DNS(从域名到IP地址的对应)

    因特网上的主机可以使用多种方式进行标识.一种标识方法是用它的主机名,如cnn.com.www.yahoo.com等,这些名字便于记忆也乐于被人们接受.然而,主机名几乎没有提供关于主机在因特网中位置的信 ...

  7. 网址(url),域名,ip地址,dns,hosts之间的关系

    网址(url),域名,ip地址,dns,hosts之间的关系 什么是ip? 我们知道,在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址.通过IP ...

  8. python 解析域名_Python实现通过解析域名获取ip地址的方法分析

    本文实例讲述了Python实现通过解析域名获取ip地址的方法.分享给大家供大家参考,具体如下: 从网上查找的一些资料,特此做个笔记 案例1: def getIP(domain): myaddr = s ...

  9. 网址,URL,域名,IP地址,DNS,域名解析(转载)

    一.基本常识 互联网上的所有数据都是存储在主机(服务器)上 互联网中的所有主机都拥有唯一的IP地址 互联网中任意两台主机通信都是通过IP地址来实现 上网的实质 就是获取网址对应主机上的数据并在用户主机 ...

  10. 批量解析域名为IP地址的shell脚本和python脚本

    一.批量查询域名解析shell脚本 1.先配置好DNS: # cat /etc/resolv.conf nameserver 114.114.114.114 2.在Linux安装nslookup命令: ...

最新文章

  1. 面试官问:说说悲观锁、乐观锁、分布式锁?都在什么场景下使用?有什么技巧?...
  2. 服务器系统策略功能,设置服务器系统口令复杂度策略
  3. 计算机专插本专业考哪些科目,2020年广东专插本要考什么?专插本考试科目有哪些?...
  4. 【2021年度训练联盟热身训练赛第二场】Binarize It(python)
  5. Docker 修改镜像源地址
  6. python和java一样吗-python 和 java 的区别
  7. Acwing第 25 场周赛【完结】
  8. SpringCloud教程-消息总线Bus 服务端(server)刷新(SpringCloud版本Greenwich.SR4)
  9. IE下及标准浏览器下的图片旋转(二)—— Canvas(2)
  10. 模拟虚拟的文件系统initrd/initramfs
  11. pythonclass的使用详情_python 类class基础简明笔记
  12. 瑞信:区块链技术还在半山腰 2025年才能真正成熟
  13. js基础-7-数组去重的es5和es6写法、数组扁平化
  14. zabbix 4.2.3 server.conf
  15. Linux命令--tac(倒序查看文件所有内容)
  16. Qt5中使用lambda表达式
  17. 3月刊特别策划:移动应用排名与开发者的机会
  18. php天气城市切换怎么实现,PHP 调用接口生成天气预报 三级联动城市列表 仿中国天气网界面...
  19. SpringBoot升级2.4.0所出现的问题:When allowCredentials is true, allowedOrigins cannot contain the specia
  20. C语言函数大全-- l 开头的函数

热门文章

  1. Git删除提交历史记录
  2. java分库框架shard_架构组件:基于Shard-Jdbc分库分表,数据库扩容方案-Go语言中文社区...
  3. 【杂记】Windows首页挟持病毒查杀过程记录
  4. mysql 查询 本周 上周,Mysql查询本周,上周,本月,上月数据
  5. linux bigendian未定义,big endian与little endian
  6. 工科学生计算机二级报什么类别,学科门类(二级类)工学.doc
  7. java中的math_Java中math类的常用方法
  8. 银河麒麟v10_银河麒麟:V10究竟哪里好?开箱测评,瞬间明了!
  9. 军火库(第一期):无线电硬件安全大牛都用哪些利器?
  10. 谈论bringup我们到底在谈论什么?