计算机网络浅谈—什么是 OSI 模型?

news2025/2/24 5:48:33

开放系统通信(OSI)模型是一个代表网络通信工作方式的概念模型。

思维导图

什么是 OSI 模型?

开放系统互连 (OSI) 模型是由国际标准化组织创建的概念模型,支持各种通信系统使用标准协议进行通信。简单而言,OSI 为保证不同计算机系统能够相互通信提供了标准。

人们可以将 OSI 模型视为一种通用计算机网络语言。根据这一概念,通信系统分成七个抽象层,逐层堆叠而成。

OSI 模型的每一层负责处理特定作业并与其上下层进行通信。DDoS 攻击的目标是特定的网络连接层;应用程序层攻击的目标第 7 层,协议层攻击的目标第 3 层和第 4 层。

为什么 OSI 模型至关重要?

虽然现代互联网并未严格采用 OSI 模型(其更严格采用较简单的互联网协议套件),但 OSI 模型对于解决网络问题仍然很有帮助。无论是某位无法使用笔记本电脑上网的用户,还是为数千名用户提供服务的网站宕机,OSI 模型都能帮助分解问题并找到问题根源。如果可以将问题范围缩小到模型的某个特定层,就能避免许多不必要的工作。

OSI 模型有哪 7 个层?

OSI 模型的七个抽象层定义如下(自上而下):

7. 应用程序层

这是唯一直接接触用户数据的层。软件应用程序(如 Web 浏览器和电子邮件客户端)依靠应用程序层发起通信。但需要明确的是,客户端软件应用程序不属于应用程序层;相反,应用程序层负责协议和数据操作,软件依靠上述操作向用户呈现有效数据。

应用程序层协议包括 HTTP 和 SMTP(简单邮件传输协议是支持开展电子邮件通信的协议之一)。

6. 表示层

这一层主要负责准备数据,以便应用程序层进行使用;换言之,第 6 层用于确保数据可供应用程序使用。表示层负责完成数据转换、加密和压缩。

两台相互通信的设备可能使用不同的编码方法,因此第 6 层负责将传入数据转换为接收设备应用程序层可以理解的语法。

如果设备通过加密连接进行通信,则第 6 层负责发送端加密和接收端解密,以便向应用程序层呈现非加密可读数据。

最后,表示层还负责压缩从应用程序层接收的数据,然后将数据传递到第 5 层。这有助于尽量减少要传输的数据量,从而提高通信速度和效率。

5. 会话层

这一层负责打开和关闭两个设备之间的通信。通信打开与关闭之间的时间称为会话。会话层用于确保会话保持打开的时长足以传输所有交换数据,而后立即关闭会话以避免浪费资源。

会话层还负责同步数据传输与检查点。例如,如果传输一个 100MB 的文件,会话层可以每 5MB 设置一个检查点。如果在传输了 52MB 后连接断开或崩溃,可以从最后一个检查点恢复会话,也就是只需再传输 50MB 数据。若未设置检查点,则必须从头开始传输整个文件。

4. 传输层

第 4 层负责两个设备间的端到端通信。包括从会话层提取数据,将数据分解为多个区块(称为数据段),然后再发送到第 3 层。接收设备传输层负责重组数据段,确保数据可供会话层使用。

传输层还负责进行流量控制和错误控制。流量控制用于确定最佳传输速度,避免采用快速连接的发件人淹没采用慢速连接的收件人。传输层通过确保接收数据的完整性(如果不完整,则请求重新传输)来对接收端进行错误控制。

传输层协议包括 传输控制协议(TCP) 和 用户数据报协议(UDP)。

3. 网络层

网络层负责促进两个不同网络之间的数据传输。如果两台通信设备位于同一网络,则不需要使用网络层。网络层在发送设备上将传输层发出的数据段分解更小的单元(称为数据包),再在接收设备上重组这些数据包。网络层还要确定数据到达目标的最佳物理路径;人们将此称为路由。

网络层协议包括 IP, 互联网控制消息协议(ICMP), 互联网组消息协议(IGMP),以及 IPsec 套件。

2. 数据链路层

数据链路层与网络层十分相似,但数据链路层用于促进同一网络上两台设备之间的数据传输。数据链路层从网络层提取数据包并将数据包分解成更小的部分(称为帧)。与网络层一样,数据链路层也负责网络内部通信流量控制和错误控制(传输层仅负责网络间通信流量控制和错误控制)。

