Dns的概念
来源:互联网 发布:淘宝宝贝关联阿里巴巴 编辑:程序博客网 时间:2024/06/10 07:56
Dns的概念
dns查询通常用udp 53端口
主备DNS之间同步用tcp 53端口
1.什么是DNS
DNS:域名解析 Domain Name Service(域名服务器)
域名:www.baidu.com
(主机名) = FQDN: Full Qualified Domain Name(完全限定域名)
magedu.com .com 都是域名,在.com下包含了magedu.com这个域,.com下同样有很多域IBM.com 、Goolge.com 、……同样在magedu.com这个域名下包含了许多主机,比如:www、ftp、mail等,正式这些主机揉合起来的一个范围就叫一个域。
DNS的作用:名称解析 Name reaolving 也叫名称转换(背后有查询的过程,依赖的是数据库)
就是将FQDN---->IP 的过程(但是这个转换的过程是双向的)
例如:
172.25.254.1 www.magedu.com
172.25.254.2 mail.magedu.com
2.dns的起源:(即就是为什么会出现dns)
在ip很少的时候人们访问服务器或者另一台主机的时候是通过在url输入ip地址的形式来实现,然而由于ip地址在不断的增多为了便于人们的记忆,因为我们人类对一些比较有意义的文字记忆(如www.baidul.com)比记忆那些毫无头绪的号码(如209.185.243.135)往往容易得多。假如您的电话有名字记忆功能您只需知道对方的名字就可以拨号给友人了我们可以说这电话也具备如DNS的功能了
Dns的功能就是为我们在文字和ip之间担当了翻译而免除了强记号码的痛苦。在早期的IP网路世界里面每台电脑都只用IP地址来表示不久人们就发现这样很难记忆于是一些unix的使用者就建立一个hosts对应表将IP和主机名字对应起来这样用户只需输入电脑名字就可以代替IP来进行沟通了。不过这个HOSTS档是要由管理者手工维护的最大的问题是无法适用於大型网路而且更新也是件非常头痛的事情。这就是DNS大派用场的时候了。
3.nsswitch:
要完成名称解析的机制有很多,因此为了有一个统一的的框架就出现了nsswitch,nsswitch就是实现为多种需要实现名称解析的机制提供名称解析的平台,它只是提供平台,并不负责实际上的名称解析。实际负责解析的文件是
/etc/hosts和/etc/nsswitch.conf
nsswitch:
hosts : files dns 在/etc/nsswitch.conf 里有这一行
files: 指的就是/etc/hosts这个文件
dns :指的就是dns服务,也就是查询/etc/resolv.conf这个文件
4.根域的介绍
就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。
根域服务器我们知道有13台,但是这是错误的观点。
根域服务器只是具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了任播的技术,所以我们可以在全球设立这些IP的镜像站点,你访问到的这个IP并不是唯一的那台主机。
具体的镜像分布可以参考维基百科
地址:
https://zh.wikipedia.org/wiki/%E6%A0%B9%E7%B6%B2%E5%9F%9F%E5%90%8D%E7%A8%B1%E4%BC%BA%E6%9C%8D%E5%99%A8。
这些主机的内容都是一样的
全球13组根域名伺服器以英文字母A到M依序命名,網域名稱格式為「字母.root-servers.net」。其中有11個是以任播技術在全球多個地點設立鏡像站。
这十三台根域名服务器分布在:美国9台,日本1台,荷兰1台,英国1台,瑞典1台
5.域的划分
根域下来就是顶级域或者叫一级域,
有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.,net.等,一种是按国家划分的如cn.,jp.,等。
每个域都会有域名服务器,也叫权威域名服务器。
Baidu.com就是一个顶级域名,而www.baidu.com却不是顶级域名,他是在baidu.com 这个域里的一叫做www的主机。
一级域之后还有二级域,三级域,只要我买了一个顶级域,并且我搭建了自己BIND服务器(或者其他软件搭建的)注册到互联网中,那么我就可以随意在前面多加几个域了(当然长度是有限制的)。
比如a.www.baidu.com,在这个网址中,www.baidu.com变成了一个二级域而不是一台主机,主机名是a。
6.域名服务器
能提供域名解析的服务器,上面的记录类型可以是A(address)记录,NS记录(name server),MX(mail),CNAME等。
(详解参见博客:域名解析中A记录、CNAME、MX记录、NS记录的区别和联系)
A记录是什么意思呢,就是记录一个IP地址和一个主机名字,比如我这个域名服务器所在的域test.baidu.com,我们知道这是一个二级的域名,然后我在里面有一条A记录,记录了主机为a的IP,查到了就返回给你了。
如果我现在要想baidu.com这个域名服务器查询a.test.baidu.com,那么这个顶级域名服务器就会发现你请求的这个网址在test.baidu.com这个域中,我这里记录了这个二级域的域名服务器test.baidu.com的NS的IP。我返回给你这个地址你再去查主机为a的主机把。
这些域内的域名服务器都称为权威服务器,直接提供DNS查询服务。(这些服务器可不会做递归哦)
7.DNS查询解析的方式
查询有两种方式:
.递归:查询者发送一次请求
迭代:查询者发送多次请求
解析有两种方式:
正向:FQDN----》IP
反向:IP-------》FQDN
互联网的查询是两段式:从客户端查起的时候是递归,从DNS服务器查询的时候是迭代的。
DNS分布式数据库:
上级只知道其直接下级的位置
下级默认情况下只知道根的位置(若想让下级知道上级必须手动配置)
DNS服务器:
接受本地客户端请求(递归的)
外部客户端请求:(也就是在寻找我们当前服务器所在域内的主机的IP)即就是请求权威答案。
8.资源记录:
资源记录:
每个区域数据库文件都是由资源记录构成的。主要有:SOA记录、NS记录、A记录、CNAME记录、MX记录和PTR记录。
标准的资源记录具有其基本格式:
[name][ttl]INtyperdata
name:名称字段,此字段是资源记录引用的域对象名,可以是一台单独的主机也可以是整个域。字段值:"."是根域,@是默认域,即当前域,
ttl:生存时间字段,它以秒为单位定义该资源记录中的信息存放在DNS缓存中的时间长度。通常此字段值为空,表示采用SOA记录中的最小TTL值(即1小时)。
IN:此字段用于将当前湖泊记录标识为一个INTERNET的DNS资源记录。
TYPE:类型字段,用于标识当前资源记录的类型。
资源记录类型:
A (host),即是A记录,也称为主机记录,是DNS名称到IP地址的映射,用于正向解析。
CNAME:CNAME记录,也是别名记录,用于定义A记录的别名。
MX (mail exchange): 邮件交换器记录,用于告知邮件服务器进程将邮件发送到指定的另一台邮件服务器。(该服务器知道如何将邮件传送到最终目的地)。
NS :NS记录,用于标识区域的DNS服务器,即是说负责此DNS区域的权威名称服务器,用哪一台DNS服务器来解析该区域。一个区域有可能有多条ns记录,例如zz.com有可能有一个主服务器和多个辅助服务器。
PTR:是IP地址到DNS名称的映射,用于反向解析。
SOA:用于一个区域的开始,SOA记录后的所有信息均是用于控制这个区域的,每个区域数据库文件都必须包谷一个SOA记录,并且必须是其中的第一个资源记录,用以标识DNS服务器管理的起始位置,SOA说明能解析这个区域的dns服务器中哪个是主服务器。
radata: 数据字段用于指定与当前资源记录有关的数据,数据字段的内容取决于类型字段。
资源记录类型
起始授权结构(SOA) 指出当前区域内谁是 主DNS服务器
正向解析 将域名FQND映射到IP
别名(CNAME)将A记录指向的域名 指向 另外一个域名
邮件交换器(MX)指出当前区域内 SMTP邮件服务器IP
名称服务器(NS)指出当前区域内有几个DNS服务器在提供服务
反向解析(PRT) 将IP解析为域名FQND
9.详解DNS的资源记录
1. A记录 --将域名FQND映射到IP 正向解析
在这里介绍2个特殊的域名:
@ 表示当前域,即子域为空
* 表示泛域名与泛解析
泛域名是指在一个域名根下,以 *.Domain.com 的形式表示这个域名根所有未建立的子域名。 泛解析是把*.Domain.com 的A 记录解析到某个IP 地址上,然后别人通过任意的前缀.domain.com访问都能访问到你解析的站点上
例:在域名提供商只那里只解析了 www.lison.com 和 lison.com 这两个域名的A记录, 那么 ftp.lison.com mail.lison.com bbs.lison.com 等域名记录是不存在的, 但如果建立泛域名记录 *.lison.com 后, *.lison.com 就涵盖了 ftp.lison.com mail.lison.com bbs.lison.com 等所有不存在的子域名记录。
2. 别名(CNAME)-- 将域名指向另一个域名
用途:设定域名或者子域名指向,保证域名指向对应的主机重要设置;其只能填写域名。添加CNAME记录时,别名为三级或者多级域名,目标主机为别名。
例如: www.lison.com指向ftp.lison.com
3. 反向解析(PRT) -- 将A记录指向(另外的域名)
PTR是pointer 的简写。 "PTR"就是"反向DNS",domain name pointer,可以粗略的理解为DNS反向
Domain Name Pointer. 是一个指针记录,用于将一个IP地址映射到对应的主机名,也可以看成是A记录的反向,通过IP访问域名,原来是通过域名访问IP)
MX记录详解:
MX的作用、检查方法、邮件域名的解析,ISP提供的MX验证等。。。所有的关于MX的都在这里了哈。当然在Exchange的配置中会再次来详细分析的。
检查MX记录是否存在的方法
DNS查询的一个非常有用的工具是nslookup,可以使用它来查询DNS中的各种数据。Cmd运行nslookup进入一个交互模式,在这里能查询各种类型的DNS数据。
C:\>nslookup
DefaultServer:ns.sc.cninfo.net
Address:61.139.2.69
>settype=mx//此句与下句功能相同
>setq=mx
>126.com
Server:ns.sc.cninfo.net
Address:61.139.2.69
Non-authoritative answer:
126.comMXpreference=10,mailexchanger=mxnew-b.126.com
126.comMXpreference=50,mailexchanger=mxbak.126.com
126.comMXpreference=10,mailexchanger=mxnew-a.126.com
mxbak.126.cominternetaddress=220.181.15.194
mxbak.126.cominternetaddress=220.181.15.195
mxnew-a.126.cominternetaddress=220.181.15.139
如果所要查的某域名的MX记录不存在,则出现与以下类似的提示:
C:\>nslookup
>settype=mx
>demo.lison.com
DefaultServer:[10.11.12.16]
Address:10.11.12.16
Non-authoritativeanswer:
***Can'tfinddemo.magicwinmail.com:Noanswer
10.DNS域名服务器的类型有哪些
因特网上的域名服务器用来存储域名的分布式数据库,并为DNS客户提供域名解析。它们也是按照域名层次来安排的,每一个域名服务器都只对域名体系中的一部分进行管辖。根据它们的用途,域名服务器有以下几种不同类型。
(1)主域名服务器:负责维护这个区域的所有域名信息,是特定的所有信息的权威信息源。也就是说,主域名服务器内所存储的是该区域的正本数据,系统管理员可以对它进行修改。
(2)辅助域名服务器:当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为备份服务提供域名解析服务。辅助域名服务器中的区域文件内的数据是从另外一台域名服务器复制过来的,并不是直接输入的,也就是说这个区域文件只是一份副本,这里的数据是无法修改的。
(3)缓存域名服务器:可运行域名服务器软件但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的回答,一旦获取一个答案,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求时,在其缓存中查找,如找不到就把请求依次转发到指定的域名服务器,直到查询到结果为止,否则返回无法映射的结果。
- DNS的概念
- Dns的概念
- 关于DNS的一些概念
- 19、DNS的概念,用途,DNS查询的实现算法
- dns概念以及安装
- DNS服务相关概念
- DNS相关概念
- DNS学习笔记-服务的配置与基础概念
- DNS概念及配置详解
- DNS配置参数和概念
- DNS服务相关概念详解
- DNS服务及相关概念
- DNS服务器概念的简单的介绍,与搭建一个简单的DNS名称缓存服务器,实现域名解析(一)
- 【耀阳的读书笔记】从零开始学习CDN(1)_关于DNS的几个概念
- TCPIP: DNS服务相关概念详解
- DNS术语、组件与概念综述
- DNS术语,组件和概念介绍
- 用户DNS,系统DNS,文件DNS的区别
- install scrapy
- 关于继承的问题的一些讨论
- (5)Django框架学习-Forms篇
- python处理文本一处代码优化过程
- New THUer | 如何提高科研效率
- Dns的概念
- lintcode 有效的括号序列
- Lua 5.3 参考手册 (1)
- ToolBar、TabLayout加角标无从下手?且看一看我的解决方法!
- hdu1575 Tr A(矩阵快速幂)
- 设计模式--状态模式
- tomcat启动startup.bat一闪而过
- 时间复杂度和空间复杂度详解
- Qt On Android开发环境安装、配置