网络传输七层协议

网络传输七层协议即OSI 开放式系统互联参考模型,是国际标准化组织制定的网络通信分层规范,将网络数据传输的复杂过程拆分为 7 个层级,每层专注实现特定的核心功能,上层基于下层提供的服务开展工作,层与层之间通过标准化接口交互,让不同厂商的网络设备能互联互通。

七层模型从下到上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 ,核心原则是分层解耦、各司其职,降低网络通信的开发和维护复杂度。实际网络应用中(如 TCP/IP 协议簇),会将七层模型简化为四层 / 五层,但七层模型是理解网络传输原理的基础。

一、物理层(第 1 层):传输原始的比特流

核心功能

是网络传输的最底层 ,负责处理物理介质上的原始二进制数据(0 和 1) 传输,定义了网络硬件的物理连接规范,仅关注数据的传输是否成功,不关心数据含义、格式。

关键定义

  • 物理介质:网线(双绞线、光纤)、无线射频、串口线等;
  • 传输规范:电压高低、信号频率、接口类型(RJ45、RJ11)、传输速率、引脚定义;
  • 核心动作:将数字信号转换为电 / 光 / 无线信号(发送端),或将接收到的物理信号还原为数字信号(接收端)。

典型设备

网卡、网线、集线器(Hub)、中继器(放大器,延长传输距离)。

核心特点

无数据封装,仅传输比特流,是纯硬件层面的传输。

二、数据链路层(第 2 层):将比特流封装为帧,实现相邻节点通信

核心功能

在物理层的基础上,将无序的比特流封装为有结构的帧(Frame) ,实现相邻网络节点 之间的可靠传输,解决物理层的信号失真、丢包、冲突问题。

核心工作

  1. 帧封装 :给比特流添加帧头(源 MAC 地址、目标 MAC 地址)帧尾(校验码 FCS),形成帧(数据传输的基本单位);
  2. MAC 地址寻址:通过设备的唯一物理地址(MAC 地址,网卡烧录的固定地址)定位相邻节点;
  3. 差错检测:通过帧尾的校验码检测帧在传输中是否损坏,损坏则丢弃;
  4. 介质访问控制:解决多设备共用物理介质的冲突问题(如以太网的 CSMA/CD 协议,无线的 CSMA/CA 协议)。

典型设备

交换机(Switch)、网桥(Bridge),交换机是数据链路层的核心设备,能根据 MAC 地址转发帧。

核心特点

  • 作用范围:局域网内的相邻节点(如同一交换机下的设备);
  • 数据单位:帧(Frame)
  • 仅识别 MAC 地址,无法跨网段通信。

三、网络层(第 3 层):实现跨网段的分组路由与寻址

核心功能

广域网通信的核心 ,负责将数据链路层的帧进一步封装为数据包(Packet) ,实现跨网段、跨网络的通信,解决 **"数据如何从源主机到达目标主机"** 的路由问题。

核心工作

  1. 数据包封装 :给帧添加包头(源 IP 地址、目标 IP 地址、路由标识、生存时间 TTL)
  2. IP 地址寻址:通过逻辑地址(IP 地址,可手动 / 动态分配)定位跨网络的目标主机,弥补 MAC 地址仅能局域网寻址的缺陷;
  3. 路由选择 :通过路由协议(RIP、OSPF、BGP)选择从源网络到目标网络的最优传输路径
  4. 分片与重组:当数据包超过网络传输的 MTU(最大传输单元)时,将其分片传输,目标主机侧重组为完整数据包。

典型设备

路由器(Router)、三层交换机,路由器是网络层的核心设备,能根据 IP 地址转发数据包,连接不同网段 / 网络。

核心特点

  • 作用范围:跨网段、广域网
  • 数据单位:数据包(Packet)
  • 识别 IP 地址,通过路由表实现路径选择,是 "网络间的导航员"。

四、传输层(第 4 层):实现端到端的可靠数据传输

核心功能

七层模型的核心层 ,负责在源主机和目标主机的应用程序之间 建立端到端的通信连接 ,解决网络层 "仅传数据包,不保证可靠" 的问题,为上层应用提供可靠 / 高效的传输服务。

