DNS服务介绍

简介:
文中有不对或者有不清楚的地方,请大家告诉我,谢谢!
 
DNS服务介绍
 
1. DNS和WINS的作用
DNS:(Domain Name Server,域名服务)用于实现域名和IP地址的相互转换。
WINS:(Windows Internet Name Service) 用来将计算机的NetBIOS(Network Basic Input Output System,网络基本输入\输出系统)名称解析成IP地址。
 
2. DNS的结构
在DNS中,域名采用分层结构,包括:根域、顶级域、二级域和主机名称。
在域名层次结构中,每一层称作一个域,每个域用一个“.”分开。域又可以进一步分成子域,每个域都有一个域名。
clip_image001
                                                 域名空间层次结构图
根域:就是一个“.”号,由Internet名字注册授权机构管理。全世界共有13台根域服务器。
顶级域:由Internet名字授权机构管理。共有3种类型的顶级域:
组织域:采用3个字符的代号,如edu、com、gov等。
地理域:采用2个字符的国家/地区代号,如cn、jp、hk等。
反向域:这是一个特殊域,名称为in-addr.arpa,用于将IP映射到域名。
二级域:注册到个人、组织或公司的名称。二级域下还可以创建子域。
子域:从纯逻辑的角度来说,所有在根域以下的域都可称为子域,因为它们确实都在根域之下。但这样使用术语的对象太广,也不适于区分上层域和非上层域。通常,管理员称二级域以下的域为子域。从更实际的角度来看,根域、顶级域和二级域为域名树的上层固定组成,而子域是指二级域以下的各个域。
主机名:就是FQDN最左边的部分。使用“hostname”命令可以显示当前主机名。
 
3. DNS的作用机制
域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户/服务器模式在整个网络上均可存取,通过采用复制技术缓存技术使得整个数据库可靠的同时,又拥有良好的性能。
 
DNS的数据库结构形成一个倒立的树状结构,根的名字用空字符串""来表示,但在文本中用"."来书写。树的每一个节点都表示整个分布式数据库中的一个分区(域),每个域可再进一步划分成子分区(域),每个域都有一个标签(LABEL),标明了它与父域的关系。域也有一个域名(domain name),给出它在整个分布式数据库中的位置。在DNS中,域名全称是一个从该域到根的标签序列,以"."分隔这些标签。该标签最多可包含63个字符。树中每一节点的完整域名为从该节点到根之间路径上的标签序列。
 
如果根域在节点的域名中出现,该名字看起来就象以点结尾(实际上是以点和空标签作结尾)。这些以点结尾的域名被称之为绝对域名(Absoulte Domain Name)。不以点结尾的域名被称之为相对域名
 
域(Domains)即为树状域名空间中的一棵子树,域的域名同该子树根节点的域名一样。也就是说,域的名字就是该域中最高层节点的名字。举例来说,zhuhai.gd.cn域的顶端就是名为zhuhai.gd.cn的节点。
 
在DNS中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数量的子域,并将这些子域委托给其他组织进行管理。域既能包括主机又能包括其他域(它的子域)。域名被用做DNS数据库中的索引。子域中任何域名被认为是域的一部分。
 
事实上,主机即为域,域名仅是DNS数据库中的索引,"主机"可由指向相关主机信息的域名来索引,域包含所有其域名在该域的主机。
 
域名树中,叶节点的域通常代表主机,它们的域名可指向网络地址,硬件信息和邮件路由信息。在树内的节点,其域名既可命名一台主机,也可指向有关该域的子域的结构信息,在域名树中的内部域名并不受唯一性限制,它们既可表示它们所对应的域,又可代表网络中某台特定的主机。例如,sun.com既是sun的域,又是在sun和internet间转发信件的邮件服务器的域名。
 
网络上的每一台主机都有一个域名,域名给出有关主机的信息,该信息中包含IP地址,MAIL路由信息等等,主机也可以有一个或多个域名别名。
 
4. DNS服务器
存储有关域名空间信息的程序被称为域名服务器(name server)。通常,域名服务器拥有部分域名空间(称之为区zone)的完整信息。域名服务器可以拥有多个区的授权。
 
DNS服务器主要分为3种:主服务器(Primary Name Server)、辅助服务器(Secondary Name Server)和高速缓存服务器(Cache-only Server)。
主DNS服务器:它存储着自主生成的区域文件,对这些文件可读可写,并且这些文件都是权威性的信息源。
辅DNS服务器:辅DNS服务器在BIND8以后也叫从属服务器。它包含域的授权地址信息,但这些数据都是通过区域数据传输从主DNS获取的,并且无法对获取的这些数据进行修改。主要用于负载均衡和容错。
缓存DNS服务器:它主要用来缓存查询的地址信息,而不用承担任何其他的工作。它没有区域文件,也不从其他DNS服务器传输数据。它能响应客户机的查询,但是没有授权。
 
