news 2026/11/4 16:15:40

计算机网络】吃透 OSI 七层模型与 TCP/IP 协议栈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机网络】吃透 OSI 七层模型与 TCP/IP 协议栈

前言

做后端开发、服务器运维,网络是绕不开的基础。很多同学背了七层名字,却不懂分层的意义,不知道数据包从浏览器发出到服务器,每一层到底发生了什么封装。

分层思想核心:下层为上层提供服务,上层不用关心下层实现;层间低耦合,协议可独立替换。 OSI 七层:理论标准;TCP/IP 四层:工业事实标准,互联网真实使用。

通信核心一句话:发送方从上到下逐层封装头部,接收方从下到上逐层解封装头部。

一、OSI 七层参考模型(自上向下:7~1 层)

PDU:协议数据单元,每一层传输的数据单元名称。

表格

层级名称PDU核心职责典型协议 / 技术硬件设备
7应用层数据 Data为应用程序提供网络接口,定义业务交互规则HTTP、HTTPS、DNS、FTP、SMTP、SSH网关、代理
6表示层数据 Data数据格式转换、编码、加密解密、压缩解压SSL/TLS、JPEG、ASCII无
5会话层数据 Data建立、维护、断开应用之间会话,同步会话断点RPC、NetBIOS无
4传输层段 Segment (TCP)/ 数据报 Datagram (UDP)端到端进程通信,端口寻址,可靠 / 不可靠传输,流量控制TCP、UDP四层防火墙
3网络层数据包 Packet跨网络寻址、路由选择、IP 分片重组,IP 地址IP、ICMP、ARP、OSPF、BGP路由器
2数据链路层帧 Frame同一网段节点通信,MAC 寻址、差错校验、帧封装Ethernet 以太网、PPP、VLAN交换机、网桥
1物理层比特 Bit传输 0/1 比特流;定义线缆、接口、电气信号标准RJ45、光纤、Wi-Fi 802.11集线器、中

逐层详解

7 层 应用层

面向应用程序,直接给软件提供网络能力。 浏览器发起 HTTP 请求、域名解析 DNS、文件传输 FTP 都在这一层。

HTTPS 本质:HTTP 应用层数据交给表示层 TLS 加密。

6 层 表示层

不负责传输,只处理数据本身格式。

  • 编码转换(ASCII、UTF-8)
  • 数据压缩、解压
  • SSL/TLS 加解密(HTTPS 加密发生在此层)
5 层 会话层

管理两端应用会话:建立会话、保活、断开会话、设置同步断点。 比如 RPC 远程调用、Windows 文件共享 NetBIOS。

很多教材里,TCP/IP 模型把会话层 + 表示层全部合并到应用层,这也是 OSI 和 TCP/IP 最大差异之一。

4 层 传输层【后端重点,面试高频】

主机到主机升级为进程到进程通信,引入端口号标识应用程序。 两大核心协议:TCP、UDP。

  • TCP:面向连接、可靠传输;三次握手建立连接、四次挥手断开;序列号、ACK 确认、重传、流量控制、拥塞控制。
  • UDP:无连接、不可靠;只做端口寻址,无确认、无重传;开销极小,DNS、直播、音视频、QUIC (HTTP3) 使用 UDP。
3 层 网络层

核心:IP 寻址 + 路由。IP 地址用来定位跨网段主机。

  • IP 协议:封装 IP 包头(源 IP、目标 IP、TTL)
  • ICMP:网络探测,ping 命令底层就是 ICMP
  • ARP:IP 转 MAC 地址(跨层协议,介于网络层与链路层之间)

路由器工作在网络层,根据 IP 地址查表转发数据包。

2 层 数据链路层

同一个局域网内部通信,使用 MAC 物理地址。 把上层数据包封装成帧,增加 MAC 头部 + CRC 校验,出错丢弃。交换机基于 MAC 地址转发帧。

1 层 物理层

没有数据包,只有 0、1 比特流。网线、光纤、无线电,只负责信号传输,不做差错校验。

二、TCP/IP 四层协议栈(互联网事实标准)

