Wireshark数据抓包分析之域名系统协议

DNS是域名系统(Domain Name System)的缩写,域名系统实际上就是为了解决IP地址的记忆难而诞生的,在互联网上域名与IP地址之间是一对一或者多对一的,如果要记住所有的IP地址,显然不太容易。虽然域名便于人们记忆,但主机之间只能相互认识IP地址,所有它们之间的转换就需要DNS来完成。DNS用于TCP/IP网络,它所提供的服务就是用来将主机名和域名解决为IP地址。...
摘要由CSDN通过智能技术生成

预备知识

什么是DNS

DNS是域名系统(Domain Name System)的缩写,域名系统实际上就是为了解决IP地址的记忆难而诞生的,在互联网上域名与IP地址之间是一对一或者多对一的,如果要记住所有的IP地址,显然不太容易。虽然域名便于人们记忆,但主机之间只能相互认识IP地址,所有它们之间的转换就需要DNS来完成。
DNS用于TCP/IP网络,它所提供的服务就是用来将主机名和域名解决为IP地址。DNS就是这样的一位“翻译官”,它的基本工作原理如下图:
在这里插入图片描述

DNS的系统结构

在整个互联网中,如果将数以亿计主机的域名和IP地址对应关系交给一台DNS服务器管理,并处理整个互联网中客户机的域名解析请求,恐怕很难找到能够承受如此巨大负载的服务器,即便能够找到,查询域名的效率也会非常低。因此,互联网中的域名系统采用了分布式的数据库方式,将不同范围内的域名IP地址对应关系交给不同的DNS服务器管理。这个分布式数据库采用树状结构,全世界的域名系统具有唯一的“根”,如下图所示:
在这里插入图片描述
包含主机名及其所在的域名的完整地址又称为FQDN(Full Qualified Domain,完全限定域名)地址,或称为全域名。例如新浪网站服务器的地址“www.sina.com.cn”,其中“www”表示服务器的主机名(大多数的网站服务器都使用该名称),“sina.com.cn”表示该主机所属的DNS域。该地址中涉及多个不同的DNS及其服务器。简单介绍如下:
“.”根域名服务器,是所有主机域名解析的源头,地址中最后的“.”通常被省略。
“.cn”域名服务器,负责所有以“cn”结尾的域名的解析,“.cn”域是处于根域名之下的顶级域。
“.com.cn”域服务器,负责所有以“com.cn”结尾的域名的解析,“.com.cn”域是“.cn”域的子域。
“.sina.com.cn”域服务器,由新浪公司负责维护,提供“.sina.com.cn”域中所有主机的域名解析,如www.sina.com.cn,mail.sina.com.cn等,“.sina.com.cn”域是“.com.cn”域的子域。
从上面的DNS层次结构中可以看出,对于互联网中每个主机域名的解析,并不需要涉及太多的DNS服务器就能完成。通常客户端主机中只需要指定1~3个DNS服务器地址,就可以通过递归或迭代的查询方式获知想要访问的域名对应的IP地址。

DNS系统解析过程

DNS服务采用服务器/客户端(C/S)方式工作。当客户端程序要通过一个主机名称访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址。因为IP数据报中允许放置的是目的主机的IP地址,而不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称,则只能通过向客户机所设定的DNS服务器进行查询了。下面以www.sina.com.cn域名为例讲解DNS系统解析的过程,如下图:
在这里插入图片描述
在上图中,显示了DNS服务的解析过程,同时也体现出了它的构成。DNS服务由客户机、域名服务器和web服务器构成了一个简单的网络环境。DNS名称解析的过程如下:
(1)DNS客户机向本地域名服务器发送了一个查询,请求查找域名www.sina.com.cn的IP。本地域名服务器查找自己保持的记录中,看能否找到这个被请求的IP地址。如果本地域名服务器中有这个地址,则将此地址返回给DNS客户机。
(2)如果本地域名服务器中没有这个地址,则发起查找地址的过程。本地域名服务器发送请求给根域名服务器,询问www.sina.com.cn的相关地址。根域名服务器无法提供这个地址,但是会将域cn的名称服务器的地址返回给本地域名服务器。
(3)本地域名服务器再向cn域名服务器发送查询地址请求。cn域服务器无法提供这个地址,就将.com.cn域服务器地址发送给本地域名服务器。
(4)本地域名服务器再向.com.cn域服务器发送查询地址请求。com.cn域服务器无法提供这个地,就将sina.com.cn域名服务器地址发给本地

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值