【重拾网络】DNS


title: 【重拾网络】DNS
date: 2017-07-20 21:55:21
tags: 网络
categories: 网络


DNS 是什么

了解网络的同学应该都是知道 DNS的,它提供最基本的从域名到 IP 地址的转换服务。简单可以把 DNS 理解成一个翻译官,这位翻译官每天默默地为我们处理上网请求时域名到 IP 的转换。

上网时每次对域名的请求使用的是 HTTP 协议,而作为翻译官 DNS 发生在HTTP 真实请求之前。尽管 DNS 协议执行在 HTTP 请求之前,但与 HTTP 一样,DNS 也是 TP/IP 协议模型中应用层协议。更具体一点默认使用的是 UDP 的传输方式,端口号为 53 。

补充一下,除了基本的域名到 IP 的转换服务, DNS 还可以提供主机别名,邮件服务器别名,负载均衡功能。

DNS 结构

从功能上来看,DNS 只提供了非常简单的字符串到字符串的转换服务。类似于程序语言中的字典结构就可以完成映射转换。所以在很多网络结构图中 DNS 服务往往被描述成一台服务器,在客户端与服务器请求之前,首先在 DNS 服务器上查询服务器对应的 IP 即可。我们日常的使用中 DNS 也确实扮演了这样一个默默无闻的角色,运行的过程对用户非常透明。

为了使 DNS 可以做到全球范围的高可用,一台简单的服务器肯定是无法满足的。实际上DNS 根据域名的层级也划分出不同的 DNS 层级。

域名层级

域名层级的划分示意:

name schema.jpg

域名的层级结构:

主机名.次级域名.顶级域名.根域名

host.sld.tld.root

www.example.com 域名为例,看看域名的划分:

域名 备注
使用的域名 www.example.com 日常真实使用的域名
真正的域名 www.example.com.root .root通常省略
根域名 .root 对所有域名
顶级域名 .com
次顶级域名 .example 用户可注册的
三级域名(主机名) www 用户在自己的域里面为服务器分配的名称

DNS 层级

域名层级结构对应的 DNS 服务结构划分:


structure DNS.jpg

上面 DNS 的层级结构很明显是一个树型的结构,解析的过程就是从根到叶子节点的访问过程。作为基础的网络服务,单节点肯定是不可靠的,所以上图的节点实际中不是孤立存在的,而是由一组服务器构成。例如根节点就对应了全世界 13 台根服务器。

DNS 查询过程

既然树型的 DNS 的结构不能一步获取到最终查询结果,这里就有两种方式处理处理查询过程了:

  • 递归查询

    客户端发出查询请求后,只接受一个准确的查询结果,而不能是查询的中间过程

  • 迭代查询

    客户端发出查询请求后,DNS 服务器不直接回复查询结果,而是告诉客户端另一台 DNS 服务器地址,客户端再向这台 DNS 服务器请求解析,依此循环直到返回查询的结果

两者各有利弊,通常是将两者结合在一起,一个 DNS 的解析大致可以分两个部分:

  1. 客户端向 Local DNS 的请求,通常这部分使用递归请求
  2. Local DNS 的请求,通常这部分使用迭代请求

按照上述规则一个基本的 DNS 解析过程:


dns sresolution.png
  1. 发出域名解析请求
  2. 本机的域名解析器 resolver 程序查询本地缓存和 host 文件中是否为域名的映射关系
  3. 本地解析器向 TCP/IP 参数中设置的首选 DNS 服务器(我们叫它 Local DNS 服务器)发起一个递归的查询请求
  4. 服务器收到查询时
    1. 如果要查询的域名由 Local DNS 服务器负责解析,则返回解析结果给客户机,完成域名解析,且此解析具有权威性
    2. 如果要查询的域名不由 Local DNS 服务器解析,则调用这个 IP 地址映射,完成域名解析,且此解析不具有权威性
  5. 根据 Local DNS 服务器的设置(是否递归)进行查询
    1. 如果是迭代查询,Local DNS 就把请求发至13台 Root DNS
    2. 如果是递归查询,Local DNS 就会把请求转发至上一级 DNS 服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根 DNS 或把转请求转至上上级,以此循环
  6. Root DNS 服务器收到请求后会判断这个域名是谁来授权管理,并会返回一个负责该顶级域名服务器的一个 IP
  7. Local DNS 服务器收到 IP 信息后,将会联系负责 .edu 域的这台服务器
  8. 负责 .edu 域的服务器收到请求后,如果自己无法解析,它就会找一个管理 .edu 域的下一级 DNS 服务器地址给 Local DNS 服务器
  9. 当 Local DNS 服务器收到这个地址后,就会找 googleplex.edu 域服务器
  10. 负责 googleplex.edu 域的服务器接收到请求后,如果自己无法解析,继续找管理 googleplex.edu 域的下一级 DNS 服务器地址给 Local DNS 服务器
  11. 当 Local DNS 服务器收到这个地址后,就会找 compsci.googleplex.edu 域服务器
  12. 最后 compsci.googleplex.edu 域服务器返回需要解析的域名的 IP 地址给 Local DNS 服务器
  13. Local DNS 服务器缓存这个解析结果(同时也会缓存,6、8、10返回的结果)
  14. Local DNS 服务器同时将结果返回给本机域名解析器
  15. 本机缓存解析结果
  16. 本机解析器将结果返回给浏览器
  17. 浏览器通过返回的 IP 地址发起请求

DNS 记录

资源记录:name, value, type, ttl

ttl:记录存活时间

type 分类:

  • A:name:主机域名,value:IP地址
  • NS:name:域,value:域的权威域名解析服务的主机域名
  • CNAME:name:真实域名的别名,value:真实域名
  • MX:value是与name相对应的邮件服务器

其他 DNS 相关

常见的 DNS 功能说明

  • 权威 DNS: 最终决定域名解析结果的服务器,可以在其上配置具体域名的对应解析结果信息
  • 递归 DNS 或本地 DNS:有域名解析结果的决定权,但代理了用户向权威DNS获取域名解析结果的过程,不属于 DNS 层次体系
  • 公共 DNS:全网开放的递归 DNS,不同于一般的本地 DNS 由 ISP 提供

DNS 相关命令

  • dig
  • host
  • nslookup

命令的参考:域名解析之dig,host,nslookup命令

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,042评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,996评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,674评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,340评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,404评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,749评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,902评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,662评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,110评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,577评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,258评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,848评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,726评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,952评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,271评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,452评论 2 348

推荐阅读更多精彩内容