TCP/IP 四层(自上而下):应用层 → 传输层 → 网际层 (网络层) → 网络接口层与 OSI 对应关系:

  1. 应用层:合并 OSI7、6、5 层(应用、表示、会话)
  2. 传输层:完全对应 OSI 第 4 层(TCP/UDP)
  3. 网际层(IP 层):对应 OSI 第 3 层(IP、ICMP、ARP)
  4. 网络接口层:合并 OSI 2、1 层(数据链路层 + 物理层)

很多计算机网络教材会使用五层简化模型(网络接口层拆成链路层 + 物理层),面试经常出现,注意区分。

三、数据包封装和解封装完整流程(浏览器访问网站实例)

场景:本机浏览器访问https://www.baidu.com,完整封装过程(发送方,从上往下)

  1. 应用层:浏览器构造 HTTP 请求报文,交给下层;TLS 完成加密。
  2. 传输层:给数据加上 TCP 头部(源端口、目标端口、序列号),封装成 TCP 段。
  3. 网际层:增加 IP 头部(源 IP、目标 IP、TTL),封装成 IP 数据包。
  4. 网络接口层(链路层):增加以太网头部(源 MAC、目标 MAC)+CRC 校验,封装成帧。
  5. 物理层:转换成 0/1 比特流,通过网线发出。

接收服务器端,自下向上解封装:

  1. 物理层收到比特流,传给链路层。
  2. 链路层剥掉以太网帧头,校验 CRC,取出 IP 包,上交网络层。
  3. 网络层剥掉 IP 包头,判断目标 IP 是本机,取出 TCP 段上交传输层。
  4. 传输层剥掉 TCP 头部,校验序列号,重组数据,上交应用层。
  5. 应用层 TLS 解密,交给 Web 服务器处理 HTTP 请求。

重点记忆:每一层只处理属于自己的头部,上层数据对于下层来说就是透明载荷 (payload)

四、核心协议原理精讲(后端面试重点)

1. 传输层 TCP vs UDP

表格

对比TCPUDP
连接面向连接(三次握手建立)无连接,无需预先握手
可靠性可靠,确认应答、超时重传不可靠,不保证送达、不校验顺序
控制机制流量控制、拥塞控制、序列号无
开销头部 20~60 字节,开销大头部固定 8 字节,极简
典型场景HTTP/HTTPS、数据库连接、SSHDNS 查询、直播、语音通话、HTTP3 QUIC
TCP 核心机制
  1. 三次握手:建立双向连接,同步双方序列号。
  2. 四次挥手:双向关闭连接。
  3. 确认应答 ACK:收到数据返回确认。
  4. 超时重传:丢包自动重发。
  5. 流量控制:滑动窗口,防止发送方打崩接收方。
  6. 拥塞控制:慢启动、拥塞避免,防止网络过载。

2. 网际层 IP 协议

IP 只负责尽力转发,不保证可靠传输(可靠交给 TCP)。

  • IP 地址:逻辑地址,可以动态变化;MAC 是网卡固化物理地址。
  • TTL:生存时间,每经过一台路由器 TTL 减 1,TTL=0 丢弃,防止环路。
  • IP 分片:数据包超过链路 MTU(以太网默认 1500 字节),网络层分片,目标主机重组。

ARP:根据 IP 地址查询同一网段 MAC 地址;ARP 广播请求,单播应答。

3. 网络排查命令与分层对应(结合 Linux 命令)

  • 物理 / 链路层:查看网卡ip a
  • 网络层连通性:ping(ICMP 协议)
  • 路由追踪:traceroute,定位网络中断在哪一跳
  • 端口连通性(传输层):telnet / curl,检测 TCP 端口
  • 抓包:tcpdump / wireshark,直接看各层报文,定位网络问题

五、OSI 七层 vs TCP/IP 协议栈核心对比

  1. OSI 七层:ISO 国际组织定义,理论模型,分层精细,会话、表示独立拆分;没有完整配套协议栈。
  2. TCP/IP 四层:由互联网发展诞生,实践优先,合并上层三层;整套协议簇,互联网唯一事实标准。

一句话总结:OSI 是教科书理论,TCP/IP 是互联网真正落地的实现。开发和网络设备都是基于 TCP/IP。

六、面试高频考点(直接背诵)

  1. 问:为什么网络要分层?

