计算机网络基础总结: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 地址。


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

相关推荐
Olrookie12 分钟前
若依前后端分离版学习笔记(一)——本地部署
笔记·后端·开源
##echo1 小时前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
我爱学嵌入式4 小时前
C语言第 9 天学习笔记:数组(二维数组与字符数组)
c语言·笔记·学习
_Kayo_12 小时前
VUE2 学习笔记6 vue数据监测原理
vue.js·笔记·学习
7ACE12 小时前
Wireshark TS | 发送数据超出接收窗口
网络协议·tcp/ip·wireshark
xzkyd outpaper12 小时前
QUIC协议如何在UDP基础上解决网络切换问题
网络·计算机网络·udp·quic
明月看潮生12 小时前
编程与数学 03-002 计算机网络 06_网络层职责
计算机网络·青少年编程·编程与数学
van叶~13 小时前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip
使二颗心免于哀伤14 小时前
《设计模式之禅》笔记摘录 - 10.装饰模式
笔记·设计模式
悠哉悠哉愿意14 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测