DNS工作原理

原理:假设我们访问的是baidu.com. 首先当我们在浏览器输入www.baidu.com的时候,他先去访问本地缓存,在本地缓存发现有相应的资源,就直接返回,如果没有就去.根域找相应的资源。 但是.根域只知道.com域服务器的IP,根据IP 访问。com。 .com服务器找到baidu.com的ip,然后访问到baidu.com的服务器地址,根据要访问的端口确定运行的服务,假如是apache服务,我们进入apache的http.conf找到配置资源的路径读取资源返回到本地缓存进行缓存,然后在返回给客户,下次直接访问本地缓存
一、简述dns
  DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;

  作用:人得记忆有限,如果没有dns得记下多少IP地址;从网络来说由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。有人说DNS就是一个本大得电话本,说的挺贴切。

  正反向解析事两个不同得名称空间,是两颗不同得解析树;

  正向:ip—》主机名

  反向:主机名—》ip

  当今得业界标准BIND(berkeley internet name domain)dns软件

二、DNS域名
  1)DNS是一个倒挂树结构示意图如下
  在这里插入图片描述
  2)按照功能命名得五个类别介绍

  根域:DNS域名中使用时,规定由尾部据点(.)来指定名称位于根域或更高级别得域层次结构,(.)

  顶级域:TDL(TOP LEVEL DOMAIN)用来只是某个国家地区或组织使用得类型,例如(.com)

  二级域:个人或组织在internet上使用得注册名称,例如163.com

  子域:已经注册二级域名派生得域名,就是网站名,例如www.163.com

  主机名:通常情况下,DNS域名得最左侧得标签表示网络上得特定计算机,如www,mail,zhidao

  名称服务器:域内负责解析本域内的名称的主机

  根服务器:13组服务器

  3)dns和internet域
  互联网域名系统有名称注册机构负载维护分配有组织和国家/地区得顶级域在internet上进行管理。国际标准3166。

    常见得DNS域名

    com,商业公司

    edu,教育机构

    net,网络公司

    gov,非军事政府机构

    mil,军事政府机构

    cn,代表中国

三、DNS服务器类型
  主DNS服务器

  从DNS服务器 (可以是多个提供容错)

  缓存DNS服务器(转发器)

  主DNS服务器:管理和维护所负责解析的域内解析库的服务器

  从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

  1)复制操作的方式
  序列号serial:解析库版本号,主服务器解析库变化时,其序列递增

  刷新时间间隔refresh:从服务器从主服务器请求同步解析的时间间隔

  重试时间间隔retry:从服务器请求同步失败时,再次尝试时间间隔

  过期时长expire:从服务器始终联系不到服务器时,多久后放弃从服务器角度,停止提供服务

  否定答案的缓存时长;minimum

  ”通知“机制:主服务器解析库发送变化时,会主动通知从服务

2)区域传送
    完全传输axfr:传送整个解析库

    增量传输lxfr:传递解析库变化的那部分内容

3)区域(zone)和域(domain) 
    Domain:FQDN

    正向:FQDN->IP

    反向:IP->FQDN

    各需要一个解析库来分别负责本地域名的的正向和反向解析库

    正向区域

    反向区域

    FQDN:fullqualified domain name 完全限定域名

    如:www.baidu.com.

四、DNS查询解析
我们在浏览器访问www.baidu.com这个域名,dns怎么查询到这台主机那?
在这里插入图片描述
  1、在浏览器中输入www.baidu.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个ip地址映射,完成域名解析。

  2、如果hosts里没有这个域名的映射,则会查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

  3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析记过给客户端,完成域名解析,此解析具有权威性。

  4、如果要查询域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

  5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。

  6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。不管是本地DNS服务器用是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

  从上图可以知道,客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询就是迭代查询

    递归查询与迭代查询

    递归,只发送一次请求,得到一次准确结果(消耗资源)

    迭代,发送多次请求,得到参考结果

    一次完整得查询请求经过得流程

      client–>hosts文件–>DNS service

      local cache -->DNS server(recursion递归)–>server cache -->iteration(迭代)

    解析答案

    肯定答案

    否定答案:请求的条目不存在等原因导致无法返回结果

    权威答案:aa 表示是自身知道的结果,不是问来的

    非权威答案