核心工作

  1. 段 / 数据报封装 :给网络层的数据包添加包头(源端口、目标端口、序列号、确认号、校验和),形成段(TCP)/ 数据报(UDP);
  2. 端口寻址:通过端口号(0-65535)定位主机上的具体应用程序(如 80 端口对应 HTTP、443 对应 HTTPS、22 对应 SSH);
  3. 传输控制:提供两种核心传输协议,适配不同业务需求;
  4. 流量控制:防止发送端传输速度过快,导致接收端缓冲区溢出;
  5. 拥塞控制:感知网络拥塞,动态调整传输速率,避免网络瘫痪。

核心协议

协议 特点 适用场景
TCP(传输控制协议) 面向连接、可靠传输、有序传输、重传丢失的数据包、开销较大 对可靠性要求高的场景:网页浏览(HTTP/HTTPS)、文件传输(FTP)、邮件(SMTP)、数据库通信
UDP(用户数据报协议) 无连接、不可靠传输、无序传输、无重传、开销极小、传输速度快 对实时性要求高的场景:视频直播、语音通话、游戏、物联网数据上报、DNS 解析

典型设备

四层交换机(可基于端口号转发)、负载均衡器(如 Nginx、F5)。

核心特点

  • 作用范围:源主机应用 ↔ 目标主机应用(端到端);
  • 数据单位:段(Segment,TCP)/ 数据报(Datagram,UDP)
  • 是 "应用程序之间的通信桥梁",屏蔽底层网络的细节。

五、会话层(第 5 层):建立、管理和终止应用程序的会话连接

核心功能

在传输层的端到端连接基础上,负责应用程序之间的会话管理,相当于为两个应用程序建立 "专属通信会话",并维护会话的状态。

核心工作

  1. 会话建立:协商通信双方的会话参数,建立连接(如三次握手后的会话确认);
  2. 会话管理 :维护会话的活跃状态,实现会话挂起、恢复、重连
  3. 会话终止:通信完成后,释放会话资源,正常终止连接(如 TCP 四次挥手);
  4. 同步控制:在会话中添加同步点,若传输中断,可从同步点继续传输,无需从头开始。

典型应用

数据库的连接会话、SSH 远程连接、FTP 的文件传输会话、浏览器与服务器的会话。

核心特点

  • 专注于 **"会话" 的生命周期管理 **,不参与数据的具体传输;
  • 为表示层和应用层提供稳定的会话环境

六、表示层(第 6 层):对数据进行格式化、加密和解密,实现数据兼容

核心功能

负责数据的格式转换和表示,让通信双方的应用程序能识别彼此的数据,解决 **"不同系统的数据格式不兼容"** 问题,同时提供数据的加密 / 解密、压缩 / 解压缩服务,保证数据的安全性和传输效率。

核心工作

  1. 数据格式转换:将应用层的原始数据转换为标准化格式(如将 Unicode 转换为 ASCII、将浮点数转换为统一的二进制格式);
  2. 数据加密 / 解密:对传输的数据进行加密(如 HTTPS 的 SSL/TLS 加密),防止数据被窃取;
  3. 数据压缩 / 解压缩:压缩大体积数据(如文本、图片压缩),减少网络传输量,提升速度;
  4. 数据解耦:屏蔽不同操作系统(Windows/Linux/Mac)、不同编程语言的底层数据格式差异。

典型技术

SSL/TLS 加密、JPEG/PNG 图片压缩、ZIP 数据压缩、Base64 编码、字符集转换(UTF-8/GBK)。

核心特点

  • 是 **"数据的翻译官和安全卫士"**;
  • 处理的是应用层能识别的逻辑数据,不关心数据的传输路径。

七、应用层(第 7 层):直接为用户应用程序提供网络服务

核心功能

七层模型的最顶层 ,直接面向用户 / 应用程序,提供具体的网络服务接口,让应用程序能通过网络实现数据交互,所有用户可见的网络功能都在这一层实现。

核心工作

定义应用程序与网络的交互规范,提供各类网络服务的协议,应用程序通过调用这些协议实现网络通信。

常见核心协议

协议 端口号 核心功能 应用场景
HTTP 80 超文本传输协议,明文传输 普通网页浏览、接口请求
HTTPS 443 安全的超文本传输协议,加密传输 安全网页、支付、登录接口
FTP 21/20 文件传输协议 远程文件上传 / 下载
SMTP 25 简单邮件传输协议 邮件发送
POP3 110 邮局协议版本 3 邮件接收
IMAP 143 交互式邮件访问协议 邮件多端同步
DNS 53 域名系统协议 将域名解析为 IP 地址
SSH 22 安全外壳协议 远程服务器登录 / 管理
Telnet 23 远程终端协议,明文传输 早期远程登录(现已被 SSH 替代)

