DNS

  • DNS
    • 1、DNS是什么?
    • 2、因特网的域名结构
    • 3、缓存(Cache)
    • 4、 DNS请求实例

DNS

1、DNS是什么?

DNS ( Domain Name Systme)简单理解就是解析器、域名服务器的组合,比如大家访问知乎,会输入http://www.zhihu.com,事实上网站域名只是一个IP 地址,人们是很难记住各式各样的IP地址的,所以就需要DNS服务器了,DNS就像手机通讯录一样,存放着各亲朋好友的手机号。为什么要存储到通讯录里?因为你不可能记得一百个人的手机号码,但是通过名字你可以快速定位某位朋友的手机号码。DNS就是存储了各种IP地址,然后让你通过域名定位到IP地址来进行连接通信的。

  • DNS domain name system 主要作用就是将主机域名转换为ip地址
  • 所有DNS请求和回答报文使用的UDP数据报经过端口53发送
  • DNS是应用层协议,client端(一般指浏览器)构建DNS查询请求,依次被传输层,网络层,数据链路层等封装传送到达DNS服务器端,最终client端接收到DNS响应消息


为什么选择UDP?

UDP(User Datagram Protocol)这样的无连接的,尽最大能力交付的不可靠数据连接,而不是使用TCP(Transmission Control Protocol 传输控制协议)这样的面向连接的可靠数据连接。

一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含9个包:三次握手初始化TCP会话、一个查询包、一个响应包以及四次分手的包交换。

考虑到效率原因,TCP连接的开销大得,故采用UDP作为DNS的运输层协议,这也将导致只有13个根域名服务器的结果。

2、因特网的域名结构

因特网的域名结构:

  • 1、 因特网采用了层次树状结构的命名方法。

  • 2、 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

  • 3、 域名的结构由标号序列组成,各标号之间用点隔开:


域名服务器:

  • 1、一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。

  • 2、 各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。

  • 3、每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。

  • 4、DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。

域名只是逻辑概念,并不代表计算机所在的物理地点。据2006年12月统计,现在顶级域名TLD(Top Level Domain)已有265个,分为三大类:

    (1)国家顶级域名nTLD:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。(2)通用顶级域名gTLD:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。


域名服务器有以下四种类型:

  • 1、根域名服务器

    • 1、 根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。

    • 2、 不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析只要自己无法解析,就首先求助于根域名服务器。

    • 3、 在因特网上共有13个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从a 一直到 m(前13 个字母)

    • 4、 根域名服务器并不直接把域名直接转换成 IP 地址。

    • 5、 在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。

  • 2、顶级域名服务器
    • 1、这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
    • 2、 当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)
  • 3、 权限域名服务器
  • 4、本地域名服务器

3、缓存(Cache)

DNS缓存:每次你访问网站,DNS会保存你访问过的网站的域名服务器(即DNS) 信息,它存储在你的本机电脑上,目的就是为了帮助你下次在浏览器以最短的路径、更快的速度找到所需的DNS信息,解析你的网站!

缓存具体分类:

  • 1) 浏览器缓存

当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);

  • 2) 系统缓存

当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;

  • 3) 路由器缓存

当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;

  • 4) ISP(互联网服务提供商)DNS缓存

当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;

4、 DNS请求实例

  • 1、 浏览器会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否有www . qq .com 对应的条目,而且没有过期,如果有且没有过期则解析到此结束。
  • 2、如果浏览器自身的缓存里面没有找到对应的条目,那么浏览器会尝试读取hosts文件(位于C:\Windows\System32\drivers\etc),看看这里面有没有该域名对应的IP地址,如果有则解析成功。
  • 3、如果在hosts文件中也没有找到对应的条目,浏览器就会发起一个DNS的系统调用,就会向本地配置的首选DNS(53号端口UDP协议)服务器发起域名解析请求。(本地域名服务器)
  • 4、主机向本地域名服务器解析的过程采用递归(也就是运营商的DNS服务器必须得提供给我们该域名的IP地址),而本地域名服务器向其它域名服务器解析可以使用递归和迭代两种方式。
  • 迭代:
1、本地域名服务器向根域名服务器发请求2、返回给本地域名服务器我们要向哪个顶级域名服务器去找3、顶级域名服务器向权限域名服务器发请求4、返回给本地域名服务器IP地址。5、返回给Windows系统内核,最后返回给浏览器。
  • 递归:
1、本地域名服务器向根域名服务器发请求2、之后根域名服务器向顶级域名服务器去找3、顶级域名服务器返回给根域名服务器。4、根域名服务器返回给本地域名服务器5、返回给Windows系统内核,最后返回给浏览器。


这里补充说明,一旦递归服务器拿到解析记录以后,就会在本地进行缓存,如果下次客户端再请求本地的递归域名服务器相同域名的时候,就不会再这样一层一层查了,因为本地服务器里面已经有缓存了,这个时候就直接把www . qq .com的A记录返回给客户端就可以了。

DNS资源记录


记录一条域名信息映射关系,称之为资源记录(RR)。

当我们查询域名http://www.zdns.cn的时候,查询结果得到的资源记录结构体中有如下数据:

  • 1、TTL,就是生存周期,是递归服务器会在缓存中保存该资源记录的时长。

  • 2、网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。

  • 3、type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。

  • 4、rdata是资源记录数据,就是域名关联的信息数据。

