什么是域名系统(DNS)
在互联网中,使用IP地址作为机器的绝对地址根本行不通,原因如下:
- 不好记忆,例如告诉你们学校官网的IP地址是"201.15.3.188",你可能根本记不住
- 计算机可能常常地更换IP地址,所以,通过IP地址去访问某台机器就会发生问题
而域名系统就是给某台机器起名字,也可以理解为IP地址的映射
ARPANET时代,有一个文件hosts.txt,列出了当时网络上所有的主机和它们对应的IP地址(当网络很小的时候,可以工作得很好)现在这个文件仍然存在,例如在窗操作系统中的"C:\Windows\System32\drivers\etc"
DNS命名空间
互联网被分成200多个顶级域,每个域被分成若干子域,子域还可进一步划分
所有这些域可以用一棵树来表示
- 树上的叶子代表没有子域的域(但包含主机)
- 一个叶子节点可以只包含一台主机,也可以代表一个公司,包含上千台主机
DNS是分层次的,基于域的命名方案,且采用了分布式数据库系统来实现
顶级域
- 顶级域有两种:通用域(generic)和国家域(country)
- 顶级域名由ICANN委任的注册机构负责运行
- 关于顶级域的了解:https://www.zhihu.com/question/20246468
例如:.com代表一些商业公司或者机构,.edu代表一些科学研究机构等等
二级域名
- 无需到ICANN进行申请,只需要到运行顶级域名的注册机构去检查待申请的名字是否可用,并且不是别人的商标
- 如果没有问题的话 只需要缴纳一小笔年费 即可得到你心仪的名字
和顶级域名的区别:
***.edu/***.com是顶级域名,例如:qq.com
而***.edu.cn/***.com.cn就是二级域名,例如:lol.qq.com
中国(cn)二级域名
域名组成
- 每个域的名字是:从它向上到根(未命名)的路径,各个部分间用圆点隔开
- 域名可以是绝对的,也可以是相对的,绝对域名总是以圆点结束(例如:eng.sun.com.)
- 相对域名必须在一定的上下文环境中被解释出来才有意义,从而唯一地确定其真实的含义
- 绝对域名和相对域名都引用了域名树中一个特定的节点,以及它下面的所有节点
域名规则
- 域名是大小写无关的
- 各组成部分的名字最多有63个字符长,整个路径不超过255个字符
- 没有规则限制同时在两个或多个顶级域名下的注册(例如:sony.com 或 sony.nl)
- 每个域自己控制它下面的域(子域)的划分(例如:日本的 ac.jp 和 co.jp 分别对应于 edu 和 com,而荷兰却不这样区分,它把所有的都放在nl之下)
- 要创建一个新的域,创建者必须得到该新域的上级域的许可,一旦创建成功,该新域就可创建子域,无需征得上级域的同意
- 域名遵循的是组织的边界而不是物理网络的边界