DNS 皮毛

这是一篇介绍 DNS(Domain Name System ) 皮毛的文章。

一、什么是 DNS

DNS = Domain Name System

我们平时访问网页,通常都是输入一个网站的域名(eg: https://google.com ),然后游览器会返回相应的网页给我们。

游览器拿到我们输入的域名,然后通过网络,最终找到相应的服务器拿到了我们要的网页,再返回给游览器。

在万维网中,服务器地址通常是用 IP 进行表示的。那么,我们的输入的域名,是怎么变成服务器的 IP 地址呢?

这个转换的过程,就是DNS 要做的。

二、演变

雏形

互联网早期,只有几百台主机。所以当时的 DNS 系统,就是一个简单的 HOSTS.TXT文件,然后坐了两件事:记录和同步。

HOSTS.TXT 里简单的记录了主机域名和 IP 地址的对应关系。这个文件存放在一台主机上,然后分发到整个网络。当大家通过域名访问的时候,都会HOSTS.TXT获取到域名对应的 IP 地址,然后再去访问实际的主机。

如果 HOSTS.TXT 内对应关系发生变化了,更新手段也是很原始,通过电子邮件通知网络的备份,让备份重新拉去 HOSTS.TXT 进行更新。

DNS

后来互联网主机数量局增,维护和更新策略都发生了变化。
现代的 DNS 系统被设计成了自动更新和维护。

三、DNS服务器结构

域名的结构是…d.c.b.a 这个形式。比如www.google.com 这个域名,.com是顶级域名,.google.com.com的下一级子域名,.www.google.com又是.google.com下一层级的子域名,以此类推。

DNS的域名服务器是一个倒树形,根节点是根域名服务器,下边的第一层树,负责各个顶级域名(eg: .com、.org、.net等等),再下层则是上一层的子域名。

四、一个简单的DNS请求过程

比如我需要请求google.com这个页面,在输入url 后,回车。

  1. 首先会查找游览器本身的DNS缓存,存在则直接返回,不存在则进入步骤2;
  2. 去附近的 DNS 缓存服务器查询(是怎么知道这个 DNS 缓存服务器地址呢,这个一般是由运营商配置地址的,存在则直接返回,不存在则进入步骤3;
  3. 根域名服务器查到,一层一层向下查询(分为递归和迭代),直到查到域名所对应的记录为止,然后返回。
  4. 返回途中,DNS缓存更新,游览器拿到 IP 地址进行访问。

五、DNS 记录都记写什么

之前说到从 DNS缓存或者 DNS服务器里查询相应记录,那记录到底都记了些什么呢?

记录是一条一条的,每条记录分成4个字段:Name、Value、Type、TTL 四个字段。

TTL(Time To Live),一个时间字段。用于标记这条记录的存活期,但超过存活期,记录就需要被更新。

Type 是记录的类型,决定了 Name 和 Value 的组成。

Type的常用类型有:

A记录,Address
A 记录就是地址记录,Name 是域名,Value 是 IP 地址。因为有的域名或有多个服务器提供服务,所以会存在一个域名对应多个 IP 地址的情况。

一对多的例子:

Name Value
isalucard.com 192.30.252.154
isalucard.com 185.199.109.153

CNAME 记录
CNAME是别名记录的意思。依然可以存在一个域名对应多个 IP 的 A 记录,那当然也可以为一个 IP 地址设置多个域名。比如我把博客部署在了192.30.252.154这台服务器上,配置了一个默认的域名jinxm.github.io,但是我嫌弃这个域名不好看,于是我就给他增加了一个别名isalucard.com。所以,192.30.252.154这个 IP 就对呀了两个域名。

Name Value
jinxm.github.io 192.30.252.154
isalucard.com jinxm.github.io

NS 记录,Name Server

域名服务器记录,用以记录这个域名由哪个域名服务器来解析,一对多关系。

eg: com 域名的解析服务器

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

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,890评论 0 7
  • 1、前言 在当下互联网时代,我们日常生活和工作基本都离开不域名和 DNS ,如通过一个网址打开一个网站进行购物、使...
    cinder_lv阅读 3,554评论 1 27
  • 非常好的文章,怕博主删除,再也找不到这么好的文章了,所以复制了一份,博主是2016年写,但是是到现在为止看到的,思...
    吭声_cfdc阅读 1,659评论 0 4
  • 最近,终于要把《WEB请求处理系列》提上日程了,一直答应小伙伴们给分享一套完整的WEB请求处理流程:从浏览器、Ng...
    七寸知架构阅读 31,328评论 27 253
  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能...
    一直在努力hard阅读 4,634评论 3 19