当前位置: 首页 > news >正文

开放式系统互连(OSI)模型的实际意义

0 前言

开放式系统互连(OSI,Open Systems Interconnection)模型,由国际标准化组织(ISO)在1984年提出,目的是为了促进不同厂商生产的网络设备之间的互操作性。

定义了一种在层之间进行协议实现的网络框架,控制从一层传递到下一层。在概念上将计算机网络架构分7层,按照逻辑顺序进行。

用户角度:

  • 较低层处理电信号、二进制数据块及这些数据在网络中的路由
  • 较高层涵盖网络请求和响应、数据的表示及网络协议

OSI模型最初被构想为构建网络系统的标准架构,并且今天许多流行的网络技术都反映了OSI的分层设计。

tcp/ip

先有协议栈,才有参考模型。TCP/IP协议栈是在OSI参考模型之前就已经存在的,并且是先有协议栈,然后才有了参考模型。TCP/IP协议栈和OSI参考模型之间的关系可以这样理解:

1. TCP/IP协议栈历史

TCP/IP协议栈起源于1970s,由美国国防部高级研究计划局(DARPA)开发,用于支持ARPANET(互联网的前身)。

随ARPANET发展,TCP/IP协议栈逐渐成为互联网核心协议,1983年成为ARPANET标准协议。

1982年,TCP/IP协议栈被正式标准化,成为互联网的基础协议。

2. OSI参考模型的历史

  • 起源:OSI参考模型由国际标准化组织(ISO)在1984年提出,目的是为了提供一个通用的网络通信框架,促进不同厂商设备之间的互操作性。
  • 发展:OSI参考模型虽然提出了一个理想的网络通信框架,但由于TCP/IP协议栈已经在互联网中广泛应用,OSI模型并没有完全取代TCP/IP协议栈。

3. TCP/IP协议栈与OSI参考模型的关系

  • 层次对应:尽管TCP/IP协议栈和OSI参考模型在层次划分上有所不同,但它们之间存在一定的对应关系。

    • 应用层:对应OSI模型的应用层、表示层和会话层。
    • 传输层:对应OSI模型的传输层。
    • 网络层:对应OSI模型的网络层。
    • 网络接口层:对应OSI模型的数据链路层和物理层。
  • 实际应用:在实际应用中,TCP/IP协议栈更为广泛使用,而OSI参考模型更多地用于教学和理论研究,帮助理解网络通信的各个层次和功能。

总结

TCP/IP协议栈是在OSI参考模型之前就已经存在的,并且是先有协议栈,然后才有了参考模型。TCP/IP协议栈在互联网中得到了广泛应用,而OSI参考模型则提供了一个通用的网络通信框架,帮助理解和设计网络系统。尽管两者在层次划分上有所不同,但它们之间存在一定的对应关系,共同促进了网络通信技术的发展。

1 物理层(Physical Layer)

OSI模型的物理层负责将数字数据位从发送(源)设备的物理层通过网络通信介质传输到接收(目的)设备的物理层。

物理层的技术包括以太网电缆和集线器。此外,集线器和其他中继器是标准网络设备,功能位于物理层,连接器也是如此。

在物理层,数据使用物理介质支持的信号类型进行传输:电压、无线电频率或红外或普通光的脉冲。

在从物理层获取数据时,数据链路层检查物理传输错误,并将位打包成数据帧。数据链路层还管理物理寻址方案,例如以太网网络的MAC地址,控制网络设备对物理介质的访问。

由于数据链路层是OSI模型中最复杂的层次,通常被分为两个部分:

  • 介质访问控制子层
  • 逻辑链路控制子层

3 网络层

网络层在数据链路层之上添加了路由的概念。当数据到达网络层时,会检查每个帧中包含的源地址和目的地址,以确定数据是否到达最终目的地。如果数据到达最终目的地,本层将数据格式化为传递到传输层的数据包。否则,网络层会更新目的地址,并将帧推送到较低的层次。 为支持路由,网络层维护了诸如IP地址之类的逻辑地址,用于网络上的设备。网络层还管理这些逻辑地址与物理地址之间的映射。在IPv4网络中,通过地址解析协议(ARP)来完成这种映射;IPv6使用邻居发现协议(NDP)。

4 传输层