1. 物理层

这一层包括参与数据传输的物理设备,如电缆和交换机。同时还负责将数据转换为位流,也就是由 1 和 0 构成的字符串。另外,两台设备的物理层必须达成信号约定,以便区分两台设备的字符串 1 和 0。

数据在 OSI 模型中如何流动

为通过网络将人类可读信息通过网络从一台设备传输到另一台设备,必须在发送设备沿 OSI 模型的七层结构向下传输数据,然后在接收端沿七层结构向上传输数据。

库珀先生想给帕尔梅女士发一封电子邮件。库珀先生在笔记本电脑的电子邮件应用程序中编写邮件,然后点击 “发送”。电子邮件应用程序将电子邮件传递到应用程序层应用程序层选取协议(SMTP)再将数据传递到表示层。接着,表示层压缩数据再将数据传递到会话层由会话层初始化通信会话

而后,数据将到达发送方的传输层,在传输层进行分段,再在网络层将这些数据段分解为数据包,然后在数据链路层进一步分解为帧。随后,数据链路层将这些帧传输到物理层,物理层将数据转换为位流 1 和 0,最后通过物理介质(如电缆)发送数据

帕尔梅女士的计算机通过物理介质(如她的 WiFi)接收位流后,数据将沿其设备的同一系列层级流动,但顺序刚好相反。首先,物理层将位流从 1 和 0 转换为帧,传递到数据链路层。然后,数据链路层将帧重组为数据包,供网络层使用。接着,网络层将数据包重组为数据段供传输层使用,传输层再将数据段重组为数据片段。

随后,数据将流入收件方的会话层,会话层将数据传递到表示层并结束通信会话。表示层解压数据并将原始数据传递到应用程序层。应用程序层将人类可读数据传递到帕尔梅女士的电子邮件软件,这样她就能在笔记本电脑屏幕上阅读库珀先生的电子邮件了。

参考:什么是 OSI 模型? | Cloudflare (cloudflare-cn.com)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++左值右值

在C中,左值(lvalue)和右值(rvalue)是表达式分类的关键概念,它们主要影响表达式的赋值、函数调用以及操作符的使用方式。这些概念在C11及以后的版本中变得更加重要,因为引入了移动语义和右值引用…

蓄势高飞逐“新”空,卓翼飞思助力打造低空经济产业领域人才智库

2024年,“低空经济”首次写入政府工作报告,掀开新兴产业的崭新一页,而后迅速在全国各地呈现如火如荼的发展态势。这片蕴藏着巨大潜力和产业的蓝海,正蓄势聚能、乘势而起,站在发展的新风口上,面对新前景和新…

MongoDB集群搭建-最简单

目录 前言 一、分片概念 二、搭建集群的步骤 总结 前言 MongoDB分片(Sharding)是一种水平扩展数据库的方法,它允许将数据分散存储在多个服务器上,从而提高数据库的存储容量和处理能力。分片是MongoDB为了应对大数据量和高吞吐量需…

ONLYOFFICE最新8.1版本——桌面编辑器简单测评

前言 大家好,我是小雨,看到最近ONLYOFFICE更新了最新的版本,更新了一下当前版本来具体的测评一下,先来看看官网提供的各类更新信息,下面是我找到的三个主页,包括功能演示链接,官网连接以及专门…

Ros2中goal_handle状态SUCCEED及ACCEPTED及CANCLED在rclpy中的死循环(彻底解决版本)

承接上文,遇到了在动作通信开发中,使用rclpy编写代码进行feedback等操作,但所有逻辑均编写完后,却无法将goal_handle提交为succeed状态,之前的解决方案是更改自己重写的execute()函数名为my_execute()并且在提交SUCCEE…

开始尝试从0写一个项目--后端(二)

实现学生管理 新增学生 接口设计 请求路径:/admin/student 请求方法:POST 请求参数:请求头:Headers:"Content-Type": "application/json" 请求体:Body: id 学生id …

N5 使用Gensim库训练Word2Vec模型

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊# 前言 前言 这周学习训练一个Word2Vec模型,并进行一些基本的词向量操作。 Word2Vec 模型 Word2Vec 是一种基于神经网络的词向量表示方法&#x…

零基础STM32单片机编程入门(八)定时器PWM输入实战含源码视频

