DNS做了什么

发布时间 2023-05-25 10:50:03作者: 不会上猪的树

DNS


1.域名解析协议(DNS)

我们的域名通常来讲就是所谓的域名,DNS协议可以将所谓的域名转换成对应的IP地址

1.1DNS服务器与DNS协议

DNS(域名系统)服务器和DNS协议之间存在密切的关系。DNS服务器是负责提供域名解析服务的计算机服务器,而DNS协议则是用于在网络上进行域名解析的协议。

  • DNS协议规定了域名解析的标准化,规定了客户端与服务端两种消息的交互流程与信息格式.DNS协议默认使用53端口,通常使用TCP或UDP进行传输

1.2路由器与DNS服务器

现代路由器作为网络中不可缺少的部分,担任着许多重要的功能,其中之一就是DNS服务器的功能,路由器内的DNS服务器用于处理网络内部的设备请求解析

这种请求带来的好处?

  1. 一个局域网内的网络设备可以通过路由器访问互联网上的DNS服务器,无需单独配置DNS服务器信息.
  2. 路由器具有本地缓存,可以提高DNS解析的查询效率
  3. 路由器具有包过滤的功能,可以有效的阻止某些域名的访问

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服务器

  • 根域:根域不具备名字,写域名时常常被忽略,根域DNS服务器保存着像com,cn,jp这种顶级域的DNS服务器信息

下面是域名解析的工作流程

DNS服务器域名解析过程

  1. 客户端首先会去访问最近的一台DNS服务器,也就是TCP/IP设置中填写的DNS服务器地址.
  2. 如果最近的DNS服务器没有存放lab.nunbey.com的IP地址,DNS服务器就会去请求根域DNS服务器,
  3. 根域DNS服务器知道这个域名属于com域下,便会传递给com服务器
  4. 这时候com服务器又会知道是nunbey这个域下的,便会传递给nunbey DNS服务器
  5. 以此类推,重复之前的过程,就找到了我们想要的域名服务器,他便会返回对应的IP地址,为此客户端便能够通过DNS服务知道IP地址了
  • 注:根域的DNS服务器信息保存在互联网所有的DNS服务器中,这就是为什么自顶向下查找,有点类似路由器的默认路由那感觉了.而上级DNS服务器保存着下一级DNS服务器的信息,递归查找即可

3.从DNS抓包中得知查询信息

通过Wireshark去实现DNS抓包,获取其查询内容,用ping命令测试www.baidu.com,这里DNS服务器

DNS抓包过程1

  • 请求源地址: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):指定接收域的邮件服务器。