中文叫域名系统 (英文:Domain Name System, 缩写:DNS)是 互联网 的一项服务。它作为将 域名 和 IP地址 相互 映射 的一个 分布式数据库 ,能够使人更方便地访问 互联网 。DNS使用 TCP 和 UDP 端口 53[1]。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
通常,我们定位一台公网计算机主要依靠的是 IP 地址,倘若这台计算机正在对外提供网页浏览服务,IP 为 1.1.1.1。访问时可以直接输入 IP 地址即可,因为这个地址简单好记,但网络上的计算机千千万,IP 地址又是一串无序的数字,单凭人脑去记忆这些数字,显然不现实,所以急需一种途径或者方法将我们从数字苦海中解救出来,经过不断地探索,人们终于找到一个很好的解决办法,那就是通过将一些字符进行有的规律组合和拼凑,使其可以表达出一定的含义,然后将这些名词与服务器的 IP 地址对应起来,我们就可以把这些组合成为域名。当然域名的定义规范远远要比这里谈到的严谨和规范。那这部分工作或是功能由谁来实现呢,这就引出了我们本系列的主角: DNS。在今天看来, DNS 系统工作的正常与否,直接关系到整个互联网系统的安全和稳定。
DNS 即域名解析系统。前面已经提到,它可以将域名转换成 IP 地址,反之亦可。当然这也是 DNS最基本的功能之一。
谈到 DNS 就不能不说起域名,概念可以参考上面一小节,那这两者是怎样结合在一起的呢?我们先来看一下 INTERNET 域名的整体结构。
在整个 INTERNET 网络中,域名占据着极其重要的地位,因为它有着一个很严谨的金字塔似的层级结构模式,通常又被称为命名空间。我们在阅读 DNS 相关资料时,会经常碰到“命名空间”这个词。那如何去理解呢。来看下面一张图,借此来帮助大家更好的理解命名空间的概念。
互联网DNS系统架构图
从这个图中,我们可以大致了解域名体系的逻辑结构。在最顶层的是根域名,图中用一个. 表示,在此基础上延伸出其他所有的域名,严格意义上来说,我们在书写域名的时候都应该在最后带上一个.,这样才是最完整的域名表达方式,但这样明显过于繁琐,况且按照书写反而无法正常访问网页。比如访问网易我输入 www.163.com,来看一下访问结果:
可以看到结果是“拒绝访问”,有的地址加上一个.再访问会自动跳转。
所以这里只是想让大家对此有更多了解。 在根域名下就是顶级域名,大致分为三大类,图中每一类都举出了 3 例子作为代表,其实还也很多。顶级域名位于根域名之下,而在顶级域名下又有二级域名,我们以.com 为例,请大家留意,这里说的是.com,而不是 com,单独的 com 是没有意义的,这里我省略了最后的一个点。在.com 下我列出了三个常见的二级名称,比如.163、 .QQ 等,以此类推,后面可能会有很多层这样的结构。但在名称上并非是三级、四级等,而统一称为子域。下一层为上一层的子域,在.163.com 这个域名层级关系中, ews 就是这与域名的子域名,同理 v 就是.news.163.com 的子域,以此类推。但我们在书写的时候是从最低一级的写起,直至顶级域名,而 DNS 查询和解析顺序正好和这个相反。
从图中我们可以看到,整个域名体系结构是非常有层次关系和等级限定的,每一个域名都有类似这样的结构,那么广泛的看,整个域名体系就是一个连续的、层级关系的逻辑的立体名称空间。知道这个概念对我们理解域名以及后面的 DNS 都非常有帮助。大家应该有这样的反应,域名是以特定名称为起点的、立体的、名字空间。是一个很连续的结果,在这里我不厌其烦的把这些关键字眼重复再重复,目的就是为了加深大家的印象。
,