5. 域名查询
域名查询从查询方式上来分,可以分为递归查询迭代查询两种类型。
递归查询(Recursive Query):递归查询是最常见的发送到本地域名服务器的请求。客户机送出查询请求后,DNS服务器必须告诉客户机正确的数据(IP地址)或通知客户机找不到其所需数据。如果DNS服务器内没有所需要的数据,则DNS服务器会代替客户机向其他的DNS服务器查询。客户机只需接触一次DNS服务器系统,就可得到所需的节点地址。
迭代查询(Iterative Query):迭代查询的最好例子是一台本地域名服务器发送请求到根服务器。客户机送出查询请求后,若该DNS服务器中不包含所需数据,它会告诉客户机另外一台DNS服务器的IP地址,使客户机自动转向另外一台DNS服务器查询,依次类推,直到查到数据,否则由最后一台DNS服务器通知客户机查询失败。
 
域名查询从查询内容上来分,可以分为正向搜索查询反向搜索查询两种类型。
正向搜索查询:将域名映射成IP地址,通过域名来查找IP。
反向搜索查询:将IP地址映射成域名,通过IP来查找域名。in-addr.arpa特殊域。
 
DNS服务器经过查询后,返回给解析器的结果可能是下列结果中的一种:
• 给出所需数据的一个或几个资源记录。在这种情况下,解析器将以适当的格式返回得到的回答。
• 主机名错误。当所查询的名字不存在时给出这种错误。
• 数据未找到错误。当存在所查询的主机名,但找不到相应的数据时出现这种错误。
 
6. 区域
区域是用于存储DNS域名的数据库。DSN服务器是以区域为单位来管理域名空间的。DNS数据库表称为区域文件(Zone File)。数据库中包含着DNS域的RR,数据库表中,RR是用文本形式表示的。
 
一台DNS服务器可以管理一个或多个区域,而一个区域也可以由多台DNS服务器来管理。
在DNS服务器中必须先建立区域,然后才可以根据需要在区域中建立子域以及在区域中添加RR。
 
可以创建正向查找区域反向查找区域两种区域。
区域类型主要区域辅助区域存根区域三种。
主要区域:它是新区域的主副本,负责在新创建区域的服务器上管理和维护本区域的RR。
辅助区域:它是现有区域的副本,主要区域中的DNS服务器将把区域信息传递给辅助区域中的DNS服务器。使用辅助区域的目的是提供冗余、减少包含主要区域数据库文件的DNS服务器的负载。辅助区域的数据无法修改,其所有数据都是从主要区域复制而来。
存根区域:它只包含用于标识该区域的授权DNS服务器所需的RR。含有存根区域的DNS服务器对该区域没有管理权。存根区域只能创建只含有NS、SOA和A记录的区域的副本。其所属的主要区域通常是一个受委派区域。
 
区与域的关系:
区包含了域中除了代理给别处的子域外所含有的所有域名和数据。如果域的子域没有被代理出去,则该区包含该子域名和子域中的数据。
 
7. 委派
在默认情况下,DNS的父域将管理自己的子域,并且子域伴随父域一起进行复制和更新。但是,我们可以将子域委派给其他的DNS服务器来进行管理,此时,被委派服务器将承担此子域的管理,并且此子域是该被委派服务器的主要区域。而其父域只有此子域的委派记录即指向此子域的权威DNS服务器(被委派服务器)的A和NS记录,并且不对其子域进行实际管理。
 
子域和委派的区别:子域建立在父域下,一般和父域在同一台DNS服务器上,其授权服务器就是父域的授权服务器;委派的子域一般建立在别的DNS服务器上,其授权服务器在委派时可以指定为别的DNS服务器,也可以指定为父域的授权服务器。
 
8. 区域传输
将一个区域文件复制到多个服务器上的过程叫做区域传输。它是通过从主服务器上将区域文件的信息复制到辅助服务器上来实现的。
主服务器是区域复制的来源服务器,它既可以是主要区域,也可以是辅助区域。
*如果主服务器是主要区域,区域传输则直接从主要区域取得区域文件。
*如果主服务器是辅助区域,区域传输仅传输区域文件的一个只读副本。
两种区域文件复制方式:
AXFR全部区域文件复制,复制整个区域文件。
IXFR增量区域文件复制,仅仅复制区域里变化的记录。
 
9. 解析器
运行在主机上并需要域名空间信息的更新时需要解析器(Resolver),在bind中解析器仅仅是一组库例程,并编译进象telnet和ftp这样的程序中,它们并非独立的进程。解析器所做的工作为: 汇集查询,发送查询并等待应答,未得到应答时重发查询。
 
