网络参考模型:从OSI到TCP/IP的数据传输原理,有图解(附知识点文档)

网络参考模型是网络工程学习的核心基石,它以分层架构搭建起统一的思维框架,串联起协议、设备、传输机制等零散知识点,既为网络设计、配置与故障排查提供实操准则,也成为行业技术沟通的通用语言,是后续深入学习路由、交换、网络安全等内容的必备前提。

本文主要讲述OSI参考模型和TCP/IP参考模型,理解数据的定义和传递过程,理解网络参考模型概念及优势,了解整个数据的传递过程。

  • 知识重点:OSI参考模型和TCP/IP参考模型以及数据传递的整个过程
  • 知识难点:数据的封装以及解封装

一、OSI 参考模型:网络分层的标准化基石

1.1 模型诞生的背景与设计目标

20 世纪 80 年代,ISO(国际标准化组织)为解决不同厂商设备互操作性问题,提出 OSI(开放式系统互联)参考模型。其核心思想是将网络通信划分为 7 个功能层,每层定义明确的接口和协议,实现 "分层解耦":

  • 分层优势:便于独立开发、调试和升级,某层技术更新不影响其他层;故障定位更精准,可快速定位到具体层级问题。

1.2 OSI 七层模型详解

层级 核心功能 典型协议 / 技术
应用层 为用户程序提供网络服务接口,如文件传输、远程登录、邮件发送等。 HTTP、FTP、Telnet、SMTP
表示层 负责数据格式转换(如 JSON/XML 解析)、加密解密(SSL/TLS)和压缩解压。 ASCII、JPEG、PKCS#7
会话层 管理端到端通信会话,包括会话建立(如 TCP 连接初始化)、维护和终止。 RPC、NetBIOS、ZIP 协议
传输层 实现端到端可靠(TCP)或不可靠(UDP)传输,通过端口号区分上层应用。 TCP、UDP、SCTP
网络层 提供逻辑寻址(IP 地址)和路由选择,解决跨网络数据转发问题。 IP、ICMP、IGMP、ARP/RARP
数据链路层 在相邻节点间传输数据帧,通过 MAC 地址寻址,实现差错检测(CRC 校验)。 Ethernet、PPP、HDLC、802.11
物理层 定义物理介质(电缆、光纤)的电气特性、信号编码和传输速率,传输比特流。 RJ45、IEEE 802.3、光纤标准

为什么会出现OSI参考模型?

简单点来说,是因为需要制定标准,只有指定标准,大家才能互相一起工作,彼此之间认识对应的报文和信息,同时OSI把网络分为七层的好处便于我们开发和排错。

二、TCP/IP 参考模型:互联网的实际运行框架

2.1 从 OSI 到 TCP/IP 的演进

OSI 模型虽理论完善,但协议栈复杂、实现难度高,未大规模商用。20 世纪 90 年代,基于 TCP(传输控制协议)和 IP(网际协议)的TCP/IP 模型崛起,成为互联网事实标准。现在用得最多的是TCP/IP对等模型,把上三层统一定义为应用层,其作用就是用于产生数据,下四层不变。

  • 应用层:融合 OSI 的应用层、表示层、会话层,直接处理用户级协议(如 HTTP、DNS)。
  • 传输层:同 OSI 传输层,核心协议 TCP(可靠)和 UDP(高效)。
  • 网络层:专注 IP 寻址与路由,支持跨网络通信。
  • 数据链路层 + 物理层 :合并为网络接口层,处理物理介质接入。

2.2TCP/IP常见协议

应用层:HTTP(80),Telnet(23),FTP(20,21),SMTP(25),TFTP(69)

传输层:TCP,UDP

网络层:ICMP,IP

数据链路层:PPP,Ethernet,PPPoE

****2.3 TCP和UDP,****传输层:端到端通信的 "桥梁"

  • TCP:面向连接的可靠传输,通过 "三次握手" 建立连接,"四次挥手" 断开连接,确保数据有序、无丢失(如 HTTP 依赖 TCP)。
  • UDP:无连接的高效传输,不保证可靠性,适用于实时场景(如视频会议、DNS 查询)。

报文格式

端口号

客户端使用的源端口一般随机分配,目标端口则由服务器的应用指定

源端口号一般为系统中未使用,且大于1023

目的端口号为服务端开启的应用所侦听的端口,如HTTP缺省使用80

其目的端口号的作用就是把数据具体交给这台主机的哪种服务

三、TCP 连接管理:可靠传输的 "握手礼仪"

