内容来源视频地址:DNS域名解析过程_哔哩哔哩_bilibili
什么是DNS域名解析
我们首先要了解域名和IP地址的区别。IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。
但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,这样对于我们日常工作生活访问不同网站是很困难的。基于这种背景,人们在IP地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比IP地址更易被识别和记忆,逐渐代替IP地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。
域名解析:例如,www.baidu.com是一个域名,和IP地址202.108.22.5相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打 baidu 的名字来代替电话号码(IP地址)。我们直接调用网站的名字以后,DNS就会将便于人类使用的名字(如www.baidu.com)转化成便于机器识别的IP地址(如202.108.22.5)。
什么是域名
域名服务器管理名字的方法是:分不同的组来负责各子系统的名字。系统中的每一层叫做一个域,每个域用一个点分开。
所谓域名服务器(即Domain Name Server,简称Name Server、DNS)实际上就是装有域名系统的主机。它是一种分层结构数据库,能够执行域名解析(name resolution)。
DNS可以允许一个名称服务器把他的一部分名称服务(众所周知的zone)“委托”给子服务器,从而实现一种层次结构的名称空间。此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。
当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。域名同时也仅限于ASCII字符的一个子集,这使得很多其他语言无法正确表示他们的名字和单词。基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集,这已经通过了验证并被一些注册机构作为一种变通的方法所采纳。 [5] 另外,在域名中大小写是没有区分的。域名一般不能超过5级,从左到右域的级别变高,高的级域包含低的级域。域名在整个Internet中是唯一的,当高级子域名相同时,低级子域名不允许重复。一台服务器只能有一个IP地址,但是却可以有多个域名。
域名、创建时间、使用范围说明 :
.com- 供商业机构使用,但无限制最常用,被大部分人熟悉和使用
.net- 1985年1月,原供网络服务供应商使用,现无限制
.org- 1985年1月,原供不属于其他通用顶级域类别的组织使用,现无限制
.edu / .gov / .mil- 1985年1月,供美国教育机构/美国政府机关/美国军事机构。因历史遗留问题一般只在美国专用 具体可见域名_百度百科
域名的组成结构
DNS解析域名全过程
小伙伴可以通过输入以下指令来更好的理解DNS解析域名的过程
首先通过 win+r 打开 运行窗口
输入 cmd
第一步
然后在命令行中输入 nslookup, 返回默认的DNS服务器和IP地址
第二步
输入 set type=ns 此处的ns代表服务器名称name server
然后输入 . 代表查询根服务器名称
此处可以查询到13个根服务器名称,根据bi站蛋老师的检索结果显示,该13个域名分别由12家不同机构进行管理,并且由1467节点进行维护
第三步
输入 set type=a
输入 a.root-servers.net. 显示b这个根服务器对应的ip地址
第四步
输入 server 199.9.14.201 和该根服务器域名建立通信(此处有可以会出现DNS request time out),大家可以尝试切换其他节点的服务,如d.root-servers.net.
在进行这一步的时候我也出现了上述问题,我切换到了d.root-servers.net. 服务
该处ip地址为199.7.91.13
第五步
输入 set type=ns
输入 com. 向b根域名服务器咨询,com. 域名服务器的地址
此处响应为权威响应,因为是我们现在接入的根服务器域名对我们的真实响应,其中,gtld为通用顶级域(英语:Generic top-level domain),于是我们可以直接和任意一个ip地址进行通信,这里
第六步
输入 server 192.33.14.30 和b对应的gtld进行通信,显示出如下通信信息
第七步
输入 set type=a
输入 baidu.com. 查询baidu.com. 对应域名在该gtld下的ip地址
第八步
输入server 220.181.33.31 (又可能是延迟的原因,出现request timed out)再输入一次就好了
第九步
输入 set type=ns
输入 www.baidu.com.
第十步
输入 www.a.shifen.com 这里返回的ip地址就是我们最终解析到的ip
第十一步
当然想看具体的ip地址,还可以通过上述方法继续跟进
server 180.76.76.95
www.a.shifen.com