计算机网络基础总结:TCP/IP 模型、TCP vs UDP、DNS 查询过程

在学习计算机网络的过程中,理解 TCP/IP 模型与 OSI 模型的对应关系、掌握 TCP 与 UDP 的区别,以及熟悉 DNS 的查询过程,是打好网络基础的关键。本文将围绕这三部分进行简明扼要的讲解。


一、TCP/IP 模型与 OSI 七层模型的对应关系

1. OSI 七层模型

OSI 模型(Open System Interconnection Model)是由 ISO 提出的一种网络通信的分层体系结构,其层次从上到下依次是:

  1. 应用层(Application)

  2. 表示层(Presentation)

  3. 会话层(Session)

  4. 传输层(Transport)

  5. 网络层(Network)

  6. 数据链路层(Data Link)

  7. 物理层(Physical)

2. TCP/IP 四层模型

TCP/IP 模型是互联网实际采用的模型,分为四层:

  1. 应用层(Application)

  2. 传输层(Transport)

  3. 网络层(Internet)

  4. 网络接口层(Network Access / Link)

3. 对应关系

OSI 模型 TCP/IP 模型 说明
应用层 应用层 如 HTTP、FTP、DNS
表示层 合并入应用层处理
会话层 合并入应用层处理
传输层 传输层 如 TCP、UDP
网络层 网络层(Internet) 如 IP、ICMP
数据链路层 网络接口层(Link) 如 Ethernet
物理层 网络接口层(Link) 包括硬件设备通信

总结:TCP/IP 模型更接近现实应用,OSI 模型更利于教学与理解。


二、TCP 与 UDP 的区别及应用场景

TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)都是传输层协议,但在设计哲学和应用场景上差异明显。

1. 区别对比

特性 TCP UDP
是否连接 面向连接(连接建立需三次握手) 无连接
可靠性 可靠,提供数据确认和重传 不可靠,无确认机制
顺序保证 有序(按发送顺序接收) 无序(可能乱序接收)
传输效率 较低(头部较大,需维护连接) 高(头部小,无需维护状态)
流量控制
拥塞控制

2. 应用场景

  • TCP 典型应用:

    • HTTP/HTTPS(网页浏览)

    • FTP(文件传输)

    • SMTP(邮件传输)

    • SSH(远程登录)

  • UDP 典型应用:

    • DNS 查询

    • VoIP(网络电话)

    • 视频会议、直播

    • 游戏(如实时对战)

总结:TCP 重可靠性,UDP 重实时性和效率。选择取决于具体需求。


三、DNS 查询过程详解

DNS(Domain Name System)用于将人类可读的域名(如 www.example.com)解析为 IP 地址。

1. 查询流程

(1)浏览器或操作系统先查找本地缓存;
(2)未命中则向配置的 DNS 服务器发起请求;
(3)DNS 服务器查询域名的 IP 并返回。

具体的查询方式可分为:

2. 递归查询 vs 迭代查询

特性 递归查询 迭代查询
查询发起者 客户端向本地 DNS 请求,要求最终结果 本地 DNS 向根、顶级、权威 DNS 逐层查询
过程控制 请求由本地 DNS 服务器代为完成(客户不知过程) 本地 DNS 服务器自己控制查询流程
返回内容 直接返回最终 IP 地址 返回下一层 DNS 服务器的地址
示例场景 客户端 → 本地 DNS(通常是递归查询) 本地 DNS 向外部服务器发出的迭代查询

3. DNS 查询完整示意图

复制代码
用户请求 www.example.com
        ↓
浏览器缓存 / 系统缓存
        ↓
本地 DNS 服务器(递归查询)
        ↓
根 DNS 服务器(迭代查询)
        ↓
.com 顶级域名服务器(迭代查询)
        ↓
example.com 权威服务器(迭代查询)
        ↓
返回 IP 地址

总结:客户端通常发起递归查询,DNS 服务器之间使用迭代查询来逐级获取信息。


小结

  • TCP/IP 模型是现实网络通信的主流分层模型,其与 OSI 模型在分层粒度上有所不同,但本质目标一致。

  • TCP 提供可靠、有序传输,适用于对数据完整性要求高的场景;UDP 提供高效、无连接的传输,适用于实时性强的应用。

  • DNS 查询中,客户端发起递归查询,DNS 服务器之间使用迭代查询,最终解析域名为 IP 地址。


如果你正在准备计算机网络考试、笔试面试,或搭建网络相关系统,理解这三部分是入门的关键。欢迎点赞、收藏与评论交流!

相关推荐
Shaoxi Zhang17 分钟前
NVM常用命令记录
笔记
fei_sun20 分钟前
【计算机网络】三报文握手建立TCP连接
网络·tcp/ip·计算机网络
wind_one11 小时前
STM32[笔记]--1.前置准备
笔记·stm32·单片机
jackson凌2 小时前
【Java学习笔记】String类(重点)
java·笔记·学习
搬码临时工2 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
a_157153249863 小时前
SpringCloud学习笔记-4
笔记·学习·spring cloud
sponge'4 小时前
opencv学习笔记2:卷积、均值滤波、中值滤波
笔记·python·opencv·学习
jingyucsdn4 小时前
网页端 VUE+C#/FastAPI获取客户端IP和hostname
网络协议·tcp/ip·fastapi
ljt27249606616 小时前
Compose笔记(二十六)--DatePicker
笔记·android jetpack
早日退休!!!6 小时前
性能优化笔记
笔记·性能优化