什么是dns为什么要使用dns

什么是dns为什么要使用dns,第1张

DNS,简单地说,就是Domain Name System,翻成中文就是“域名系统”。
它的作用:DNS是一个非常重要而且常用的系统,主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换。而上面执行DNS服务的这台网络主机,就可以称之为DNS Server。基本上,通常我们都认为DNS只是将Domain Name转换成IP Address,然后再使用所查到的IP Address去连接(俗称“正向解析”)。事实上,将IP Address转换成Domain Name的功能也是相当常使用到的,当login到一台Unix工作站时,工作站就会去做反查,找出你是从哪个地方连线进来的(俗称“逆向解析”)。
DNS后缀:为客户端计算机配置主 DNS 后缀
1在“控制面板”中,打开“系统”。
2单击“计算机名”选项卡。
此选项卡显示计算机名、所属的工作组或域以及计算机的简要描述。
3单击“更改”,然后单击“其他”。
4在“DNS 后缀和 NetBIOS 计算机名”中,执行以下 *** 作:
对于“此计算机的主 DNS 后缀”,在完成其完全合格的域名 (FQDN) 后,指定要附加到该计算机名的 DNS 后缀。
5应用这些更改之后,重新启动计算机以便用新的 DNS 域名初始化。
6如果先前已经安装并已将计算机配置为 DNS 服务器,请验证是否已更新区域授权记录。
这些包括起始授权机构 (SOA) 和名称服务器 (NS) 资源记录,用新的 FQDN 代替以前使用的单标签名称。详细信息,可在阿里云平台参阅。

很多人可能都听过主DNS服务器和辅助DNS服务器,但对于两者有什么区别和作用不太了解,下面中科三方将简单介绍下这两种DNS服务器的相关特点。

设置DNS服务器时,服务器管理员可以选择是将DNS服务器指定为主服务器还是辅助服务器(也称为从服务器)。在某些情况下,服务器可以是一个区域的主要服务器,也可以是另一个区域的辅助服务器。

DNS主服务器

主服务器托管控制区域文件,该文件包含域的所有权威信息(这意味着它是重要信息的可信源,例如域的IP地址)。这包括重要信息,例如域的IP地址以及负责该域管理的人员。主服务器直接从本地文件获取此信息。只能在主服务器上更改区域的DNS记录,然后主服务器才能更新辅助服务器。

DNS辅助服务器

辅助服务器包含区域文件的只读副本,它们通过称为区域传输的通信从主服务器获取其信息。每个区域只能有一个主DNS服务器,但它可以有任意数量的辅助DNS服务器。无法在辅助服务器上更改区域的DNS记录,但在某些情况下,辅助服务器可以将更改请求传递到主服务器。

为什么要有辅助DNS服务器?

主DNS服务器包含所有相关资源记录,并且可以处理域的DNS查询,但是标准(并且许多注册商需要)至少具有一个辅助DNS服务器。这些辅助服务器的好处是它们在主DNS服务器关闭时提供冗余,并且它们还有助于将请求的负载分配到域,以便主服务器不会过载,这可能导致拒绝服务。他们可以使用循环DNS来实现这一点,循环DNS是一种负载平衡技术,旨在为群集中的每个服务器发送大致相等的流量。

以上就是关注主DNS服务器和辅助DNS服务器的相关介绍。

以win7为例,介绍设置主dns服务器的方法:

1、点击开始,点击运行,输入ncpacpl,点击确定;

2、右击本地连接,点击属性;

3、双击internet协议版本4;

4、点击使用下面的dns服务器地址,在首先dns服务器后输入后,点击确定即可。

备注:用户所在地区宽带的dns服务器地址,可利用百度搜索: 地区名 宽带名 dns获知。

DNS工作过程如下:

1、客户机提出域名解析请求,并将该请求发送给本地的域名服务器;

2、当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回;

3、如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址;

4、本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址;

5、重复第四步,直到找到正确的纪录;

6、本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

