每一次上网打开某个页面的背后,都有 DNS 的一份功劳。
今天和小编一起来了解一下吧!
人类的沟通,从知道对方的名字开始,像是小芳、小美这样的名字,便于记忆。
但是如果遇到有重名的人,就得费力去仔细分辨,毕竟将要发给刘伟 12 号的消息,错发给了刘伟 35 号,就会比较尴尬。
计算机王国是数字的世界,每个计算机都可以用独特的数字代表自己,完美避开了重名的烦扰。这个独特的数字,我们一般称之为 IP 地址。
目前,IP 地址有 2 种:
IPv4 是网际协议开发过程中的第四个修订版本,是应用最广泛的版本,也是互联网的核心。IPv4 是一个 32 位长的二进制数字,即是由 0 和 1 组成的长度达 32 位的数字串,代表了 4,294,967,296 个地址,接近 43 亿个的 IPv4 地址。
为了方便记忆,这些 32 位的 0 和 1,也可以采用十进制来展示。最常用的就是:192.168.1.1。
IPv4 地址的格式,如下图所示。
在互联网早期的人们看来,每一个计算机分配一个 IPv4 地址,是绝对够用的。
然而,有一些事情的发展,总是会超出人们的期望!
互联网的飞速发展,导致在 2019 年 12 月底,全球的 43 亿个 IPv4 地址,已经被分配殆尽。
聪明的人们,也采用了一些技术方法,来缓解 IPv4 地址的枯竭困境,比如:
回收 IPv4 地址:互联网号码分配局(IANA)和区域互联网注册管理机构(RIR)将在互联网初期分配出去的大段 IPv4 地址,进行回收,并根据需要进行重新分配。
动态 IPv4 地址:通过 DHCP 技术,在一个局域网内,动态分配 IPv4 地址给每个开机加入局域网的计算机,并在一台计算机关机退出局域网时,回收一个 IPv4 地址并分配给新的计算机。
内网外网 IPv4 地址:通过 NAT 技术,为一个局域网分配一个在互联网中有效的 IPv4 地址,叫做外网地址。在这个局域网内所有计算机的 IPv4 地址,叫做内网地址。局域网内每个计算机之间通信时,使用内网地址;局域网内某个计算机与局域网外计算机通信的时候,使用的是这个局域网的外网地址。
IPv6 是网际协议开发过程中的第六个修订版本,由互联网工程任务组(IETF)设计的,最大的用途是替代 IPv4 地址。IPv6 是一个 128 位长的二进制数字,即是由 0 和 1 组成的长度达 128 位的数字串,代表了 340,282,366,920,938,463,463,374,607,431,768,211,456 个地址。
长达 39 位的数字,让人都不知道怎么用科学计数法来准确说清楚它的单位。总之,那是数都数不清的 IPv6 地址,而且号称可以为全世界的每一粒沙子分配一个 IPv6 地址。
为了方便记忆,这些 128 位的 0 和 1,也可以采用了十六进制来展示。最常用的就是:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789。
这里的 IPv6 地址,划分了 8 个区段,不同区段之间使用“:”进行分隔,每一个区段内有 16 位的十六进制数字串。
IPv6 地址的格式,如下图所示。
IP 地址这么独特,那我们上网的时候,为了打开某个服务器中的网页、视频,难道也要输入这个服务器的 IP 地址吗?
当然不需要。
前面说了,计算机采用 IP 地址来代表自己。人类嘛,当然是用名字更方便了!
我们在浏览器里输入的 URL 地址,例如:www.zte.com.cn,其实就是一种名字啦,一般称为域名。
别小看这一个短短的名字,里面包含了很多内容,让我们详细看看吧。
从右到左依次是:
cn:顶级域名,cn 代表中国,还有其他的“.com 代表商业组织”、“.edu 代表大学”、“.uk 代表英国”等等。
com:二级域名。
zte:归属于某个公司自己的域名。
www:三级域名,表明某个公司提供的是什么服务,www 代表普通网页,mail 代表邮箱。
上网,就是一个根据域名找 IP 的过程。
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。DNS 作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
我们本地的计算机在接入网络的时候,都会自动分配一个 DNS 服务器的 IP 地址,这个 DNS 服务器叫做本地域名服务器,一般是由网络服务商提供的。
在浏览器里输入一个域名,例如:www.xyz.com,单击回车键以后,就是 DNS 发挥作用的时候了。
最佳情况下,只需要三步:
1、本地计算机 A 根据已经配置的本地域名服务器的 IP 地址,发送查询消息到本地域名服务器 DNS101:嘿,你知道 www.xyz.com 的 IP 地址吗?
2、恰好刚刚有人问过这个域名,本地域名服务器 DNS101 已经找到了这个 IP 地址并且进行了缓存,就会答复给本地计算机 A:你运气不错,你要访问的 IP 地址是 192.168.160.101。
3、本地计算机 A 收到了响应以后,直接找到 192.168.160.101 的计算机 B,在浏览器里面就能成功显示 192.168.160.101 这个计算机 B 里面的网页了。
一般情况下,我们至少要查询好几次,到好几个 DNS 里去找,才有可能找到真正的 IP 地址。
现在这种 "A 问 B → B 回复 A → A 问 C → C 回复 A → A 问 D → 最终 A 到 D" 的查询方式,叫做迭代。
还有一种查询方式叫做递归:"A 问 B → B 问 C → C 回复 B → B 回复 A → 最终 A 到 D"。
有时候我们打不开网页,其实可能就是我们的计算机没法找到 DNS 了。
没有 DNS,我们输入的网址就没法转换成网站服务器的真实 IP 地址,当然就没法打开网站了。
DNS 停摆的常见原因包括:
DNS 中存放的域名与 IP 的对应关系,由于黑客攻击、数据异常等各种原因,导致一个域名对应到了错误的 IP 地址。这种情况下,计算机想通过这个 DNS 访问网站 A,有可能就被误导到了网站 B。
我们在本地计算机中配置的 DNS 的 IP 地址,一不小心被其他的应用给修改了。这种情况下,计算机想访问网站 A,却找不到正确的 DNS。
DNS 是一个实现特定功能的服务器,是专业的高性能服务器,在某些情况下也是会崩溃的。一旦崩溃,我们的计算机想通过这个 DNS 上网,就肯定失败啦。
DNS 中存放的记录,比如:一个域名与一个 IP 地址的对应关系、一个域名与另外一个域名的对应关系,都是有生命周期的,比如:TTL 为 10 分钟。一旦超过时限,这些对应关系就被清理掉,就没法提供给计算机查询了。
那我们可以做些什么,来修复 DNS 呢?
除了等待 DNS 维护人员的修复外,在本地计算机中还可以尝试修改网络设置中的 DNS 地址。
在本地 PC 中选择设置--> 网络和 Internet--> 以太网--> 网络连接-->IP 配置--> 编辑,选中 IPv4,输入首选 DNS、备选 DNS,单击保存按钮。
一些大厂提供的 DNS 服务器,供各位粉丝参考:
Google 公共 DNS:8.8.8.8 和 8.8.4.4
OpenerDNS:42.120.21.30
aliDNS:223.5.5.5 和 223.6.6.6
114DNS:114.114.114.114 和 114.114.115.115
好的,今天又是好学的一天,有用的知识又增加了。
通过今天的文章,我们学习到:
IP 地址有 2 种:IPv4 和 IPv6。IPv4 是过去和现在,IPv6 是趋势和未来。
一个网站的 URL 地址,包含了四个级别的域名:顶级域名、二级域名、三级域名和四级域名。
DNS 的工作过程,就是一个根据域名找域名、根据域名找 IP 地址、根据 IP 地址找域名,迭代中不断寻找的过程。
没法上网,可能是 DNS 的问题。
各位小伙伴们如果遇到断网的情况,记得去检查一下本地中配置的 DNS 信息哦~
本文来自微信公众号:中兴文档 (ID:ztedoc),作者:中兴文档