【计网 DNS】计算机网络 DNS协议详解:中科大郑烇老师笔记 (六)

目录

  • [0 引言](#0 引言)
  • [1 DNS概述](#1 DNS概述)
    • [1.1 定义](#1.1 定义)
    • [1.2 DNS域名结构](#1.2 DNS域名结构)
    • [1.2 域名解析步骤](#1.2 域名解析步骤)

0 引言

DNS是为其他应用提供服务的,不是直接给用户提供服务的。
DNS的必要性

  • IP地址标识主机、路由器,但是IP地址不好记忆,不便于人类使用(没有意义)

  • 人类一般倾向于使用一些有意义的"字符串"来标识Internet上的设备,例如:www.ustc.edu.cn所在的web服务器、zhenwenjie@zzu.edu.cn所在的邮件服务器

  • 所以存在IP地址到"字符串"的相互转换很有必要

  • 用户 提供要访问机器的"字符串"名称,由DNS负责将"字符串"名称转换成为二进制的网络地址
    DNS系统需要解决的问题

  • 问题1:如何命名设备
    用有意义的字符串 (方便记忆)、解决一个平面命名的重名问题:层次化命名

  • 问题2:如何完成名字到IP地址的转换
    分布式的数据库维护和响应名字查询

  • 问题3:如何维护:增加或删除一个域,需要在域名系统中做哪些工作

    DNS历史

  • ARPANET的名字解析解决方案

    主机名:没有层次的一个字符串(一个平面)

    存在着一个(集中)维护站:维护者一张主机名-IP地址的映射文件:Hosts.txt

    每台主机定时从维护站取文件

  • ARPANET方案存在的问题

    当网络中主机数量很大时,没有层次的主机名很难分配。文件的管理、发布、查找都很麻烦。

DNS总体思路和目的

  • DNS的主要思路
    分层 的、基于域的命名机制
    若干分布式 的数据库完成名字到IP地址的转换
    运行在UDP 之上端口号为53的应用 服务
    核心的Internet功能,但以应用层协议实现(在网络边缘处理复杂性)
  • DNS主要目的
    实现主机名-IP地址的转换(name/IP translate)
    其他目的:
    主机别名到规范名字的转换:Host aliasing
    邮件服务器别名到邮件服务器的正规名字的转换:Mail server aliasing
    负载均衡 :Load Distribution

1 DNS概述

1.1 定义

DNSDomain Name System ,域名系统)是一种用于将域名 转换为与之关联的IP地址 的协议。它是互联网中的基础设施,负责将易于记忆的域名转换为计算机可以理解的IP地址,以便进行网络通信。

1.2 DNS域名结构

  • 一个层面命名设备会有很多重名

  • DNS采用层次树状结构的命名方法

  • Internet根被划分为几百个顶级域(top lever domains)

    • 通用的(generic):.com; .edu; .gov; .int; .mil; .net; .org; .firm; .hsop; .web; .arts; .rec;
    • 国家的(countries):.cn; .us; .nl; .jp
  • 每个子域下面可划分为若干子域(subdomains)

  • 树叶 是主机

    DNS有13个根名字服务器

    域名的管理

  • 一个域管理其下的子域

  • 创建一个新的域,必须征得它所属的同意
    域与物理网络无关

  • 域遵从组织界限,而不是物理网络

    • 一个域的主机可以不在一个网络
    • 一个网络的主机不一定在一个域
  • 域的划分是逻辑的,而不是物理的

1.2 域名解析步骤

DNS协议的主要功能是将域名映射到IP地址,并解析域名以获取所需的目标网站或服务。以下是DNS协议的一般步骤:

  1. 查询(Query):当用户在浏览器中输入一个域名时,操作系统的DNS客户端会发送一个DNS查询请求到本地网络中的默认DNS服务器。
  2. 递归查询 (Recursive Query):如果本地DNS服务器不知道域名与IP地址的映射关系,它将向根域名服务器 发送递归查询请求。(拓展:另一种方法,迭代查询
  3. 根域名服务器 (Root Name Server):根域名服务器是DNS层次结构的最高级别,它保存着全球顶级域名(如.com、.org、.net等)的信息。根域名服务器将指导本地DNS服务器到适当的顶级域名服务器
  4. 顶级域名服务器 (Top-level Domain Server):顶级域名服务器保存了特定顶级域名下的次级域名服务器信息 。它将向本地DNS服务器提供次级域名服务器的IP地址
  5. 权威域名服务器(Authoritative Name Server):次级域名服务器是负责特定域名的IP地址的服务器,它存储了与域名相关的所有记录,包括IP地址等信息。一旦本地DNS服务器获得权威域名服务器的IP地址,它将发送查询请求。
  6. DNS解析 (DNS Resolution):本地DNS服务器接收到响应后,将解析的结果发送回DNS客户端。DNS客户端接收到IP地址后,将使用它来建立网络连接。
  • 需要注意的是,DNS协议还支持缓存机制,以减少DNS查询的次数和网络流量。一旦DNS查询结果被缓存起来,在一段时间内重复查询相同的域名时,将直接从缓存中提取结果,而无需再次进行完整的DNS查询流程。
  • 总结起来,DNS协议是一种将域名转换为IP地址的协议,它通过多级服务器的协作实现域名解析和IP地址查找。通过DNS协议,用户可以使用易于记忆的域名进行互联网通信,而不需要记住复杂的IP地址。
相关推荐
Yawesh_best23 分钟前
思源笔记轻松连接本地Ollama大语言模型,开启AI写作新体验!
笔记·语言模型·ai写作
CXDNW2 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
使者大牙2 小时前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
ssf-yasuo2 小时前
SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记
论文阅读·笔记·prompt
ajsbxi2 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
TeYiToKu3 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws3 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
爱吃生蚝的于勒3 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
月落.3 小时前
WPF的<ContentControl>控件
wpf
就是有点傻3 小时前
WPF中的依赖属性
开发语言·wpf