【计算机网络】DNS系统

DNS系统

一 关于DNS

1.1 DNS协议是什么

概念: DNS 是域名系统 (Domain Name System) 的缩写,提供的是一种主机名到 IP 地址的转换服务,就是我们常说的域名系统。它是一个由分层的 DNS 服务器组成的分布式数据库,是定义了主机如何查询这个分布式数据库的方式的应用层协议。能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

作用: 将域名解析为IP地址,客户端向DNS服务器(DNS服务器有自己的IP地址)发送域名查询请求,DNS服务器告知客户机Web服务器的 IP 地址。

DNS作用

1.2 域名是什么

  • 其实就是区域的名字
  • 每个域名背后都对应一个 IP 地址
  • 虽然每次访问网站都是输入域名,但都是访问这个域名对应 IP 地址的网络服务器来打开网站的
  • 其实就是将一串难以记忆的 IP地址,变成域名,这样就很好记了

从语法上讲,每一个域名都由标号序列组成,而各标号之间用点隔开。例如下面的域名:

域名

顶级域名:一个域名由两个以上的词段构成,最右边的就是顶级域名。顶级域名又分为国家顶级域和国际顶级域名;

  • 国家顶级域名(national top-level domainnames,简称 nTLDs):200多个国家都按照 ISO3166 国家代码分配了顶级域名,例如中国是 CN,美国是 US,日本是 JP 等;
  • 国际顶级域名(international top-level domain names,简称 iTDs):例如表示工商企业的 .Com .Top,表示网络提供商的.NET,表示非盈利组织的.org,表示教育的.edu,表示销售公司或企业的.store,表示提供信息服务的单位的.info 以及没有限制的中性域名如.xyz 等 。

二级域名:二级域名是指顶级域名之下的域名。

在国际顶级域名下,它是指域名注册者的网上名称,例如 IBM、Yahoo、Microsoft 等;

在国家顶级域名下,它是表示注册企业类别的符号,例如 Top、Com、EDU、Gov、Net 等。

三级域名:三级域名用字母( A~Z,a~z,大小写等)、数字(0~9)和连接符(-)组成, 各级域名之间用实点(.)连接,三级域名的长度不能超过 20 个字符。如无特殊原因,建议采用申请人的英文名(或者缩写)或者汉语拼音名 (或者缩写) 作为三级域名,以保持域名的清晰性和简洁性。
互联网域名空间

二 DNS完整的查询过程

DNS服务器解析域名的过程:

  • 首先会在浏览器的缓存中查找对应的IP地址,如果查找到直接返回,若找不到继续下一步
  • 将请求发送给本地DNS服务器,在本地域名服务器缓存中查询,如果查找到,就直接将查找结果返回,若找不到继续下一步
  • 本地DNS服务器向根域名服务器发送请求,根域名服务器会返回一个所查询域的顶级域名服务器地址
  • 本地DNS服务器向顶级域名服务器发送请求,接受请求的服务器查询自己的缓存,如果有记录,就返回查询结果,如果没有就返回相关的下一级的权限域名服务器的地址
  • 本地DNS服务器向权限域名服务器发送请求,域名服务器返回对应的结果
  • 本地DNS服务器将返回结果保存在缓存中,便于下次使用
  • 本地DNS服务器将返回结果返回给浏览器

DNS查询

比如要查询 www.baidu.com 的 IP 地址:

  • 首先会在浏览器的缓存中查找是否有该域名的缓存,如果不存在就将请求发送到本地的 DNS 服务器中。
  • 本地DNS服务器会判断是否存在该域名的缓存,如果不存在,则向根域名服务器发送一个请求,根域名服务器返回负责 .com 的顶级域名服务器的 IP 地址的列表。
  • 然后本地 DNS 服务器再向其中一个负责 .com 的顶级域名服务器发送一个请求,负责 .com 的顶级域名服务器返回负责 .baidu 的权限域名服务器的 IP 地址列表。
  • 然后本地 DNS 服务器再向其中一个权限域名服务器发送一个请求,最后权威域名服务器返回一个对应的主机名的 IP 地址列表。

三 迭代查询与递归查询

实际上,DNS解析是一个包含迭代查询和递归查询的过程。

  • 递归查询指的是查询请求发出后,域名服务器代为向下一级域名服务器发出请求,最后向用户返回查询的最终结果。使用递归 查询,用户只需要发出一次查询请求。
  • 迭代查询指的是查询请求后,域名服务器返回单次查询的结果。下一级的查询由用户自己请求。使用迭代查询,用户需要发出 多次的查询请求。

迭代查询与递归查询

一般我们向本地 DNS 服务器发送请求的方式就是递归查询,因为我们只需要发出一次请求,然后本地 DNS 服务器返回给我们最终的请求结果。而本地 DNS 服务器向其他域名服务器请求的过程是迭代查询的过程,因为每一次域名服务器只返回单次查询的结果,下一级的查询由本地 DNS 服务器自己进行。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值