不知道大家有没有遇到过类似的情况。 你的电脑明明已经联网了,微信、QQ等软件的客户端也可以正常使用,就是打不开网页。
这是怎么回事?
可能是你的DNS服务器地址获取有问题。
那么什么是DNS?
好了,程哥今天就跟大家聊一聊DNS知识。
01 域名系统
DNS(名称)是域名系统
什么是域名系统? 它是一个自动将我们常用的网址转换成IP地址的系统。
URL就是域名,也可以简单理解为网址,比如我们常用的百度()、淘宝()等。 这些都是域名。
熟悉TCP/IP协议的同学都知道,上主机之间的通信需要指定IP地址和MAC地址。
我们可以通过IP地址访问目标网站。 但我认为没有人愿意这样上网,除非你是个数字狂,而且你能记住各种数字。
因此,域名服务器应运而生。 通过域名系统将IP和URL进行转换,我们不需要记住这个复杂的数字,只需要记住有实际意义的URL即可。
我们知道互联网连接全球资源,单一的域名服务器不足以支持全球地址转换操作。
因此,在全球范围内有多套域名服务器相互配合使用。 早在1983年,互联网就开始采用层次化的树状结构命名方式,并采用分布式域名系统。
02 域名结构
采用分层树结构的命名方式,主要是为了满足世界不同地区同时访问的需要。
上的所有 Web 服务器都具有全球唯一的域名。
域名结构如下:
每个域名都由一系列由小数点分隔的标签组成。
这是微信下载页面的域名。 它由三个标签组成,其中标签com为顶级域名,标签qq为二级域名,标签为三级域名。
同时,域名的级别是从左到右,从高到低写的。
换句话说,它只是一个较低级别的域名。
域名并没有规定一个域名可以包含多少个下级域名,也没有规定每一层的域名都有特定的含义,只要能明确标识即可。
各级域名由其上级域名管理机构管理,最高顶级域名由ICANN管理。
域名中的标签通常由标签和数字组成,每个标签不超过63个字符,不区分大小写。
但是,破折号(-)也可以出现在标签中,例如Made in China。
03域名空间
所谓域名空间就是域名的组成。
包括根、顶级域名、二级域名、三级域名、四级域名……
顶级域主要分为三种类型:
(1) 第一类,国家和地区顶级域名(代码顶级),简称。
目前已有200多个国家和地区按照国家代码分配了顶级域名。 比如cn代表中国,jp代表日本,us代表美国,sg代表新加坡等。
(2)第二类,通用顶级域名(top-level),简称gTLDs。
例如,.com 代表企业,.net 代表网络提供商,而 .org 代表非营利组织。
(3) 第三类,新顶级域名(New gTLD)。
新的顶级域名旨在打破常规,例如 .ltd 代表有限公司,.work 代表工作,.site 代表网站资产,.club 代表俱乐部,等等。
域名空间图如下:
04域名服务器
域名服务器也分层次。
主要包括:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器等。
(1) 根域名服务器
最高级别的域名服务器也是最重要的域名服务器。
所有根域名服务器都知道所有顶级域名服务器的域名和IP地址。
不管是哪个本地域名服务器,如果要解析互联网上的任何域名,只要自己无法解析,就应该先向根域名服务器求助。
(2) 顶级域名服务器
负责管理在顶级域名服务器上注册的二级域名。
(3) 权威域名服务器
负责“区域”的名称服务器。
(4)本地域名服务器
当主机发送DNS查询请求时,查询请求报文被发送到本地域名服务器。
05 域名解析流程
域名解析一般采用递归查询的方式进行。
一个完整的域名解析流程如下图所示:
(1) 第一步:查询浏览器缓存。
浏览器通常以一定的频率缓存 DNS 记录。 此步骤适用于已经进行过 DNS 解析的主机。
(2)第2步:查询hosts文件。
如果在浏览器缓存中找不到所需的DNS记录,则需要在操作系统中查找hosts文件。
(3) 第三步:查询本地域名服务器。
如果在hosts文件中找不到所需的DNS记录,则继续查询本地域名服务器。 本地域名服务器通常是运营商提供的DNS服务器。
(4)第四步:递归查询根域名服务器。
如果在本地域名服务器中找不到所需的DNS记录,则本地域名服务器会向根域名服务器发出请求,进行递归查询。
根域名服务器不会直接告知具体的DNS记录。 而是告诉本地域名服务器继续查询某个顶级域名服务器。
(5)第五步:递归查询顶级域名服务器。
顶级域名服务器不会将具体的DNS记录通知本地域名服务器,而是通知本地域名服务器继续向权威域名服务器查询。
(6)第6步:递归查询权威域名服务器。
通过查询权威域名服务器,会得到具体的DNS记录。