在网络连接中传递数据。TCP(传输控制协议)和UDP(用户数据报协议)是该层最常见的网络协议示例。不同的传输协议可以支持一系列可选功能,包括错误恢复、流量控制和重传支持。

5 会话层

管理启动和拆除网络连接的事件序列和流程。支持可以动态创建和在各个网络上运行的多种类型的连接。

6 表示层

OSI模型中功能最简单的部分。处理消息数据的语法处理,如格式转换和加密/解密,以支持位于其上方的应用层。

7 应用层

为最终用户应用程序提供网络服务。网络服务是与用户数据一起工作的协议。例如,在Web浏览器应用程序中,应用层协议HTTP将发送和接收Web页面内容所需的数据打包。这个第7层提供数据给(并从)表示层获取数据。

关注我,紧跟本系列专栏文章,咱们下篇再续! 作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。 各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。 负责: ▪ 中央/分销预订系统性能优化 ▪ 活动&券等营销中台建设 ▪ 交易平台及数据中台等架构和开发设计 ▪ 车联网核心平台-物联网连接平台、长连基础设施建设,万级在线连接、日吞吐十万请求的场景,直面高并发、高可用挑战,接触到Netty在长连领域的场景 ▪ 大数据平台架构设计及优化 ▪ LLM Agent应用开发 ▪ 区块链应用开发 ▪ 大数据开发挖掘经验 ▪ 推荐系统项目

目前主攻市级软件项目设计、构建服务全社会的应用系统。

参考:

  • 编程严选网

    本文由博客一文多发平台 OpenWrite 发布!

相关文章:

开放式系统互连(OSI)模型的实际意义

0 前言 开放式系统互连(OSI,Open Systems Interconnection)模型,由国际标准化组织(ISO)在1984年提出,目的是为了促进不同厂商生产的网络设备之间的互操作性。 定义了一种在层之间进行协议实现…...

回溯——10.全排列 II

力扣题目链接 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2]输出: [[1,1,2], [1,2,1], [2,1,1]] 解题思路: 排序:首先对数组进行排序&#xf…...

基于百度AIStudio飞桨paddleRS-develop版道路模型开发训练

基于百度AIStudio飞桨paddleRS-develop版道路模型开发训练 参考地址:https://aistudio.baidu.com/projectdetail/8271882 基于python35paddle120env环境 预测可视化结果: (一)安装环境: 先上传本地下载的源代码Pad…...

【 C++ 】C/C++内存管理

前言: 😘我的主页:OMGmyhair-CSDN博客 目录 一、C/C内存分布 二、C语言中动态内存管理方式:malloc/calloc/realloc/free malloc: calloc: realloc: free: 三、C内存管理方式…...

智能客服的演变:从传统到向量数据库的新时代

国产数据库的发展在21世纪初取得了显著的进展。根据不完全统计,目前在国内已有超过300种不同的数据库在案。这一现象在40年前几乎是不可想象的,标志着中国在数据库领域取得了巨大的突破和多样化选择。对于对老一辈的故事或数据库发展史充满兴趣的朋友们&…...

python使用超级鹰识别验证码

1.超级鹰注册 超级鹰: https://www.chaojiying.com/ 注册后购买题分 2.获取要识别的图片 我们以这个附件下载的网页为例: https://gh.lnut.edu.cn/system/_content/download.jsp?urltypenews.DownloadAttachUrl&owner1224556702&wbfileid1504223 点开f12然后刷新几…...

基于YOLO目标检测实现表情识别(结合计算机视觉与深度学习的创新应用)

基于YOLO(You Only Look Once)的目标检测技术实现的表情识别项目是一个结合了计算机视觉与深度学习的创新应用。该项目旨在通过分析人脸图像或视频流中的面部特征来识别七种基本人类情感表达:愤怒(Angry)、厌恶&#x…...

Keil导入包出错

1.菜单栏找不到GD系列? 随便新建一个工程,将project用记事本打开后如图2所示。再将别人给的代码工程用记事本打开,发现别人给的工程少了这两行,所以复制粘贴到别人给的工程记事本中,保存刷新后重新打开,就…...

超声波自动气象站

超声波自动气象站的功能优势可以包括以下几个方面: 高精度测量:超声波自动气象站采用超声波技术进行测量,可以实现高精度的测量结果,能够准确地测量气温、湿度、风速、风向等气象参数。 高可靠性:超声波自动气象站采用…...

