一文看懂DNS及其工作原理

Labs 导读想象一下你的智能手机联系人名单,就像是整个地球上的人的名字和联系方式列表 。每当你想要给某人打电话或发短信时,你只需要在联系人名单中找到他们的名字,而不必记住他们的电话号码或电子邮件地址 。这就像是一个巨大的电话簿,让你能够轻松找到并与世界上的任何人进行交流 。
类似地,互联网上的每个设备都有一个独特的标识号码,称为IP地址 。当你在浏览器中键入网址访问网站时,计算机需要知道该网址对应的IP地址,就像你需要知道某人的电话号码才能联系他一样 。DNS就像是互联网上的巨大联系人名单,它把易于记忆的域名(比如www.example.com)与对应的IP地址进行匹配 , 从而使你能够轻松地访问网站,发送电子邮件等 。所以,尽管你可能不了解DNS的技术细节,但每天在互联网上的各种活动中,你都在使用它来使得不同设备能够互相沟通 。
Part 01、DNS简史 - ARP.NET时代(1960s-1980s):早期的互联网并没有一个全球的域名系统,而是使用主机名(hostname)来识别网络上的计算机 。这些主机名存储在一个称为"hosts.txt"的文本文件中,该文件由网络管理员手动维护 。
- DNS的创建(1983):随着互联网的增长,需要一种更有效的方法来管理和查找主机名与IP地址之间的映射关系 。1983年,Paul Mockapetris和Jon Postel开始开发DNS 。他们发布了RFC882和RFC883,其中详细说明了DNS的设计 。
- DNS的层次结构(1980s-1990s):DNS被设计成一个层次结构系统,由多个域名服务器组成,每个服务器负责管理特定区域内的域名和IP地址映射 。根域名服务器位于顶层,下面是顶级域名服务器(TLD),然后是权威域名服务器和缓存域名服务器 。
- 商业化和增长(1990s-2000s):随着互联网的商业化 , 域名的注册数量急剧增加,导致DNS系统面临压力 。为了满足需求,域名注册机构和托管服务商开始提供域名注册和管理服务 。
- DNSSEC的引入(2000s):为了提高DNS安全性 , DNSSEC(DomAIn Name System Security Extensions)被引入 。它通过数字签名机制确保域名解析的完整性和真实性,防止DNS劫持和缓存投毒等攻击 。
- 新顶级域名的推出(2010s):ICANN(互联网名称与数字地址分配机构)开始批准新的顶级域名,如".App"、".blog" 等,丰富了互联网域名的多样性 。
- IPv6和DNS64/NAT64(2010s):随着IPv6的推出,DNS也需要适应新的IP地址格式 。DNS64/NAT64技术允许IPv6和IPv4之间的通信,使得IPv6网络可以访问IPv4网络上的资源 。
- 持续的发展(至今):DNS仍在不断演进,以适应新的互联网需求和安全挑战 。随着云计算、物联网等新兴技术的发展,DNS在网络生态中的作用变得越来越重要 。
Part 02、DNS是如何工作的DNS使用分层、分布式的结构来管理域名与IP地址的映射关系 。它通过递归和迭代查询过程,使得在互联网上轻松地使用人类可读的域名来访问各种网络资源 。这个系统的设计使得整个互联网能够更高效地工作,同时也带来了更好的灵活性和可扩展性,它的工作原理涉及多个层次的域名服务器以及查询和响应的过程 。
(一)域名服务器的分类域名服务器可以根据其角色和层级划分为以下四种不同类型:
(1)根域名服务器(Root Name Servers)
根域名服务器位于DNS层次结构的最高层,共有13个不同IP地址的根域名服务器分布在全球各地 。它们保存了顶级域名服务器的信息 , 负责管理顶级域名(如.com、.org、.net等)的域名服务器的IP地址 。当本地域名服务器收到查询请求时,如果需要查询顶级域名服务器的IP地址,它会向根域名服务器发起查询,获取相应的顶级域名服务器地址 。
【一文看懂DNS及其工作原理】(2)顶级域名服务器(Top-Level Domain Servers)
顶级域名服务器负责管理特定顶级域(如.com、.org、.net等)下的域名和其子域的映射 。例如 , .com顶级域名服务器会存储所有使用.com域名结尾的域名映射信息 。当本地域名服务器向根域名服务器查询后 , 如果需要查询特定顶级域的IP地址,它会请求相应的顶级域名服务器,以获取下一步的指引 。
(3)权限域名服务器(Authoritative Name Servers) 
权威域名服务器是每个特定域名的“官方”域名服务器,它们存储着该域名与IP地址的映射信息 。当本地域名服务器需要解析特定域名时,它会向该域名的权威域名服务器发送查询请求 。这些服务器能够提供确切的映射信息,或者指示更低级别的域名服务器进行进一步的查询 。


推荐阅读