DNS基础知识(前端工程师必备知识)

news2024/11/27 22:20:44

DNS

在工作中,经常切换本地和服务器,添加各种解析。遇到DNS引起的一些问题。发现网上资料很混乱,用心整理写了下,希望对大家有帮助。

DNS(Domain Name System,域名系统),最初,由于ip长且难记,通过ip访问网站不方便。。所以后来通过发明了DNS服务器,这个时候我们访问网站输入网站域名,DNS服务器就解析我们的域名为ip。这样我们实际访问的就是对应的ip地址啦。

抽象点DNS就是 一个记录ip地址的超级分布式数据库。

根域和根域服务器

首先我们要明白如何区分域,至于如何解析我们后面慢慢讲。

当我们输入www.sunhao.win访问网站。实际上是访问了不同的域。
其中”.”是DNS 命称空间,用来分割不同域,

www,sunhao,win分别代表不同的域。其实还有个域,跟在win后面,只是因为是域名系统默认的,所以这里不用写,这个就是根域。

意义上域名应该是这样。

www.sunhao.win.根域

根域记录了所有win域(这一个位置的叫顶级域),它和sunhao(二级域),共同构成顶级域名sunhao.win

www(三级域)和sunhao.win叫二级域名www.sunhao.win

这里大家要明白sunhao.win和www.sunhao.win是两个不同的网址。

因为我们上网使用的UDP/TCP,UDP数据往往没有保障,但速度快,通常用于查询和响应,TCP由于多次验证,传输有保证,但速度慢,多用于主服务器和从服务器之间的传送。

因此我们DNS主要通过UDP。

当我们访问www.sunhao.win的时候,如果本地dns服务器没有记录,那么它就会向根服务器去请求地址。

也就是它会向根服务器请求win域的地址。然后通过win域继续向下请求。根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

所以根域名服务器很重要。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。

顶级域和顶级域服务器

例如www.sunhao.win

win所在的位置就是顶级域

域名只是逻辑概念,并不代表计算机所在的物理地点。据2006年12月统计,现在顶级域名TLD(Top Level Domain)已有265个,分为三大类:

(1)国家顶级域名nTLD:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。

(2)通用顶级域名gTLD:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。

顶级域名服务器主要负责管理在该顶级域名服务器注册的二级域名。

权威DNS和权威域名服务器

权威DNS服务器是经过上一级授权,对域名进行解析的服务器,同时它可以把解析授权转授给其他人。

例如,
在互联网上,谁售出的域名,就把域名授权给谁,比如sunhao.win是阿里售出的,所以权威服务器是阿里的dns解析服务器。(为了保障安全和保障一般权威DNS服务器都是俩)

dns9.hichina.com
dns10.hichina.com

但是由于业务我从后台调整解析到yunjiasu。

;; AUTHORITY SECTION:
sunhao.win. 2992 IN NS n563.ns.yunjiasu.com.
sunhao.win. 2992 IN NS n3101.ns.yunjiasu.com.

 

其中n563.ns.yunjiasu.com和n3101.ns.yunjiasu.com是sunhao.win的权威服务器。
由顶级域名win授权ns.yunjiasu.com.进行管理的。

当访问sunhao.win通过顶级域名解析后,顶级域名win就给用户说,你要访问sunhao.win是吧,你得去n563.ns.yunjiasu.com看看,它那记录了ip地址,不行就去n3101.ns.yunjiasu.com.再不行,你就自己报错把。^_^.

通俗点说,就是爸爸给孩子十块钱(这里指域名),这十块钱,孩子可以自己花,也可以转给别人。拥有了控制十块钱的所有权限。简单点说,就是一旦把域名授权给我,授权给我的那部分,我做主。

运营商DNS服务器和本地DNS服务器

在实际上网中,我们不是直接连接根服务器,而是通过本地DNS服务器上网。

如果DNS设置不好,或者不对,会导致如我们qq能登陆,而页面无法浏览网页的症状、

在这,本地DNS主要指是指各地电信运营商提供的域名解析服务器。也就是我们在上网网卡里面你设置的DNS地址。当然也可以自己建设一个服务器。

查询

我们了解了个个服务器,理一下常规DNS系统如何运作的吧

1,用户—>本地递归服务器— > 根权威服务器— > COM权威服务器— > X(X代表任意地址).COM权威服务器— > 本地递归服务器— >用户

2,用户—>本地递归服务器— > 缓存 — >用户

在这我们要明白两点。

一、递归查询:主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

