计算机网络(第十一弹) --- 针对 DNS 的相关见解

  最初的 DNS 其实就是一个名为 hosts 的文本文件, 文件里面保存的就是键值对 IP 和域名的对应关系; hosts 是保存在每个主机上的文件, 这就意味着如果域名和 IP 之间的映射关系发生改变后就会造成很大的麻烦; 因此 hosts 文件机制目前基本已经被淘汰了, 虽然这个文件还是存在的, 但是已经不再使用 hosts 来进行域名解析了.
  现在使用 hosts 的场景一般是进行测试程序使用, 如某个程序里面依赖另外一个服务器, 测试该程序的时候就可以修改 hosts, 将这个域名映射到测试的服务器 IP 上, 只要保证不修改源代码, 就可以进行测试, 也不会影响到正常的线上环境.

✎ DNS - 域名解析系统

  域名解析系统既是一个应用层协议, 也是一套系统; 域名其实就是伪装后的 IP 地址, 或者可以说成是一串方便记忆的表示一个网站位置的字符串, 通常使用 . 来进行分割; 真正进行网络传输的时候, 其实就是先根据域名转换成对应的 IP 地址, 再根据 IP 地址来进行传输.
  现在的 DNS 就是一组专门用来解析域名的服务器, 如下图所示:
在这里插入图片描述

全世界的这么多电脑, 都需要访问 DNS 服务器, 能承受的了么???

显然一个 DNS 服务器肯定顶不住全世界这么多电脑的访问请求, 但是有多种方案可以解决这样的问题:

  • 浏览器 / 客户端本身会对域名解析结果进行缓存; 域名和 IP 的对应关系是可能改变的, 但是不会频繁改变, 这就避免了大量的不必要的 DNS 的请求;
  • DNS 服务器也不是只有一台, 而是很多台; 最初的 DNS 服务器都是由专门的组织机构进行负责维护, 如果想要申请一个域名就需要获得批准并将域名信息放到 DNS 根域名服务器 (包含了所有的 DNS 信息) 中;
  • 为了进一步降低压力, 各种网络运营商也会构建自己的域名服务器镜像, 定期从根域名服务器同步数据过来, 如每个地区或者城市都有自己的 DNS 服务器, 遵循就近原则就可以了;
  • 针对 DNS 服务器做镜像的时候可以按照域名来进行进一步划分, 如 . com 的搞个专门的服务器, 这样就能保证每个服务器的数据和请求量不会太大.

猜你喜欢

转载自blog.csdn.net/Onion_521257/article/details/129687546