【RL-TCPnet网络教程】第27章 DNS域名系统基础知识

时间:2021-07-12 19:39:44

第27章      DNS域名系统基础知识

本章节为大家讲解DNS(Domain Name System,域名系统),通过前面章节对TCP和UDP的学习,需要大家对DNS也有个基础的认识。

(本章的知识点主要整理自网络)

27.1  初学者重要提示

27.2  DNS基础知识参考资料

27.3  DNS基础知识点

27.4  DNS函数

27.5  总结

27.1  初学者重要提示

  1. 通过前面几个章节对TCP和UDP的学习,需要初学者对DNS的基础知识点也有个了解。
  2. 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

27.2  DNS基础知识参考资料

为了对TCP和UDP有更全面的认识,需要对DNS的一些基础知识有个了解。大家可以从以下地址获得DNS协议基础知识:

对于初学者来说,学习上面五个参考资料就够了。如果大家有网络方面的书籍,比如《TCP/IP详解》,也可以直接看书籍。

27.3  DNS基础知识点

(这里的知识点整理自上面的参考资料地址)

教程这里也对DNS的基础知识做个介绍,方便大家先有个大概的认识。

27.3.1 DNS简要说明

DNS(Domain Name System,域名系统)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS使用TCP和UDP端口53。RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

开始时,域名的字符仅限于ASCII字符的一个子集。2008年,ICANN通过一项决议,允许使用其它语言作为互联网*域名的字符。使用基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集。因此,诸如“x.中国”、“x.*”等这样的域名可以在地址栏直接输入,而不需要安装插件。但是,由于英语的广泛使用,使用其他语言字符作为域名会产生多种问题,例如难以输入、难以在国际推广等。

27.3.2 DNS功能

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不需要死记硬背每台IP设备的IP地址,只要记住主机名即可。这就是DNS协议所要完成的功能。

主机名到IP地址的映射有两种方式:

  • 静态映射

每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。

  • 动态映射

建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

27.3.3 域名解析

在域名注册商那里注册了域名之后如何才能看到自己的网站内容,用一个专业术语就叫域名解析。

域名是为了方便记忆而专门建立的一套地址转换系统。要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。一个域名对应一个IP地址,一个IP地址可以对应多个域名,所以多个域名可以同时被解析到一个IP地址。域名解析需要由专门的域名解析服务器(DNS)来完成。

人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。DNS是一种C/S的结构(Client/Server),客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。

27.3.4 域名结构

通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.*域名。Internet 的*域名由 Internet网络协会中负责网络地址分配的委员会进行登记和管理,它还为 Internet的每一台主机分配唯一的 IP 地址。全世界现有三个大的网络信息中心:位于美国的 Inter-NIC,负责美国及其他地区; 位于荷兰的RIPE-NIC,负责欧洲地区;位于日本的APNIC ,负责亚太地区。

27.3.5 域名解析器

域名解析器,是把域名转换成主机所在IP地址的中介。通常上网的时候,敲入一个域名地址,电脑会首先向DNS服务器搜索相对应的IP地址,服务器找到对应值之后,会把IP地址返回给你的浏览器,这时浏览器根据这个IP地址发出浏览请求,这样才完成了域名寻址的过程。操作系统会把你常用的域名IP地址对应值保存起来,当你浏览经常光顾的网站时,就可以直接从系统的DNS缓存里提取对应的IP地址,加快连线网站的速度。

27.3.6 域名解析流程

域名解析的流程是:域名->DNS(域名解析服务器)->网站空间。

Internet上的计算机是通过IP地址来定位的,给出一个IP地址,就可以找到Internet上的某台主机。而因为IP地址难于记忆,又发明了域名来代替IP地址。但通过域名并不能直接找到要访问的主机,中间要加一个从域名查找IP地址的过程,这个过程就是域名解析。域名注册后,注册商为域名提供免费的静态解析服务。一般的域名注册商不提供动态解析服务,如果需要用动态解析服务,需要向动态域名服务商支付域名动态解析服务费。

解析过程举个例子,比如,一个域名为:abc.com,如果要访问网站,就要进行解析,首先在域名注册商那里通过专门的DNS服务器解析到一个WEB服务器的一个固定IP上,比如:211.214.1.XXX,然后,通过WEB服务器来接收这个域名,把abc.com这个域名映射到这台服务器上。那么,输入abc.com这个域名就可以实现访问网站内容了,即实现了域名解析的全过程。

27.3.7 DNS记录类型

DNS系统中,常见的资源记录类型有:

  • 主机记录(A记录)

RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。

  • 别名记录(CNAME记录)

RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。

  • IPv6主机记录(AAAA记录)

RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。

  • 服务位置记录(SRV记录):

RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。

  • NAPTR记录

RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。

27.4 总结

本章节就为大家讲解这么多,更多DNS的相关知识需要大家查阅相关书籍进行学习,或者网上搜索相关资料进行学习。