计算机网络之体系结构

上节内容:数据通信原理


1.计算机网络体系结构

体系结构: 研究系统中各组成成分及其关系的一门学科。

计算机网络体系结构:  定义和描述一组用于计算机及其通信设施之间互连的标准规范的集合,遵循这组规范可以很方便地实现计算机设备之间的通信。

相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。 “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

开放系统互连参考模型OSI/RM:只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。

2.OSI/RM的设计原理

1、 分解  

分解: 将整个系统划分为若干易于实现和控制的子模块,并通过对各子模块的功能、交换的数据结构和时序进行约定,协调模块之间的动作,保证系统设计的合理性和互操作性。  

可以根据各子模块的依赖关系,使用结构化的设计和实现方法,采用具有层次结构的模型与之对应。

2、 抽象    

标准的提出应当独立于实现的具体环境, OSI/RM的确立采用了三级抽象技术。

第一级抽象:提出OSI/RM,建立计算机网络在概念和功能上的框架,包括确定OSI的层次模型,以及公共术语、属性和子模块的功能等;

第二级抽象:提出OSI服务定义,在OSI/RM的基础上,定义各个子模块可提供的服务(即确定各个子模块的外观特性)。

第三级抽象:定义OSI协议规范,定义一组为确保子模块服务的提供而应遵循的规则(协议)

OSI的最大优势:引入的概念,在定义接口的基础上,各层可以独立设计、更新,甚至替换。

OSI特点:  

(1) 互连的系统必须具有相同的层次结构;

(2) 只有相同层次的实体(功能的实施者)才能进行有意义的通信,并且只能借助于其下层的服务来实现。

3.OSI的层次-七层体系结构

(1) 物理层(PH),确定物理设备接口,提供点-点的比特流传输的物理链路;

(2) 数据链路层(DL),利用差错处理技术,提供高可靠传输的数据链路;  

(3) 网络层(N),利用路由技术,实现用户数据的端-端传输;

(4) 运输层(T),屏蔽子网差异,以及用户要求和网络服务之间的差异;

(5) 会话层(S),提供控制会话和数据传输的手段;

(6) 表示层(P),解决异种系统之间的信息表示问题,屏蔽不同系统在数据表示方面的差异;

(7) 应用层(A),利用下层的服务,满足具体的应用要求。

4.OSI基本术语

 “”:开放系统的逻辑划分,代表功能上相对独立的一个子系统

(N)层表示OSI层次结构中的任一层,

(N+1)层表示指定层次的上邻层

(N-1)层表示指定层次的下邻层。

层功能”:本层具有的通信能力(内在的通信能力,由标准指定)。  

层服务”:本层向上邻层提供的通信能力。根据OSI增值服务的原则,本层的服务应是下邻层服务与本层功能的之和。

即:(N)服务=(N)功能+(N-1)服务

 “层协议”:为保证层功能的实现和层服务的提供而定义的一组有关通信方面的、在语义、语法和时序方面的约定。有时,同一层次中可能定义多个协议,只有执行相同协议的系统之间才能进行通信。  

层实体”:层功能实现的真正承担者(相应的硬软件)。

 “层用户”:层服务的使用者(上邻层实体)。

5.OSI的层间通信

相邻层之间通信:相邻层之间通信发生在相邻的上下层之间,属于局部问题,标准中只定义了通信的内容(服务原语),未规定这些内容的具体表现形式和层间通信实现的具体方法。

对等层之间通信:对等层是指不同开放系统中的相同层次,对等层之间通信发生在不同开放系统的相同层次之间,对等层实体之间的信息交换,通过PDU(协议数据单元)进行交换。 OSI着每一层的都定义了协议数据单元的格式。  

对等层之间的通信是目的相邻层之间的通信是手段

通过相邻层之间的通信,实现对等层之间的通信。

6.OSI的服务原语

服务原语是层服务被引用的工具。  

服务原语主要分为两大类

无确认的原语类型:发出的请求原语无需对方予以确认。XXXX.REQ 和XXXX.IND 

有确认的原语类型:发出的请求原语要求得到确认。              