dns
是域名系统
(domain
name
system)
的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在internet上域名与ip地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,dns就是进行域名解析的服务器。
dns
命名用于
internet

tcp/ip
网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入
dns
名称时,dns
服务可以将此名称解析为与之相关的其他信息,如
ip
地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的ip地址,这样才能上网。其实,域名的最终指向是ip。
对于如何设置dns,这个是要准确的填写具体的dns服务器的ip的,不同的城市,不同的网络运营商,dns服务器地址也不一样的,你得致电当地的网络运营商才可以了解到最准确的信息

顶级域名
即一级域名,如com、net、org等

根域名服务器
负责返回顶级域名服务器的地址,全球只有13台ipv4根域名服务器

本地域名服务器(LDNS)
指电脑上网时ipv4或者ipv6设置中填写的DNS地址,一般是网络运营商(电信、联通等)的DNS服务器,或者路由器地址

权威域名服务器
对于一个特定的域名,必须将域名交由某个DNS服务器进行解析,才能将域名指向对应的IP地址,这个负责最终解析域名的服务器就是权威域名服务器

CNAME与A记录是DNS解析的两种实现方式
A记录是直接把域名指向具体ip
CNAME是把域名指向别名,别名再指向具体ip

假如有100个域名,指向同一个ip,现在要更换ip
如果用A记录,这100个域名都要更换ip
如果这100个域名已经CNAME到同一个别名,那么只需要更新别名的解析
所以CNAME可以理解为定义了一个变量,而A记录就是硬编码

