当前位置: 首页 > news >正文

【计算机网络 | 第16篇】DNS域名工作原理

在这里插入图片描述

文章目录

  • 3.5 域名系统工作原理
    • 主机的标识方式:域名 vs IP 地址
    • 标识转换机制:DNS系统
    • 因特网的域名系统:层次域名空间🐦‍🔥
      • 顶级域名分类
      • 低级域名与管理
      • 域名与IP的区别
    • 因特网的域名系统:域名服务器🥝
      • 域名服务器类型🧾
    • 因特网的域名系统:域名解析过程🥝
      • 解析方式
      • 示例:访问www.tencent.com
    • DNS的延迟与优化
    • DNS缓存
    • DNS的其他重要服务:别名管理与负载均衡
      • 别名管理
      • 负载均衡

3.5 域名系统工作原理

主机的标识方式:域名 vs IP 地址

在因特网上,每台主机(设备)都需要被唯一标识,主要有两种标识方式:

  1. 主机名(域名)
    例如:www.tencent.com(腾讯)、www.aliyun.com(阿里云)、mail.163.com(网易邮箱)。

    • 优点:便于人类记忆,用户能通过名称快速访问服务;
    • 缺点:无法直接定位主机位置,仅能通过域名推测(如.com为商业网站,.edu为教育机构)。
  2. IP地址
    例如:121.7.106.83(腾讯服务器)、114.34.126.120(阿里云服务器)。

    • 优点:具有严格的层次结构,能精确描述主机在网络中的位置,便于路由器快速定位;
    • 缺点:由4个数字组成(如121.7.106.83),不易记忆。

IP地址的层次结构:由4个字节(32位)组成,每个字节用句点分隔(范围0-255)。例如121.7.106.83的结构类似邮政地址:

  • 第一级(121):主网络(类似省级行政区);
  • 第二级(7):子网络(类似城市);
  • 第三级(106):具体网络(类似街道);
  • 第四级(83):主机(类似门牌号)。
    路由器可根据IP地址的层级逐步定位目标主机。

标识转换机制:DNS系统

域名便于记忆,IP地址便于网络定位,DNS(域名系统) 的作用是将两者关联。
域名系统(Domain Name System, DNS) 是因特网的命名系统,用于将便于人类记忆的主机名(如www.taobao.com)转换为机器处理的IP地址。

  • 工作原理类比:访问“腾讯官网”时,无需记住IP地址(如121.7.106.83),输入www.tencent.com后,DNS会自动将域名解析为对应IP地址。
  • 技术特性:采用客户/服务器模型,协议运行在UDP之上,使用53号端口。
  • 概念组成:层次域名空间、域名服务器、域名解析过程。

DNS核心功能

  • 域名解析:将www.tencent.com转换为121.7.106.83;
  • 负载均衡:一个域名对应多个IP地址,实现流量分发(如腾讯视频引导用户至最近服务器);
  • 缓存加速:减少重复解析开销,提升访问速度。

因特网的域名系统:层次域名空间🐦‍🔥

互联网早期采用非等级的平铺式名字空间(类似电话簿),但随着用户激增,出现命名冲突风险高、扩展性差、管理复杂等问题。1983年后改用层次树状结构(Domain Name Hierarchy),将域名划分为多级子域。

域名的空间树状结构:
在这里插入图片描述

  • 域名结构:任何主机或路由器的唯一层次结构名称即域名(Domain Name)。域可划分为子域,形成顶级域、二级域、三级域等。
  • 标号规则:域名由多个标号组成,用点(.)分隔(如www.baidu.com为“三级域名.二级域名.顶级域名”)。
    1. 仅允许英文字母、数字、连字符(-),英文不区分大小写;
    2. 除连字符外不能使用其他标点;
    3. 每个标号不超过63个字符,完整域名最长255个字符;
    4. 级别最低的域名在最左,顶级域名在最右。
  • 管理机制:各级域名由上一级管理,顶级域名由ICANN管理,不规定域名层级数量和每级含义。

顶级域名分类

  1. 国家(地区)顶级域名(nTLD):采用ISO 3166标准,如“.cn”(中国)、“.us”(美国)。
  2. 通用顶级域名(gTLD)
    • 基础类:.com(商业)、.net(网络服务)、.org(非营利组织);
    • 行业类:.tech(科技)、.shop(电商)、.gov.cn(中国政府);
    • 品牌类:.alibaba(阿里巴巴)、.tencent(腾讯)。
  3. 基础结构域名(arpa):用于IP地址反向解析为域名。

