热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

域名解析系统DNS

文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名


文章目录

  • 前言
  • 一、域名系统概述
  • 二、因特网的域名结构
  • 三、域名服务器
    • 1.根域名服务器
    • 2.顶级域名服务器(TLD, top-level domain)
    • 3.权威(Authoritative)域名服务器
    • 4.本地域名解析服务器
  • 四、域名解析过程
    • 1.递归查询
    • 2.迭代查询
  • 五、DNS记录和消息格式
    • 1.DNS记录
    • 2.DNS协议与消息
  • 总结




前言

在这里插入图片描述



提示:以下是本篇文章正文内容


一、域名系统概述


域名系统DNS(domain name system)是因特网使用的命名系统,用来把便于人们使用的机器的名字转换为IP地址,域名系统其实就是名字系统

用户与因特网上某台主机通信时,必须知道对方的IP,IP地址是由32位的二进制数字组成的,人们很难记忆,但在应用层为了便于用户记忆各种网络应用,连接在互联网的主机不仅有IP地址,还要便于记忆的主机名字,域名系统DNS能够把互联网上的主机名字转换为IP地址

DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口
从概念上可将DNS分为3部分:层次域名空间、域名服务器和解析器

Internet上主机/路由器的识别问题:
IP地址 <—>域名: www.hit.edu.cn (域名和IP地址之间映射 通过DNS)

域名解析系统DNS特点:

(1)多层命名服务器构成的分布式数据库

(2)应用层协议:完成名字的解析
Internet核心功能,用应用层协议实现,网络边界复杂

DNS服务:


(1)域名向IP地址的翻译
(2)主机别名
(3)邮件服务器别名
(4)负载均衡: Web服务器


分布式层次式数据库:如图
在这里插入图片描述
若客户端想要查询www.amazon.com的IP:

(1)客户端查询根服务器,找到com域名解析服务器

(2)客户端查询com域名解析服务器,找到amazon.com域名解析服务器

(3)客户端查询amazon.com域名解析服务器,获得www.amazon.com的IP地址


二、因特网的域名结构

因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。

任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name), “域”(domain)是名字空间中一个可被管理的划分,从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开

如图:
在这里插入图片描述
在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理

域名树:
在这里插入图片描述
注意:
1.标号中的英文不区分大小写。
2.标号中除连字符(-) 外不能使用其他的标点符号。
3.每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。
4.级别最低的域名写在最左边,级别最高的顶级域名写在最右边

顶级域名(Top Level Domain, TLD)分为三大类:

(1)国家顶级域名(nTLD),国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,.uk”表示英国

(2)通用顶级域名(gTLD), 常见的有“.com” (公司)、“.net" (网络服务机构)、“.org”(非营利性组织)和“.gov" (国家或政府部门)等

(3)基础结构域名, 这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应,反向域名格式如:X.X.X.in-addr.arpa。很多网络服务提供商要求访问的IP地址具有反向域名解析的结果,否则不提供服务。

国家顶级域名下注册的二级域名均由该国家自行确定,我国把二级域名有分为类别域名和行政区域名


三、域名服务器

因特网的域名系统是一个联机分布式的数据库系统,并采用客户/服务器模型

域名到IP地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区,各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射

每个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器

DNS使用了大量的域名服务器,它们以层次方式组织,没有一台域名服务器具有因特网上所有主机的映射,因为该映射分布在所有的DNS上,主要有4种类型的域名服务器,如图,如图


1.根域名服务器

根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址

全球有13个根域名服务器
在这里插入图片描述

注意:
1.本地域名解析服务器无法解析域名时,先访问根域名服务器

2.根域名服务器用来管辖顶级域(如.com), 通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询


2.顶级域名服务器(TLD, top-level domain)

负责管理在该顶级域名服务器注册的所有二级域名,com, org, net,edu等顶级域名和国家顶级域名,例如cn, uk, fr等

Network Solutions维护com顶级域名服务器,Educause维护edu顶级域名服务器

收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)


3.权威(Authoritative)域名服务器

组织的域名解析服务器,提供组织内部服务器的解析服务:组织负责维护,组织负责维护

