网络知识学习4---(DNS的作用)

1.DNS

  简介

    DNS是域名解析协议

    在互联网中通过IP 地址来进行通信。但是IP 地址的表示形式是数字,很难进行记忆(比如116.213.120.232),所以为每个 IP取一个人类更易记忆的域名形式(比如www.google.com),而通过DNS 来把解析域名成为 IP(将方便人理解的命名格式解析成计算机能够理解的格式,也可以将IP 翻译成域名

  hosts文件

    在Windows中,在C:\Windows\System32\drives\etc\下有一个 hosts 文件这里面配置的是静态的IP和域名的配置(一个IP对应一个域名),如果你的计算机想要访问互联网上的域名时,会首先解析hosts 文件,看看这里面有没有配置相应的域名的IP,如果有就直接使用这里的,如果没有则通过DNS 在网络上获取,所以hosts 的优先级高,也存在一个隐患,假如你不小心在hosts 里面配置错了,而你又没有检查出来就可能导致你配置错误的域名一直无法打开

    那为什么从hosts 转而使用DNS:

      一方面是因为现在域名的数量实在是太多了(如果都放在hosts中,那么该文件可能达到几十个GB),那么名称解析效能下降

      因为hosts 是在用户的机器上的,如果我的IP地址或者域名更改了,那么需要更改所有用户的hosts 文件,所以主机维护相当困难

      所以虽然当前还是可以使用hosts,但是已经成为了一种非主流的选择,主要是用来进行实验使用

  DNS服务的作用

    将域名解析为IP 地址

      客户端向DNS服务器(DNS服务器有自己的IP地址)发送域名查询请求

      DNS服务器告知客户机Web服务器的IP 地址

      客户机与Web 服务器通信

  DNS查询过程(这是很重要的了解DNS原理的一个过程)

    通过分级管理可以有效的管理全球上亿的域名信息(类似于在公司中,CEO只管理各个部门的经理;各个部门的经理只管理自己部门中的各个组长;各个组长只管理自己组的组员。至少这是一种比较有效的管理方式)

    下面以一个客户机想要访问 www.benet.com 这个WEB服务器的过程来理解DNS的原理

网络知识学习4---(DNS的作用) 

      1.客户机(PC)向首选DNS服务器发起请求:”你知道www.benet.com的IP吗?“如果首选DNS服务器知道(一般如果首选DNS服务器曾经解析过,那么会进行一段时间内的缓存,默认三天,如果正好在缓存时间内,那么首选服务器就会知道这个域名的IP),那么首选DNS 服务器就会直接给客户机返回域名的IP 地址

      2.若首选DNS 服务器上没有相关信息,就不能直接返回域名的IP 地址,这时候,首选DNS 服务器就会去询问根DNS服务器(所有的DNS 服务器都知道全球的13 台DNS根服务器在哪里),根服务器可能不知道这个具体的 www.benet.com 的IP地址,但是它知道一级域 com 的IP(也就是说根服务器只负责维护所有的一级域,所以也就几百条数据在这里,虽然数据量少,但是它接受来自全球的请求,所以负载也很大)

      3.根服务器将com 的IP地址返回给 首选DNS 服务器

      4.首选DNS服务器再去请求 "com" DNS服务器:”你知道 www.benet.com的IP吗“,但是com DNS服务器也不知道 www.benet.com 的IP,但是com DNS 服务器知道 benet.com 的IP,

      5.”com“DNS服务器将这个信息返回给 首选DNS 服务器

      6.首选DNS服务器再去请求 "benet.com" DNS服务器,这时候 benet.com 服务器当然就会知道 www.benet.com的IP地址

      7.”benet.com“DNS服务器将这个信息返回给首选DNS  服务器

      8.首选DNS 服务器将获取到的 www.benet.com的IP返回给客户机

      9.客户机根据获取到的www.benet.com 的IP地址来访问WEB服务器

      10.WEB服务器返回相关的数据

  域名空间结构

    网络知识学习4---(DNS的作用)

  DNS查询类型

    从查询方式上分

      递归查询:要么做出查询成功的响应,要么做出查询失败的响应。一般客户机和服务器之间属于递归查询,即当客户机向DNS 服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS 服务器发出查询的请求,得到结果后转交给客户机

      迭代查询:服务器受到一次迭代查询回复一次结果,这个结果不一定是目标IP 与域名的映射关系,也可以时其他DNS服务器的地址(为了更进一步的获取目标IP)

    从查询内容上分

      正向查询由域名查询IP 地址

      反向查询由IP 地址查询域名




上一篇:shell脚本调试技术_转


下一篇:【转】shell脚本调试(bash trap support bashdb )