6.2.1 网络基本服务---域名解析系统DNS

6.2.1 网络基本服务—域名解析系统DNS

因特网是需要提供一些最基本的服务的,今天我们就来讨论一下这些基本的服务。

  1. 域名系统(DNS)
  2. 远程登录(Telnet)
  3. 文件传输协议(FTP)
  4. 动态主机配置协议(DHCP)
  5. 电子邮件系统(E-mail)
  6. 万维网(www)

一、域名系统(DNS)

因特网中IP单播地址标识主机的网络连接,组播地址则是标识一组主机,主机间的通信必定会使用IP地址,但是我们也知道IPv4地址使用点分十进制表示,相对比较难于记忆,因此对于服务器主机,除了分配IP地址还会为其指定域名,这样一来访问服务器时就不用给出他的IP地址了,而只需要给出服务器的域名,但客户机与服务器通信过程中仍然使用IP地址,此时需要解决的问题就是域名和IP地址之间如何关联,又是谁来维护?这里就是我们所说的域名系统。

域名系统是因特网使用的命名系统,完成域名解析,将域名解析到特定的IP地址。

域名系统可以看做是因特网的电话簿,维护名址映射,也就是域名与IP地址之间的映射,并且提供域名解析,将方便记忆的计算机主机域名转化为IP地址。

DNS采用客户/服务器应用模式,其核心是分级的、基于域的命名机制以及实现该命名机制的分布式数据库系统。

域名解析是由若干个域名服务器程序完成的。域名服务器程序在专设的节点上运行,运行该程序的节点称为域名服务器。

(一)因特网的域名结构
  1. 因特网采用了层次树状结构的命名方法。

  2. 任何一个连接在因特网上的主机或路由器,都有一个惟一的层次结构的名字,即域名。

  3. 域名的结构由若干个分量组成,各分量之间用点隔开,从右至左依次是顶级域名、二级域名、三级域名

    .... .三级域名.二级域名.顶级域名
    
    1. 顶级域名(Top Level Domain,TLD),有两个域名管理相关机构,一个是iana,互联网编号分配机构,它监督全球IP地址分配,自治系统分配,域名系统中根区的管理、媒体类型和其他Internet协议相关的符号和号码。另一个是成立较晚1998年10月才成立的承担域名系统管理,IP地址分配,协议参数配置等职能的非营利性机构ICANN,到2015年IANA和ICANN确定的顶级域名有

      1. 技术设施顶级域名(infrastructure top-level domain):.arpa(Address and Routing Parameter Area),以前是int,2000年5月规定改为arpa,.int表示国际组织

      2. 通用顶级域名(generic top-level domains,gTLD):有三个或更多的字符,最早的通用顶级域名是:

        .com表示公司企业.net 表示网络服务机构
        .org 表示非营利性组织.edu 表示教育机构(美国专用)
        .gov 表示政府部门专用(美国专用).mil 表示军事部门(美国专用)
      3. 国家代码顶级域名(country-code top-level domains,ccTLD):两个字母的域表示国家或地区,.cn表示中国,.us表示美国,.uk表示英国等。

      4. ICANN在2000年11月宣布了7个新的通用顶级域名

        .aero用于航空运输企业
        .biz用于公司和企业
        .coop用于合作团体
        .Info适用于各种情况
        .museum用于博物馆
        .name用于个人
        .pro用于会计、律师和医师等自由职业者
    2. 因特网的名字空间

      因特网的名字空间是分层的,像一棵倒置的树,树叶是高级别的域名,与树根相连的是顶级域名,比如清华大学的邮件服务器域名是mail.qinghua.edu.cn,而CCTV的邮件服务器域名是mail.cctv.com

  4. 各分量分别代表不同级别的域名

二、域名服务器部署