XXXX.REQ          XXXX.IND            

XXXX.CNF          XXXX.RSP  或XXXX.REQ        

XXXX.IND           XXXX.CNF

服务原语确定了相邻层次之间的接口。

上邻层利用服务原语来通知下邻层要做什么;下邻层利用服务原语来通知上邻层已做了什么。   OSI标准仅定义了服务原语的内容。

网络层向上层提供的服务原语:

N-conn Req/Ind         01

N-conn Resp/Conf     02

N-data Req/Ind          03

N-dis   Req/Ind           04

7.OSI的数据类型

数据单元(DU) :OSI环境中交换的数据。

服务数据单元(SDU): 相邻层间交换的数据单元,SDU为服务原语的表现形式。

接口数据单元(IDU): 相邻层界面上体现的数据单元   IDU=SDU+ 接口控制信息。

协议数据单元(PDU):对等层间交换的数据单元, PDU的内容和格式由协议精确地定义。 (N)PDU作为(N-1)SDU的一部分,传递给下层,直至对等层实体。

OSI环境下数据单元之间的关系如图所示:

8. OSI通信的特点

1.规定接口,有利于各个子模块的独立设计,提高设计的灵活性和兼容性;

2.严格定义交换的信息,有利于互操作;

3.层次过多,数据处理过多,耗费了大量的资源;

4.控制信息层层增加,通信效率随着层次的增加而降低。

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

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

相关文章

逻辑回归模型模拟实现:从零开始

引言 逻辑回归是一种用于二分类问题的机器学习算法。尽管它的名字中有“回归”,但它实际上是用于分类的。在本文中,我们将通过模拟数据来演示逻辑回归模型的实现。 逻辑回归简介 逻辑回归通过使用逻辑函数(通常是Sigmoid函数)将…

【技术指南】稳压器(电压调节器):原理、类型及其实际用用案例

电压调节器(稳压器)是一种电子器件或电路,用于控制电路中的电压水平,以确保在电源电压波动或负载变化时,输出电压能够保持在设定的稳定水平。它们通常用于各种电子设备和电源系统中,以提供稳定的电压供应。…

双路视频同屏显示(拼接)-基于野火Zynq7020开发板

前情提要 米联客FDMA驱动OV5640摄像头—基于野火Zynq7020开发板 本文在此基础上,实现了双路视频拼接。将ov5640输出的1024600的图像数据缩放为512600,分两路写入ddr3,并且显示在1024*600的RGB屏幕中。 纯FPGA也可以按此方法实现。 总体BLOC…

Typora 2024 安装教程

本章教程,介绍一下如何使用Typora 最新版本1.9.4,仅供学习交流,切勿滥用。 一、下载安装包 下载地址:https://www.alipan.com/s/8pvKf5ns6GH 当然,你也可以去官网下载,但是官网有可能随时更新,该…

【Sklearn-LR驯化】一文搞懂分类基石模型-逻辑回归使用总结

【Sklearn-驯化】一文搞懂分类基石模型-逻辑回归使用总结 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&#xf…

Dart 中 final 和 const的 区别

在 Dart 中,final 和 const 都用于定义常量,但它们之间有一些关键区别。让我详细解释一下。 final 关键字 final 关键字用于定义一个在运行时确定其值的变量,一旦赋值,就不能更改。final 变量可以在构造函数中赋值。 示例 voi…

群晖NAS上搭建 Git Server

1.首先在群晖的DSM的控制面板中创建一个用户例如是test 2.在套件中心安装 Git server 3.打开Git server 勾选用户 test 4.在控制面板的“终端机和SNMP”中启动SSH功能 5.在控制面板的共享文件夹中创建一个文件夹,例如 "GitRepo",也就是仓库…

maven 根据不同环境,走不同的实现(多种环境组合)

​ 原因: 线上程序同时支持人大金仓和mysql,且支持根据环境动态选择 java JCE 的实现方式前期已完成 springboot 从mysql 迁移人大金仓 -kingbase :https://blog.csdn.net/qq_26408545/article/details/137777602?spm1001.2014.3001.5502 …

