每一次上网打开某个页面的背后,都有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信息哦~