OSI 七层模型

作者:日更嵌入式的打工靓仔日期:2025/10/9

一、OSI 七层模型的核心定位与价值​

OSI 七层模型(Open Systems Interconnection Reference Model)是国际标准化组织(ISO)于 1984 年制定的网络通信体系结构标准,其核心目标是打破不同厂商设备的通信壁垒,通过分层化设计实现 “功能解耦、接口标准化”。该模型将网络通信的复杂流程拆解为七个逻辑层次,每层通过定义明确的 “服务原语”(Service Primitive)为上层提供服务,并通过 “协议数据单元(PDU)” 与下层交互,确保不同系统间的通信可追溯、可调试。​

二、各层技术细节与功能解析​

(一)物理层(Layer 1:Physical Layer)​

1. 核心功能​

  • 比特流传输:实现数据链路层 PDU(帧)的底层承载,将帧拆解为比特流(0/1),通过物理介质完成透明传输(不解析比特流语义)。​
  • 物理接口规范:定义传输介质(如双绞线、光纤、同轴电缆)的电气特性(如信号电平、阻抗)、机械特性(如接口形状、引脚数量)、功能特性(如引脚信号含义)与规程特性(如信号传输时序)。​

2. 关键技术参数与标准​

  • 电气特性:如以太网 100Base-T 标准中,差分信号电平范围为 ±2.5V,逻辑 “0” 对应正电平,逻辑 “1” 对应负电平;光纤传输中,多模光纤的光功率衰减率需≤0.5dB/km(850nm 波长)。​
  • 接口标准:常见的有 RJ45(双绞线接口,8 引脚)、SFP(光模块接口,支持热插拔)、RS-232(串行接口,用于低速设备通信)。​

3. 典型设备与协议​

  • 设备:中继器(延长传输距离,再生信号)、集线器(共享带宽,实现多设备物理层连接)、物理层芯片(如以太网 PHY 芯片 RTL8211E,完成电信号与数字信号转换)。​
  • 协议:无独立协议,仅遵循物理层接口标准(如 IEEE 802.3 物理层规范、EIA/TIA-568 双绞线标准)。​

(二)数据链路层(Layer 2:Data Link Layer)​

1. 核心功能​

  • 帧封装与解析:接收物理层比特流,封装为 “帧”(数据链路层 PDU),帧结构包含前导码(同步信号,7 字节)、帧起始定界符(1 字节,0xAB)、目的 MAC 地址(6 字节)、源 MAC 地址(6 字节)、类型字段(2 字节,标识上层协议,如 0x0800 对应 IP 协议)、数据字段(46-1500 字节)、帧检验序列(FCS,4 字节,基于 CRC32 算法实现差错检测)。​
  • 介质访问控制(MAC):解决多设备共享物理介质的冲突问题,典型机制包括:​
  • CSMA/CD(载波监听多点接入 / 碰撞检测):适用于有线以太网,发送前监听介质,检测到碰撞则触发退避算法(二进制指数退避)。​
  • CSMA/CA(载波监听多点接入 / 碰撞避免):适用于无线 WiFi(IEEE 802.11),发送前通过 RTS/CTS(请求发送 / 允许发送)信号确认介质空闲,避免隐蔽终端问题。​
  • 差错控制与流量控制:通过重传机制(如 ARQ 自动重传请求)纠正传输错误,通过滑动窗口机制控制帧发送速率,避免接收端缓冲区溢出。​

2. 典型协议与设备​

  • 协议:IEEE 802.2(逻辑链路控制 LLC,负责与网络层交互)、IEEE 802.3(以太网 MAC 协议)、PPP(点对点协议,用于拨号上网等场景)。​
  • 设备:交换机(基于 MAC 地址表实现帧的精准转发,支持全双工通信)、网桥(连接两个同类型局域网,实现数据链路层互联)。​

(三)网络层(Layer 3:Network Layer)​