简单说 就是说我们请求的地址 必须返回一个准确的ip地址,没有就向别的地址查询,然后返回给我们一个准确的ip地址。我们的本地服务器就是递归服务器。

二、迭代查询:本地域名服务器向根域名服务器的查询的迭代查询。迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

这里由各级服务器进行的就是迭代查询,自身不返回ip,而是返回给下一级的DNS服务器地址。

实际一般本地DNS访问量巨大,会有一个前置的F5服务器,用于分发给后缀的服务器实现负载均衡。同时服务器会根据设置会缓存一段时间地址。所以有时候我们在服务器改完DNS,有时候会等一段时间,才能访问到新的地址。

解析记录

域名解析记录A、CNAME、MX、NS、TXT、AAAA、SRV、显性URL、隐形URL含义

  1. A记录:解析域名到指定ip

  2. CNAME记录(Canonical Name 别名指向):解析域名到域名

  3. MX记录:指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。

  4. NS记录:解析服务器记录。用来表明由哪台服务器对该域名进行解析,这里的NS记录只对子域名生效。
    优先级:NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。这里的NS记录只对子域名生效。

  5. TXT记录:为某个主机名或域名设置联系信息,如:
    admin IN TXT “管理员, 电话: 1000000000”

  6. AAAA记录(AAAA record):是用来将域名解析到IPv6地址的DNS记录。用户可以将一个域名解析到IPv6地址上,也可以将子域名解析到IPv6地址上。

  7. SRV记录:一般是为Microsoft的活动目录设置时的应用。

  8. 显性URL记录:访问域名时,会自动跳转到所指的另一个网络地址(URL),此时在浏览器地址栏中显示的是跳转的地址。

  9. 隐形URL记录:访问域名时,会自动跳转到所指的另一个网络地址(URL),此时在浏览器地址栏中显示的是原域名地址。

应答

权威应答

由权威服务器区域直接返回的应答地址

非权威应答

由缓存或者其他服务器返回的地址

TTL值和缓存

假如我们每次都发送一次DNS请求,那么服务器的压力会相当大,但是服务器的ip地址一般会经常变,所以实际我们都设置TTL把DNS缓存到本地。

什么是域名的TTL值?
TTL(Time- To-Live),简单的说它就是返回的记录在DNS服务器上保留的时间,就是TTL值。
mark

DNS会将最终域名解析的结果缓存至本地。分为两种浏览器缓存和操作系统(OS)缓存。

在浏览器中访问的时候,会优先访问浏览器缓存,如果访问指定域名,没有命中返回,则访问OS缓存。最后再次访问dns服务器。

所以我们在调试的时候,更换了本地hosts仍然访问的是旧地址,那么就等一会吧。

mark

我们可以看到chrome会自动缓存70s dns。

那么我们如果想在70s内清除缓存怎么办呢?

mark

我们在chrome地址栏里面输入chrome,会自动索引出有关的基本地址。选择chrome-urls

往下拉选择chrome://net-internals

mark

其中最右面

mark

可以清除页面缓存

mark

点Clear host cache,可以用于清除DNS缓存。

其实这个页面最好收藏下来,便于以后调试时及时刷新。

hosts

在DNS系统之前,对应ip都是保存在hosts文件之中,现在系统仍然保留它。

实际通过浏览器访问,会先查询浏览器dns缓存,再查询hosts里面是否有记录

mark

一般win系统Hosts文件就在C:\WINDOWS\system32\drivers\etc中

通过hosts我们可以把域名改成本地的地址,进行调试开发。

对于经常访问的网站,也可以直接设置到hosts里,加快访问速度。

sunhao.win解析过程分析

最后我们看下用dig +trace 跟踪的全部解析过程

[root@sunhao ~]# dig +trace www.sunhao.win

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> +trace www.sunhao.win

;; global options: +cmd

. 12674 IN NS e.root-servers.net.

. 12674 IN NS i.root-servers.net.

. 12674 IN NS h.root-servers.net.

. 12674 IN NS k.root-servers.net.

. 12674 IN NS d.root-servers.net.

. 12674 IN NS l.root-servers.net.

. 12674 IN NS a.root-servers.net.

. 12674 IN NS c.root-servers.net.

. 12674 IN NS m.root-servers.net.

. 12674 IN NS g.root-servers.net.

. 12674 IN NS b.root-servers.net.

. 12674 IN NS f.root-servers.net.

. 12674 IN NS j.root-servers.net.

;; Received 492 bytes from 211.161.46.85#53(211.161.46.85) in 42 ms