Mysql事件操作

查看是否开启事件 SELECT event_scheduler; SHOW VARIABLES LIKE %event_scheduler%; 开启或关闭事件 SET GLOBAL event_scheduler 1; SET GLOBAL event_scheduler on; SET GLOBAL event_scheduler 0; SET GLOBAL event_scheduler off; 创建事件sql CREATE EVENT IF…...

Python必知必会:程序员必须知道的22个Python单行代码!

今天给大家分享24个每个Python程序员都必须知道的单行代码,帮你写出更简洁、更优雅、更高效的代码。 1. 列表推导式 列表推导式(List Comprehensions)可以提供一种简洁的方式创建列表。相较于传统的循环,列表推导式更高效、可读…...

MongoDB 的适用场景

MongoDB 的适用场景 MongoDB 是一种基于文档存储的 NoSQL 数据库,与传统的关系型数据库不同,它使用 JSON 类似的二进制文档格式(BSON)来存储数据,并且具备灵活的文档模型、强大的查询能力和水平扩展性。这些特性使得 …...

汽车EDI:montaplast EDI对接

Montaplast 是一家总部位于德国的全球知名汽车零部件供应商,专注于高精度塑料部件的设计、开发和生产。公司成立于1958年,主要为汽车行业提供轻量化、高性能的塑料解决方案。Montaplast 以其在注塑成型技术、表面处理和装配技术方面的专业能力而著称&…...

【idea】设置文件模板

搜索 File and Code Templates 。 添加模板。 在任意文件目录下右键,new->找到添加的模板。 参考链接: IDEA创建模板文件_edit file templates-CSDN博客...

时间戳和日期相互转换+检验日期合法性功能C语言

H文件 #ifndef _TIME_H_ #define _TIME_H_ #include "config.h" #include "DisplayR300.h" #include "DWIN_Fun.h" #include "DWIN_UI.h" #include <string.h>typedef struct {u16 year; /* 定义时间:年 */u8 month; /* 定义…...

SPIRNGBOOT+VUE实现浏览器播放音频流并合成音频

一、语音合成支持流式返回&#xff0c;通过WS可以实时拿到音频流&#xff0c;那么我们如何在VUE项目中实现合成功能呢。语音合成应用非常广泛&#xff0c;如商家广告合成、驾校声音合成、新闻播报、在线听书等等场景都会用到语音合成。 二、VUE下实现合成并使用浏览器播放代码…...

C#绘制常用工业控件(仪表盘,流动条,开关等)

目录 1&#xff0c;使用Graphics绘制Toggle。 效果&#xff1a; 测试代码&#xff1a; Toggle控件代码&#xff1a; 2&#xff0c;使用Graphics绘制Switch。 效果&#xff1a; 测试代码&#xff1a; Switch控件代码&#xff1a; 3&#xff0c;使用Graphics绘制PanelHe…...

Ps:颜色模型、色彩空间及配置文件

颜色模型、色彩空间和配置文件是处理颜色的核心概念。它们虽然互相关联&#xff0c;但各自有不同的功能和作用。 通过理解这些概念及其关系&#xff0c;Photoshop 用户可以更好地管理和优化图像处理流程&#xff0c;确保颜色在不同设备和应用中的一致性和准确性。 颜色模型 Col…...

llvm后端之td定义指令信息

llvm后端之td定义指令信息 引言1 定义指令2 定义Operand3 定义SDNode4 PatFrags4.1 ImmLeaf4.2 PatLeaf 5 ComplexPattern6 谓词条件7 理解dag 引言 llvm后端通过td定义指令信息&#xff0c;并通过dag匹配将IR节点转换为平台相关的指令。 1 定义指令 td通过class Instructio…...

战地机房集装箱数据中心可视化:实时监控与管理

通过图扑可视化技术实时监控战地机房集装箱数据中心的各项运行指标和环境参数&#xff0c;提高部署效率和设备管理能力&#xff0c;确保数据中心稳定运行。...

Web渗透测试全流程实战指南:从侦察到报告的结构化方法