dataX同步SQLserver到MySQL数据

引用datax官方描述: DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS…

Vue.js 中的API接口封装实战与详解

在开发Web应用的过程中,我们常常需要和服务器进行数据交互,这就涉及到了API接口的调用。在Vue.js项目中,为了提高代码复用性、可维护性和降低错误率,我们将API接口进行合理的封装显得尤为重要。本文将详细介绍如何在Vue.js项目中实…

Qt的事件循环机制源码分析

Qt 使用了一个事件模型来与操作系统沟通,处理诸如鼠标点击、键盘输入等用户动作。以下步骤详细解释了从操作系统捕捉鼠标点击事件到 Qt 处理该事件的过程: 1、事件处理过程 1.1、Qt 的事件循环 Qt 应用程序运行时会启动一个事件循环(QEven…

商城积分系统的设计方案(中)-- 数模设计

一、总体设计 积分和积分渠道,实现积分种类和发放的动态配置,是设计中的关键之处。 积分订单表是不必要的,视具体业务需求而定。 积分账户和账户收支是核心的两个表。 后面三个表都有一个school_id, 其实就是租户编号&#xff…

PointMamba: A Simple State Space Model for Point Cloud Analysis

1. 论文基本信息 2. 创新点 介绍了第一个状态空间模型 PointMamba,将其应用与点云分析。PointMamba 表现出令人印象深刻的能力,包括结构简单性(例如,vanilla Mamba)、低计算成本和知识可迁移性(例如&#…

如何将编译过的C++库迅速部署在Visual Studio新项目中

本文介绍在Visual Studio中,通过属性表,使得一个新建解决方案中的项目可以快速配置已有解决方案的项目中各类已编译好的C第三方库的方法。 例如,我们现有一个解决方案,其中的一个项目需要调用Armadillo、OpenCV等多个不同的C第三…

爆款短视频素材库有哪些?分享几个容易火的视频素材网站

当今自媒体时代,每位内容创作者都渴望制作出下一个爆款短视频。你是否在寻找那些能让你的视频迅速蹭热度的顶级素材库?本文将为你介绍几个视频素材库,它们或许能成为你成功的秘密武器。首先要提的,自然是著名的国内素材库——蛙学…

fetch-jsonp源码阅读

fetchJsonp源码 源码地址:https://github.com/camsong/fetch-jsonp jsonp优势 请求数据没有跨域的限制,后台不用考虑跨域问题 对于老版本浏览器更加支持 jsonp缺陷 只支持get请求,不支持其他所有方式的请求(请求方式受到了限制)只支持get请求,不支持post(不安…

SAP PP学习笔记24 - 生产订单(制造指图)的创建

上面两章讲了生产订单的元素。 SAP PP学习笔记22 - 生产订单(制造指图)的元素1-CSDN博客 SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)-CSDN博客 这一章讲生产订单的创建。比如 - 生产订单的流程&#…

【课程总结】Day12:YOLO的深入了解

前言 在【课程总结】Day11(下):YOLO的入门使用一节中,我们已经了解YOLO的使用方法,使用过程非常简单,训练时只需要三行代码:引入YOLO,构建模型,训练模型;预测…

SwiftUI八与UIKIT交互

代码下载 SwiftUI可以在苹果全平台上无缝兼容现有的UI框架。例如,可以在SwiftUI视图中嵌入UIKit视图或UIKit视图控制器,反过来在UIKit视图或UIKit视图控制器中也可以嵌入SwiftUI视图。 本文展示如何把landmark应用的主页混合使用UIPageViewController和…

代码随想录算法训练营第五十二天 | 647. 回文子串、516.最长回文子序列、动态规划总结篇、复习

647. 回文子串 题目链接:https://leetcode.cn/problems/palindromic-substrings/ 文档讲解:https://programmercarl.com/0647.%E5%9B%9E%E6%96%87%E5%AD%90%E4%B8%B2.html 视频讲解:https://www.bilibili.com/video/BV17G4y1y7z9/ 思路 确定…