lv7 嵌入式开发-网络编程开发 02OSI七层结构

目录

1 计算机网络体系结构的形成

1.1 提出了不同体系结构 

1.2 国际标准:开放系统互连参考模型 OSI/RM

1.3 存在两种国际标准

2 协议与划分层次

2.1 网络协议

2.2 协议的两种形式

2.3 层次式协议结构

2.4 各层完成的主要功能 

2.5 计算机网络的体系结构

3 OSI七层体系结构


1 计算机网络体系结构的形成

两台计算机要互相传送文件需解决很多问题

1.1 提出了不同体系结构 

  • 最初的 ARPANET 设计时提出了分层的设计方法
  • 分层:将庞大而复杂的问题,转化为若干较小的局部问题
  • 1974 年,IBM 按照分层的方法制定并提出了系统网络体系结构 SNA (System Network Architecture)
  • 此后,其他一些公司也相继推出了具有不同名称的体系结构

但由于网络体系结构的不同,不同公司的设备很难互相连通。

1.2 国际标准:开放系统互连参考模型 OSI/RM

  • ISO (国际标准化组织) 提出的 OSI/RM (Open Systems Interconnection Reference Model) 是使各种计算机在世界范围内互连成网的标准框架
  • OSI/RM 是个抽象的概念
  • 1983年,形成了著名的 ISO 7498 国际标准,即七层协议的体系结构。

但 ISO/OSI 失败了

  • 基于 TCP/IP 的互联网已抢先在全球相当大的范围成功地运行了。
  • OSI 的专家们在完成 OSI 标准时没有商业驱动力;
  • OSI 的协议实现起来过分复杂,且运行效率很低;
  • OSI 标准的制定周期太长,使得按 OSI 标准生产的设备无法及时进入市场;
  • OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。 

1.3 存在两种国际标准

  • 法律上的 (de jure) 国际标准 OSI(但并没有得到市场的认可)
  • 事实上的 (de facto) 国际标准 TCP/IP(获得了最广泛的应用)

2 协议与划分层次

2.1 网络协议

网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

三个组成要素:

  • 语法:数据与控制信息的结构或格式 。
  • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步:事件实现顺序的详细说明。

2.2 协议的两种形式

文字描述:便于人来阅读和理解

程序代码:让计算机能够理解

2.3 层次式协议结构

ARPANET 的研制经验表明:对于非常复杂的计算机网络协议,其结构应该是层次式的。

划分层次的概念举例:两台主机通过网络传送文件

 

2.4 各层完成的主要功能 

  • 差错控制:使相应层次对等方的通信更加可靠。
  • 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
  • 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
  • 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  • 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

2.5 计算机网络的体系结构

网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)

实现 (implementation) 是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

3 OSI七层体系结构

 

高层:负责主机之间的数据传输 

低层:负责网络之间的数据传输 

应用层:如微信、抖音、QQ

表示层:如文字、视频(压缩)

会话层:面向用户的聊天也不能乱发,要建立、管理、中止会话

运输层:端口号(标注应用),流控,端口差错校验

网络层:不同主机在不同网络,需要标注哪个网络哪台主机,地址差错校验

数据链路层:点对点数据传输,传输错误、帧同步和流控制等。

物理层:数据0和1的比特流,电压、光信号等。

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

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

相关文章

大规模语言模型--训练成本

目前,基于 Transformers 架构的大型语言模型 (LLM),如 GPT、T5 和 BERT,已经在各种自然语言处理 (NLP) 任务中取得了 SOTA 结果。将预训练好的语言模型(LM) 在下游任务上进行微调已成为处理 NLP 任务的一种 范式。与使用开箱即用的预训练 LLM…

jenkins联动显示或隐藏参数

1. 添加组件 Active Choices Plug-in 如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可 Active Choices Active Choices | Jenkins plugin 2. 效果如下: sharding为空时&#xf…

GEE15:获取不同遥感指数的时间序列及不同指数间的关系

GEE 1. 不同遥感指数间的时间序列分析2. 不同指数之间的关系 1. 不同遥感指数间的时间序列分析 GPP数据在一定程度上和植被指数(如NDVI和EVI)有着显著的相关性,那么其相关性如何?如何从时间序列的角度来思考呢?下面我将…

自动驾驶中的感知模型:实现安全与智能驾驶的关键

自动驾驶中的感知模型:实现安全与智能驾驶的关键 文章目录 引言感知模型的作用感知模型的技术安全与挑战结论 2023星火培训【专项营】Apollo开发者社区布道师倾力打造,包含PnC、新感知等的全新专项课程上线了。理论与实践相结合,全新的PnC培训…

大语言模型之十四-PEFT的LoRA

