DNS介绍
DNS(Domain Name System)域名系统,是互连网上的一项服务,用于将域名转换为与之相对应的IP地址,域名虽然便于记忆,但TCP/IP网络中,设备之间的通信依赖IP地址来实现,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
主机名
主机名可以理解为网络设备的别名,通常是由一个简短的、易于记忆的字符串组成,通过主机名可以使用户和系统管理员轻松地区分和引用不同的设备。
例如:ubuntu_apache,centos_mysql,这样很容易区分当前的作用。
域名
域在不同的上下文中有不同的含义。但通常有一个“范围”或“区域”的意思。在DNS中,可以理解为为标识互联网上某个位置的名称。
域名(domain name):表示某个域的名称,域名是一串由点分隔的字符串组成。
完全限定域名
完全限定域名(FQDN)是主机名和域名结合而来的,在一个域中有很多个设备,使用完全限定域名来精准定位一个域中的指定设备。
FQDN=主机名+域名,所以一个完全限定域名的主机名位于域名的前面
例如:在域 baidu.com 这个域中,可能就有很多服务器,这个时候就通过完全限定域名来表示这个域中的一个或者一组服务器。类似于www.baidu.com,www就表示baidu.com中的一个或者一组设备。
www 介绍
www(World Wide Web)万维网,所谓的万维网其实就是个采用C/S架构信息系统,数据存放在服务端,客户端(例如各种浏览器)通过特定的协议(例如http)来获取服务端的资源。
我们平时所说的web其实就是万维网的另外一种叫法(简称)。
域名的组成
域名分为根域、顶级域、二级域、……、最多可达到127级域名,上面我们说了域名是由点(.)分隔的字符串。这些点分隔的部分表示不同级别的域,从最右边的顶级域开始,往左逐渐指向更具体的子域。
一般的域名一般由两级组成的 二级域.顶级域.(最末尾的 . 表示根域,通常是隐含的,不直接显示)
例如:
baidu.com
. # 根域(可以忽略不写)
|
|
gov edu com net org cn # 顶级域:最初只有七个
|
|
360 baidu google sougou #二级域
顶级域
刚开始顶级域只有七个,到了后面就越变越多了。常见的顶级域有以下:
-
com(表示商业公司)
-
net(表示互联网组织)
-
edu(表示教育结构)
-
org(表示非营利性组织)
-
int(表示internet)
-
mil(表示军事用途)
-
gov(表示政府使用)
-
cn(表示国家地区域名,cn表示中国)
二级域
二级域就很多了,常见的二级域有这些
-
baidu
-
google
-
taobao
-
xiaomi
-
openai
-
zhihu
域名解析流程
这里我们说的域名是指的完全限定域名(FQDN)
1、域名解析是一个将域名转换为与其关联的IP地址的过程,这个过程就是由DNS来完成的,大致步骤是这样的:
2、用户在浏览器中输入域名。首先,浏览器会检查自身的缓存中是否有对应的IP地址。若无,继续下一步。
3、系统会检查操作系统的DNS缓存,查看是否存在该域名的解析记录。若无,继续下一步。
4、系统会将DNS查询请求发送给用户网络配置中指定的DNS服务器。这个DNS服务器会查找其缓存中的记录。若找不到相关记录,它会进一步查询。
5、未解析到对应IP的DNS服务器会向根DNS服务器发起查询。根DNS服务器返回对应的TLD DNS服务器地址。TLD DNS服务器随后指导查询到负责该具体域名的权威名称服务器。
6、权威名称服务器响应查询,返回对应的IP地址。在返回过程中,该IP地址可能被路径上的各个DNS服务器缓存,以便下次更快速地解析相同的域名请求。
DNS查询类型
有这么一个说法:
浏览器输入 www.baidu.com这个FQDN,首先找浏览器缓存和系统缓存有没有,没有就找当前计算机配置的DNS地址,如果这个地址还没有就直接交给根域(.)了,根域交给它的下一级域(顶域)com,com再交给它的下一级域baidu进行找,一般到这儿就能把对应的IP地址给找到了。
其实这个说法不太准确,应该这样理解:
当用户计算机上配置的DNS服务器(例如ISP的DNS)没有找到对应的IP地址时,它会将查询请求发送到根DNS服务器。根DNS服务器会返回负责管理.com顶级域的权威名称服务器的地址。ISP的DNS根据这个地址查询.com的权威名称服务器。.com的权威名称服务器看到请求后,将负责管理baidu.com的权威名称服务器的地址返回给ISP DNS。ISP DNS再查询这个权威名称服务器,得到www.baidu.com的IP地址,并最终返回给用户。
所以这个过程涉及到了DNS的两种查询类型,递归查询和迭代查询:
-
递归查询:用户向本地配置的ISP DNS发起请求,ISP DNS没查询到,会向其它的DNS服务器查询,这就是递归啊查询
-
迭代查询:本地的ISP DNS没找到,会给根DNS、然后一层一层找。这就叫做迭代查询
CDN介绍
CDN(Content Delivery Network)内容分发网络,可以和智能DNS进行一个简单的类比,因为智能DNS的目标就是在整个网络范围内将用户的请求定向到最近的节点或区域,都是通过就近原则来提高用户的网络体验。