曾经在网上看到过一个段子,讲的是怎么区分一个程序员是低级、中级、高级在这里我们不讨论你使用什么语言,我们也不讨论PHP是不是世界上最好的语言,想要讨论这些的人,下面这张图片在等待着你哟,我来为大家讲解一下关于每天学会一个计算机网络协议之-DNS协议?跟着小编一起来看一看吧!

每天学会一个计算机网络协议之-DNS协议(每天学会一个计算机网络协议之-DNS协议)

每天学会一个计算机网络协议之-DNS协议

应用层协议之DNS协议-Domain Name System 域名系统协议

曾经在网上看到过一个段子,讲的是怎么区分一个程序员是低级、中级、高级。在这里我们不讨论你使用什么语言,我们也不讨论PHP是不是世界上最好的语言,想要讨论这些的人,下面这张图片在等待着你哟。

手动捂脸

当产品经理和你说要改需求的时候,低级程序员是这样说的:“好的好的,马上改”

当产品经理和你说要改需求的时候,中级程序员是这样说的:“放着吧,什么时候有空什么时候改”

当产品经理和你说要改需求的时候,高级程序员是这样说的:“我写的东西就是最好的不用改了”,然后从办公位上腾空而起,拿起水杯,留下呆若木鸡的产品经理远远的看着你的背影,走之前不忘给自己的水杯放上几颗枸杞。


段子归段子,低级的程序员通过自己的努力会成长为高级的程序员,但是在成长的过程中需要我们耐住性子,努力的修炼程序员内功,不仅局限于数据结构,操作系统,计算机网络,计算机组成原理,编译原理等等的学习,更多的是需要我们不光要知其然,更要知其所以然。

手动摸摸头

当我们在浏览器中输入一个网址的时候,为什么就可以返回一个页面,其中到底发生了什么?本文最开始提到的DNS协议的作用到底是什么,这里解释一下,协议就是规则的意思

DNS协议

    如果不使用DNS协议的时候,当我们需要使用台式机1访问服务器1上的文件1时,我们需要在台式机1的浏览器中输入120.12.12.1/文件1,可以想象每一个服务器的地址都不一样,那么我们每次都需要记录输入这一堆数字,想想都可怕

    如果使用DNS协议的时候,我们只需要输入,服务器的域名/文件1,就可以访问到文件了,是不是很方便。


总结DNS协议的作用:

DNS协议的作用就是为域名(网址)和服务器地址建立一一对应关系


URL(网址) - Uniform Resources Locator 统一资源定位符

如果你想自己组建一个网站,那么第一步,你需要购买一个服务器用于存储文件,然后你需要购买一个域名(网址),然后将你的域名(上图中服务器域名)和服务器地址(上图中的服务器地址就是120.12.12.1)绑定到一起(这个过程称为域名解析),那么其他用户就可以通过域名 文件名(上图中的文件1)的方式访问你服务器中的文件了,这种方式就被称为URL访问方式


大家一定看到过,有些网站是.com .cn .org .edu等等结尾的,不同的结尾有什么区别?为什么我们访问有些网站快,有些网站慢?


1.不同的结尾代表什么意思?

是时候为不同的网站排一个老大老二了

DNS体系结构

1)排名第一的是根域,也就是根服务器,在服务器领域的NO.1 如果根服务器损坏了,那么全世界的网络就不用互联了(不包括局域网),在后面介绍域名查找机制的时候会详细解释,全世界IPv4(这里请注意是指IPV4,在不久的未来,我们就会用上IPV6了,中国终于会有自己的根服务器了)根服务器只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。至于为什么不把根服务器全部都放在一个国家那里,不懂的私信我吧。

2)排名第二的是顶级域名,比如.com .cn .net .edu .....;

3)排名第三的是区域域名;

排名越靠前地位越重要。


2.为什么我们访问有的网站快有的网站慢?

1)首先访问国外的网站比国内的慢,理由是国外网站的服务器在国外,数据传输距离远

2)这里说的快慢,(特指第一次访问快慢,不考虑为什么同一个网站第一次慢,第二次快的问题,如果有不懂的,私信我吧。)这里就牵扯到了,网站查找的两种方式,不同查找方式访问到目标网站的速度不一样。

域名访问的两种方式

递归查找

当我要访问百度服务器中某个文件xx时候,第一步告诉根服务器我要访问xx,根服务器告诉我说,我没有这个xx文件,然后根服务器就帮我一个一个的问,先问.com服务器.com服务器说没有,然后根服务器就帮我接着问,最后终于问到了baidu服务器有这个文件,查找结束。整个过程都是根服务器帮我在找。


迭代查找

当我要访问百度中的某个文件xx时候,第一步告诉根服务器我要访问xx,根服务器告诉我说我没有,我不管,你去问.com服务器吧,我就去问.com服务器,.com服务器说我也没有,我也不管,你去问baidu服务器吧,最后我在baidu服务器中找到了数据,整个过程都是我自己亲自在找。

补充说明

当我们需要查找某个网站的时候,第一时间不是去根服务器中查找,而是按照以下顺序查找一遍,如果没有才会按照递归,迭代查找。

1)浏览器缓存(基于cookie技术)

2)系统缓存

3)路由器缓存

补充的内容牵扯到应用层的其他协议比如 HTTP协议,后期再介绍。