大家好,我是右子。
网络是由计算机与连接节点组成,每台设备有一个字符串,也叫做IP地址,用来作为标识。
如图:
我们对服务器访问的时候,一般不会去用ip进行访问的,原因就是难记。
拿百度的网址举例:我们更喜欢通过: www.baidu.com访问,而不是他的ip:110.242.68.3。
DNS是干什么的?
- DNS就是把
人们容易记住的域名变成IP地址的一个服务。
DNS如何工作的?
-
在浏览器中,当我们输入了一个网址:
www.abc.com,其实上访问的是:www.abc.com. -
这个
.代表着互联网的根域名。 -
一个完整的流程是:
- 当我们输入完域名之后,系统会先去找缓存,如果没有缓存↓
- 就去检查
hostc文件有没有手动配置,如果没有配置↓ - 系统会去访问
局部DNS服务,局部DNS如果没有缓存↓ 局部DNS服务器会去找根域名服务器进行询问,一般根域名服务器的地址通常被hard coded在局部服务器中,如果根域名服务器中也找不到的话,会告诉DNS,.com信息可以去哪里查询。- DNS把.com的信息缓存起来之后,继续去找顶级域名服务器询问:
www.abc.com的IP地址。 - 顶级域名服务器可以找到abc.com的信息并返回IP地址,DNS拿到IP地址之后并缓存起来,把信息告诉浏览器,然后就可以正常访问了。
- 这时有其他访问
www.abc.com时,会从系统缓存中告诉访问者。
-
在域名的TTL(Time to live)的缓存到期之前,局部域名服务器都会缓存着结果。
总结一下
DNS的主要作用:
- 它是作为
域名和IP地址相互映射的一个服务,作用是能够让你更方便的访问互联网,不用你去记复杂的IP。
DNS缓存:
- 当DNS返回正确的IP之后,系统就会把这个结果临时储存起来做为缓存,并且设置一个缓存时间。
- 当命中缓存时,系统会从本机的缓存中返回结果,不会再去访问DNS服务器,相当于变相“加速”了网址的解析过程。