文章目录
1.域名系统DNS的作用
当我们想要访问某个网页时,我们输入的地址并不是其IP地址,而是输入一个域名比如www.hnust.cn,其IP地址为218.75.230.30。
主机会首先在告诉缓存中查找和该域名对应的IP地址,如果没有找到的话就会向网络中的DNS服务器请求查询。DNS服务器在其数据库中进行查询,将结果发送给主机。
2.层次树状结构的域名系统
因特网采用的是层次树状结构的域名结构。域名的结构由若干个分量组成,各个分量之间用点隔开,分别代表不同级别的域名。
如图所示的域名,最右边是*域名cn,代表的是中国。而edu则是*域名下的二级域名,代表的是教育机构。hnust是二级域名下的三级域名,代表湖南科技大学。最左边的则是由学校自行管理的四级域名。
*域名TLD分为三类:
- 国家*域名。如cn代表中国,us代表美国。
- 通用*域名。常见的有七个:com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(美国教育机构)、gov(美国*部门)、mil(美国军事部门)。
- 反向域arpa。用于反向域名解析。
在国家域名下注册的二级域名由该国家自行确定,我国将二级域名分为两类:
- 类别域名:ac(科研机构)、com(工、商、金融等企业)、edu(教育机构)、gov(*部门)、net(提供网络服务的机构)、mil(军事机构)、org(非营利性组织)。
- 行政区域名:共34个,对应各省、自治区、直辖市。
因特网的域名空间可以用下图举例表示。
3.域名解析的过程
域名服务器可以划分为以下4种不同类型:
- 根域名服务器。最高层次的域名服务器,每个根服务器都知道所有的*域名服务器的域名及其IP地址。
- *域名服务器。负责管理在该*域名服务器注册的所有二级域名。
- 权限域名服务器。负责管理某个区的域名,每个主机的域名都必须在某个权限域名服务器处注册登记。
- 本地域名服务器。不属于上述的域名服务器的等级结构。当主机发出DNS请求报文,报文会被首先送到本地域名服务器,本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器等级结构中。
域名解析的方式有两种,一种是递归查询,还有一种是迭代查询。
主机想要知道y.abc.com的IP地址,需要将DNS查询报文发送到本地域名服务器,本地服务器将报文代发到根域名服务器。根域名服务器根据*域名将报文发送到*域名服务器,*域名服务器再询问权限域名服务器。权限域名服务器发回对应的IP地址,依次经过*域名服务器、根域名服务器、本地域名服务器到达主机。
而迭代查询则与递归查询不同,DNS报文发送到本地域名服务器后,本地服务器会先向根服务器查询得到对应*域名服务器的地址,又从*域名服务器查询到权限域名服务器的地址,再由权限域名服务器获得对应的IP地址,发回主机。
采用递归查询对于被查询的域名服务器负担太大,通常采用如上的模式。
而为了提高DNS的查询效率,再域名服务器中广泛使用了高速缓存,高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的正确内容,域名服务器应为每项内容设置计时器并删除超过合理时间的项。