文章目录 一.概要二.PWM输入框架图三.CubeMX配置一个PWM输入例程1.硬件准备2.创建工程3.调试 四.CubeMX工程源代码下载五.讲解视频链接地址六.小结 一.概要 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用单…

数学建模算法目标规划

在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。特别是在计算机能处理成千上万个…

在电子表格中对多列数据去重

一、数据展示 二、代码 Sub 选中区域数据去重()Dim arr()Dim c, d, id Selection.Counti 0For Each c In SelectionIf c.Value <> "" ThenReDim Preserve arr(0 To i)arr(i) c.Valuei i 1End IfNextarr 一维去重(arr)i 0For Each c In Range("O2&…

35.哀家要长脑子了!--二分

模板 int check() {...} // 检查这个数是否符合相应的要求// 把区间[l, r] 划分成[l, mid] 和 [mid1, r] 时使用 // 找到数组中第一个大于等于某一值得元素或满足特定条件的第一个位置 int bsearch_1(int l, int r){int mid l r >> 1;while(l < r) {if(check(mi…

C++(Qt)-GIS开发-简易瓦片地图下载器

Qt-GIS开发-简易瓦片地图下载器 文章目录 Qt-GIS开发-简易瓦片地图下载器1、概述2、安装openssl3、实现效果4、主要代码4.1 算法函数4.2 瓦片地图下载url拼接4.3 多线程下载 5、源码地址6、参考 更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;GIS开发 …

智慧景区解决方案PPT(89页)

智慧景区解决方案摘要 解决方案概述智慧景区解决方案旨在利用现代信息技术解决景区管理机构面临的保护与发展矛盾&#xff0c;推动服务职能转变&#xff0c;促进旅游产业跨越式发展&#xff0c;实现旅游经营增长和管理成本优化。 宏观政策背景国家旅游局发布的《“十三五”全国…

c++:struct和class的区别

C和C中struct的区别 (1)C中不支持成员函数&#xff08;只能通过函数指针成员变量间接支持&#xff09;&#xff0c;而C源生支持。 (2)C中不支持static成员&#xff0c;而C中支持。后面会详细讲&#xff0c;C static class是一个大知识点 (3)访问权限&#xff0c;C中默认public…

CS61B Data Structure-Jonathan Lecture2 using objects - OBJECTS METHODS

Recall String s1; // Step 1: declare a String variable s1 new String(); // Step 2: assign it a value, a new empty string objectString s2 new String(); // 1&2 combined今日知识点 situation: pointing to the same object s1 "Yow!";s2 s1; //…

电量监测与电量计基础知识

硬件之路学习笔记 ​-----前文导读----- ①、公众号主页点击发消息 ②、点击下方菜单获取系列文章 -----本文简介----- 主要内容包括&#xff1a; ①&#xff1a;简介 ②&#xff1a;省成本方式-电阻分压 ③&#xff1a;精确方式-电量计与阻抗跟踪技术 ----- 正文 ----…

线程同步66666

1. 概述 当有多个线程访问同一个共享资源&#xff08;临界资源&#xff09;时&#xff0c;且不允许同时访问&#xff0c;那么就需要线程同步。常见的线程同步方式&#xff1a;互斥锁、读写锁、条件变量、信号量。 2. 互斥锁 互斥锁的方式可以简单概括为&#xff1a;锁定操作…

第一天(点亮led灯+led灯闪烁)——Arduino uno R3 学习之旅

​ 常识: 一般智能手机的额定工作电流大约为200mA Arduino Uno板上I/0(输入/输出)引脚最大输出电流为40 mA Uno板控制器总的输出电流为200 mA 点亮LED灯 发光二极管介绍 发光二极管(Light Emitting Diode&#xff0c;简称LED)是一种能够将电能转化为光能的固态的半导体器件…

好消息!Stable Diffusion 3 允许商业化,很快开源更大版本模型

7月6日凌晨&#xff0c;著名开源大模型平台Stability AI修改了社区许可协议&#xff0c;最新发布的文生图模型Stable Diffusion 3 Medium允许商业化&#xff08;以下简称“SD3-M”&#xff09;。 如果企业、个人开发者每年收入低于100万美元&#xff08;大约726万元人民币&…

【漏洞复现】禅道——未授权登入(QVD-2024-15263)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 禅道&#xff08;Zentao&#xff09;是一款开源的项目管理和协作…