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

Linux网络服务(一):DNS域名解析和DHCP服务

文章目录

  • 前言
  • 一、DNS概述与核心作用
    • 1.1 DNS概念
    • 1.2 端口与协议
    • 1.3 域名结构
    • 1.4 域名代理/注册/购买服务商流程
  • 二、DNS查询原理(重点)
    • 2.1两种查询方式
      • 2.1.1 递归查询
      • 2.1.2 迭代查询
    • 2.2 完整的解析流程
  • 三、DHCP
    • 3.1 DHCP概念
    • 3.2 DHCP 工作模式与分配方式
      • 3.2.1 C/S 模式
      • 3.2.2 分配方式
      • 3.3.3 DHCP 工作原理(四次握手)
    • 3.3 DHCP 好处
    • 3.4 DHCP租约过程
  • 总结

前言

DNS(域名系统)与 DHCP(动态主机配置协议)是保障网络通信的两大基础服务——前者负责将域名解析为IP地址,实现“导航”功能;后者自动为终端设备分配网络参数,简化运维管理。本文将对DNS的查询流程、域名结构以及DHCP的工作机制与租约过程进行简要梳理。

一、DNS概述与核心作用

1.1 DNS概念

DNS是互联网的“导航员”,核心作用是实现域名与IP地址之间的相互映射。

  • 正向解析:根据域名擦护照对应的IP地址(最常用)。
  • 反向解析:根据IP地址查找对应的域名。

1.2 端口与协议

  • 默认端口:53
  • 使用协议
    UDP:常用于域名解析查询。
    TCP:用于区域传送(主从服务器同步数据)

1.3 域名结构

  • FQDN (Fully Qualified Domain Name,完全合格域名): 全限定域名,完整标识主机在域名树中的位置。
  • 格式:主机名、子域、二级域、顶级域、根域。(根域,通常省略)

1.4 域名代理/注册/购买服务商流程

(1)购买域名并注册域名
(2)备案 :根据页面填写详细资料,上传资料,包括域名申请表格、组织机构代码、注册人的身份证
(3)20天内不能做域名映射,否则封号

二、DNS查询原理(重点)

2.1两种查询方式

2.1.1 递归查询

  • 客户机与本地DNS服务器之间的查询方式。
  • 客户机发出请求后,只需等待最终结果(成功或失败),中间的所有查询过程由DNS服务器代理完成。

2.1.2 迭代查询

  • 本地DNS服务器与其它各级DNS服务器之间的查询方式。
  • 上级服务器不会替下级服务器去查询,而是返回一个最佳查询点(另一台DNS服务器的地址),让请求者自己再去问。

2.2 完整的解析流程

  • 步骤1:客户端发起递归查询
    客户端向本地DNS服务器发起递归查询请求,查询www.baidu.com的IP地址。
  • 步骤2:本地DNS服务器先自查
    本地DNS服务器首先检查自身的本地缓存和hosts文件,看是否有www.baidu.com对应的IP记录。如果有,直接返回;如果没有,进入下一步。
  • 步骤3:本地DNS服务器向根DNS服务器发起迭代查询
    本地DNS服务器向根DNS服务器发起迭代查询,询问www.baidu.com的IP。根DNS服务器没有直接的记录,会建议本地DNS服务器去查询.com顶级域服务器的地址。
  • 步骤4:本地DNS服务器向顶级域服务器发起迭代查询
    本地DNS服务器根据建议,向.com顶级域服务器发起迭代查询。顶级域服务器同样没有直接记录,会建议本地DNS服务器去查询baidu.com的权威服务器(二级域服务器)地址。
  • 步骤5:本地DNS服务器向二级域服务器发起迭代查询
    本地DNS服务器再向google.com二级域服务器发起迭代查询。这次,二级域服务器有www.baidu.com的记录,会返回其对应的IP地址。
  • 步骤6:本地DNS服务器返回结果并缓存
    本地DNS服务器拿到www.baidu.com的IP后,一方面将结果以递归响应的方式返回给客户端;另一方面,会把这个IP记录缓存起来,方便后续查询使用。

三、DHCP

3.1 DHCP概念

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种用于自动为网络设备分配TCP/IP 参数的应用层协议,使用 UDP 67(服务器端)和 UDP 68(客户端) 端口通信。
它由 IETF(Internet 工程任务组) 制定,前身是 BOOTP 协议,功能更简单;而 DHCP 支持更多自动
配置项,例如:IP 地址、子网掩码、广播地址 、默认网关地址、DNS 服务器地址

3.2 DHCP 工作模式与分配方式

3.2.1 C/S 模式

DHCP 服务器:负责集中分配与管理地址池。
DHCP 客户端:自动获取地址与网络参数。

角色协议端口功能
ServerUDP 67接收客户端请求并分配地址
ClientUDP 68发送请求并接收地址信息