win. 172800 IN NS ns1.dns.nic.win.

win. 172800 IN NS ns6.dns.nic.win.

win. 172800 IN NS ns3.dns.nic.win.

win. 172800 IN NS ns2.dns.nic.win.

win. 172800 IN NS ns5.dns.nic.win.

win. 172800 IN NS ns4.dns.nic.win.

;; Received 412 bytes from 192.36.148.17#53(192.36.148.17) in 191 ms

sunhao.win. 3600 IN NS n563.ns.yunjiasu.com.

sunhao.win. 3600 IN NS n3101.ns.yunjiasu.com.

;; Received 86 bytes from 156.154.145.182#53(156.154.145.182) in 2415 ms

www.sunhao.win. 300 IN A 162.159.211.33

www.sunhao.win. 300 IN A 162.159.210.33

;; Received 92 bytes from 220.181.111.112#53(220.181.111.112) in 6 ms

 

 

.就是一开始说的根域。NS就是指定该域名由哪个DNS服务器来进行解析。

我们可以清晰的看到第一步先从13台dns服务器,然是顶级域win,最后权威域sunhao.win。
查到地址在162.159.211.33和162.159.210.33上。最后的是A记录。不再是NS了哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/769615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ipad可以使用其他品牌的手写笔吗?平价ipad手写笔推荐

我是一个拥有多年数码经验的爱好者&#xff0c;我知道一些关于电容笔的知识。我认为&#xff0c;苹果原装的电容笔与普通的电容笔最大的不同之处&#xff0c;就是其所带来的压感不同。由于“重力压感”的特殊性&#xff0c;我们能很快地把色彩填充到画面中。除此之外&#xff0…

tql!红队批量脆弱点信息搜集工具

功能如下 指纹识别:调用“三米前有香蕉皮“前辈工具&#xff0c;他的工具比finger好用 寻找资产中404&#xff0c;403&#xff0c;以及网页中存在的其他薄弱点&#xff0c;以及需要特定路径访问的资产 后续会把nuclei加进来 目前只有windows可以用 关注【Hack分享吧】公众号&a…

6款好用的在线原型图设计工具推荐

在线原型图的核心功能是可视化需求&#xff0c;因此一个易于使用的在线原型图工具对原型图设计至关重要。对于熟悉的Photoshop和iIlustrator来说&#xff0c;虽然它们功能强大&#xff0c;但界面太复杂&#xff0c;初学者很难快速启动&#xff0c;面对批量调整的在线原型图&…

模型驱动的深度学习方法

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在学习摘录和笔记专…

MySQL高阶语句之一

目录 模版表 一、ORDER BY语法 1.1语法 1.2升序 1.3降序 1.4多高字段排序 二、AND/OR--且/或 2.1AND 2.2OR 2.3嵌套/多条件 三、distinct 查询不重复记录 3.1语法 四、GROUP BY语法 4.1语法 五、限制结果条目&#xff08;limit&#xff09; 5.1语法 5.2实验 五、设…

mac怎么转换音频格式为mp3

mac怎么转换音频格式为mp3&#xff1f;熟悉音频文件的人都知道&#xff0c;音频格式有许多不同种类。尽管有多种音频格式&#xff0c;但最受欢迎且最通用的是MP3格式。无论在哪个播放器上&#xff0c;MP3格式的音频都能轻松打开。而其他格式可能会出现不兼容无法打开的情况。因…

高斯误差线性单元激活ReLU以外的神经网络

高斯误差线性单位&#xff08;GELU&#xff09;激活函数由加州大学伯克利分校的Dan Hendrycks和芝加哥丰田技术研究所的Kevin Gimpel于2018年引入。激活函数是触发神经元输出的“开关”&#xff0c;随着网络的深入&#xff0c;其重要性也随之增加。最近几周&#xff0c;机器学习…

如何在Microsoft Excel中使用SORT函数

虽然 Microsoft Excel 提供了一个内置的数据排序工具,但你可能更喜欢函数和公式的灵活性。 使用 SORT 函数的好处是,你可以在不同的位置对数据进行排序。如果你想在不干扰原始数据集的情况下操作项目,你会喜欢 Excel 中的 SORT 函数。但是,如果你喜欢对项目进行原位排序,…

Path Finder for Mac:提升你的文件管理效率

作为一名 Mac 用户&#xff0c;你可能已经意识到原生的 Finder 文件管理器在某些方面存在一些限制。如果你正在寻找一个更强大、更灵活的文件管理工具&#xff0c;那么 Path Finder for Mac 是一个值得考虑的选择。 Path Finder for Mac是一款专为 Mac 设计的高级文件管理工具…

