DNS域名服务原理

DNS

DNS( Domain Name System)是“域名系统”的英文缩写,应用层协议,C/S架构模式,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

DNS域名

域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,包括主机名和域名。DNS数据库中的名称形成一个分层树状结构称为域命名空间。域名包含单个标签分隔点,例如:www.baidu.com
完全限定的域名 (FQDN) 唯一地标识在 DNS 分层树中的主机的位置,通过指定的路径中点分隔从根引用的主机的名称列表。主机的 FQDN 是 www.baidu.com. 一个域名可以对应多个ip,一个ip也可以对应多个域名

DNS域名称空间的组织方式
名称类型 说明 示例
根域 DNS域名中使用时,规定由尾部句点(.)来指定名称位于根或更高级别的域层次结构 单个句点(.)或句点用于末尾的名称
顶级域 用来指示,某个国家/地区或组织使用的名称的类型名称 .com
二级域 个人或组织在Internet上使用的名称的类型名称 baidu.com
子域 已注册的二级域名派生的域名,通俗的讲就是网站名 www.baidu.com
主机名 通常情况下,DNS域名的最左侧的标签标识网络上的特定计算机,如h1 h1.www.baidu.com

DNS服务器

DNS查询类型:

  • 递归查询
  • 迭代查询

DNS名称解析方式:

名称 --> IP:正向解析
IP --> 名称:反向解析

注意:二者的名称空间,非为同一个空间,即非为同一棵树;因此,也不是同一个解析库;

DNS服务器类型:
  • 负责解析至少一个域:
    主名称服务器
    辅助名称服务器
  • 不负责哉解析:缓存名称服务器

一次完整的查询请求经过的流程:

Client --> hosts文件 --> DNS Local Cache --> DNS Server (recursion) 递归请求
-->自己负责解析的域:直接查询数据库并返回答案
-->不是自己负责解析域:Server Cache --> iteration(迭代)

DNS服务器返回的解析答案:
根据是否查询到答案

  • 肯定答案:有结果
  • 否定答案:没有查询对应的映射关系,否定答案也会被缓存下来,该缓存的生命周期(TTL:Time to Live)由服务器中的数据库定义

根据由何种服务器返回的结果

  • 权威答案:由直接负责的DNS服务器返回的答案
  • 非权威答案:其他缓存服务器返回的结果

主-辅DNS服务器:

  • 主DNS服务器:维护所负责解析的域数据库的那台服务器;读写操作均可进行;
  • 从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;只能进行操作;

“复制”操作的实施方式:

方式 作用
序列号(serial) 表示配置版本的序列号,通常情况下,序列号sn遵循“年+月+日+编号”的格式,在修改了区域文件后需要手动修改序列号;
刷新时间间隔(refresh) 从服务器每多久到主服务器检查序列号更新状况
重试时间间隔(retry) 从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔
过期时长(expire) 从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务
minimum 高速缓存否定回答的存活时间

主服务器”通知“从服务器随时更新数据

区域传送:
  • 全量传送:axfr, 传送整个数据库;
  • 增量传送:ixfr, 仅传送变量的数据;

区域(zone):物理概念
域(domain):逻辑概念

如:magedu.com是一个域,它由一个正向解析库区域和一个反向解析库区域组成

区域数据库文件:

数据库中存放数据,称为资源记录RR(Resource Record)

记录类型:

记录类型 作用
SOA(Start Of Authority)起始授权记录 个区域解析库有且只能有一个SOA记录,而且必须放在第一条
NS(Name Service)域名服务记录 一个区域解析库可以有多个NS记录;其中一个为主的
A( Address)地址记录 FQDN --> IPv4,解析
AAAA( Address)地址记录 FQDN --> IPv6,解析
CNAME(Canonical Name)别名记录
PTR(Pointer)指针 IP --> FQDN,解析
MX(Mail eXchanger)邮件交换器 用于指出某个DNS区域中的邮件服务器的主机名
资源记录的定义格式:

语法:name [TTL] IN RR_TYPE value

SOA:

name: 当前区域的名字;例如”mageud.com.”,或者“2.3.4.in-addr.arpa.”;
value:有多部分组成

  • 当前区域的区域名称(也可以使用主DNS服务器名称);
  • 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般使用点号来替代;
  • (主从服务协调属性的定义以及否定答案的TTL)

例如:

magedu.com.      86400          IN          SOA      magedu.com.    admin.magedu.com.  (
                 2017010801     ; serial
                 2H             ; refresh
                 10M            ; retry
                 1W             ; expire
                 1D             ; negative answer ttl 
)   

201701080:序列号,不超过十位
2H:refresh刷新时间
10M:retry重试时间
1W:expire过期时间
1D:negative answer ttl否定答案生命周期

NS:
  • name: 当前区域的区域名称
  • value:当前区域的某DNS服务器的名字,例如ns.magedu.com.
    注意:一个区域可以有多个ns记录;

例如:

magedu.com.     86400   IN  NS      ns1.magedu.com.
magedu.com.     86400   IN  NS      ns2.magedu.com.
MX:
  • name: 当前区域的区域名称
  • value:当前区域某邮件交换器的主机名

注意:MX记录可以有多个;但每个记录的value之前应该有一个数字表示其优先级;
优先级:0-99,数字越小优先级越高;

例如:

magedu.com.         IN  MX  10      mx1.magedu.com.
magedu.com.         IN  MX  20      mx2.magedu.com.
A:

例如:

www.magedu.com.     IN  A   1.1.1.1
www.magedu.com.     IN  A   1.1.1.2
bbs.magedu.com.     IN  A   1.1.1.1
AAAA:
  • name:FQDN
  • value: IPv6
PTR:
  • name:IP地址,有特定格式,IP反过来写,而且加特定后缀;例如1.2.3.4的记录应该写为4.3.2.1.in-addr.arpa.
  • value:FQND

例如:

4.3.2.1.in-addr.arpa.   IN   PTR    www.magedu.com.
CNAME:
  • name:FQDN格式的别名
  • value:FQDN格式的正式名字

例如:

web.magedu.com.     IN      CNAME  www.magedu.com.
注意:

(1) TTL可以从全局继承;
(2) @表示当前区域的名称;
(3) 相邻的两条记录其name相同时,后面的可省略;
(4) 对于正向区域来说,各MX,NS等类型的记录的value为FQDN,此FQDN应该有一个A记录;

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

推荐阅读更多精彩内容

  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,464评论 3 34
  • DNS DNS:Domain Name Service 应用层协议(C/S,53/udp, 53/tcp) 域名 ...
    毛利卷卷发阅读 6,794评论 0 6
  • DNS服务器的基础应用及主从同步域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项...
    linuxlove阅读 473评论 0 0
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,838评论 0 7
  • 六年前的今天,一个阳光灿烂,温暖和煦的日子,你脱离母体,从此成为一个可以自由呼吸的独立个体。六年来,妈妈经历了产后...
    amei100阅读 236评论 0 1