10. 资源记录(Resource Record)
资源记录简称RR,包含了DNS应该知道的重要资源信息,这些资源就是其他的DNS服务器和主机,是DNS的核心数据。
rr
DNS使用MX记录来实现邮件路由,它规定了域名的邮件服务器要么处理,要么向前转发有关该域名的邮件。处理邮件是指将其传送给其地址所关联的个人,向前转发邮件是指通过SMTP协议将其传送给其最终目的地。为了防止邮递路由,MX记录除了邮件交换器的域名外还有一个特殊参数:优先级值。优先级值是个从0到65535的无符号整数,它给出邮件交换器的优先级别。
 
11. 动态DNS(DDNS)
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
 
DDNS需要DNS和DHCP结合来进行。DHCP服务在为客户端分配IP时,可以代表其DHCP客户端注册和更新该客户端在DNS服务器上的A记录和PTR记录。此外,DHCP服务器还可以在DHCP客户端IP租约被删除时清除该客户端在DNS服务器上的A记录和PTR记录。
 
 
     本文转自yuanbin0710 51CTO博客,原文链接:http://blog.51cto.com/yuanbin/108473,如需转载请自行联系原作者


相关文章
|
12天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
301 2
|
12天前
|
人工智能 NoSQL atlas
4大企业实例解析:为何MongoDB Atlas成为AI服务构建的首选
本文所提及的仅是MongoDB Atlas在AI领域可实现功能的冰山一角
1602 1
|
12天前
|
网络协议 应用服务中间件 nginx
【CKA模拟题】如何用Nslookup轻松检查集群服务名的DNS解析?
【CKA模拟题】如何用Nslookup轻松检查集群服务名的DNS解析?
112 2
|
12天前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
433 4
|
4天前
|
域名解析 网络协议 安全
【域名解析DNS专栏】云服务中的DNS解析服务比较:阿里云、AWS、Azure大PK
【5月更文挑战第23天】此对比分析探讨了阿里云DNS、AWS Route 53和Azure DNS的服务特点。阿里云DNS以其智能解析和IPv6支持脱颖而出,适合中国地区用户;AWS Route 53凭借其强大的路由策略和与AWS生态的深度集成吸引高级用户;Azure DNS则以简洁管理和DNSSEC安全支持见长,与Azure平台集成良好。选择取决于具体需求,如功能、易用性、性能、安全性和成本。
【域名解析DNS专栏】云服务中的DNS解析服务比较:阿里云、AWS、Azure大PK
|
7天前
|
缓存 负载均衡 网络协议
使用Go语言开发高性能服务的深度解析
【5月更文挑战第21天】本文深入探讨了使用Go语言开发高性能服务的技巧,强调了Go的并发性能、内存管理和网络编程优势。关键点包括:1) 利用goroutine和channel进行并发处理,通过goroutine池优化资源;2) 注意内存管理,减少不必要的分配和释放,使用pprof分析;3) 使用非阻塞I/O和连接池提升网络性能,结合HTTP/2和负载均衡技术;4) 通过性能分析、代码优化、缓存和压缩等手段进一步提升服务性能。掌握这些技术能帮助开发者构建更高效稳定的服务。
|
7天前
|
网络协议
阿里云服务器搭建DNS解析服务步骤
在阿里云搭建DNS解析服务,首先注册阿里云账号并购买适合的云服务器。获取服务器公网IP后,配置服务器并安装DNS软件如Bind9。接着设置DNS解析,包括定义顶级和子域名的指向。最后,通过ping测试或浏览器访问验证DNS解析功能是否正常。
|
7天前
|
存储 弹性计算 监控
【阿里云弹性计算】阿里云ECS全面解析:弹性计算服务的核心优势与应用场景
【5月更文挑战第20天】阿里云ECS是提供可伸缩计算能力的云服务,支持多种规格实例,满足不同需求。其核心优势包括灵活性、高性能、高可用性、安全性和易用性。适用场景包括网站托管、大数据处理、游戏多媒体应用及测试开发环境。通过Python示例代码展示了如何创建ECS实例,助力企业专注业务发展,简化基础设施管理。
41 5
|
7天前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
152 3
|
9天前
|
域名解析 网络协议 网络性能优化
如何提升自建DNS服务下的网络体验
网络质量和网络体验是通信过程中的两个不同层面,质量涉及设备上下行表现,而体验关乎端到端通信效果。衡量质量常用带宽、延迟、丢包率等指标;体验则关注可访问性,DNS解析速度和服务位置等。现代路由器能自动调整网络质量,普通用户无需过多干预。自建DNS服务时,选择权威DNS能解决可访问性,但可能不提供最优体验。AdguardHome和Clash等工具能进一步优化DNS解析,提升网络体验。
38 6
如何提升自建DNS服务下的网络体验

相关产品

  • 云解析DNS
  • 推荐镜像

    更多