典型应用

浏览器、邮件客户端、FTP 工具、微信 / QQ(网络层基于自定义协议)、各类 APP 的网络请求。

核心特点

  • 直接对接用户应用,无需关注底层传输细节,底层的 6 层为其提供端到端的可靠传输服务;
  • 数据单位:报文(Message)

二、七层模型的核心传输流程(数据封装与解封装)

网络数据的传输遵循 **"发送端从上到下封装,接收端从下到上解封装"** 的原则,每层在接收到上层数据后,添加自身的协议头(部分层加尾),封装后传递给下层;接收端每层接收到数据后,拆除自身的协议头,验证通过后传递给上层,最终还原为应用层的原始数据。

简化传输流程(以浏览器访问网页为例)

  1. 应用层:浏览器生成 HTTP 请求报文(包含请求头、请求体),传递给表示层;
  2. 表示层:对 HTTP 报文进行加密(HTTPS)、压缩,传递给会话层;
  3. 会话层:建立浏览器与服务器的会话连接,传递给传输层;
  4. 传输层:封装 TCP 段,添加源端口(如随机端口)、目标端口(443)、序列号,传递给网络层;
  5. 网络层:封装 IP 数据包,添加源 IP、目标 IP(域名解析后的服务器 IP),传递给数据链路层;
  6. 数据链路层:封装以太网帧,添加源 MAC、目标 MAC(下一跳路由器 MAC),传递给物理层;
  7. 物理层:将帧转换为电 / 光信号,通过网线 / 光纤传输;
  8. 接收端(服务器):从物理层到应用层依次解封装,拆除各层协议头,最终还原为 HTTP 请求报文,服务器处理后生成响应报文,按相同流程反向传输给浏览器。

三、七层模型与 TCP/IP 四层模型的对应关系

实际工业应用中,使用最广泛的是TCP/IP 协议簇 ,它将 OSI 七层模型简化为四层模型(网络接口层、网络层、传输层、应用层),二者的对应关系如下,便于理解实际网络协议的实现:

OSI 七层模型 TCP/IP 四层模型 核心协议 / 设备
应用层 应用层 HTTP/HTTPS/DNS/FTP/SSH,浏览器 / APP
表示层 应用层 SSL/TLS、数据压缩 / 加密
会话层 应用层 会话管理、端口映射
传输层 传输层 TCP/UDP,四层交换机、负载均衡
网络层 网络层 IP、ICMP、ARP,路由器、三层交换机
数据链路层 网络接口层(网络访问层) MAC、以太网协议,交换机、网桥
物理层 网络接口层(网络访问层) 比特流传输,网卡、集线器、网线

四、七层模型的核心意义

  1. 分层解耦:每层仅关注自身核心功能,上层无需关心下层的实现细节,降低网络开发和维护的复杂度;
  2. 标准化:定义了统一的层间接口和协议规范,让不同厂商的网络设备(如华为 / 思科路由器、交换机)能互联互通;
  3. 故障定位:分层结构便于网络故障排查,可快速定位故障所在的层级(如物理层故障 = 网线 / 网卡问题,网络层故障 = IP / 路由问题);
  4. 协议扩展:可在某一层独立扩展新协议,不影响其他层级(如传输层在 TCP/UDP 外扩展新协议,无需修改物理层 / 数据链路层)。

总结

  1. OSI 七层模型从下到上为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 ,核心是分层各司其职,层间标准化交互
  2. 底层 3 层(物理、数据链路、网络)负责网络硬件的传输和路由 ,解决 "数据如何在网络中传输";中间 1 层(传输层)是核心,负责端到端的应用程序连接 ;上层 3 层(会话、表示、应用)负责应用层的会话和数据处理,解决 "应用如何使用网络";
  3. 数据传输遵循 **"发送端封装,接收端解封装"**,每层添加 / 拆除自身协议头;
  4. 实际应用的 TCP/IP 协议簇将七层简化为四层,把会话层、表示层融入应用层,物理层和数据链路层融入网络接口层,是目前网络通信的主流标准。

理解七层模型,是掌握网络协议(TCP/IP、HTTP/HTTPS)、网络故障排查、网络设备选型的基础,也是前端 / 后端开发中理解 "网络请求如何从应用到服务器" 的关键。

相关推荐
BingoGo14 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack14 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
feifeigo1234 天前
matlab画图工具
开发语言·matlab