域名服务器分为根域名服务器和授权域名服务器,作为主机默认域名服务器的本地授权服务器也称为本地域名服务器,因特网域名系统分层命名空间中顶级域名管辖区是DNS根区,DNS根区有13个根服务器组成的群来提供服务,其中十个根服务器在美国,两个在欧洲,一个在亚洲,根服务器负责对因特网顶级域名的查询。因此每次的域名解析要么起始于向根域名服务器的查询,要么使用曾经从根域名服务器获得的信息。DNS根区也称为DNS根域,DNS根域没有名字,在DNS分层体系中它的标签是一个空串,根域包含因特网所有顶级域名,截止2015年7月,根域包含1058个顶级域名,其中包括730个通用顶级域名,301个国家代码顶级域名,根服务器使用根区文件回答对顶级域名的查询,返回顶级域名授权服务器的IP地址,或返回顶级域名不存在的指示。2004年12月1058个顶级域名由773个不同的DNS授权服务器,每个管辖区都有一个或多个授权域名服务器,。

三、域名解析过程

因特网允许各单位根据具体情况将本单位的域名划分为若干个域名服务器管辖区(zone),并在各管辖区中设置相应的授权域名服务器。

当一个主机需要解析域名时使用域名解析器软件,DNS客户执行查找,该解析器将名字分解为从右至左的标签,向根服务器查询第一个标签,以及顶级域名,获得相应负责的授权服务器的IP地址,对从右到左的标签,分别进行查询,依次返回更具体的域名服务器的IP地址,直到一个域名服务器返回原始查询的答案,用户应用程序中的DNS解析器,而专门的DNS应用服务器通常实现递归解析器,也就是说有两种解析器,事实上大多数信息在一段时间内不会经常进行改变,因此相关信息会被中间域名服务器缓存或被用户应用程序内置的名字缓存区缓存,因此到根域名服务器的DNS查找相对较少。如图

实例

图中有顶级域名com的授权域名服务器,二级域名的abc.com授权服务器,三级域名y.abc.com授权服务器,这里没有列出根域名服务器,这里我们通过这个示例了解一下域名解析过程,这里给出的是递归查询。

如图

递归

图中有顶级域名服务器,.com授权域名服务器,二级域名的abc.com授权服务器,三级域名y.abc.com授权服务器,xyz.com管辖区的授权服务器,假设各个本地域名服务器已经保存了从根服务器返回的顶级域名授权服务器的IP地址,现在m.xyz.com主机要解析t.y.abc.com的IP地址是什么

  1. 首先主机要向本地域名服务器发送询问,该服务器无法解析其他管辖区的域名
  2. 向.com顶级域名服务器发送询问,.com域名服务器也无法解析域名,但他知道问谁更合适
  3. .com顶级域名服务器将询问转发给abc.com管辖区的授权服务器
  4. 由abc.com授权服务器转发给y.abc.com的授权服务器,该服务器会返回答案,最终答案也就是t.y.abc.com的IP地址。
  5. 把答案逐级转到m.xyz.com主机的本地域名服务器,由其返回给m.xyz.com主机。

除了递归查询还有迭代查询,迭代查询方法中,客户将询问一系列的DNS服务器,每个服务器将引导客户到该系列DNS服务器中的下一个直到有一个服务器能够完全解决请求,如对www.example.com可能得解析过程是先询问根服务器,然后询问.com授权域名服务器,最后询问.example.com授权域名服务器。如图是一个迭代域递归相结合的查询。问题也是m.xyz.com主机要解析t.y.abc.com的IP地址是什么。

迭代

  1. 主机向本地域名服务器发送询问
  2. xyz.com区的授权服务器中的DNS解析器采用迭代查询方式,查询根域名服务器
  3. 根域名服务器返回.com服务器的IP地址
  4. xyz.com区的服务器中的DNS解析器采用递归查询方式,询问.com服务器
  5. .com服务器询问.abc.com服务器
  6. abc.com服务器再询问y.abc.com服务器
  7. 而y.abc.com服务器知道m.xyz.com的IP地址,于是将解析结果返回给abc.com服务器
  8. abc.com服务器将解析结果返回给.com服务器。
  9. .com服务器再将解析结果返回给xyz.com服务器
  10. xyz.com服务器将域名t.y.abc.com的IP地址返回给发起询问的主机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18546.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习之随机森林(Random forest)