答:降低复杂度,每层职责单一;层间接口标准化,协议可单独替换;便于模块化开发、故障定位。

  1. 问:IP 和 MAC 地址区别?

MAC:二层,物理地址,固化网卡,局域网内部寻址;IP:三层,逻辑地址,可动态分配,跨网段寻址。ARP 负责 IP 转 MAC。

  1. 问:TCP 为什么三次握手不是两次?

验证双方收发能力,同步序列号;两次握手无法确认对方收到我方序列号。

  1. 问:UDP 不可靠,为什么还在用?

无连接,低延迟,开销小;适合流媒体、DNS;上层业务自己做可靠性(QUIC)。

  1. 问:封装和解封装是什么?

发送方从上到下逐层增加协议头部;接收方从下向上逐层剥离头部,提取上层载荷。

  1. 问:路由器、交换机分别在哪一层?

交换机:二层(数据链路层,MAC 转发);路由器:三层(网络层,IP 路由转发)

七、总结

  1. OSI 七层是理论模型,TCP/IP 四层是互联网真实协议栈,学习时建议以 TCP/IP 为主,OSI 用来理解分层思想。
  2. 通信本质就是封装 - 传输 - 解封装,每层只处理自身头部,载荷透明。
  3. 传输层是后端开发重中之重,TCP 的三次握手、四次挥手、滑动窗口、拥塞控制,是面试必考。
  4. 遇到线上网络故障,可以按分层思路排查:物理链路→二层连通→三层路由→四层端口→应用层服务。

后续拓展学习:TCP 滑动窗口、拥塞控制、HTTP 协议、HTTPS TLS 握手、Socket 网络编程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 7:25:15

GPU调度优化实战:从推理负载错配到动态批处理与显存超卖

做模型推理服务的人,没有不被 GPU 调度折腾过的。今年我把几个推理服务的 GPU 调度机制完整梳理了一遍,起因很简单:集群里明明还有不少空闲算力,新服务却经常提示资源不足;等我把调度策略调整之后,同样的负…

作者头像 李华
网站建设 2026/10/31 12:46:59

Agent Runtime 编排实战:从工具调用到稳定任务执行

1. 为什么“会调工具”不等于“能做编排”过去一年我参与过三个不同规模的 Agent 项目,从最初级的“单模型加几个函数调用”,到后来需要协调十几个子任务、跨多个执行环境的中型系统,踩过的坑几乎都指向同一个认知偏差:很多人把 A…

作者头像 李华
网站建设 2026/10/31 14:10:03

Java企业级AI Agent实战:GOAP目标导向行动规划替代提示词编排

1. 从提示词编排到目标驱动:Java企业做AI Agent的路线分野1.1 为什么Java团队做Agent总觉得“使不上劲”过去一年多,我接触过不少做企业级系统的Java团队,大家普遍有一个共同的困惑:明明手里握着最核心的业务逻辑、最完整的领域模…

作者头像 李华
网站建设 2026/11/4 10:32:17

存量机房液冷升级指南:插拔式背门改造与航天热控技术

过去大半年,我接到最多的同行咨询,基本都是同一个问题:液冷到底该怎么上?不是“要不要上”,因为答案已经很明显了——算力中心的功率密度涨得太快,风冷系统的散热天花板就摆在那里。真正让大家纠结的&#…

作者头像 李华
网站建设 2026/10/30 3:20:54

储能系统最优控制:基于MPC的电池充放电策略与SoC多维分析

储能系统里“最优控制”这个词,听着像学术黑话,但其实它解决的问题特别接地气:光伏、风电出力忽高忽低,电网要稳定,电池就得顶上去填坑。但电池不是完美器件,你不能让它“蛮充蛮放”,充快了伤寿…

作者头像 李华
网站建设 2026/10/31 8:27:30

Beyond Compare 3.3.4:文件目录对比与同步实操指南

在日常开发和运维工作里,“对比”这件事看起来不起眼,但真正遇到问题的时候,比如两个环境配置不一致、代码合并冲突、一批文件改完不知道哪几个动过,你会发现,没有一个顺手的对比工具,效率低得让人抓狂。很…

作者头像 李华