p2p大豆计数模型

前面学习了一下论文&#xff1a;Improved Field-Based Soybean Seed Counting and Localization with Feature Level Considered 论文链接&#xff1a;https://spj.science.org/doi/10.34133/plantphenomics.0026 解读链接&#xff1a;论文阅读--考虑特征水平的改进的基于田间…

SQL语句GROUP BY、HAVING、EXISTS、SQL函数(Null判断、日期相关、计算数值和字符串操作 )

目录 GROUP BY HAVING EXISTS SQL函数 Null判断函数 日期数据类型及函数 计算数值和字符串操作函数 AVG(平均值) COUNT(数据条数) FIRST/LAST(第一条数据) MAX/MIN(最大值) SUM(列总和) UCASE/ LCASE (转换大小写) MID(截取字符串) LEN(字符值的长度) ROUND(数…

Java版知识付费-轻松拥有知识付费平台

Java版知识付费-轻松拥有知识付费平台 多种直播形式&#xff0c;全面满足直播场景需求 公开课、小班课、独立直播间等类型&#xff0c;满足讲师个性化直播场景需求&#xff1b;低延迟、双向视频&#xff0c;亲密互动&#xff0c;无论是互动、答疑&#xff0c;还是打赏、带货、…

开放式耳机别人能听到吗?开放式蓝牙耳机的优缺点?

​开放式耳机在近几年越来越受欢迎&#xff0c;而市面上的不入耳开放式耳机就分为气传导和骨传导两大类。开放式耳机不入耳设计&#xff0c;佩戴上耳更加稳固舒适&#xff0c;长时间没有压力&#xff0c;而传统入耳式耳机则在封闭情况下听音会容易闷耳&#xff0c;长时间佩戴还…

Linux中文件系统详解——关于loop

都是nvme0n1p3——第三分区的内存分出去的&#xff0c;第二分区为微软的保留分区。 -------------------------------------------------------------------------------------------------------------------------------- 1&#xff0c;4&#xff0c;5&#xff0c;6分区已经…

Windows下 创建 FTP 服务器及相关设置

Windows 创建 FTP 服务器 1. 示例功能说明 FTP 服务器根路径下的目录&#xff1a; C:\USERS\SQQIAN\DESKTOP\FTP └─localuser├─FTP1 # 只有用户名为FTP1可以访问&#xff0c;读写均可│ FTP11.txt│├─FTP2 # 只有用户名为FTP2…

排序算法第四辑——归并排序与计数排序

目录 一&#xff0c;归并排序算法 二&#xff0c;归并排序的非递归版本 三&#xff0c;计数排序 一&#xff0c;归并排序算法 归并排序算法是一个特别经典的算法了。这个算法采用的思想就是一个分治的思想&#xff0c;也就是将大问题化为子问题的思想。这个思想其实我们经常…

如何用双指针法解决力扣“反转单词前缀”问题

本篇博客会讲解力扣“2000. 反转单词前缀”的解题思路&#xff0c;这是题目链接。 本题的思路是&#xff1a;先调用strchr函数&#xff0c;在字符串word中查找字符ch&#xff0c;若找到了&#xff0c;则会返回一个非空指针p&#xff0c;指向ch在word中的位置。为了反转从word到…

下一个更大元素 I 力扣 HashMap + Deque栈 JAVA

nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。 对于每个 0 < i < nums1.length &#xff0c;找出…

2023年北京/上海/深圳CSPM-3中级国标项目管理认证报名

CSPM-3中级项目管理专业人员评价&#xff0c;是中国标准化协会&#xff08;全国项目管理标准化技术委员会秘书处&#xff09;&#xff0c;面向社会开展项目管理专业人员能力的等级证书。旨在构建多层次从业人员培养培训体系&#xff0c;建立健全人才职业能力评价和激励机制的要…

基于ESP32-S3-BOX-Lite的语音合成与播报系统(esp-idf+WiFi+HTTPS+TTS)

目录 项目介绍硬件介绍项目设计开发环境及工程目录硬件初始化WiFiHTTPS请求TTS语音合成与播报cJSON解析TTS初始化语音合成与播报 附加功能按键回调LVGL数据可视化显示 功能展示项目总结 &#x1f449; 【Funpack2-3】基于ESP32-S3-BOX-LITE的B站粉丝数语音播报系统 &#x1f44…