每台主机都必须在权威域名服务器处登记, 为了更加可靠地工作,一台主机最好至少有两个权威域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和权威域名服务器, 权威域名服务器总能将其管辖的主机名转换为该主机的IP地址


4.本地域名解析服务器

本地域名解析服务器不严格属于层级体系,每个ISP有一个本地域名服务器,默认域名解析服务器,当主机进行DNS查询时,查询被发送到本地域名服务器,作为代理(proxy),将查询转发给(层级式)域名解析服务器系统

在Windows中配置本地连接时,就需要填写DNS地址,这个地址就是本地DNS (域名服务器)的地址


四、域名解析过程

域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程, 前者称为正向解析,后者称为反向解析

当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器

域名解析有两种方式:递归查询迭代查询


1.递归查询

将域名解析的任务交给所联系的服务器

若Cis.poly.edu的主机想获得gaia.cs.umass.edu的IP地址
在这里插入图片描述
1–8一次查询并返回给主机,

如果本地主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询

本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行的


2.迭代查询

被查询服务器返回域名解析服务器的名字,就好像 “我不认识这个域名,但是你可以问题这服务器”
在这里插入图片描述
中间过程相当于被查询的服务器去查询IP,然后返回给主机

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”,然后让本地域名服务器向这个顶级域名服务器进行后续的查询,直到查找到IP


五、DNS记录和消息格式


1.DNS记录

DNS 数据库由 DNS 服务器使用的一个或多个区域文件组成,每个区域都保存着一组结构化资源记录,以下记录由 DNS 服务器服务支持,所有资源记录都有一个定义的格式,使用相同的顶级字段
资源记录(RR, resource records)RR format: (name, value, type, ttl)

(1)Type=A
A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少, 它是域名和IP地址的对应关系


Name: 主机域名
Value: IP地址


(2)Type=NS
NS记录和SOA记录是任何一个DNS区域都不可或缺的两条记录,NS记录也叫名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器


Name: 域(edu.cn)
Value: 该域权威域名解析服务器的主机域名


(3)Type=SOA
NS记录说明了有多台服务器在进行解析,但哪一个才是主服务器呢,NS并没有说明,这个就要看SOA记录了,SOA名叫起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主要的服务器

(4)Type=CNAME
又叫别名记录


Name: 某一真实域名的别名
•www.ibm.com – servereast.backup2.ibm.com
Value: 真实域名


(5)Type=MX
全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的


Value是与name相对应的邮件服务器


(6)Type=SRV
SRV记录是服务器资源记录的缩写, 作用是说明一个服务器能够提供什么样的服务

(7)Type=PTR
PTR记录也被称为指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名


2.DNS协议与消息

DNS协议则是用来将域名转换为IP地址,
在这里插入图片描述

(1)消息头部
Identification: 16位查询编号,回复使用相同的编号
flags


• 查询或回复
• 期望递归
• 递归可用
• 权威回


(2)查询(query)和回复(reply消息) ,消息格式相同




总结

提示:这里对文章进行总结:


推荐阅读
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文介绍了如何在TP-LINK路由器上配置端口映射,将局域网内的设备通过特定端口暴露于互联网,包括设置虚拟服务器和调整Tomcat服务端口的具体步骤。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 免费获取:全面更新的Linux集群视频教程及配套资源
    本资源包含最新的Linux集群视频教程、详细的教学资料、实用的学习课件、完整的源代码及多种软件开发工具。百度网盘链接:https://pan.baidu.com/s/1roYoSM0jHqa3PrCfaaaqUQ,提取码:41py。关注我们的公众号,获取更多更新的技术教程。 ... [详细]
  • 本文详细介绍了 Nginx 中用于端口监听的核心配置指令,包括其基本用法和高级选项。 ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • ArchSummit深圳2014将于7月18日拉开帷幕,所有讲师已确认,涵盖9个热门话题,共36场精彩报告。InfoQ中文站提供了详细的讲师和报告列表。 ... [详细]
  • 本文深入探讨ZooKeeper的功能与应用场景,解释其作为开源分布式协调服务的核心作用,以及如何通过ZooKeeper实现数据的一致性和高可用性。 ... [详细]
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
author-avatar
手机用户2502939421
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有