IP的目的是让最终的目标主机收到数据包
但是这一过程仅仅有IP是不能实现的
必须还有能够解析主机名称和MAC地址的功能,以及数据包在发送过程中出现异常情况处理的功能
人们在上网的时候很少直接输入IP地址,一般会直接使用由应用层提供的地址
不使用有十进制数字组成的IP地址
将应用中的地址映射为IP地址
一般用户在使用TCP/IP进行通信的时候不使用IP地址,因为有DNS功能(IPV4和IPV6均适用)
DNS可以将字符串自动的转换为IP地址
1.IP地址不方便记忆
直接使用IP地址有很多的不便之处,但是TCP/IP通信的计算机都具有唯一的IP地址
主机识别码:每台主机具有唯一的主机名,进行通信的时候可以直接使用主机名
系统必须自动的将主机名转换为IP地址
往往利用的是一个叫做hosts的数据库文件(这个文件里面有主机名与IP地址的对应关系)
随着互联网规模的扩大,集中管理hosts文件很不方便
2.DNS的产生
DNS系统:有效的管理主机名和IP之间的对应关系
这个系统中主机的管理机构可以对数据进行变更和设定
它可以维护一个用来表示组织内部主机名和IP之间的对应关系的数据库
在应用的时候,用户输入一个主机名(域名),DNS会自动检索哪个注册了主机名和IP地址的数据库
并且迅速找到对应的IP进行访问
3.域名的构成
域名是为了识别主机名称和组织机构名称的一种具有分层的名称
域名由几个英文字母或者英文字符序列用点号连接构成
使用域名的时候,可以在每个主机名后面追加上组织机构的域名
持有域名的组织机构可以设置自己的子网,此时的子域名要介于主机名和于明之间
域名的分级结构:树形结构
根域名+子域名+最底层的域名结构
- 域名服务器
域名服务器指的是管理域名的主机和相应的软件
可以管理所在分层的域的相关信息
每一层都设有一个域名服务器
各个域的分层上都有各自的域名服务器
各层的域名服务器都知道该层以下的分层中所有域名服务器的IP地址,因此他们从根域名服务器开始呈现树状结构互相连接
所有的域名服务器都了解根域名服务器的IP地址,若从根开始查找,可以访问世界上所有域名服务器的地址
根部设置的域名服务器(DNS)叫做根域名服务器,存放着下一层域名服务器的IP,依次类推
一般情况下会设置至少两个以上的域名服务器,一个出现问题让另外一个立马工作,进行灾备处理 - 解析器
进行DNS查询的主机和软件叫做DNS解析器
用户使用的个人电脑都属于解析器
一个解析器至少要注册一个以上域名服务器的IP地址
一般情况下的电脑至少包括组织内部的域名服务器的IP
4.DNS查询
当客户端向访问某一个网站的时候,直接在浏览器里面输入百度的域名
然后自己的解析器会在域名服务器里面找百度域名对应的IP
如果没有找到,则从根域名服务器开始从上往下遍历,如果哪一层的域名服务器中有,就将IP返回给客户端
解析器和域名服务器将了解到的最新的信息都会暂时缓存,可以减少每次查找的性能损耗
5.DNS如同互联网当中的分布式数据库
DNS是一种通过主机名检索IP地址的系统
其实它所管理的信息不止是主机名与IP之间的对应关系
还有更多的信息要管理
DNS的主要记录
类型 | 编号 | 内容 |
---|---|---|
A | 1 | 主机名的IP地址(IPV4) |
NS | 2 | 域名服务器 |
CNAME | 5 | 主机别名对应的规范名称 |
SOA | 6 | 区域内权威记录起始标志 |
WKS | 11 | 已知的服务 |
PTR | 12 | IP地址反向解析 |
HINFO | 13 | 主机相关的追加信息 |
MINFO | 14 | 邮箱与邮件组信息 |
MX | 15 | 邮件交换 |
TXT | 16 | 文本 |
SIG | 24 | 安全证书 |
KEY | 25 | 密钥 |
GPOS | 27 | 地理位置 |
AAAA | 28 | 主机的IPV6地址 |
NXT | 30 | 下一代域名 |
SRV | 33 | 服务器选择 |
* | 255 | 所有缓存记录 |
主机地址与IP地址对应的信息叫做A记录
从IP地址检索主机名叫做PTR
上层或下层域名服务器IP地址的映射叫做NS记录
注册了邮件地址与邮件接收服务器的主机名叫做MX记录