每一次上网打开某个页面的背后,都有DNS的一份功劳。
今天和小编一起来了解一下吧!
每个计算机都有它的IP,独特又唯一
人类的沟通,从知道对方的名字开始,像是小芳、小美这样的名字,便于记忆。
但是如果遇到有重名的人,就得费力去仔细分辨,毕竟将要发给刘伟12号的消息,错发给了刘伟35号,就会比较尴尬。
计算机王国是数字的世界,每个计算机都可以用独特的数字代表自己,完美避开了重名的烦扰。这个独特的数字,我们一般称之为IP地址。
目前,IP地址有2种:
-
IPv4
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
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地址吗?
当然不需要。
前面说了,计算机采用IP地址来代表自己。人类嘛,当然是用名字更方便了!
我们在浏览器里输入的URL地址,例如:www.zte.com.cn,其实就是一种名字啦,一般称为域名。
别小看这一个短短的名字,里面包含了很多内容,让我们详细看看吧。
从右到左依次是:
-
cn:顶级域名,cn代表中国,还有其他的“.com代表商业组织”、“.edu代表大学”、“.uk代表英国”等等。
-
com:二级域名。
-
zte:归属于某个公司自己的域名。
-
www:三级域名,表明某个公司提供的是什么服务,www代表普通网页,mail代表邮箱。
IP or 域名,得找DNS来帮忙
上网,就是一个根据域名找IP的过程。
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。DNS作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
我们本地的计算机在接入网络的时候,都会自动分配一个DNS服务器的IP地址,这个DNS服务器叫做本地域名服务器,一般是由网络服务商提供的。
在浏览器里输入一个域名,例如:www.xyz.com,单击回车键以后,就是DNS发挥作用的时候了。
最佳情况下,只需要三步:
-
本地计算机A根据已经配置的本地域名服务器的IP地址,发送查询消息到本地域名服务器DNS101:嘿,你知道www.xyz.com的IP地址吗?
-
恰好刚刚有人问过这个域名,本地域名服务器DNS101已经找到了这个IP地址并且进行了缓存,就会答复给本地计算机A:你运气不错,你要访问的IP地址是192.168.160.101。
-
本地计算机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了。
没有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信息哦~
转载内容仅代表作者观点
不代表中科院物理所立场
如需转载请联系原公众号
来源:中兴文档
编辑:乐子超人