IP地址:
IP地址是设备连接网络时被分配的一个IP地址,用作标识主机和网络寻址。分为IPv4(十进制)和IPv6(十六进制)两大类。
IP地址的分配分为两大类:加入网络时动态分配的称为动态IP地址,通过主机硬件或软件永久分配给主机的称为静态IP地址。
域名:
一台计算机或计算机组的名称。用于在传输时标识计算机的电子方位。IP地址由一串数字组成,不便于人们记忆,域名作为IP地址的代称便由此诞生。
我国的防火墙技术是基于域名解析服务缓存污染而实现的。即发现与黑名单中的关键词相匹配的域名查询请求时,防火墙会作为中间设备向查询者返回虚假结果。
关系:
域名和IP地址之间的解析是多对一的,多个域名可以解析到一个IP地址上,但一个域名只能映射一个IP地址。域名是为了便于人类识别,IP地址是为了机器识别。
域名系统:
DNS是域名系统的简称,是由域名解析出IP地址的过程。通过DNS将域名和IP地址相互映射,更加方便的访问互联网,而不是直接记忆IP地址冰冷的数字。DNS有两种类型的解析:递归解析(默认)和反复解析。递归解析是指查询失败直接返回失败消息,反复解析查询失败会继续查询一些其他的服务器。
DNS解析过程:
1. 当我们输入域名时,操作系统会先检查本地的hosts文件是否有这个网址映射关系,有的话就调用这个IP映射地址完成解析,hosts文件优先级别最高;
2. 如果hosts文件里没有这个域名的映射,则会查找本地DNS解析器缓存;
3. 缓存里没有就会查找DNS服务器(一般是网络接入服务器商提供),本地DNS服务器首先查询缓存记录,如果缓存记录中有此条记录,就直接返回结果;
4. 反之当本地DNS服务器本地区域文件与缓存解析都失败,则会根据本地DNS服务器是否设置转发器进行查询,这时会根据本地配置是否使用转发模式来判断下一步怎么做;
5. 如果未用转发模式,本地DNS就会把请求发送至DNS根服务器。DNS根服务器收到请求报文之后会判断这个域名是谁来授权管理(用https://zh.wikipedia.org 域名来举例说明)。根服务器先判断该域名是属于哪个顶级域,并返回org顶级域名服务器管理地址,然后继续向顶级域名服务器请求,顶级服务域名会分析wikipedia二级域名并返回管理地址,继续向二级域名服务器发送请求,二级域名服务器会分析三级域名zh并返回最终解析成功后的IP地址;
6. 如果用的是转发模式,DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级不能解析,就转发到上上级…以此类推。最终找到结果返回给本地DNS服务器,由DNS服务器返回给客户级。
无论哪种模式,本地DNS服务器得到域名的对应IP地址后都要写入缓存以便下次查询。
查询报文:
查询每次发送的消息都包括三条消息:
- 指定的DNS域名
- 指定的查询类型
- DNS域名的指定类别(始终指定为Internet类别)