3.2.2 分配方式

类型描述
自动分配客户端第一次获得地址后永久使用该地址。
手动分配管理员为特定主机指定固定 IP。
动态分配最常用方式,地址有租期,到期释放供他人使用。

3.3.3 DHCP 工作原理(四次握手)

步骤名称内容
1DHCP Discover客户端广播“有 DHCP 服务器吗?”
2DHCP Offer服务器回应“我有一个 IP 可用
3DHCP Request客户端选择一个 Offer 并请求使用
4DHCP ACK服务器确认分配并建立租约

3.3 DHCP 好处

  • 简化网络管理
    自动分配 IP,减少管理员工作量。
    避免手工配置错误。
  • 防止冲突与浪费
    自动检测并防止 IP 地址冲突。
    动态回收未使用的 IP,提高利用率。
  • 灵活适应网络变化
    改变网络地址段时,无需重新配置每台主机。

3.4 DHCP租约过程

  • T1 = 50% 租期:客户端单播请求续租。
  • T2 = 87.5% 租期:若无回应,广播请求续租。
  • 若收到 DHCP ACK →更新成功。
  • 若收到 DHCP NAK → 客户端重新发现(Discover)新的地址。

总结

DNS(域名系统):DNS 的核心作用是实现域名与 IP 地址的相互映射,其中正向解析(域名→IP)最为常用。查询方式分为递归查询(客户端→本地DNS服务器)和迭代查询(本地DNS服务器→各级权威DNS服务器),完整解析流程需经过客户端、本地DNS缓存、根域、顶级域(.com)、二级域(baidu.com)逐级查找,最终返回结果并缓存。DNS 默认使用 53 端口,UDP 用于常规查询,TCP 用于主从区域传送。
DHCP(动态主机配置协议):DHCP 基于 C/S 模式,服务器使用 UDP 67 端口,客户端使用 UDP 68 端口,支持自动分配、手动分配和动态分配三种方式,其中动态分配最常用。其工作原理分为四次握手:Discover(发现)、Offer(响应)、Request(请求)、ACK(确认)。租约机制中,客户端在 T1=50% 租期时单播续租,T2=87.5% 租期时广播续租,若失败则重新发起 Discover。

http://www.jsqmd.com/news/1197973/

相关文章:

  • 电子电路中的负电压:原理、生成方案与设计避坑
  • OpenCode本地AI编码工作流:从TUI到沙箱的工程化实践
  • STM32 HAL 之 UART:DMA乒乓缓存与空闲中断实现高速可靠数据流
  • MLCC选型指南:避免常见误区与提升电路可靠性
  • C++模板进阶:从非类型参数到SFINAE与Concepts的深度解析
  • 【技术实现】C++模拟鼠标点击:从Windows API到自动化脚本
  • C++高性能系统优化:从缓存、内存到无锁编程的纳秒级实践
  • 英特尔锐炫独立显卡实战评测:从开箱到性能全面解析
  • C++野指针的3个致命陷阱与系统性防御策略
  • 40分钟掌握集成电路制造:从光刻到封装的完整技术链
  • C++实现质因数分解:从试除法原理到算法优化与实战应用
  • MinT全栈加速GLM5.1 LoRA微调:DSA+MTP协同优化实践
  • 数字员工怎么打通企业数据?——三种集成模式对比
  • 【AI踩坑实录】让AI写了3个月代码,这7个坑让我返工了整整2周——附完整避坑清单
  • Claude Fable 5技术解析:AI自主编程与复杂项目开发实践
  • 主力洗盘手法大全:全景式深度解读
  • VS Code终端智能补全:LSP级命令建议原理与实战
  • DeepSeek-V3.2-Exp架构解析:Lightning Indexer与MLA稀疏化协同优化
  • C++二叉树遍历全解析:从递归到非递归,掌握核心算法与内存管理
  • 数字时代的知识宝库:一份值得珍藏的免费资源导航
  • Arduino IDE 个性化定制:从护眼配色到高效编码环境的全面改造
  • C++进阶实战:46个范例详解,从语法到工程实践
  • 数字员工的权限怎么管?——拒绝/允许/询问安全底线
  • 运算放大器基础与7种经典电路设计实战
  • Boost.Program_options:C++命令行与配置管理的工业级解决方案
  • 向量数据库生产环境监控与运维实战:从指标采集到故障自愈
  • 看守所室内定位系统选型:蓝牙vs UWB vs千寻融合方案对比
  • 从 CDS View Extension 到 Append View,读懂经典 ABAP CDS 扩展模型的生成链路
  • Linux下VSCode插件离线安装全攻略:从源码到.vsix的终极方案(2026版)
  • 基于 GLM-5.2 的 X-Gnarly (332位) 纯算还原分析