1. 核心功能​

  • 逻辑地址寻址:定义 IP 地址(网络层地址),实现跨网络设备的唯一标识,IPv4 地址为 32 位(点分十进制表示,如 192.168.1.1),IPv6 地址为 128 位(冒分十六进制表示,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。​
  • 路由选择:通过路由协议(如 OSPF、RIP)构建路由表,根据 “目的 IP 地址” 选择最优传输路径,实现不同网络间的数据包转发(如从以太网跨到 WiFi 网络)。​
  • 拥塞控制与数据包分片:当网络带宽不足时,通过丢弃数据包(配合 ICMP 源抑制报文)缓解拥塞;当数据包长度超过下层 MTU(最大传输单元,如以太网 MTU 为 1500 字节)时,将数据包分片,接收端重组。​

2. 典型协议与设备​

  • 协议:IP(IPv4/IPv6,核心路由协议)、ICMP(互联网控制报文协议,用于差错报告与网络测试,如 ping 命令基于 ICMP Echo Request/Echo Reply)、ARP(地址解析协议,将 IP 地址映射为 MAC 地址)、IGMP(互联网组管理协议,用于组播通信)。​
  • 设备:路由器(基于 IP 地址转发数据包,实现异构网络互联)、三层交换机(支持 IP 路由功能的交换机,兼顾数据链路层转发与网络层路由)。​

(四)传输层(Layer 4:Transport Layer)​

1. 核心功能​

  • 端到端通信建立:定义 “端口号”(16 位,0-65535,其中 0-1023 为知名端口),实现同一主机内不同应用程序的通信标识(如 HTTP 对应 80 端口,HTTPS 对应 443 端口),建立 “源 IP + 源端口 - 目的 IP + 目的端口” 的端到端连接。​
  • 服务质量保障:提供两种核心服务类型:​
  • 面向连接的服务(TCP 协议):通过三次握手建立连接、四次挥手释放连接,支持流量控制(滑动窗口)、差错控制(重传机制)、拥塞控制(慢启动、拥塞避免算法),确保数据可靠传输。​
  • 无连接的服务(UDP 协议):无需建立连接,直接发送数据包,不保证可靠性,但传输延迟低、开销小,适用于实时通信(如视频通话、DNS 查询)。​
  • 数据分段与重组:将应用层数据(如 HTTP 请求)分段,添加 TCP/UDP 头部(包含端口号、序号、校验和等字段),形成传输层 PDU(段 / 数据报);接收端重组分段数据,提交给应用层。​

2. 典型协议​

  • TCP(传输控制协议):可靠、面向连接、字节流服务,适用于文件传输(FTP)、网页浏览(HTTP)等场景。​
  • UDP(用户数据报协议):不可靠、无连接、数据报服务,适用于实时音视频(RTP/RTCP)、DNS 查询等场景。​

(五)会话层(Layer 5:Session Layer)​

1. 核心功能​

  • 会话建立与管理:通过 “会话标识” 建立应用程序间的逻辑连接(如客户端与服务器的会话),支持单工、半双工、全双工通信模式的协商。​
  • 会话同步与恢复:在数据传输过程中插入 “同步点”,若传输中断,可从最近的同步点恢复,避免数据重新传输(如文件传输中断后,从断点续传)。​
  • 会话释放:通过有序释放机制(如两次握手)关闭会话,确保双方均完成数据接收。​

2. 典型协议与应用场景​

  • 协议:RPC(远程过程调用协议,如 Sun RPC)、NetBIOS(网络基本输入输出系统,用于局域网设备标识与会话管理)。​
  • 应用场景:数据库连接(如 MySQL 客户端与服务器的会话维持)、远程登录(如 Telnet 会话建立)。​

(六)表示层(Layer 6:Presentation Layer)​

1. 核心功能​

  • 数据格式转换:实现 “主机内部数据格式” 与 “网络标准数据格式” 的转换,如将大端序(Big-Endian)数据转换为小端序(Little-Endian),确保不同架构主机(如 x86、ARM)间的数据兼容性。​
  • 数据编码与解码:定义数据编码标准,如 ASCII(字符编码)、UTF-8(Unicode 字符编码)、JPEG(图像编码)、MPEG(视频编码),实现应用层数据的标准化传输。​
  • 数据安全处理:提供加密 / 解密(如 SSL/TLS 协议的加密功能)、数据压缩 / 解压缩(如 GZIP 压缩算法),保障数据传输的安全性与效率。​

2. 典型协议与技术​

  • 协议:SSL/TLS(安全套接层 / 传输层安全协议,提供端到端加密)、JPEG(联合图像专家组协议,图像编码)。​
  • 技术:数据压缩算法(如 DEFLATE、LZ77)、加密算法(如 AES、RSA)。​

(七)应用层(Layer 7:Application Layer)​

1. 核心功能​

  • 应用服务接口定义:为用户应用程序提供网络通信接口,如浏览器、邮件客户端等通过应用层协议实现数据交互。​
  • 用户需求映射:将用户需求(如浏览网页、发送邮件)转化为网络通信指令,定义数据交互的格式与流程(如 HTTP 请求的方法、头部字段、响应状态码)。​

2. 典型协议与应用场景​

  • 协议:​
  • HTTP(超文本传输协议,用于网页浏览,基于 TCP,端口 80)。​
  • HTTPS(HTTP over SSL/TLS,安全网页浏览,端口 443)。​
  • FTP(文件传输协议,用于文件上传下载,基于 TCP,端口 20/21)。​
  • SMTP(简单邮件传输协议,用于发送邮件,基于 TCP,端口 25)。​
  • DNS(域名系统,用于域名解析为 IP 地址,基于 UDP,端口 53)。​
  • 应用场景:网页访问(HTTP/HTTPS)、文件传输(FTP)、邮件收发(SMTP/POP3)、域名查询(DNS)。​

三、OSI 七层模型的层间数据交互逻辑​

网络通信过程中,数据从应用层到物理层遵循 “封装” 流程,从物理层到应用层遵循 “解封装” 流程,具体如下:​

  1. 封装流程:​
  • 应用层:生成应用层数据(如 HTTP 请求报文),传递至表示层。​
  • 表示层:对数据进行编码 / 加密 / 压缩,添加表示层头部(标识数据格式),形成表示层 PDU,传递至会话层。​
  • 会话层:添加会话层头部(标识会话 ID、同步点),形成会话层 PDU,传递至传输层。​
  • 传输层:将数据分段,添加 TCP/UDP 头部(标识端口号、序号),形成传输层 PDU(段 / 数据报),传递至网络层。​
  • 网络层:添加 IP 头部(标识源 IP、目的 IP),形成网络层 PDU(数据包),传递至数据链路层。​
  • 数据链路层:添加 MAC 头部(标识源 MAC、目的 MAC)与 FCS,形成数据链路层 PDU(帧),传递至物理层。​
  • 物理层:将帧拆解为比特流,通过物理介质传输。​
  1. 解封装流程:​
  • 物理层:接收比特流,传递至数据链路层。​
  • 数据链路层:校验 FCS,去除 MAC 头部与 FCS,提取数据包,传递至网络层。​
  • 网络层:校验 IP 头部,去除 IP 头部,提取段 / 数据报,传递至传输层。​
  • 传输层:重组分段数据,去除 TCP/UDP 头部,提取会话层 PDU,传递至会话层。​
  • 会话层:去除会话层头部,提取表示层 PDU,传递至表示层。​
  • 表示层:对数据进行解码 / 解密 / 解压缩,去除表示层头部,提取应用层数据,传递至应用层。​
  • 应用层:处理应用层数据(如浏览器渲染网页),呈现给用户。

OSI 七层模型》 是转载文章,点击查看原文


相关推荐


【前端工程化】脚手架篇 - 模板引擎 & 动态依赖管理脚手架
ObjectX不知名程序员2025/10/7

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣 在日常工作中,我们经常为会遇到需要创建新项目的需求,为了统计代码风格,项目配置,提升效率,我们可以创建一个cli工具,帮助我们实现这样的功能。你也可以搭建一个自己用,毕竟省下来的时间都是自己的 🥑 你能学到什么? 希望在你阅读本篇文章之后,不会觉得浪费了时间。如果你跟着读下来,你将会学到: cli工具的基本搭建流程 如何通过模板引擎实现可选依赖 模板系统如何设计 如何根据模板引擎生成所需项目 熟悉一个组件库的基本结构 熟悉一


在AI技术快速实现创意的时代,挖掘游戏开发框架新需求成为关键
qife1222025/10/6

内容描述 核心功能定位:该项目是一个专为经典游戏主机设计的增强型JavaScript运行环境,旨在为用户提供完整的自制软件开发工具包。它通过简化开发流程,让开发者能够使用JavaScript这一简单语言创建游戏和应用程序,无需编译过程,只需编写脚本即可快速测试。 关键应用场景:主要应用于经典游戏主机的自制软件开发,包括游戏创作、应用程序开发、图形渲染、音频处理、网络通信等多个领域。开发者可以利用该环境快速原型设计和开发各类交互式内容。 功能特性 多模块支持:系统提供丰富的功能模块,


【Matlab】matlab代码实现最小凸包
智慧浩海2025/10/4

实现最小凸包的算法有多种方法,其中一种常见的方法是使用Graham扫描算法。下面是用Matlab实现Graham扫描算法找到最小凸包的示例代码: function [convexHull] = grahamScan(points) % 找到包含所有点的最小凸包 n = length(points); % 找到y坐标最小的点作为起始点 [~,idx] = min(points(:,2)); startPoint = points(idx,:);


【深入浅出PyTorch】--3.1.PyTorch组成模块1
西柚小萌新吖(●ˇ∀ˇ●)2025/10/3

通过本节学习,你将掌握: 机器学习/深度学习任务的整体流程。各个阶段在任务中的作用与实现方式。深度学习与传统机器学习在实现上的关键差异。PyTorch 如何支持深度学习任务的模块化实现。 二、机器学习任务的标准流程 步骤内容说明1. 数据预处理- 统一数据格式 - 清除异常值 - 进行必要的数据变换(如归一化、标准化) - 划分数据集:训练集、验证集、测试集 - 常见方法:按比例随机划分、KFold 交叉验证 - 工具支持:sklearn.model_selection.train_t


PlantUML 完整教程:从入门到精通
对不起初见2025/10/2

什么是 PlantUML PlantUML 是一个开源工具,允许用户使用简单直观的文本描述来快速创建 UML 图表。它基于纯文本语法,能够生成多种类型的图表,包括时序图、用例图、类图、活动图、组件图、状态图等。 PlantUML 的核心理念是:用代码画图,让图表版本可控。 核心特点 • 文本驱动:使用简单的文本语法描述图表 • 版本控制友好:纯文本格式可轻松集成到 Git 等版本控制系统 • 多格式输出:支持 PNG、SVG、PDF、LaTeX 等多种输出格式 • 跨平台:基于 Java,可在


第6篇、Flask 表单处理与用户认证完全指南:从零到实战
何双新2025/10/2

标签:Python Flask Web开发 表单验证 Session Cookie 用户认证 安全编程 🎯 为什么选择这篇文章? 在Web开发的世界里,表单处理和用户认证是每个开发者必须掌握的核心技能。无论是构建电商网站、社交平台还是企业管理系统,都离不开用户登录、数据提交、状态保持这些基础功能。 Flask作为Python最轻量级的Web框架,以其简洁优雅的设计理念,让开发者能够快速构建功能完整的Web应用。本文将带你从零开始,深入理解Flask的表单处理机制,掌握Session和


微服务架构:从单机到分布式的革命性升级
chengooooooo10/2/2025

本文探讨了传统单机服务的缺陷及微服务架构的解决方案。单机模式存在单点故障、扩展性差、强耦合、技术栈受限等问题。微服务通过将系统拆分为独立服务,实现解耦、独立部署、技术多样性,并提供了分布式架构下的解决方案。SpringCloud提供了服务熔断、限流、服务注册与发现、配置中心、API网关等核心组件,同时介绍了分布式追踪、消息队列和分布式事务的实现方式。相比单机部署,微服务利用云计算实现动态资源分配和自动化管理,提高了系统的可用性和扩展性。


Excel文件瘦身指南:快速瘦身,告别卡顿-Excel易用宝
Excel_easy10/1/2025

明明工作簿文件中没有几行数据,打开表格的时候要等好一会儿,写个VLOOKUP函数公式鼠标指针都要转半天。其实这是由于文件中积累着各种冗余的信息导致的表格体积变大,计算卡顿等现象。单击【易用宝】→【工作簿】→【Excel文件瘦身】。表格文件超大,打开卡顿,闪烁,这种慢慢慢,烦人!我们只需给表格文件瘦个身就ok了。你有没有遇到过这种情况呢?


AI大模型学习(14)AI 小白入门!用 OpenCV+Python 打造人体姿态识别系统,超详细教程来了
icoder8889/30/2025

这篇教程介绍了如何使用Python+OpenCV+MediaPipe搭建入门级人体姿态识别系统。主要内容包括:人体姿态识别的应用场景(如健身APP、体感游戏)、开发环境搭建(安装Python、OpenCV和MediaPipe库)、核心代码实现(通过30行代码完成摄像头姿态检测),以及进阶功能开发(深蹲动作纠正算法和PPT体感控制器)。教程详细解析了MediaPipe的BlazePose模型架构和33个关键点的生理学意义,并提供了多线程优化等性能提升方案。该项目适合AI初学者实践,无需复杂算法即可实现实时人体


【Node】认识一下Node.js 中的 VM 模块
你的人类朋友2025/10/10

前言 今天介绍 Node.js 中的 VM(Virtual Machine)模块的基本概念和使用方法。 很多人不太了解他,比如在下 所以本文也不会过于深入,会偏向入门! 小目标:看完之后向自己解释一下:啥是 VM 模块?它有什么作用? 什么是 VM 模块 VM 模块是 Node.js 内置的模块,用于在 V8 虚拟机上下文中编译和执行 JavaScript 代码。 说人话就是,VM 模块允许你在隔离的环境中运行 JavaScript 代码。 核心功能 这边用代码进行举例子,后面会介绍具体的使用

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0