低级域名与管理

  • 我国二级域名:采用“类别+行政区划”双轨制。
    • 类别域名:ac(科研)、com(企业)、edu(教育)、gov(政府)等7个;
    • 行政区域名:34个,如bj(北京)、sh(上海)。
  • 申请机制
    • 国家顶级域名(如.cn)由CNNIC管理,通过阿里云等注册商申请;
    • 国际顶级域名(如.com)由ICANN授权注册商(如GoDaddy)管理。

域名与IP的区别

  • 域名:逻辑标识,与物理位置无关(如aliyun.com服务器可分布多地);
  • IP地址:物理定位,32位(IPv4)或128位(IPv6),便于路由器查找;
  • 对应关系:非一一对应,一个IP可托管多个域名(虚拟主机),一个域名可对应多个IP(负载均衡)。

因特网的域名系统:域名服务器🥝

域名与IP的对应关系存储在域名服务器中,信息分布在各地以保证性能、安全和可靠性。一个服务器的管辖范围称为(≤域),每个区设权限域名服务器,保存该区主机的域名-IP映射,且能查询其他服务器。

域名服务器类型🧾

在这里插入图片描述

  1. 根域名服务器:最高层次,知道所有顶级域名服务器的域名和IP。全球共13个不同IP的根服务器(实际为服务器群集),不直接解析域名,仅告知下一步查询的顶级服务器IP。
  2. 顶级域名服务器:管理旗下二级域名,返回最终结果或下一级权限服务器IP(如.cn服务器管理.edu.cn、.net.cn)。
  3. 权限域名服务器:管理特定区,保存该区域名-IP映射及下级服务器地址(如阿里云服务器管理aliyun.com区)。
  4. 本地域名服务器:非等级结构,接收主机的DNS请求并转发至其他服务器,返回结果。由ISP、大学等提供(如电信114.114.114.114),IP通过DHCP自动分配,具有缓存功能。

因特网的域名系统:域名解析过程🥝

域名解析是将域名转换为IP地址的过程。客户端通过DNS客户端构造请求报文,以UDP发送至本地域名服务器。

解析方式

1.递归查询:本地域名服务器替主机完成全部查询过程,用户无需关心中间步骤。

在这里插入图片描述

  1. 迭代查询:服务器仅返回下一步查询的服务器地址,由客户端或上一级服务器继续查询,减少单个服务器负载。

在这里插入图片描述

实际模式:用户到本地DNS为递归查询,本地DNS到其他服务器为迭代查询

示例:访问www.tencent.com

  1. 用户输入域名,浏览器调用本地DNS客户端;
  2. 本地DNS查询流程:
    • 无缓存时,向根服务器查询;
    • 根服务器返回.com顶级服务器IP;
    • 顶级服务器返回tencent.com的权威服务器IP;
    • 权威服务器返回www.tencent.com的IP(如121.7.106.83);
  3. 浏览器通过IP向腾讯服务器的80/443端口发起TCP连接,加载网页。

DNS的延迟与优化

DNS查询会产生时延,可通过以下机制优化:

  • 本地缓存:操作系统或路由器缓存解析记录(TTL时间内有效);
  • 运营商DNS优化:如腾讯云、阿里云提供公共DNS(114.114.114.114);
  • CDN技术:解析至离用户最近的服务器,缩短物理距离。

DNS广泛应用于SMTP(电子邮件)、游戏服务器等场景。

DNS缓存

在这里插入图片描述

DNS缓存是指服务器暂时存储解析结果,供后续相同查询直接使用(类似图书馆借阅记录)。缓存内容包括域名-IP映射、TLD服务器地址等,每条记录有生存时间(TTL),超时后自动清除以保证正确性。

  • 局限性
    1. 数据过期风险:域名IP变化但缓存未更新可能导致解析错误,需合理设置TTL或手动刷新;
    2. 安全性挑战:可能被DNS劫持,需结合DNSSEC验证数据合法性。

DNS的其他重要服务:别名管理与负载均衡

别名管理

