DNS产生的背景

在Internet网中连接着数量众多的主机,要让这些主机进行通信,需要有一套名字标识体系,让主机之间能够彼此找到对方,我们可以用多种方式进行主机标识,如使用主机名标识一台主机,当然,我们更多是用IP地址来标识计算机,主机在互联网上靠IP地址进行位置标识。

DNS产生的背景

在internet的前身ARPAnet的年代,整个网络中只有几百台主机,所有主机信息以及主机名与地址的映射记录都存放在一个名为HOSTS.TXT的文件中。HOSTS.TXT从一台名为SRI-NIC的主机上分发到整个网络,这台主机由斯坦福研究院的网络信息中心负责维护。ARPAnet的管理员们通过电子邮件的方式将变更息通知NIC,同时定期FTP到SRI-NIC上,获得最新的HOSTS.TXT文件。

DNS概述

DNS(Domain Name System,域名系统)是互联网上是一种层次结构的基于域的命名方式和实现这种命名方式的分布式数据库,其中记录了各种主机域名与 IP 地址的对应关系,能够使用户更加方便的访问网站。用户可以直接输入域名登录网站,DNS会将域名解析成IP地址,然后用户根据这个IP地址找到相应的网站,从而访问到域名对应的网站,通过主机名获取到主机名对应IP地址的过程叫作域名解析。
    DNS协议建立在UDP协议之上,在某些情况下可以切换到TCP,使用端口号53,是一种客户/服务器服务模式。

域:
• 域是一个逻辑上的概念,在初始瓜分互联网的时候,Internet组织将世界上的计算机划分为了若干个大类,如com、gov、org、net、edu、cn、us等等
• 每一个大类我们称之为一个域
• 在每个大类里面划分出比较小一点的,成为子域,域是可以嵌套的,大域包含小域,小域可以包含更小的域
域名:
• 在每个域里面都有很多主机,每个主机都有一个主机名,我们在这个主机名后面冠上主机所在域的名称成为该主机在Internet网络上的域名。

域名结构:域名是一个树状层次结果,联机分布式数据库系统,最高的根域名服务器维护最高级别域名服务器记录,后者维护下一级域名服务器的记录

域名服务器:负责名字到地址的解析。
域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
根据域名结果可以把域名服务器划分为以下四种类型:
(1)根域名服务器          "."
(2)顶级域名服务器;
(3)权威域名服务器;
(4)本地域名服务器。

每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)
如果根据DNS服务器管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型。在同一台 DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下
• 主域名服务器:维护某一个特定 DNS 区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。
• 从域名服务器:与主域名服务器提供完全相同的 DNS 解析服务,通常用于 DNS 服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都一样的。关键区别在于,从域名服务器提供的解析结果不是由自己决定的, 而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置, 以便服务器能自动同步区域的地址数据库。
• 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。

DNS工作原理

DNS的工作模式
DNS 查询以各种不同的方式进行解析,客户机可通过使用从以前查询获得的缓存信息就地应答查询,DNS服务器也可使用其自身的资源记录信息缓存来应答查询。但更多是使用下列两种方式:
• 递归解析
DNS服务器收到一个域名解析请求时,如果所要检索的资源记录不在本地,DNS服务器将和自己的上一层服务器交互,获得最终的答案,并将其返回给客户
• 迭代解析
DNS服务器收到解析请求,首先在本地的数据库中查找是否有相应的资源记录,如果没有,则向客户提供另外一个DNS服务器的地址,客户负责把解析请求发送给新的DNS服务器地址

DNS工作原理示例

1.当在浏览器中输入URL时,浏览器会先检查自己的缓存是否有域名IP的映射关系,有则直接使用IP进行通信;
2.如浏览器没有缓存,则操作系统检查本地Hosts文件是否有域名IP的映射关系,有则使用IP进行通信;
3.如果hosts没有这个域名的映射,则查找本地DNS解析器缓存是否有映射关系,有则直接返回完成域名解析;
4.如果还未找到映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,也就是常称的本地DNS服务器,如果服务器已缓存了映射关系,则使用这个IP地址映射返回完成域名解析,此时解析不具有权威性;
5.如果本地DNS服务器缓存已经失效,进行递归查询。

DNS常见的记录及作用 

DNS记录类型
域名和IP之间的对应关系,称为“记录”(record)。根据记录使用的目的不同,又分为不同的类型,常见的DNS记录类型如下:
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录,主要用于说明管理员的信息,时间参数的信息;
A:地址记录(Address),返回域名指向的IP地址。
NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。迭代解析(我知道你可以找谁),配合A记录使用。
MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转。
PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名

资源记录定义的格式

记录一条域名信息映射关系,称之为资源记录(RR)。
当我们查询域名www.sangfor.com的时候,查询结果得到的资源记录结构体中有如下数据:
1、TTL,生存周期,是递归服务器会在缓存中保存该资源记录的时长,即客户端的到解析结果的缓存时长,可从全局继承 。
2、网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。
3、type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。
4、rdata是资源记录数据,就是域名关联的信息数据。