什么是DNS?为什么选择UDP?详细的DNS解析过程?相关推荐

  1. DNS之三 辅助区域和名称解析过程

    主要区域上次已经提到并详讲到,如果有一个规模比较大的公司只有一台DNS服务器,如果这台服务器出现了故障的话那么一切依靠域名的平台都不能解析,这是非常麻烦的,为了防止这种事情的发生就需要在局域网中再部署 ...

  2. 各地DNS服务器地址 详细

    各地DNS服务器地址 详细 北京  DNS服务器:ns.bta.net.cn 202.96.0.133       ns.cn.net 202.97.16.195       ns.sta.net.c ...

  3. DNS 系统解析过程概述

    DNS(Domain Name Servive,域名服务)是Internet/Intranet中最基础也是非常重要的一项服务,提供了网络访问中域名到IP地址的自动转换.我们知道,Internet上的主 ...

  4. 一些通讯知识、TCP/IP、三次握手四次分手(正确的图,网上很多错了)、HTTP\HTTPS、DNS、UDP

    总述 这里会按照一个浏览器(客户端)是向服务器请求资源的路径来分享知识点 有些内容在之前的博客有,您可以自取 浏览器(客户端)是如何向服务器请求资源的呢? 见下图: 客户端输入网址(输入搜索内容也是一 ...

  5. 关闭tcp服务器_2020年2月起,不支持TCP和UDP协议的DNS服务器将被强制关闭

    世界上最大的DNS服务提供商行业组织已经同意一项计划,通过强制对影响整个互联网速度和性能的小型服务器运营商进行某些配置更改来改善DNS生态系统状态. 据该组织称,从2020年2月开始,无法同时处理UD ...

  6. 为什么 DNS 使用 UDP 协议

    今天要分析的具体问题是『为什么 DNS 使用 UDP 协议』,DNS 作为整个互联网的电话簿,它能够将可以被人理解的域名翻译成可以被机器理解的 IP 地址,使得互联网的使用者不再需要直接接触很难阅读和 ...

  7. DNS的详细解析过程

    DNS解析又称域名解析.目的是将域名解析成对应的ip地址,去相对应的ip地址服务器上获取请求资源. 从输入网址到看到界面的整个流程: 1.浏览器中输入网址 ==> 2.域名解析(DNS),找到I ...

  8. 禁止UDP端口引起DNS错误导致邮局无法外发的故障

    2019独角兽企业重金招聘Python工程师标准>>> 同事告知无法对外发信,上服务器检查日志,发现DNS TimeOut,经过检查DNS IP,最后发现是因为前几天因为对付黑客入侵 ...

  9. xp系统dns服务器异常请稍后再试,xp系统网页“无法解析服务器的dns地址”的详细办法...

    xp系统网页"无法解析服务器的dns地址"的详细办法? 我们在操作xp系统电脑的时候,常常会遇到xp系统网页"无法解析服务器的dns地址"的问题.那么出现xp系 ...

  10. linux5.8下dns,Redhat 5.8 操作系统上DNS详细配置(DNS resolution for SCAN VIPs)

    Redhat 5.8操作系统上DNS详细配置(DNS resolution for SCAN VIPs) 1.准备工作 软件包支持(bind*.caching-nameserver) 安装执行yum ...

最新文章

  1. Permissions 0644 for '/root/.ssh/id_rsa'
  2. EvalAI使用——类似kaggle的开源平台,不过没有kernel fork功能,比较蛋疼
  3. 企业网络设计,看这6个案例就够了
  4. JZOJ 5639. 【NOI2018模拟4.8】秘密袭击
  5. 《货币是个什么东西》笔记
  6. GP两种连接方式性能测试
  7. 【sklearn学习】降维算法PCA和SVD
  8. 聊天室程序python_Python聊天室程序(基础版)
  9. iPhone 12系列重新上架苹果天猫旗舰店,5499元的iPhone 12今晚开订!
  10. MySqlBackup.NET——用于C#,VB.NET,ASP.NET的MySQL备份解决方案
  11. 《高性能MySQL》 第1章 MySQL架构与历史
  12. 扒一扒开源世界有哪些licenses?
  13. element-ui上传图片的使用upload
  14. 海康摄像头直连电脑修改IP解决播放失败无画面无法连接问题
  15. macOS Monterey 12.0 Beta5 (21A5304g) 虚拟机 ISO 镜像
  16. 【青松资讯】Anonymous匿名者黑客组织公布攻击新目标:100家中国政府网站
  17. moveit双臂机器人程序
  18. iCoremail企业邮箱移动办公新突破
  19. ServiceDesk Plus IT自主服务平台
  20. 亚马逊是如何成为全球最佳雇主的?

热门文章

  1. 微信识图之面向多源异构数据的检测器设计
  2. 计算机数学基础:斜率与截距、导数、权重的关系
  3. python使用Tkinter库制作文件和文件夹创建功能
  4. 记一次IDEA克隆项目代码启动问题
  5. Nginx自动跳转到带www域名规则配置、Nginx多域名向主域名跳转
  6. 第九周 项目三--稀疏矩阵的三元组表示的实现及应用
  7. com词根词缀_词根词缀记忆大全---经典详细的总结
  8. MFC按方向键旋转立方体线框
  9. office表格怎么冻结前两行_office 2010下excel表格中冻结功能操作任意行的技巧
  10. 将APPDATA 迁出C盘