DNS
1.域名解析协议(DNS)
我们的域名通常来讲就是所谓的域名,DNS协议可以将所谓的域名转换成对应的IP地址
1.1DNS服务器与DNS协议
DNS(域名系统)服务器和DNS协议之间存在密切的关系。DNS服务器是负责提供域名解析服务的计算机服务器,而DNS协议则是用于在网络上进行域名解析的协议。
- DNS协议规定了域名解析的标准化,规定了客户端与服务端两种消息的交互流程与信息格式.DNS协议默认使用53端口,通常使用TCP或UDP进行传输
1.2路由器与DNS服务器
现代路由器作为网络中不可缺少的部分,担任着许多重要的功能,其中之一就是DNS服务器的功能,路由器内的DNS服务器用于处理网络内部的设备请求解析
这种请求带来的好处?
- 一个局域网内的网络设备可以通过路由器访问互联网上的DNS服务器,无需单独配置DNS服务器信息.
- 路由器具有本地缓存,可以提高DNS解析的查询效率
- 路由器具有包过滤的功能,可以有效的阻止某些域名的访问
2.DNS服务器的层次结构
2.1了解域名的层次结构
DNS中的域名都是用句点来分割的,比如www.lab.nunbey.com,这里的句点就表示了不同层次之家的界限,就好比动物,也有科,种,之类名称进行划分,在域名中,越靠右,位置层级就越高,比如www.lab.nunbey.com,这个域名如果按照域名的组织结构来讲,大概就是com类的nunbey种的lab科的www,一个层级被划分成了一个所谓的域,具有这种域名层次结构的信息就会被注册到DNS服务器中,每一个都是作为一个整体保存
什么是子域?
域名越靠右层级越高,意味着靠左层级越低,域的级别就越低,例如:nunbey.top这个域名,我们可以在这个域名之下创建两个子域或者更多也没有关系.比如db.nunbey.top/ll.nunbey.top,取什么名字是自己决定的,当然子域的创立需要一定的域名规范.
2.2DNS服务器的层次结构
- 每一个域都被当做一个整体去保存在DNS服务器中,域的分级意味着DNS服务器的分层
- 根域:根域不具备名字,写域名时常常被忽略,根域DNS服务器保存着像com,cn,jp这种顶级域的DNS服务器信息
下面是域名解析的工作流程
- 客户端首先会去访问最近的一台DNS服务器,也就是TCP/IP设置中填写的DNS服务器地址.
- 如果最近的DNS服务器没有存放lab.nunbey.com的IP地址,DNS服务器就会去请求根域DNS服务器,
- 根域DNS服务器知道这个域名属于com域下,便会传递给com服务器
- 这时候com服务器又会知道是nunbey这个域下的,便会传递给nunbey DNS服务器
- 以此类推,重复之前的过程,就找到了我们想要的域名服务器,他便会返回对应的IP地址,为此客户端便能够通过DNS服务知道IP地址了
- 注:根域的DNS服务器信息保存在互联网所有的DNS服务器中,这就是为什么自顶向下查找,有点类似路由器的默认路由那感觉了.而上级DNS服务器保存着下一级DNS服务器的信息,递归查找即可
3.从DNS抓包中得知查询信息
通过Wireshark去实现DNS抓包,获取其查询内容,用ping命令测试www.baidu.com,这里DNS服务器
- 请求源地址:192.168.0.117就是我的源IP地址,而192.168.0.1是DNS服务器的地址
红框中的信息真是所请求的内容,其中包含着三大类:域名,Class,Type
域名:这个在此请求中很明显,重点来说Class和Type
Class:IN,在<网络是如何连接>的一本书中,Class是这样被阐述的,使用Class来识别网络的信息,不过,如今处了互联网以及没有其他信息了,所以这个值便永远的是IN类型的互联网,但根据我后续了解认识到像别的网络HS(Hesiod 名称服务),CS计算机科学网络(Computer Science Network),他们的使用频率和地方普及导致网络环境有所不同
Type:记录域名是何种的记录,表示域名对应的是IP地址时,便是A打头(Address)[这里指的IPv4],也存在其他类型比如AAAA记录(IPv6 Address Record),MX记录(Mail Exchange Record):指定接收域的邮件服务器。