(考研湖科大教书匠计算机网络)第六章应用层-第四节:域名系统DNS

news2024/11/25 14:57:28
  • 获取pdf:密码7281
  • 专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航

文章目录

  • 一:DNS概述
  • 二:层次域名结构
    • (1)概述
    • (2)顶级域名分类
    • (3)因特网命名空间举例
  • 三:域名服务器
    • (1)概述
    • (2)分类
  • 四:域名解析过程
    • (1)递归查询
    • (2)迭代查询
    • (3)注意

本节对应视频如下

  • 【计算机网络微课堂(有字幕无背景音乐版)】:域名系统DNS

一:DNS概述

DNS(域名解析系统):相对于冗长、难以记忆的IP地址,人们更喜欢使用具有特定含义的字符串来标识主机(例如www.baidu.com),但最终通信时仍然需要IP地址,所以DNS可以实现将网址(域名)转换为其对应的IP地址

如下图,当我们在浏览器地址栏中输入某个Web服务器的域名时,用户主机首先会在自己的DNS高速缓存中查找该域名对应的IP地址,如果没有找到则会向网络中的某台DNS服务器查询,DNS服务器中有域名和IP地址映射关系的数据库。当DNS服务器收到DNS查询报文后,在其数据库中查询,之后将查询结果发送给用户主机。现在,用户主机中的浏览器就可以通过Web服务器的IP地址对其进行访问了

在这里插入图片描述

二:层次域名结构

因特网是否可以只使用一台DNS服务器呢?这种做法并不可取。因为因特网的规模很大,这样的域名服务器肯定会因为超负荷而无法正常工作,而且一旦域名服务器出现故障,整个因特网就会瘫痪。早在1983年,因特网就开始采用层次结构的命名树作为主机的名字(即域名),并使用分布式的域名系统DNS。DNS使大多数域名都在本地解析,仅少量解析需要在因特网上通信,因此系统效率很高。由于DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统的正常运行

(1)概述

层次域名:域名的结构由若干个分量组成,各分量之间用.隔开,分别代表不同级别的域名

  • 每一级的域名都由英文字母和数字组成,不超过63个字符,不区分大小写字母
  • 级别最低的域名写在最左边,而级别最高的顶级域名写在最右边。
  • 完整的域名不超过255个字符

在这里插入图片描述

域名系统既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由因特网名称与数字地址分配机构ICANN进行管理

域名的层级关系采用树状结构

  • 根:
  • 顶级域名
  • 二级域名
  • 三级域名

例如下图

  • .cn:是顶级域名,表示中国
  • .edu:是在顶级域名下注册的二级域名,表示教育机构
  • .hnust:是在二进域名下注册的三级域名,表示湖南科技大学
  • .nic:湖南科技大学网络信息中心

在这里插入图片描述

(2)顶级域名分类

顶级域名TLD分类

  • 国家顶级域名nTLD 采用ISO3166规定;如
    • .cn:中国
    • .us:美国
    • .uk:英国
  • 通用顶级域名gTLD 常见的有七个
    • .com:公司企业
    • .net:网络服务机构
    • .org:非营利性组织
    • .int:国际组织
    • .edu:美国教育机构
    • .gov:美国政府部门
    • .mil:美国军事部门
  • 反向域arpa 用于方向域名解析,也即IP地址方向解析为域名

在这里插入图片描述

国家顶级域名下注册的二级域名均有该国家自信确定,例如我国将二级域名划分为如下两类

  • 类别域名:共7个
    • .ac:科研机构
    • .com:工、商、金融等企业
    • .edu:教育机构
    • .gov:政府部门
    • .net:提供网络服务的结构
    • .mil:军事机构
    • .org:非营利性组织
  • 行政区域名:共34个,适用于我国各省、自治区、直辖市
    • .bj:北京市
    • .sh:上海市
    • .js:江苏省

(3)因特网命名空间举例

这种按等级管理的命名方法便于维护名字的唯一性, 并且也容易设计出一种高效的域名查询机制。需要注意的是,域名只是个逻辑概念,并不代表计算机所在的物理地点

在这里插入图片描述

三:域名服务器

(1)概述

域名服务器:域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。显然不能将所有信息都储存在一台域名服务器中。DNS使用分布在各地的域名服务器来实现域名到IP地址的转换。域名服务器可以分为如下四种不同的类型

  • 根域名服务器
  • 顶级域名服务器
  • 权限域名服务器
  • 本地域名服务器

