DNS
就是一个域名解析系统。域名就是网址,类似于 www.baidu.com。网络上的服务器想要访问它,就得需要它对应的 IP 地址,同时,每个域名对对应着一个 / N个 IP 地址(即对应多台服务器)。
因此,为了能够把域名和 IP 地址给对应上,就有了以下两种方法
1. hosts 文件
这是最原始的做法,现在电脑上依旧还保留着,因为还是挺好用的。 里面会像 hash 表一样,建立了 IP 和域名的映射关系。在早期的发展,互联网上的服务器寥寥无几,此时每个用户手动去维护自己的 hosts 文件就够用了
2. DNS 服务器
随着后来互联网的蓬勃发展,每天都要新的网站诞生,旧的网站消亡,此时手工维护变得不靠谱了。当你访问某个域名的时候,就会自动请求一下 DNS 服务器,服务器就会帮你查询,然后把结果(IP 地址)返回给你。如果电脑配置的 DNS 服务器不对或者 DNS 挂了,那么就会出现一种典型情况:微信能用但是网页打不开。
但是全世界那么多网站,为了保证唯一,就针对域名进行了分级。例如 baidu(二级域名).com(一级域名)。其中 www 是”万维网“的缩写,我们现在使用的这个网络就叫万维网。与此同时,域名进行了分级,DNS 服务器也有了 一级域名的 DNS 服务器,以及二级三级,因此只要有一级不重复就可以了。查询 DNS 服务器也是分级来查询的(一级域名服务器、二级域名服务器)。
注册一个网站,就得申请一个域名,就得把域名和服务器的 IP 地址关联起来,就得把这些信息存到 DNS 服务器里,虽然全世界有千千万万个 DNS 服务器,但都来源于根域名服务器(主要是美国人掌控)。因此,18 年国家强烈推进 IPv6 有个原因就是为了重新研发 DNS 服务器,因为IPv6 和现在的 DNS 没联系了。
DHCP
这是在组网的时候,不想手动配置太麻烦,就有了一个能自动分配 IP 地址的协议(网络层)
上面能自动获取 IP 地址的就是基于 DHCP 让路由器来给电脑配个 IP 的。