1 什么是随机森林 随机森林是一种监督式算法,使用由众多决策树组成的一种集成学习方法,输出是对问题最佳答案的共识。随机森林可用于分类或回归,是一种主流的集成学习算法。 1.1 随机森林算法原理 随机森林中有许多的分类树。我们要将一个输…

Android Studio无法打开问题解决记录

目录 1 问题起因2 发现问题3 解决问题 1 问题起因 问题的起因是我为了运行一个Kotlin项目,但是报了一个错误: Kotlin报错The binary version of its metadata is 1.5.1, expected version is 1.1.16 然后我就上百度去搜了以下,一篇博客让禁用…

echarts饼图设置颜色的两种方式

1. 直接写在color数组中 option {color:[#fac858,#e0504b,#e6e9ee],series: {type: pie,radius: [40%, 70%],data: [{ value: 1048, name: Search Engine, },{ value: 735, name: Direct},{ value: 580, name: Email },]} };2. 在series.data.itemStyle.color中 option {se…

ofd文件怎么打开?试试3个打开方法

什么是ofd文件? 很多朋友对ofd文件也许不太了解,它实际上就是开放版式文件的意思,即(Open Fixed-layout documents)的缩写。ofd文件与PDF文件很类似。都是有独立格式、版面固定的特点的。在我们日常生活中,…

langchain调用chatGLM2纪实

一、科学上网要注意: 域名全代和全局代理(网卡),都要打开。这样conda install特别快。 二、安装langchain 1、 conda install langchain 2、 conda install openai 注意: 使用pip install和conda install 是不同…

Vue3之app.config.globalProperties(定义全局变量)

使用之因 一般我们在vue开发中,常用的功能,接口等等我们都会封装起来,如何每次创建一个组件,想要使用这些封装起来的功能、接口等等都需要先引入,再通过层层调用才可以得到结果,如果我现在一遍需要调用后端…

C语言 指针进阶(二)

目录 一.函数指针 1.1函数指针的认识 1.2函数指针的使用 二、函数指针数组 1.1函数指针的认识 1.2 函数指针数组实现计算器 三、指向函数指针数组的指针 四、回调函数 通过使用qsort函数加强对回调函数的理解 qsort排序整形 qosrt排序结构体 用冒泡排序的思想&…

kafka第一课-Kafka快速实战以及基本原理详解

一、Kafka介绍 Kafka是一个分布式的发布-订阅消息系统,可以快速地处理高吞吐量的数据流,并将数据实时地分发到多个消费者中。Kafka消息系统由多个broker(服务器)组成,这些broker可以在多个数据中心之间分布式部署&…

pandas 笔记:高亮内容

1 高亮缺失值 1.0 数据 import pandas as pd import numpy as npdata[{a:1,b:2},{a:3,c:4},{a:10,b:-2,c:5}]df1pd.DataFrame(data) df1 1.1 highlight_null df.style.highlight_null(color: str red,subset: Subset | None None,props: str | None None, ) 1.1.1 默认情…

uniapp在微信开放平台创建移动应用时,如何生成应用签名的问题

包名在打包的时候是必填项,就不多赘述了… 微信开放平台获取应用签名, 场景: 首先需要在手机或者模拟器上下载签名生成工具,下载地址:下载签名生成工具 然后手机打开, 在这里输入你的app打包时的包名&…

Acwing 849. Dijkstra求最短路 I

Acwing 849. Dijkstra求最短路 I 链接:849. Dijkstra求最短路 I - AcWing题库 /*题解:dijkstra算法模板对于单源最短路径dijkstra1.每次找到当前距离源最近的节点 作为确定距离的点2.通过这个点看能否让其他的节点来松弛其他点到源的距离重复12操作*/ #include<algorithm&g…

Redis 优惠卷秒杀(二) 异步秒杀、基于Stream的消息队列处理

目录 基于Stream的消息队列 Redis优化秒杀 登录头 改进秒杀业务&#xff0c;调高并发性能 Redis消息队列实现异步秒杀 ​编辑基于List结构模拟消息队列 基于PuSub的消息队列 ​编辑 基于Stream的消息队列 Redis消息队列 基于Stream的消息队列 Redis优化秒杀 登录头 改…