开放式系统互连(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模型的物理层负责将数字数据位从发送(源)设备的物理层通过网络通信介质传输到接收(目的)设备的物理层。
物理层的技术包括以太网电缆和集线器。此外,集线器和其他中继器是标准网络设备,功能位于物理层,连接器也是如此。
在物理层,数据使用物理介质支持的信号类型进行传输:电压、无线电频率或红外或普通光的脉冲。
2 数据链路层(Data Link Layer)
在从物理层获取数据时,数据链路层检查物理传输错误,并将位打包成数据帧。数据链路层还管理物理寻址方案,例如以太网网络的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]] 解题思路: 排序:首先对数组进行排序…...
基于百度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实现浏览器播放音频流并合成音频
一、语音合成支持流式返回,通过WS可以实时拿到音频流,那么我们如何在VUE项目中实现合成功能呢。语音合成应用非常广泛,如商家广告合成、驾校声音合成、新闻播报、在线听书等等场景都会用到语音合成。 二、VUE下实现合成并使用浏览器播放代码…...
C#绘制常用工业控件(仪表盘,流动条,开关等)
目录 1,使用Graphics绘制Toggle。 效果: 测试代码: Toggle控件代码: 2,使用Graphics绘制Switch。 效果: 测试代码: Switch控件代码: 3,使用Graphics绘制PanelHe…...
Ps:颜色模型、色彩空间及配置文件
颜色模型、色彩空间和配置文件是处理颜色的核心概念。它们虽然互相关联,但各自有不同的功能和作用。 通过理解这些概念及其关系,Photoshop 用户可以更好地管理和优化图像处理流程,确保颜色在不同设备和应用中的一致性和准确性。 颜色模型 Col…...
llvm后端之td定义指令信息
llvm后端之td定义指令信息 引言1 定义指令2 定义Operand3 定义SDNode4 PatFrags4.1 ImmLeaf4.2 PatLeaf 5 ComplexPattern6 谓词条件7 理解dag 引言 llvm后端通过td定义指令信息,并通过dag匹配将IR节点转换为平台相关的指令。 1 定义指令 td通过class Instructio…...
战地机房集装箱数据中心可视化:实时监控与管理
通过图扑可视化技术实时监控战地机房集装箱数据中心的各项运行指标和环境参数,提高部署效率和设备管理能力,确保数据中心稳定运行。...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
