DNS基础知识

1.DNS服务简介

  • DNS(Domain Name System–域名系统),是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。是一个应用层的协议DNS使用TCP和UDP端口53

  • DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息.

  • DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符.

2.DNS相关概念

FQDN:完全限定域名,即每个域在全球唯一,域不是域名,baidu.com 是域,www.baidu.com 是域名。
DNS服务器:运行DNS服务器程序的计算机,储存DNS 数据库信息.DNS 服务器会尝试解析客户机的查询请求。
在解答查询时,如果DNS 服务器能提供所请求的信息,就直接回应解析结果,如果该DNS服务器没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址,如果以上两种方法均失败,则回应客户机没有所请求的信息或请求的信息不存在.
组织域:采用3 个字符的代号,表示DNS 域中所包含的组织的主要功能或活动.比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mil 为军事机构组织,net 为网络机构组织,org 为非营利机构组织,int 为国际机构组织.
地址域:采用两个字符的国家或地区代号.如cn 为中国,kr 为韩国,us 为美国.
反向域:这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询)
区(Zone):区是DNS 名称空间的一部分,其包含了一组存储在DNS 服务器上的资源记录.使用区的概念,DNS 服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器

2.1 域名结构

在这里插入图片描述

  • 根域(root domain):由于采用树状的分布式结构,显然根域值得是一个结构开始的节点,这里的根域用“.”表示,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。根域全球有13台,这些主机的内容都保持一致性。

  • 顶级域(top level domain):根域下来就是顶级域或者叫一级域,有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.,net.等,一种是按国家划分的如cn.,jp.,等。

  • 二级域(注册域):可以由个人或组织申请注册

www.baidu.com.,baidu就是一个二级域名

  • 三级域(子域):服务器网站名的代表

www.baidu.com. , www就是一个三级域名

  • 主机名:常用于表示具体的主机

ns1.www.baidu.com. 中的s1就是主机名

2.2 解析

  • 正向解析:FQDN–>IP,是指域名到IP地址的解析过程
  • 反向解析:IP–>FQDN, 是指IP地址到域名的解析过程,反向解析一般用于邮件服务器,IP反向解析主要应用到邮件服务器中来阻拦垃圾邮件.

2.3 两种查询方式

  • 递归查询

如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,会在域各树中的各分支的上下进行递归查询(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

- 第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址 
注:hosts文件:以静态映射的方式提供IP地址与主机名的对照表。
- 第二步:上一步无法找到,去DNS本地服务器(即域服务器)查找。其本质是去区域服务器、服务器缓存中查找
- 第三步:本地服务器查不到就根据‘根提示文件’的DNS服务器查询
- 第四步:将查询到的ip再原路返回给请求查询的主机
  • 迭代查询

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

- 第一步:在hosts静态文件、DNS解析器缓存中查找某主机的IP地址
- 第二步:上一步无法找到,在DNS本地服务器查询。
- 第三步:本地DNS服务器查询不到,则查询上一层次的所有区域服务器,以此类推直至根域名DNS服务器。
注:在向区域服务器或者根域DNS服务器查询过程中,服务器并不是直接返回结果,而是告知客户机另外一台DNS服务器,客户机再向该服务器提交请求,以此循环直到返回查询结果为止。
- 第四步:将查询到的ip再原路返回给请求查询的主机

因此,一个主机查询的过程分为两个部分,主机到本地DNS服务器之间是递归查询,本地服务器向根和相关服务器查询是迭代查询

2.4 DNS查询过程

在这里插入图片描述

3.DNS基本原理

  • 1.当客户机Client需要访问某个域名时,会首先查看本地hosts文件查询相关记录,如果有则直接解析。

  • 2.如果在本机hosts文件中没有找到相关记录,则将请求发送至本地DNS域名服务器。

  • 3.本地DNS服务器接收到请求后会先查询本地缓存localCache如果缓存中有该项记录则直接返回结果。

  • 4.如果本地DNS服务器在Local Cache中未查询到相关信息则本地域名服务器就会直接把请求发送给根域名服务器。

  • 5.根服务器通过请求返回给给本地DNS服务器一个根子域负责相关域的服务器地址。

  • 6.本地DNS服务器给根子域的DNS服务器发送请求,相关域服务器在返回给本地DNS一个相关子域服务器然后层层迭代查询。最终得到记录

  • 7.本地DNS 服务器把返回的发送给客户端,并保存在本地缓存中以备下一次使用。

  • 8.域名解析完成

4.常用的资源记录的类型有以下几种:记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX, SRV

  • SOA(start of authority):起始授权机构,此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS 服务器如何更新区域数据文件的设置等。

  • A(address):是用来指定主机名(或域名)对应的IP地址记录。也就是 FQDN—IP

  • NS(name server):此记录指定负责给定区域的名称服务器。DNS服务器NS记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。 简单的说,NS记录是指定由哪个DNS服务器解析你的域名。

  • MX(mail exchange):记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务sss器上。

  • CNAME(Canonical Name):别名记录,允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录),它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL,这两个别名的全称就“www.mydomain.com”和“mail.mydomain.com”,实际上他们都指向 “host.mydomain.com”。

  • PTR(pointer):反向查询IP—>FQDN,IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-add.arpa.

  • SRV: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:_example-server._tcp)。

  • AAAA: 将主机名(或域名)指向一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA记录.

  • TXT:一般指某个主机名或域名的说明,如:admin IN TXT “管理员, 电话:XXXXXXXXXXX”,mail IN TXT “邮件主机,存放在xxx , 管理人:AAA”,Jim IN TXT “contact: abc@mailserver.com”,也就是您可以设置 TXT 内容以便使别人联系到您。

  • TTL(time to live):简单的说,TTL就是一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录,而这个记录在DNS服务器上保留的时间,就是TTL值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值