DNS原理介绍:为什么会有DNS?DNS是怎么工作的?

从浏览器地址栏输入网址到看到页面中间的通信过程介绍中提到DNS解析,那么,来详细说说DNS是个什么东西。

DNS的诞生

DNS全称为Domain Name Service(域名服务 ),主要功能为实现域名和IP的映射功能。(网络通讯时,需要将域名转化为IP地址)。

为什么需要将域名转化为IP地址呢?

当我们在上网的时候,通常输入的是网址,我们能记住的是域名,而网络上的计算机彼此之间只能用IP地址才能相互识别。例如访问今日头条,我们可以在浏览器的地址栏中输入网址, 也可输入IP地址,但是IP地址不好记,于是有了域名,这样我们可以很容易的记住。

另外,一个网站不止一台服务器,如果我们通过IP访问,那要记住每一台服务器,并且需要哪些内容在具体的哪些服务器才能访问到我们需要的资源,如果这样,上网就变成一件大工程。

所以,域名既方便访问网站的用户记忆又方便网站的服务器管理和应用部署,DNS作为域名和IP的翻译充当了非常重要的角色。

图片发自简书App

DNS解析过程

下面以mail.139.com为例,说明DNS查询解析过程。

用户向本地DNS服务器询问mail.139.com地址在哪,如果本地DNS服务器中有mail.139.com的IP地址缓存,那么直接返回给用户。如果没有缓存,向上一级DNS服务器询问。从域名树状结构的根部网树叶方向询问。

DNS解析过程-无缓存

图片发自简书App


DNS解析过程-已缓存


图片发自简书App

DNS查询过程是UDP协议还是TCP协议?

默认情况下使用UDP,查询的结果超过512字节,使用TCP查询


图片发自简书App

DNS查询方式

递归查询

在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。


图片发自简书App

迭代查询

DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。


图片发自简书App


一条DNS记录的栗子:

图片发自简书App

DNS常用查询工具

其中一个很常用的工具为nslookup。nslookup用于查询域名对应的IP地址。

1:查询域名解析为IP地址


图片发自简书App

2:查询IP地址解析为域名


图片发自简书App

另一个很常用的工具是dig。dig(域信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具。

常见用法有:

1:默认提供冗长格式的信息

2:简单格式的返回信息

3: 跟踪域名解析信息


图片发自简书App
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对浏览器原理有过了解的一定不会陌生这篇神文《How Browsers Work》中文翻译:浏览器原理:新式网络浏览...
    波段顶底阅读 40,707评论 4 102
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,980评论 0 7
  • 14.1 引言 域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换...
    张芳涛阅读 1,930评论 0 8
  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,554评论 3 34
  • DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。 一、什么是DNS DNS (...
    amCow阅读 1,059评论 0 1