五、资源记录(resoursr record,简写RR)
  1、简单介绍资源记录
    资源记录事组成DNS各域记录,这些记录类型有:A,AAAA,PTR,SOA,NS,CNAME,Mx等

    SOA 起始授权记录,(start of authority),一个区域解析库有且仅能有要给SOA记录,而必须为解析库的第一条记录;

    NS(nameserver)得缩写,专用于表明当前区域的DNS服务器

    A (address),后面记录得对应ipv4地址;FQDN–>IP

    AAAA 对应得ipv6地址;FQDN–>IPV6

    PTR (pointTER)指针,后面记录得数据就是反解到得主机名;IP–>FQDN

    CNAME 别名,一个主机名可以有多个别名,但ip地址事一样得;

    MX 邮件服务器;

    资源记录定义的格式:

  语法格式:

name[TTL]   IN   rr_type(资源记录类型)   value(可以是多个)

  rr_type:替换为指定的资源记录类型;

  ttl可以省略从全局继承 internet

注意:

  1)TTL就是time to live,可以从全局继承,默认秒为单位;

  2)@可以用于应用当前区域得名字比如baidu.com;

  3)同一个名字可以通过多条记录定义多个不同得值,此时DNS服务器会以轮询方式响应,可以分流做负载均衡;

  4)同一个值也可能有多个不同得定义名字;通过多个不同得名字指向同一个值进行定义;仅表示通过多个名字可以找到同一个主机而已;

 2、SOA:一个区域中有且只能有一个soa
    name:当前区域的名字,例如“zhangxingeng.com.”;最后记得有各点

    value:有多个部分组成

    1)当前区域的主DNS服务器的FQDN,也可以适用但却区域的名字;

    2)当前区域管理员的邮箱地址;但地址中不能使用@服务,一般用.替换,zxg.zhangxingeng.com

    3) 主从服务区域传输相关定义以及否定的答案的统一的TTL

[root@node5 ~]# cat /var/named/zhangxingeng.com.zone 
 $TTL 1D
 @       IN SOA  @ web1.zhangxingeng.com.admin.zhangxingeng.com (
                                         0       ; serial  #序列号-最后不要超过10位数
                                         1D      ; refresh  #刷新时间1天
                                         1H      ; retry   #重试时间
                                         1W      ; expire   #过期时间,一周
                                         3H )    ; minimum  #否定答案的ttl值,3个小时
         NS      web1
 web1    A       192.168.216.199     
 dns1    A       192.168.216.198   

3、NS记录格式
name:当前区域的名字
value:当前区域的某个DNS服务器的名字,例如web1.zhangxingeng.com

注意:一个区域可以由有多个NS记录

例如:
    zhangxingeng.com.  IN  NS web1.zhangxingeng.com

    zhangxingeng.com.  IN  NS web2.zhangxingeng.com

  注意:

  1)相邻的两个资源记录的name相同时,后续的可省略

  2)对NS记录而言,任何一个ns记录后面的服务器名字,都应该再后续有一个A记录
4、MX记录定义格式
name:当前区域的名字

value:当前区域的某邮件服务器(smtp服务器)的主机名;

一个区域内,MX记录可有多个;但每个记录的value之前以你更改有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;

  例如:

     zhangxingeng.com.   IN  MX  10  mx1.zhangxingeng.com.

     IN  MX   20  mx2.zhangxingeng.com.

  注意:

    1)对MX记录而言,任何一个MX记录后面的服务器名字,都应该再后续有一个A记录;

5、A记录定义格式
  name:某主机的FQDN,例如web1.zhangxingeng.com

value:主机名对应主机的ip地址;

  例如

     web1.zhangxingeng.com.  IN  A  192.168.216.199

     web2.zhangxingeng.com.  IN  A  192.168.216.202

  注意:

     *.zhangxingeng.com.  IN  A   192.168.216.199

      zhangxingeng.com.  IN  A  192.168.216.199

  避免用户写作名称时给错误答案,可以通过泛域名解析进行解析至特定地址;

6、PTR记录定义格式
name:IP,有特定格式,把IP地址反过来写,199.216.168.192;而有特定后缀:in-addr.arpa.,所以完整写法为:199.216.168.192.in.addra.arpa.

value:FQDN

例如:

199.216.168.192.in.addra.arpa.  IN  PTR  web1.zhangxingeng.com.

简写

199  IN  PTR  web1.zhangxingeng.com.

注意:网络地址及后缀可省略;主机地址依然需要反这写

7、CNAME记录定义格式
name:别名的FQDN

value:正规名字的FQDN;

例如:

web1.zhangxingeng.com.  IN  CNAME  www.zhangxingeng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时倾 | 职业人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值