开放式系统互连(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 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/419299.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】STL容器详解【下】

目录 一、list容器 1.1 list基本概念 1.2 lsit构造函数 1.3 list数据元素插入和删除操作 1.4 list大小操作 1.5 list赋值操作 1.6 list数据的存取 1.7 list反转排序 二、set/multiset容器 2.1 set/multiset基本概念 2.2 set构造函数 2.3 set赋值操作 2.4 set大小操…

数据库的操作:SQL语言的介绍

一.前言 SQL是一种结构化查询语言。关系型数据库中进行操作的标准语言。 二.特点 ①对大小写不敏感 例如:select与Select是一样的 ②结尾要使用分号 没有分号认为还没结束; 三.分类 ①DDL:数据定义语言(数据库对象的操作(结…

| Origin绘图 |瀑布图的绘制(保姆级教程)

🐑 | Origin绘图 |瀑布图的绘制🐑 文章目录 🐑 | Origin绘图 |瀑布图的绘制🐑前言瀑布图简介瀑布图绘制数据导入坐标轴刻度调节调整画布大小添加颜色及设置线条为曲线坐标轴标签调节网格调节 总结 前言 感觉好久没出过关于Origin…

MyBatis-MappedStatement什么时候生成?QueryWrapper如何做到动态生成了SQL?

通过XML配置的MappedStatement 这部分MappedStatement主要是由MybatisXMLMapperBuilder进行解析,核心逻辑如下: 通过注解配置的MappedStatement 核心逻辑就在这个里面了: 继承BaseMapper的MappedStatement 我们看看这个类,里…

FreeRTOS学习笔记—③RTOS内存管理篇(待更新完善)

二、RTOS的核心功能 RTOS的核心功能块主要分为任务管理、内核管理、时间管理以及通信管理4部分,框架图如下所示: (1)任务管理:负责管理和调度任务的执行,确保系统中的任务能够按照预期运行。 (…

了解开源消息代理RabbitMQ

1.RabbitMQ 是什么? RabbitMQ是一个消息代理:它接受并转发消息。你可以把它想象成邮局:当你把要寄的邮件放进邮箱时,你可以确定邮递员最终会把邮件送到收件人那里。在这个比喻中,RabbitMQ是一个邮筒、一个邮局和一个邮递员。RabbitMQ和邮局之…

【kubernetes】配置管理中心Configmap运用

一,介绍 Configmap(简写 cm)是k8s中的资源对象,用于保存非机密性的配置的,数据可以用key/value键值对的形式保存,也可通过文件的形式保存。 【局限性】:在ConfigMap不是用来保存大量数据的&am…

(计算机网络)运输层

一.运输层的作用 运输层:负责将数据统一的交给网络层 实质:进程在通信 TCP(有反馈)UDP(无反馈) 二.复用和分用 三. TCP和UDP的特点和区别 进程号--不是固定的 端口号固定--mysql--3306 端口--通信的终点 …

【深度学习】softmax 回归的从零开始实现与简洁实现

前言 小时候听过一个小孩练琴的故事,老师让他先弹最简单的第一小节,小孩练了两天后弹不出。接着,老师让他直接去练更难的第二小节,小孩练习了几天后还是弹不出,开始感觉到挫败和烦躁了。 小孩以为老师之后会让他从简…

科技信贷业务怎么寻找客户?

在科技信贷业务领域,寻找客户的痛点主要集中在以下几个方面: 1.风险评估难题:科技型企业尤其是初创企业,往往缺乏足够的历史数据和抵押物,这使得金融机构在评估其信用风险时面临较大挑战。由于科技企业的研发周期长、…

C语言小游戏--贪吃蛇实现

C语言小游戏--贪吃蛇实现 1.游戏实现背景2.Win32 API介绍2.1什么是Win32 API2.2控制台程序(Console)2.3控制台屏幕的坐标COORD2.4GetStdHandle2.4.1函数语法2.4.2函数的使用 2.5GetConsoleCursorInfo2.5.1函数语法2.5.2函数的使用 2.6CONSOLE_CURSOR_INFO2.6.1结构体结构2.6.2结…

【数据库】MySQL聚合统计

目录 1.聚合函数 案例1: 统计班级共有多少同学 案例2:统计本次考试的数学成绩分数个数 案例3:统计数学成绩总分 案例4:统计平均总分 案例5:返回英语最高分 案例6:返回 > 70 分以上的数学最低分 2.分…

通信工程学习:什么是SSB单边带调制、VSB残留边带调制、DSB抑制载波双边带调制

SSB单边带调制、VSB残留边带调制、DSB抑制载波双边带调制 SSB单边带调制、VSB残留边带调制、DSB抑制载波双边带调制是三种不同的调制方式,它们在通信系统中各有其独特的应用和特点。以下是对这三种调制方式的详细解释: 一、SSB单边带调制 1、SSB单边带…

Android Framework(四)WMS-窗口显示流程——窗口创建与添加

文章目录 流程概览涉及模块流程概览 应用端——window创建:Activity::attach创建window流程setWindowManager,getWindowManagerDecorView 应用端——window的显示流程:Activity::onResumeViewRootImpl::setViewmWindowSession 是什么mWindow是…

ThinkPHP5 5-rce远程代码执行漏洞复现

启动容器 docker-compose up -d 查看端口 docker ps 端口为:8080,访问网站,搭建成功 漏洞复现 (1)输出关于 PHP 配置的信息 (2)将php代码写入文件 接着访问shell.php 由于存在过滤,需要用到base64加密来使…

SprinBoot+Vue图书馆预约与占座微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平…

用了虚拟机后,本机摄像头打不开了(联想电脑thinkpad)

虚拟机有摄像头,我断开了连接,现在本机的摄像头打开就是一个锁 我先把虚拟机的摄像头关了 然后把本机的vm usb关闭了 WinR),输入services.msc,找到VMware USB Arbitration Service,确保其状态为“关闭 然后…

【Day09-IO-字符流其它流】

IO流 IO流-字符流 字节流:适合复制文件等,不适合读写文本文件 字符流:适合读写文本文件内容 FileReader(文件字符输入流) 作用:以内存为基准,可以把文件中的数据以字符的形式读入到内存中来。 …

【Qt】窗口移动和大小改变事件

窗口移动和大小改变事件 moveEvent窗口移动时触发的事件resizeEvent窗口大小改变时触发的事件 例子&#xff1a;测试移动窗口和改变窗口事件 代码展示 #include "widget.h" #include "ui_widget.h"#include <QDebug> #include <QMoveEvent> …

Springboot中基于X509完成SSL检验的原理与实践

前言 各位对HTTPS不陌生吧&#xff1f;几乎涉及安全的领域&#xff0c;均要求通过HTTPS协议进行数据传输。而在传输过程中&#xff0c;又涉及到了SSL证书的使用。既然提到了SSL证书&#xff0c;那咱们先了解了解什么是SSL证书&#xff1a; SSL证书通过在客户端浏览器和Web服务…