1. 这不是“黑客速成班”&#xff0c;而是一张能真正带你进渗透测试实战现场的路线图很多人点开“Web渗透测试学习流程图”时&#xff0c;心里想的是&#xff1a;学完这个&#xff0c;我是不是就能黑进某个网站&#xff1f;能不能接单赚钱&#xff1f;甚至幻想自己坐在咖啡馆里…...

从零读懂RDMA流控机制:为什么RC需要“信用”

我们在之前的文章里讲过,RDMA RC(可靠连接)模式像一条点对点的专用通道:发送端发数据,接收端确认,丢了包硬件重传。一切看起来很简单,但有一个关键问题没解决: 发送端怎么知道接收端“吃得下”自己发过去的数据? 如果发送端不管不顾地疯狂发,而接收端处理不过来,数据…...

【AI Daily】Arxiv论文研读Top5 | 2026-05-23

&#x1f4da; 每日学习汇总 | 2026-05-23&#xff08;周6&#xff09; &#x1f4ca; 今日概览 今日&#xff1a;周6&#xff0c;午读检索分类&#xff1a;cs.AI / q-bio.NC / cs.HC关键词&#xff1a;cognitive science behavioral AI alignment&#x1f525; 五篇精读速报 ①…...

JDK常用类与工具(速览版)

JDK常用类与工具&#xff08;速览版&#xff09;JDK&#xff08;Java Development Kit&#xff09;提供了丰富的标准库和实用工具&#xff0c;它们构成了Java开发者日常工作的基石。掌握这些核心类、集合框架、并发工具、IO/NIO库、日期时间API、正则表达式、异常处理机制、日志…...

MDK Middleware网络组件的嵌入式安全防护解析

1. MDK Middleware网络组件的安全特性解析在嵌入式系统开发中&#xff0c;网络安全往往是最容易被忽视却又至关重要的环节。作为Keil MDK开发环境的核心组件&#xff0c;Middleware Network为Cortex-M系列微控制器提供了轻量级TCP/IP协议栈实现。不同于桌面级操作系统自带的网络…...

FlashAttention的OOM排查:为什么显存够了还是报内存不足?

之前有个团队在昇腾NPU上跑Llama-2-7B&#xff0c;模型是FP16权重&#xff0c;seq_len4096。他们算了算显存&#xff1a;模型权重13.5GB 激活值4GB KV Cache 4GB 21.5GB&#xff0c;昇腾910有32GB显存&#xff0c;绰绰有余。 结果一跑就报OOM&#xff08;Out Of Memory&…...

C#与Unity的协作协议:从语法表层到引擎契约的深度解析

1. 这不是“学编程”&#xff0c;而是重新建立你和机器对话的语法系统很多人点开这个标题&#xff0c;心里想的是&#xff1a;“Unity游戏开发&#xff1f;那我得先学会C#&#xff0c;再学Unity编辑器&#xff0c;最后做个小飞机打砖块……”——这个思路本身就把门关死了。我带…...

Go从零手写神经网络:纯标准库实现全连接BP网络

1. 项目概述&#xff1a;为什么用 Go 从零手写一个神经网络&#xff1f;你有没有试过在深夜调试 PyTorch 的 autograd 报错&#xff0c;看着堆栈里七八层的 C 封装和 Python 胶水代码&#xff0c;突然冒出一个念头&#xff1a;如果抛开所有框架&#xff0c;只用最基础的数组、循…...

非结构化数据处理有没有更高效的办法?2026智能体端到端方案彻底终结数据孤岛

在2026年的数字化深水区&#xff0c;企业面对的不再是单纯的数据库增删改查&#xff0c;而是由海量PDF合同、非标图片、多模态音视频、复杂的系统日志以及社交媒体碎片信息构成的“非结构化数据冰山”。 据行业数据显示&#xff0c;企业内部超过80%的数据以非结构化形式存在。过…...

Unity打包踩坑实录:用了EPPlus读取Excel,为什么PC打包后报错?附I18N.dll解决方案

Unity开发实战&#xff1a;EPPlus集成与PC打包的I18N.dll解决方案 在Unity项目开发中&#xff0c;Excel表格作为游戏配置数据的载体被广泛使用。EPPlus作为一款优秀的.NET Excel操作库&#xff0c;因其无需Office环境支持、性能优异等特点&#xff0c;成为Unity开发者的热门选择…...