5.1 三次握手:连接建立的 "确认机制"

  1. 客户端→服务器:发送 SYN 报文(序列号 Seq=x),请求建立连接。
  2. 服务器→客户端:回复 SYN+ACK 报文(确认号 Ack=x+1,自身 Seq=y),确认请求并同步序列号。
  3. 客户端→服务器 :发送 ACK 报文(Ack=y+1),连接正式建立。

首先通过三次握手建立链接,就是因为双方都确认且回复,所以是可靠的链接

TCP的序列号和确定序列号

就是通过使用序列号和确认序列号来保障数据传输到位

5.2 四次挥手:连接释放的 "安全终止"

  1. 客户端→服务器:发送 FIN 报文(Seq=m),请求关闭连接。
  2. 服务器→客户端:回复 ACK 报文(Ack=m+1),确认收到关闭请求,继续处理剩余数据。
  3. 服务器→客户端:数据处理完毕,发送 FIN 报文(Seq=n),请求关闭服务器到客户端的连接。
  4. 客户端→服务器 :回复 ACK 报文(Ack=n+1),连接彻底关闭。

设计原因:服务器可能需延迟关闭(处理未发完的数据),故挥手需四次。

四、地址解析协议(ARP)

本质上就是请求对方的MAC地址,数据需要封装,通过ARP请求获取到对方的MAC地址,来完成数据的整个封装

(1)在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过ARP来获取。

(2)主机通过发送ARP Request报文来获取对端主机的MAC地址,ARP Request是广播数据帧,因此交换机收到后,会对该帧执行泛洪操作

(3)对端主机通过发送ARP Reply报文来响应请求。此时对端主机已知主机的MAC地址,因此ARP Reply是单播数据帧。

(4)获取到对方主机的MAC地址,此时可以完成封装,数据正常转发

五、数据的封装以及解封装

(1)封装

应用层产生数据,到传输层封装TCP头部,到网络层再次封装IP头部,到数据链路层封装以太网头部,最后变成0和1在传输介质上传递过去。

总体来说,通过数据链路层和网络层(MAC地址和IP地址),我可以定位网络中的哪台主机,然后传输层的作用就是通过具体的端口号找到这台主机的哪种服务,就好比我通过IP地址和MAC地址找到这台主机,如果目的是80号端口,我就把数据丢给这台主机的HTTP服务,如果目的是23号端口,我就把数据丢给这台主机的Telnet服务。

(2)解封装

首先解开以太网头部,看到源目MAC地址,再解开网络层头部,看到源目IP地址,再解开TCP头部,看到源目端口号,最终把数据传递到指定对应的位置。

六、从理论到实践:网络参考模型的价值

6.1 标准化的力量

OSI 与 TCP/IP 模型通过分层架构,实现了不同厂商设备的互操作性。例如,Windows 电脑可通过 HTTP 访问 Linux 服务器,底层依赖 TCP/IP 协议的统一规范。

6.2 故障排查的 "分层思维"

当网络故障发生时,可按层定位:

  • 物理层:检查网线是否松动、信号是否衰减。
  • 数据链路层:查看 MAC 地址是否冲突、帧校验是否失败。
  • 网络层:追踪 IP 路由是否正确、是否存在地址冲突。
  • 传输层:分析 TCP 连接状态(如 TIME_WAIT 过多导致端口占用)。
  • 应用层:验证端口是否开放、协议交互是否符合规范。

更多的网工核心知识点文档和三色笔记,在我主页简介中获取

相关推荐
White_Can4 小时前
《计算机网络:物理层》
计算机网络
interception4 小时前
爬虫逆向:websocket实战案例,全国建筑市场
爬虫·websocket·网络协议
i_am_a_div_日积月累_4 小时前
websocket设置和断开机制
网络·websocket·网络协议
Eric_Makabaka5 小时前
计算机网络重要知识点
java·网络·计算机网络
Jennifer33K6 小时前
WebSocket!!
网络·websocket·网络协议
一只栖枝6 小时前
HarmonyOS 开发高级认证是什么?含金量高吗?
华为·华为认证·harmonyos·鸿蒙·考证
一位搞嵌入式的 genius8 小时前
TLS协议深度解析:新一代网络安全传输标准
网络·计算机网络·安全·web安全·网络通信·tls协议
AuroraDPY9 小时前
计算机网络:HTTP协议
网络协议·计算机网络·http
小马_6669 小时前
[好记性不如烂笔头]RT_Thread http ota升级踩坑笔记(CRC校验不通过)
笔记·物联网·网络协议·http
心一信息9 小时前
http与https的详细介绍
网络协议·http·https