在这里插入图片描述

(2)分类

根域名服务器:根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址。根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。因特网上有13个根域名服务器,尽管我们将这13个根域名服务器中的每个都视为单个服务器,但每个“服务器”实际上是冗余服务器的集群,以提供安全性和可靠性。需要注意的是,根域名服务器用来管辖顶级域(如.com),通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询

顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)

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

本地域名服务器:本地域名服务器对域名系统非常重要。每个因特网服务提供者(ISP), 或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器。当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。事实上,我们在Windows系统中配置“本地连接”时,就需要填写DNS地址,这个地址就是本地DNS(域名服务器)的地址

四:域名解析过程

域名解析:把域名映射成为IP地址或把IP地址映射成域名的过程。当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器。域名解析有以下两种方式:

  • 递归查询
  • 迭代查询

(1)递归查询

如下图,假设该主机想知道域名y.abc.com的IP地址

  • 主机首先向其本地域名服务器进行递归查询
  • 本地域名服务器收到递归查询委托后,也采用递归查询的方式向某个根域名服务器查询
  • 根域名服务器收到递归查询委托后,也采用递归查询的方式向某个顶级域名服务器查询
  • 顶级域名服务器收到递归查询委托后,也采用递归查询的方式向某个权限域名服务器查询
  • 当查询到域名所对应的IP地址后,查询结果会在之前受委托的各域名服务器之间传递,最终传回用户主机

在这里插入图片描述

(2)迭代查询

由于递归查询对于被查询的域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询是递归查询,而其余的查询是迭代查询。如下图,假设该主机想知道域名y.abc.com的IP地址

  • 主机首先向其本地域名服务器进行递归查询
  • 本地域名服务器向根域名服务器采用迭代查询
    • 先向某个根域名服务器查询
    • 根域名服务器告诉本地域名服务器下次应该查询的顶级域名服务器IP地址
  • 本地域名服务器向顶级域名服务器采用迭代查询
    • 先向某个顶级域名服务器查询
    • 顶级域名服务器告诉本地域名服务器下次应该查询的权限域名服务器IP地址
  • 本地域名服务器向权限域名服务器采用迭代查询
    • 先向某个权限域名服务器查询
    • 顶级域名服务器告诉本地域名服务器所查询域名的IP地址
  • 本地域名服务器最后把查询结果告诉主机

在这里插入图片描述

为了提高DNS的查询效率,并减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速缓存中。这样,当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问。因为主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息

在这里插入图片描述

(3)注意

由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并删除超过合理时间的项(例如,每个项目只存放两天)。不但在本地域名服务器中需要高速缓存,在用户主机中也很需要。许多用户主机在启动时从本地域名服务器下载域名和IP地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才向域名服务器查询。同理,主机也需要保持高速缓存中内容的正确性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「SAP」ABAP模块学习需要了解什么?快收下这份ABAP技术栈指南【附技能树】

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计专业大二本科在读,阿里云社区专家博主,华为云社区云享专家,CSDN SAP应用技术领域新兴创作者。   在学习工…

1. MacOs Dart环境安装

前置材料:需要安装dart的Mac设备, 一颗会用搜索引擎的聪明大脑一步步讲一下homebrew的安装流程我个人安装时遇到的情况 大家做个参考 如果你遇到的问题和我的不一样可以来这里 homebrew快速安装指引 可入群咨询首先, 我其实是安装过homebrew的网上常见的dart安装命令…

2003 -Cant connect to MySql server on IP地址 (10060)----在docker安装的MySQL连接阿里云服务器

MySQL配置 这个问题是因为在数据库服务器中的mysql数据库中的user的表中没有权限(也可以说没有用户),下面将记录我遇到问题的过程及解决的方法。 在搭建完LNMP环境后用Navicate连接出错 遇到这个问题首先到mysql所在的服务器上用连接进行处理 0、docker exec -it m…

界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…

嵌入式常用知识

12、并发和并行的区别? 最本质的区别就是:并发是轮流处理多个任务,并行是同时处理多个任务。 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半&…

推荐5款实用小工具,第五款更是小白最爱