dig命令可用于查询CNAME和A记录
下面的例子,可以查到 >DNS 介绍
DNS 由来
DNS 全名是 Domain Name System, 透过 DNS 系统, 我们可以由一部机器的 domain name 查其 IP, 也可以由机器的 IP 反查它的 domain name, 除此之外 DNS 还与 Mail System 结合, 提供 Mail routing 的功能
早期这个 domain name 与 IP 的对应表是记在每部机器的 /etc/host 这个档案, 当电脑个数不多还好, 但是电脑数目一多就会发生问题了, 主要有下列问题
1 Traffic & Load
2 Conflict
3 Consistency
因为用 hosts 记录 domain name <-> ip mapping 有上述问题, 所以后来发展出 DNS
Domain Name Space
整个 INTERNET 上的电脑如此众多, 如何保证两部电脑不会有相同的 domain name/IP 是一个很重要的问题 几个重要的观念如下
1 Domain (网域)
将整个 internet 分成许多 domain, 每个 domain 下又细分为许多 domain, 然后这些细分的 domain 视实际需求又再细分成许多 domain, 一直循环下去
基本上每个 domain 内的 mapping 由一部主机负责管理
top level domain - com, edu, gov, mil, net, org, int (现在又多出许多 top domain 了如 isp, art 等)
2 Delegation (授权)
刚才提到每个 domain 都可因实际需求再细分成许多 sub domain 上层的 domain 可以将其分出的某个 sub domain 的 domain name 与 IP mapping 交由另一部机器管理, 这个动作我们称之为 delegation
3Forward/Reverse(正解/反解)
在讲到 domain name <-> IP mapping, 其实应该看成两个命名空间:
一个是 domain name -> IP, 称之为 forward mapping, 在这个命名空间中就是先分成前面提到的那些 top domain, 再细分 sub domain, 再细分
比如说 winniecorphpcom -> 1516192152 代表在负责 corphpcom 这个 sub domain 的机器上, 可以查到其 mapping table 上有一笔记录是 winnie -> 1516192152
一个是 IP -> domain name 称为 reverse mapping 在这个命名空间中, 所有的 IP 组成一个叫作 arpain-addr 的 top domain, 然后再依 IP 层层细分
比如说 1516192152 -> winniecorphpcom 代表在负责 1921615in-addrarpa(注意是反过来写, 因为 top domain 要在最后面) 这个 sub domain 的机器上, 可以查到其 mapping table 上有一笔记录是 152 -> winniecophpcom
值得注意的是:
a 负责 forward mapping 和 reverse mapping 的机器不一定是同一部
负责 corphpcom domain 与负责 1921615in-addrarpa 的机器不一定是同一部机器, 即使在同一部机器, 如果不注意的话, 两边的内容可能也会有不 match 的情形
b domain 与 ip subnet 并没有一对一关系
举例而言成大电机的 domain 是 eenckuedutw, 但是因为成大电机内部机器数多的关系, 所用到的 IP subnet 有 14011672, 1401649, 140116163, 140116156, 140116227 共 5 组
Name Server
负责记录 forward/reverse mapping 的机器会执行一个叫 name server 的软体, 透过这个软体回应来自其它机器对 domain name 或 IP 的查询
1 zone & domain
上面提到基本上每个 domain交由一个机器来负责, 其实更精确地说应该是每个 zone 交由一个 name server 来负责, 所谓 zone 就是把一个 domain 扣掉分给下层负责的部份, 剩下来的就是 zone
2 Primary/Secondary
每个 zone 交由一部 name server负责的作法会有一个问题, 万一这个 name server 当掉, 可能造成 INTERNET 上其它机器无法取得属於这个 zone 的资料(就是 domain name 和 ip mapping) 为了避免这种情形, 我们可以把这个 zone 的资料同时交给多部 name server 负责原本的这部称为 primary name server, 其它的称为 secondary name server Secondary name server 会定期将 primary name server 上 zone 的资料拷贝一份下来备用
对於上层的 name server 而言, 它只是设定某个 zone 同时 delegate 给一部以上的下层 dns server, 但是它并不去分辨谁是真正的 primary, 谁是 secondary 它只是依据顺序寻问, 当第一部负责某个 zone 的 dns server 当掉时, 它会依序找下一个负责的 dns server
ps: primary/secondary 在新版 name server 程式中改称为 master/slave
Name Resolution (名称解析, 名称查询)
接下来我们介绍名称查询运作时一些重要名词或观念
1 Resolver
相当於是 DNS server 的 client 端, 通常是以函式库的方式被放在整套作业系统中, 各类的应用程式经由呼叫这个 resolver 函式库可以很容易地向 DNS server 进行查询, 得到所要的资料
2 Root Name Server
在查询资料时, 总是要有一个起点, 当一个 local DNS server 收到来自 client 端关於一个 domain name 的查询, 这个 local DNS server 怎麼知道这个 domain name 的相关资料是记录在 INTERNET 中的哪一个 DNS 上呢
答案是向 root name server 寻问 root name server 记录了各 top domain 分别是由哪些 DNS server 负责 比如说要找 >DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在 浏览器地址栏中输入的是便于识记的主机名和域名。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地址解析的重要角色
DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP 地址信息。
DNS服务的工作过程
当 DNS 客户机需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
1 指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。
2 指定的查询类型,它可根据类型指定资源记录,或作为查询 *** 作的专门类型。
3 DNS域名的指定类别。
DNS 域名由本机的程序使用。该请求随后传送至 DNS 客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地解析程序的缓存可从以下2个可能的来源获取名称信息:
1 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS 客户服务启动时预先加载到缓存中。
2 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。
接下来查询 DNS 服务器,当本地的DNS不能就地解析查询时,可根据需要查询 DNS 服务器来解析名称。如图4-1所示,客户机将查询首选 DNS 服务器。在此过程中使用的实际服务器是从全局列表中选择的。当 DNS 服务器接收到查询时,首先检查它能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。
如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。
如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程。
为了使 DNS 服务器正确执行,首先需要在DNS 域名空间内存放其他DNS服务器的一些有用的联系信息。该信息以根线索的形式提供,它是记录初步资源的一个列表,可用来定位一些 DNS 服务器,这些服务器对 DNS 域名空间树的根具有绝对控制权。根服务器对 DNS 域名空间树中的根域和顶级域具有绝对控制权。DNS 服务器可通过使用根线索搜索根服务器来完成递归过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12685741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存