网络传输七层协议

网络传输七层协议即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)、网络故障排查、网络设备选型的基础,也是前端 / 后端开发中理解 "网络请求如何从应用到服务器" 的关键。

相关推荐
不染尘.1 分钟前
最短路径之Bellman-Ford算法
开发语言·数据结构·c++·算法·图论
格林威1 分钟前
工业相机图像采集:Grab Timeout 设置建议——拒绝“假死”与“丢帧”的黄金法则
开发语言·人工智能·数码相机·计算机视觉·c#·机器视觉·工业相机
xiaoye-duck3 分钟前
C++ STL set 系列深度解析:从底层原理、核心接口到实战场景
开发语言·c++·stl
小涛不学习4 分钟前
Java高频面试题(带答案版)
java·开发语言
m0_662577976 分钟前
C++中的RAII技术深入
开发语言·c++·算法
码云数智-园园16 分钟前
测试双雄:单元测试与集成测试的深度解析与实战指南
开发语言
故城、20 分钟前
Python进阶
开发语言·python
2401_8914821722 分钟前
C++代码复杂性分析
开发语言·c++·算法
C羊驼23 分钟前
C语言学习笔记(十):操作符
c语言·开发语言·经验分享·笔记·学习
myloveasuka28 分钟前
[Java]单列集合
android·java·开发语言