作为一个黑科技软件爱好者,电脑里肯定是不会缺少这方面的东西,今天的5款实用小工具闪亮登场了。 1.磁盘空间分析——SpcaeSniffer SpcaeSniffer是一款可视化硬盘空间占用布局大小的查询工具,软件体积小巧,使用简单。软件可对所需…

Android Studio翻译插件推介(Translation)

前言 Android Studio翻译插件适合英语水平不太好的程序员(比如:我),最常用的翻译插件Translation和AndroidLocalize,本文主要讲解Translation,亲测可用。 先看看效果:这里是Android的API,任意选…

apache、iis设置301教程(适用虚拟主机)

当前提供教程是通过重写规则实现301,目前西部数码主机面板已经开发"301转向"功能可快捷设置: 如果部署了https访问,请忽略此教程,部署https的网站请参考:https://www.west.cn/faq/list.asp?unid1419 进入业务管理-虚…

单通道说话人语音分离——Conv-TasNet(Convolutional Time-domain audio separation Network)

单通道说话人语音分离——Conv-TasNet模型(Convolutional Time-domain audio separation Network) 参考文献:《Conv-TasNet: Surpassing Ideal Time-FrequencyMagnitude Masking for Speech Separation》 1.背景 在真实的声学环境中,鲁棒的语音处理通常…

【蓝桥杯每日一题】差分算法

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙我与杀戮之中绽放,亦如黎明的花…

银河麒麟V10桌面版系统将用户开发Qt界面程序添加为开机自启动

银河麒麟V10桌面版系统将用户开发Qt界面程序添加为开机自启动 银河麒麟V10桌面版系统允许用户开发自己的qt界面程序并将其添加为开机自启动。这样,每次开机后,用户开发的qt界面程序会自动启动,无需手动打开。 要将用户开发的qt界面程序添加…

走进chatGPT新一代机器人

chatGPT这款新一代对话式人工智能便在全球范围狂揽1亿名用户,并成功从科技界破圈,成为街头巷尾的谈资。chatGPT能干什么?打开官网https://openai.com/blog/chatgpt/ ,完了,芭比Q了试下其他家的接口讲笑话写代码写解决方…

格雷码应用意义及编解码

文章目录1. 格雷码的应用意义2. 由自然数编码获得格雷码2.1 对称法实现2.2 公式法实现3. 由格雷码解码获得自然数1. 格雷码的应用意义 学过晶体管知识的朋友们都知道,数据位跳变就相当于硬件电路中的晶体管翻转。许多位同时跳变就相当于多个晶体管同时翻转&#xf…

【C++】STL之空间配置器 | STL总结

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉什么是空…

全球首个云渗透测试认证专家课程发布!腾讯安全领衔编制

2月20日,国际云安全联盟CSA发布了“云渗透测试认证专家CCPTP”课程体系,这是全球首个云渗透测试能力培养课程及人才认证项目,有效地弥补了云渗透测试认知的差距和技能人才培养的空白。腾讯安全在该项目中担任核心课程编撰单位。CSA是全球中立…

【双指针问题】LeetCode344、345、 844、283问题详解及代码实现

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

曼恩斯特在创业板注册生效:拟募资约5亿元,彭建林夫妇为实控人

2月21日,深圳证券交易所披露的信息显示,深圳市曼恩斯特科技股份有限公司(下称“曼恩斯特”)的注册生效。据贝多财经了解,曼恩斯特于2021年6月30日在创业板递交招股书,2022年6月15日获得上市委会议通过&…

老戏骨李立群真敢说,互联网吐槽郝蕾演技太差

说起老戏骨李立群,可能很多人都想不起来,他究竟出演过什么影视作品,不过这依然不能阻挡他的走红。李立群的走红非常偶然,因为在大陆拍戏多年,他已经在上海买房定居,当然偶尔也会去台北省亲。 在上海疫情爆发…

【C++】3.类和对象(中)

1.类的6个默认成员函数 一个类什么都没有不是空类 我们没有写相关函数 但编译器会自动生成6个默认函数 2.构造函数 1概念 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值&…

微服务架构中的多级缓存设计还有人不懂?

今天我们来聊聊缓存这个话题,看看在微服务环境下如何设计有效的多级缓存架构。主要涉及三方面内容: Web 应用的客户端缓存;应用层静态资源缓存;服务层多级缓存。 首先,咱们先讲解微服务架构的多级缓存设计。 微服务…