SOA记录:
name: 当前区域的名字,例如“sangfor.com.”;
value: 有多部分组成
(1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
(2) 录前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,admin.sangfor.com;
(3) (主从服务协调属性的定义以及否定的答案的统一的TTL)
例如:
sangfor.com. 86400 IN SOA ns.sangfor.com. nsadmin.sangfor.com. (2020032201 ;序列号 2H ;刷新时间10M ;重试时间 1W ;过期时间 1D ;否定答案的TTL值)

A记录:较多
name: 某主机的FQDN,例如www.sangfor.com.
value: 主机名对应主机的IP地址;
例如:
www.sangfor.com. IN A 1.1.1.2
mx1.sangfor.com. IN A 1.1.1.3
mx2.sangfor.com. IN A 1.1.1.3
注意:
*.sangfor.com. IN A 1.1.1.4
Sangfor.com. IN A 1.1.1.4
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址;

NS记录:
版权所有© 2020深信服科技股份有限公司 第25页
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如ns.sangfor.com.;
注意:一个区域可以有多个NS记录;
例如:
sangfor.com. IN NS ns1.sangfor.com.
sangfor.com. IN NS ns2.sangfor.com.
注意:
(1) 相邻的两个资源记录的name相同时,后续的可省略;
(2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录;

MX记录:
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名;
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;
例如:
magedu.com. IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
注意:
(1) 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录;

CNAME记录:
name: 别名的FQDN
value: 正工名字的FQDN;
例如:
web.sangfor.com. IN CNAME www.sangfor.com

PTR记录:
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完
整写法为:4.3.2.1.in-addra.arpa.
value: FQDN
例如:
4.3.2.1.in-addr.arpa. IN PTR www.sangfor.com
简写成:
4 IN PTR www.sangfor.com.
注意:网络地址及后缀可省略;主机地址依然需要反着写;

10.网络协议-DNS协议相关推荐

  1. 网络协议-DNS协议

    DNS协议 域名解析协议,属于应用层协议,是基于TCP和UDP的53号端口 1.目的 为客户机提供域名解析 2.域名 域名空间系统 根域:. 顶级域 地区:cn.hk.us 组织:com.org.ed ...

  2. 【计算机网络】TCP/IP协议(DNS协议、IP协议、TCP协议、UDP协议、三次握手、四次挥手)

    TCP/IP协议 TCP/IP协议 TCP/IP各层作用与常见协议 各种协议与HTTP协议的关系 TCP/IP协议 本文参考<图解HTTP>--上野宣 TCP/IP是Internet上所有 ...

  3. 网络之DNS协议图解

    DNS是计算机域名系统 (Domain Name System) 域名系统采用类似目录树的等级结构. 域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器. ...

  4. 以太网协议、ARP协议、NAT协议、DNS协议

    目录 1. 数据链路层的以太网协议 2. ARP协议 3. NAT协议 NAPT协议(动态NAT重载) 4. DNS协议 1. 数据链路层的以太网协议 数据链路层的以太网协议本质上其实就是相邻设备之间 ...

  5. DNS协议——域名解析

    DNS协议 DNS协议是一个应用层协议,作用是域名解析   使用DNS协议的原因,就是因为哪怕是点分十进制,对于我们都不太友好,因此使用域名来代替IP地址,比如www.baidu.com   最开始的 ...

  6. 数据链路层 --- ARP,NAT,DNS协议

    数据链路层 以太网帧 ARP 协议 NAT协议 NAPT(NAT重载) DNS协议 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间. 数据链路层在物理层提供的服务的基础上向网络层提供服 ...

  7. 【网络基础知识】DNS协议及服务介绍(详细)

    1. 简介 域名系统(Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网. DNS使用TCP和UDP端 ...

  8. 前端网络基础-应用层DNS协议

    目录 初识域名 正向解析和反向解析 DNS解析 主机本地hosts文件实现DNS解析 浏览器缓存实现DNS解析 本地DNS服务器实现DNS解析 域名的组成 DNS迭代解析 DNS递归解析 DNS协议 ...

  9. 前后端通信 跨域 网络协议 DNS CDN HTTPS

    本篇文章有点长,内容比较枯燥,就当作知识点的整理了. 服务 在局域网中通过某些服务软件开启WEB服务功能,在该局域网中其它用户可以通过该打开服务的电脑 IP,找到该服务下web页面,默认打开的页面是i ...

最新文章

  1. ioS html的转义
  2. 数据库管理专才四步走
  3. 滑动验证码、文件上传、form、AJAX.....
  4. vm15 安装 mac虚拟机的过程 转载的
  5. 【使用C语言的7的步骤】
  6. 遗传算法GA原理详解及实例应用 附Python代码
  7. 结合spring IOC AOP Mybatis写一个简易的银行转账案例
  8. 仓储管理之盘点——盘点方法
  9. 留学生交流互动论坛网站
  10. android 模拟器手机如何添加文件到sd卡?
  11. Android_openCV图片处理
  12. 3D可视化应急物资仓库管理系统-应急物资可视化系统-数字孪生
  13. Linux下通过开源软件fail2ban进行远程登录防护
  14. 大数据分析培训课程机器学习
  15. 玩游戏用什么轴的机械键盘好_机械键盘轴哪个最适合打游戏
  16. 夏日蚊子大又多 叮咬起包挤不得
  17. 怎样知道mysql的驱动是什么_MySQL连接查询到底什么是驱动表?看了这里你应该就明白了...
  18. zip压缩到指定目录
  19. python html网页合并单元格,python合并单元格解决办法
  20. XTAL OSC的经验小结

热门文章

  1. 启动SpringBoot时报错
  2. ORACLE EXECUTE IMMEDIATE 用法
  3. RTSP 流媒体测试地址
  4. 基于Java实现计算机远程唤醒(WOL)功能
  5. OSChina 周四乱弹 ——霍金!你要真挑起来星球大战,放学你等着!
  6. (转载)深度剖析 | 可微分学习的自适配归一化 (Switchable Normalization)
  7. locust利用locust-plugins插件,将结果记录到TimescaleDB数据库,用Grafana 绘制结果
  8. 3畅销的三星蓝光播放机比较
  9. mysql附录建表_用CREATE TABLE 语句创建数据表
  10. Redis 可视化工具