浅析DNS

文章主要从以下几个方面讨论DNS

1.什么是DNS?

2.DNS如何工作以及深入运行机制

3.DNS缓存机制

3.DNS查询

主机名,域名,IP,DNS......都是个啥??

The Domain Name System(DNS),即因特网域名系统。提供域名解析服务,将主机名解析为IP地址。

简单的理解下主机名,IP地址和DNS:

因特网上的识别方式和人类的识别方式很像。每个人都是个体,类比为因特网上的主机,假设这个个体叫张三,张三就是用来标识这个个体的一种方式,类比为主机名,怎么找到张三呢,张三的手机号是xxxxxxxxxxxx,类比IP地址。而DNS做的工作就是帮你找到张三的手机号。查水表的。

例如:

使用www.google.com对应的IP地址为172.217.4.196

www是服务器的名字

http://google.com是用来定位网站的域名

www.google.com 即主机名,由服务器+域名组成

主机名最大的意义在于方面人们记忆,而路由器口味独特,喜欢定长且具有层次结构的IP地址。DNS提供把方便记忆的主机名转换为IP地址的目录服务。

拓展:

DNS是由分层的DNS服务器实现的分布式数据库,属于应用层协议,运行于UDP之上(特殊情况使用TCP),使用53号端口。

一个主机可以拥有多个别名,因为主机别名比规范主机更容易记忆。

DNS是怎么工作的

DNS通常为应用层的其他协议(http、ftp...)所使用。当我们在浏览器上访问https://github.com/页面时,为了将用户的请求发送到web服务器,必须获得其IP地址。

DNS工作步骤

1.从浏览器中的URl提取主机名http://www.github.com,将主机名通过DNS客户机传给DNS应用的客户机端。

2.DNS客户机向DNS服务器发送一个包含主机名的请求。

3.经过各种查询,DNS客户机会受到一个包含主机名IP地址的返回报文。

4.浏览器接收到这个IP地址,就可以通过该IP地址定位http服务器从而建立tcp连接。

.......

这就是DNS大致需要做的工作。DNS还提供其他服务在这就不做介绍了。

深入理解DNS运行机制

DNS是实现分布式数据库的完美范例。

DNS分布模型

DNS有三种服务器管理类域名;

根域名(Root Domain):全球共有13个根服务器管理根域名

顶级域名(Top-Level Domain):(com、org、net、edu、gov)负责顶级域名以及所有国家的域名。

二级域名(Second-level domains):由权威DNS服务器管理

........类推

例:

www. zhihu. com .

三级域 二级域 顶级域 根域

DNS缓存(DNS Caching)

非常重要的一个概念。为了减少因特网上的大量报文传输做出的性能改善。

有DNS就有DNS缓存。DNS存在于浏览器,操作系统,CDN服务器,DNS服务器.......

以下仅讨论位于本地服务器缓存这种情况。(剩余的有空补充)

DNS缓存的运行机制:

访问www.google.com,当你在浏览器中输入URl地址时,浏览器会查看保存在本地文件中的Host文件进行域名匹配,如果有,直接返回IP地址,如果没有,浏览器会向本地服务器发送DNS请求。

本地服务器接受到浏览器发送的请求,会将域名与自己的缓存内容进行匹配,找到则直接返回,未找到则本地服务器会向DNS根服务器发送请求进行查询。

根服务器接收到请求,并不会返回IP给你,它只知道域名属于.com,于是将相关信息返回给本地服务器。

本地服务器继续向二级域名服务器(.com服务器)请求,二级域服务器会告诉本地DNS服务器,这个域名是属于http://google.com这个域,并将相关信息返回。

最后本地服务器向最终的域名解析服务器发送请求,此时解析服务器会返回一个回应的IP值给本地DNS服务器,同时DNS服务器会将这个对应关系保存在缓存中,等下次用户访问时,就可以快速返回IP,减少网络时延。服务器存储的DNS缓存会定期更新,称缓存的生命时间(TTL-time to live)

DNS有两种查询方式,一种是递归查询(Recursive query),一种是迭代查询(Iterative query)

图中1为递归查询,2-7为迭代查询。

DNS记录查询:

实现DNS分布式数据库的所有DNS度武器共同存储这资源记录(Resource Record,RR),提供了主机名到IP地址的映射。

资源记录包含了以下四个字段

{Name , Value , Type , TTL}

TTL上面提到过,决定了资源记录的生命时间。

字段的Name和Value的值取决于Type

Type = A ,映射一个IPV4的地址

Type =AAAA,映射一个IPV6的地址

Type=NS,返回保存下一级域名信息的服务器地址。

Type=MX:提供邮件服务器的规范主机名。

Type=CNAME,提供一个主机名对应的规范主机名。

.......(其余自行检索)

可用nslookup或dig进行记录查询,推荐使用dig。

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

推荐阅读更多精彩内容

  • DNS 解析 DNS基于UDP DNS报文的类型: A记录: Address to ip,指定地址到ip的映射。 ...
    siriusing阅读 5,172评论 0 8
  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能...
    一直在努力hard阅读 4,606评论 3 19
  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,475评论 3 34
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,865评论 0 7
  • 1、前言 在当下互联网时代,我们日常生活和工作基本都离开不域名和 DNS ,如通过一个网址打开一个网站进行购物、使...
    cinder_lv阅读 3,524评论 1 27