我们每天都要浏览很多的网页,那么当我们输入了一个网址(域名)的时候计算机是如何将域名转换为 IP地址然后请求服务呢?
IP 与域名
我们可以简单理解为每一个在互联网上提供服务的一台服务器或者是一组服务器,都有一个统一且唯一的公网 IP 地址,每一个请求可以根据 ip 地址找到对应的服务。目前的 IP 版本是 IPV4,IP 地址是 32 位(bit 位)4 字节,大约一共 43 亿个,但是并不是所有的 IP 地址可以做公网 IP 的,有一些 IP 因为特殊的作用被保留,例如 192.168.*.*被用作局域网 IP,所以实际上是没有 43 亿的。截止目前,所有的 IPV4 地址基本上已经消耗完了,唯一的解决方案就是推广 IPv6 协议,IPv6 地址长 128 位(bit 位)16 字节,总地址数大约为 2 的 128 次方,号称可以为地球上每颗沙子分配一个 IP 地址。此外 IPv6 还支持在网络层对 IP 报文加密并校验,保证数据的安全性和完整性。
IPv4 与 IPv6 的区别
无论是 32 位的 IP 地址还是 64 位的 IP 地址,都不方便记忆,且不能标示服务提供商的名称信息和性质,因此就提出了域名,域名通过小数点分隔开,最后面的是顶级域名,例如,.org, 等,每个域名都代表了不同的服务提供商地址或者组织性质。中间一般是服务提供商名和网络名,也可能只有一个。最前面的是 www,World Wide Web 的缩写。WWW 是覆盖全球的客户机/服务器网络。
下图是顶级域名代表的地区:
顶级域名分布
域名是为了方便记忆,但是在计算机网络通信的时候还是需要把域名转换为 IP 地址。如何转换呢?
HOST
首先计算机会查找本地的 HOSTS,看本地 HOSTS 有没有缓存 IP 和域名的对应关系。如果有则域名解析成功。
HOSTS 缓存是为了提高域名解析速度,但是也存在安全隐患。一些黑客会通过修改操作系统 HOSTS 将域名解析到非服务提供商的 IP 地址,从而盗取用户信息,这就是所谓的域名劫持。此外,在局域网中,很少架设 DNS 服务器,我们很难记住服务器的 IP,可以通过修改 HOSTS 文件,将 IP 地址和域名在 HOSTS 中映射,通过域名访问服务。下图中标出的部分就是域名和 IP 的映射,可以自己修改。
HOSTS 文件示例
当然 IP 和域名的映射只是在本机生效,如果想全局生效,就要用到 DNS 服务。
DNS
DNS(Domain Name System)是域名服务协议,主要解决 IP 和域名映射的问题。上面提到修改 HOSTS 文件可以将 IP 和域名作映射,但是仅限于本机,不可能每台接入设备都修改自己的 HOST,不仅麻烦而且存在安全隐患,所以就有了 DNS 服务。
DNS 是互联网的核心服务。比如说我们要访问头条的官网,不可能记住头条的 IP 地址,但是只要记得头条的域名就可以了,我们并没有在 HOSTS 文件配置头条域名和 IP 的映射,但是仍然可以正常找到域名对应的 IP 地址,这个就是 DNS 在发挥作用。具体解析过程如下:
当在浏览器中输入域名时,首先会检测浏览器缓存中有没有这个域名对应的 IP,如果有解析结束。如果没有,继续下一步。检查本机的 HOSTS 文件中有没有对应的记录,如果有解析结束,否则继续下一步。请求本地 DNS 服务器解析域名,本地 DNS 服务成为 LDNS(Local Domain Name System)在每个地区都有,离我们不会太远,百分之八十的域名解析在这里可以完成。如果没有命中,继续下一步。由 LDNS 请求根域名服务(Root Server)解析。根域名服务器会根据被解析的域名的顶级域名返回给 LDNS 一个所查询域的主域名服务器(gTLD Server),国际顶尖域名服务器,如 .org 等。LDNS 向 gTLD Server 发送解析请求。gTLD 查找并返回这个域名对应的 Name Server 的地址,Name Server 是网站注册的域名服务器。Name Server 查询域名和 IP 的映射关系,返回 IP 到 LDNS。LDNS 会缓存这个域名和 IP 地址的映射关系,下次解析同一个域名时就直接返回。LDNS 返回给用户,用户操作系统会缓存域名和 IP 映射关系。解析结束。具体如图所示:
DNS 解析过程
DNS 解析服务是是互联网最重要的基础服务之一,例如前几天因为互联网顶级域名“”在 F 根服务器以及 E 根服务器的解析出现了故障,导致大量使用“”域名的网站和服务器从互联网“断开网络连接”,持续了大约 3 小时。
目前全球共 13 台根域名服务器,分布如下:
根域名服务器分布
主根服务器在美国,剩下的 12 台辅根服务器中有 9 台在美国,英国,瑞典,日本各一台。
中国作为全球最大的互联网用户,然而并没有根域名服务器,因此 2015 年中国下一代互联网工程中心联合发起了“雪人计划”,面向全球招募面向全球招募 25 个根服务器运营志愿单位,共同对 IPv6 根服务器运营。所以现在是 13 台旧的根域名服务器加上 25 台新的 IPv6 根域名服务器,IPv6 根域名服务器分布如下:
IPv6 根域名服务器分布
总结一下,当浏览器输入网址时会首先查找浏览器缓存,如果找到域名和 IP 的映射,如果找不到则会查找本地 HOSTS,如果还是查不到会递归查询 LDNS,如果 LDNS 找不到,则会去迭代查询高级的域名服务器,返回并缓存查询结果。拿到 IP 地址后,浏览器就可以请求服务并展示返回的结果了。
本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1077496.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!