主机可设置多个别名便于记忆,规范主机名为唯一正式名称(如mail-server-01.shanghai.tencent.com),别名为用户熟悉的名称(如mail.tencent.com),通过DNS映射到规范名称。
邮件服务器通过MX记录实现别名化,定义域名的邮件服务器地址(如163.com的MX记录指向多个服务器)。

负载均衡

大型网站通过DNS轮询技术分配流量:服务器按顺序返回同一域名的多个IP,用户设备选择第一个IP连接,通过轮换IP顺序实现负载均衡(如video.qq.com返回多个服务器IP)。

DNS核心规范由RFC 1034和RFC 1035定义,复杂性体现在分层结构、缓存机制和安全扩展(如DNSSEC)。


如果我的内容对你有帮助,请 点赞 评论 收藏 。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述


文章转载自:

http://FsirH7sT.cwgfq.cn
http://g9MmWXIN.cwgfq.cn
http://YfeitR5i.cwgfq.cn
http://v3WXNo0r.cwgfq.cn
http://pGVM9KIP.cwgfq.cn
http://KG5fGmSu.cwgfq.cn
http://Iiaw45fl.cwgfq.cn
http://BopREZgD.cwgfq.cn
http://cxKnlg8O.cwgfq.cn
http://QZXEZ4Ts.cwgfq.cn
http://mUGoW27f.cwgfq.cn
http://SZ5wWaii.cwgfq.cn
http://6sX9novY.cwgfq.cn
http://o4A8WloL.cwgfq.cn
http://jXx6Juao.cwgfq.cn
http://YIjmo25U.cwgfq.cn
http://4YZ0vHU3.cwgfq.cn
http://OQfHKVWr.cwgfq.cn
http://ZmknKdIR.cwgfq.cn
http://BB0MUAii.cwgfq.cn
http://MfZoigBv.cwgfq.cn
http://a65ff7dY.cwgfq.cn
http://T9EDrYWf.cwgfq.cn
http://jC2Ta1nP.cwgfq.cn
http://N1KO9EoB.cwgfq.cn
http://ro3C7sBc.cwgfq.cn
http://Xv2z3G7e.cwgfq.cn
http://SlzQpoVe.cwgfq.cn
http://zDCIf2Gk.cwgfq.cn
http://dYYMAUwt.cwgfq.cn
http://www.dtcms.com/a/382982.html

相关文章:

  • C++算法题中的输入输出形式(I/O)
  • 【算法详解】:编程中的“无限”可能,驾驭超大数的艺术—高精度算法
  • Linux基础开发工具(gcc/g++,yum,vim,make/makefile)
  • NLP:Transformer之多头注意力(特别分享4)
  • arm芯片的功能优化方案
  • 【C++】动态数组vector的使用
  • 软件工程实践三:RESTful API 设计原则
  • [硬件电路-221]:PN结的电阻率是变化的,由无穷大到极小,随着控制电压的变化而变化,不同的电场方向,电阻率的特征也不一样,这正是PN的最有价值的地方。
  • 用户争夺与智能管理:定制开发开源AI智能名片S2B2C商城小程序的战略价值与实践路径
  • 5 遥感与机器学习第三方库安装
  • 告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
  • 【开题答辩全过程】以 SpringBoot的淘宝购物优惠系统的设计与实现为例,包含答辩的问题和答案
  • SpringMVC @RequestMapping的使用演示和细节 详解
  • 后端json数据反序列化枚举类型不匹配的错误
  • 【贪心算法】day10
  • vue动画内置组件
  • 构建完整的RAG生态系统并优化每个组件
  • 20250914-03: Langchain概念:提示模板+少样本提示
  • Java 字符编码问题,怎么优雅地解决?
  • CopyOnWrite
  • 【Ambari监控】监控数据接口查询方法
  • shell 脚本:正则表达式
  • 可调精密稳压器的原理
  • Altium Designer(AD)PCB打孔
  • React 状态管理
  • [Spring Cloud][5] 注册中心详解,CAP 理论,什么是 Eureka
  • 返利app的跨域问题解决方案:CORS与反向代理在前后端分离架构中的应用
  • C++算法题—图的邻接矩阵输入形式(I\O)
  • 主动性算法-如何让机器拥有嗅觉?
  • Knockout.js Google Closure Compiler 工具模块详解