在《大语言模型之七- Llama-2单GPU微调SFT》和《大语言模型之十三 LLama2中文推理》中我们都提到了LoRA(低秩分解)方法,之所以用低秩分解进行参数的优化的原因是为了减少计算资源。 我们以《大语言模型之四-LlaMA-2从模型到应用》一文中的图…

vscode 打开后 默认terminal power shell 报错 名为“.C”的驱动器不存在。

这是 默认terminal power shell 打开报的错 Test-Path : 找不到驱动器。名为“.C”的驱动器不存在。 所在位置 C:\Users\HUAWEI\Documents\WindowsPowerShell\profile.ps1:4 字符: 5 If (Test-Path "C:\Users\HUAWEI\AppData\Local\Temp\_MEI319962\Scripts\ ... …

RabbitMQ核心总结

AMQP协议核心概念 RabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。 server:又称broker,接受客户端连接,实现AMQP实体服务。 connection:连接和具体broker网络连接。 channel&#xff1a…

leetCode 45.跳跃游戏 II 贪心算法

45. 跳跃游戏 II - 力扣(LeetCode) 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 &…

Django之ORM操作初了解

文章开篇,我们首先复习下Django架构中的MTV模式,分别以字母来翻译就是: Views-代码的核心逻辑Tamplates-展示在页面上的html代码Models-对数据库的操作 那么Models中最为核心的便是本篇所介绍的ORM。 一)基本知识 ORM&#xf…

react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容

1.需求 最近在做一个国际网站app,需要把app中某个页面的图文链接分享到国外各大社交平台上(facebook,whatapp,telegram,twitter等),以及通过WhatApp聊天方式分享,和SMS短信方式分享链接内容,该怎么做呢?图示如下: 分享到国外各大社交平台&am…

DS线性表之链表

前言 我们上一期介绍了顺序表,它的底层就是数组,我们也分别对顺序表的动态版本和静态版本进行了实现!并且分析了顺序表的优缺点,优点是:尾插、尾删效率很高,其时间复杂度是O(1);缺点是&#xff…

代码随想录算法训练营第五十五天 | 动态规划 part 12 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

目录 300.最长递增子序列思路代码 674. 最长连续递增序列思路代码 718. 最长重复子数组思路代码 300.最长递增子序列 Leetcode 思路 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度递推公式:if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1)初…

格点数据可视化(美国站点的日降雨数据)

获取美国站点的日降雨量的格点数据,并且可视化 导入模块 from datetime import datetime, timedelta from urllib.request import urlopenimport cartopy.crs as ccrs import cartopy.feature as cfeature import matplotlib.colors as mcolors import matplotli…

解决u盘在我的电脑中重复显示两个

删除注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\DelegateFolders\{F5FB2C77-0E2F-4A16-A381-3E560C68BC83}]

postgresql-备份与恢复

postgresql-备份与恢复 基本概念备份类型物理备份与逻辑备份在线备份与离线备份全量备份与增量备份 备份恢复工具备份与恢复逻辑备份与还原备份单个数据库psqlpg_dumppg_store 备份整个集群 基本概念 服务器系统错误、硬件故障或者人为失误都可能导致数据的丢失或损坏。因此&am…

Redis学习笔记(下):持久化RDB、AOF+主从复制(薪火相传,反客为主,一主多从,哨兵模式)+Redis集群

十一、持久化RDB和AOF 持久化:将数据存入硬盘 11.1 RDB(Redis Database) RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。 备份…

vtk 动画入门 1 代码

实现效果如图&#xff1a; #include <vtkAutoInit.h> //VTK_MODULE_INIT(vtkRenderingOpenGL2); //VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); //VTK_MODULE_INIT(vtkRenderingFreeType); #in…

新手学习笔记-----编译和链接

目录 1. 翻译环境和运⾏环境 2. 翻译环境&#xff1a;预编译编译汇编链接 2.1 预处理 2.2 编译 2.2.1 词法分析 2.2.2 语法分析 2.2.3 语义分析 2.3 汇编 2.4 链接 3. 运⾏环境 1. 翻译环境和运⾏环境 在ANSI C的任何⼀种实现中&#xff0c;存在两个不同的环境。 第…

JSON的MIME媒体类型是application/json

JSON&#xff08;全称 JavaScript Object Notation&#xff09;即JavaScript对象表示法&#xff0c;通知使用application/json媒体类型。 目录 1、JSON介绍 2、JSON语法 3、实践总结 运行环境&#xff1a; Windows-7-Ultimate-x64、Windows-10-BusinessEditions-21h2-x64 1…

Can‘t pickle <class ‘__main__.Test‘>: it‘s not the same object as __main__.Test

目录 原因1 类名重复了 案例1 变量名和类名重复 原因1 类名重复了 检查项目代码&#xff0c;是不是其他地方有同名类。 案例1 变量名和类名重复 转自&#xff1a;python3报错Cant pickle <class __main__.Test>: its not the same object as __main__.Test解决 - 知乎…