当前位置: 首页 > article >正文

计算机网络-----6分层结构

目录

“分层” 的设计思想:

计算机网络要完成的功能:

计算机网络的分层结构:

网络体系结构的概念:

各层之间的关系:

数据的传输过程

水平视角:

垂直视角:

相关概念

协议三要素:


分层” 的设计思想

将庞大复杂的问题转化为若干较小的局部问题,以简化问题处理难度。

快速网络是一个非常复杂系统,需要完成很多功能,以快递网络为例,将快递功能按取件、运输、存储、派件等分配到不同层次,使快递网络运行更高效。

计算机网络同样采用分层设计,将复杂功能分配到不同层次不同类型的节点,实现的功能层次可能不一样。

计算机网络要完成的功能

包括差错控制(确保数据传输准确)、流量控制(协调发送和接收速率)、分段和重装(划分和还原数据块)、复用和分用(多个会话共享连接及分离数据)、连接建立和释放(交换数据前后建立和拆除逻辑连接)等 。

计算机网络的分层结构

逻辑上划分为多个层次,各层承担不同功能。常见的有 OSI 参考模型(7 层)、TCP/IP 模型(4 层)和五层模型(结合前两者,便于学习) 。不同类型节点实现的功能层次有所差异。同一个功能可以在多个层次中重复出现

网络体系结构的概念

是计算机网络各层及其协议的集合,精确定义了网络及其构件应完成的功能,是抽象的

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

体系结构是抽象的,而实现是具体

各层之间的关系

实体是各层中的活动元素,不同机器上的同一层称为对等层,同一层的实体为对等实体

协议是控制对等实体之间通信的规则集合,是水平的

接口是同一节点内相邻两层实体交换信息的逻辑接口,也称服务访问点(SAP) 。

服务下层为紧邻上层提供的功能调用,是垂直的。

上层实体通过接口请求下层实体的服务

数据的传输过程

水平视角

数据在对等层之间传输,用户感觉数据原模原样传输

用户感知不到对数据进行压缩、解压等操作

例如,(YSCS协议(压缩传输协议))发送方将数据压缩后增加首部,说明采用哪种压缩算法

接收方根据首部信息解压数据。首部包含压缩算法等信息,不同层次的首部大小和格式由协议规定 。

为什么要分层?为什么要制定协议?

计算机网络功能复杂à采用分层结构,将诸多功能合理地划分在不同层次à对等层之间制定协议,以实现功能。

垂直视角

数据从上往下传递,每经过一层会添加相应的首部(部分层还会添加尾部) 。到达物理层后,以比特流形式在物理传输媒体上传输。接收方从物理层开始,自下而上逐层去除首部,还原数据 。

相关概念

协议数据单元(PDU):对等层次之间传送的数据单位,第 n 层的 PDU 记为 n - PDU 。

服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据,第 n 层的 SDU 记为 n - SDU 。

协议控制信息(PCI):控制协议操作的信息,第 n 层的 PCI 记为 n - PCI 。

三者关系为 n - SDU + n - PCI = (n -1) SDU

协议三要素

协议由语法、语义和同步三部分组成(协议的三要素):
1)语法,数据与控制信息的格式。例如,协议控制信息(首部)部分占几个字节、每个字节是什么含义;协议的数据部分最多有多少字节。

2)语义,即需要发出何种控制信息、完成何种动作及做出何种应答。例如,协议中需要明确规定:发送方发完数据后,接收方是否需要“应答”,以及“应答”的种类有哪些(如:传输成功、传输失败)

3)同步(或时序),执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,发送方发完数据后,接收方需要立即应答。如果发送方在10秒内未收到“传输成功”应答,则发送方会再次发送数据

相关文章:

计算机网络-----6分层结构

目录 “分层” 的设计思想: 计算机网络要完成的功能: 计算机网络的分层结构: 网络体系结构的概念: 各层之间的关系: 数据的传输过程 水平视角: 垂直视角: 相关概念 协议三要素&#x…...

运算放大器相关的电路

1运算放大器介绍 解释:运算放大器本质就是一个放大倍数很大的元件,就如上图公式所示 Vp和Vn相差很小但是放大后输出还是会很大。 运算放大器不止上面的三个引脚,他需要独立供电; 如图比较器: 解释:Vp&…...

BM25 算法与关键词提取在向量数据库中的实践优化

BM25 算法与关键词提取在向量数据库中的实践优化 在实际构建问答系统或语义检索场景中,向量数据库(如 Weaviate)提供了基于语义匹配的检索能力,然而我们发现 BM25 关键词检索效果不理想,甚至出现了召回率过低、查询必…...

python版本管理工具-pyenv轻松切换多个Python版本

在使用python环境开发时,相信肯定被使用版本所烦恼,在用第三方库时依赖兼容的python版本不一样,有没有一个能同时安装多个python并能自由切换的工具呢,那就是pyenv,让你可以轻松切换多个Python 版本。 pyenv是什么 p…...

Elasticsearch索引全生命周期管理指南之一

#作者:猎人 文章目录 一、索引常规操作二、索引mapping和别名管理 一、索引常规操作 索引数据特点: 索引中的数据随着时间,持续不断增长 按照时间序列划分索引的好处&挑战: 按照时间进行划分索引,会使得管理更加…...

STM32F407VET6的HAL库使用CRC校验的思路

CRC校验在数据传输快,且量大的时候使用。 步骤实现: CubeMX配置 c // 在CubeMX中启用CRC模块 // AHB总线时钟自动启用 HAL库代码 c // 初始化(main函数中) CRC_HandleTypeDef hcrc; hcrc.Instance CRC; hcrc.Init.Default…...

【Manim】使用manim画一个高斯分布的动画

1 Manim例子一 最近接触到manim,觉得挺有趣的,来玩一玩把。如下是一个使用manim画的高斯分布的动画。 from manim import * import numpy as npclass GaussianDistribution(Scene):def construct(self):# 创建坐标系axes Axes(x_range[-4, 4, 1],y_ra…...

elementUI 循环出来的表单,怎么做表单校验?

数据结构如下&#xff1a; diversionParamList: [ { length: null, positionNumber: null, value: null, } ] 思路&#xff1a;可根据 index 动态绑定 :props 属性值&#xff0c;校验规则写在:rules <div class"config-item" v-for"(item, index) in form.…...

Leetcode76覆盖最小子串

覆盖最小子串 代码来自b站左程云 class Solution {public String minWindow(String str, String tar) {char[] s str.toCharArray();char[] t tar.toCharArray();int[] cnt new int[256];for (char cha : t) { cnt[cha]--;}int len Integer.MAX_VALUE;int debt t.length…...

电力杆塔安全监测解决方案

一、方案背景 在台风、滑坡等自然灾害出现时&#xff0c;极易产生倒杆、断杆、杆塔倾斜、塔基滑动等致使杆塔失稳的状况&#xff0c;进而引发导线断线、线路跳闸等事故&#xff0c;给电网的安全稳定运行造成影响。可借助在铁塔上装设的传感器&#xff0c;能够感知铁塔的工作状态…...

AD 常用系统快捷键

(1) L: 打开层设置开关选项(在元件移动状态下&#xff0c;按下“L”键换层) (2) S: 打开选择&#xff0c;如SL(线选)、SI(框选)、SE(滑动选择) (3) J: 跳转&#xff0c;如JC(跳转到元件)、JN(跳转到网络) (4) CtrlQ: 英寸和毫米相互切换。 (5) Delete: 删除已被选择的对象 E…...

今日行情明日机会——20250516

上证缩量收阴线&#xff0c;小盘股表现相对更好&#xff0c;上涨的个股大于下跌的&#xff0c;日线已到前期压力位附近&#xff0c;注意风险。 深证缩量收假阳线&#xff0c;临近日线周期上涨末端&#xff0c;注意风险。 2025年5月16日涨停股行业方向分析 机器人概念&#x…...

AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式

AlphaEvolve&#xff1a;LLM驱动的算法进化革命与科学发现新范式 本文聚焦Google DeepMind最新发布的AlphaEvolve&#xff0c;探讨其如何通过LLM与进化算法的结合&#xff0c;在数学难题突破、计算基础设施优化等领域实现革命性进展。从48次乘法优化44矩阵相乘到数据中心资源利…...

多尺度对比度调整

一、背景介绍 受到了前面锐化算法实现的启发&#xff0c;对高频层做增强是锐化&#xff0c;那么对中低频一起做增强&#xff0c;就应该能有局域对比度增强效果。 直接暴力实现了个基本版本&#xff0c;确实有对比度增强效果。然后搜了下关键字&#xff0c;还真找到了已经有人这…...

解决IDEA Maven编译时@spring.profiles.active@没有替换成具体环境变量的问题

如果不加filtering true&#xff0c;编译后的文件还是 spring.profiles.active 编译前的application.yml 编译后的application.yml【环境变量没有改变】 解决方案 找到 SpringBoot 启动类所在的pom.xml&#xff0c;在 resources 增加 filtering true&#xff0c;然后重新…...

博客系统技术需求文档(基于 Flask)

以下内容是AI基于要求生成的技术文档&#xff0c;仅供参考~ &#x1f9f1; 一、系统架构设计概览 层级 内容 前端层 HTML Jinja2 模板引擎&#xff0c;集成 Markdown 编辑器、代码高亮 后端层 Flask 框架&#xff0c;RESTful 风格&#xff0c;Jinja2 渲染 数据库 SQLi…...

记参加一次数学建模

题目请到全国大学生数学建模竞赛下载查看。 注&#xff1a;过程更新了很多文件&#xff0c;所有这里贴上的有些内容不是最新的&#xff08;而是草稿&#xff09;。 注&#xff1a;我们队伍并没有获奖&#xff0c;文章内容仅供一乐。 从这次比赛&#xff0c;给出以下赛前建议 …...

TC8:SOMEIP_ETS_029-030

SOMEIP_ETS_029: echoUINT8Array16Bitlength 目的 检查当method echoUINT8Array16BitLength的参数中长度字段为16bit时,SOME/IP协议层是否能对参数进行序列化和反序列化。 对于可变长度的数组而言,必须用长度字段表示数组长度。否则接收方无法判断有效数据。 SOMEIP_ETS_02…...

PYTHON训练营DAY27

装饰器 编写一个装饰器 logger&#xff0c;在函数执行前后打印日志信息&#xff08;如函数名、参数、返回值&#xff09; logger def multiply(a, b):return a * bmultiply(2, 3) # 输出: # 开始执行函数 multiply&#xff0c;参数: (2, 3), {} # 函数 multiply 执行完毕&a…...

Maven使用详解:Maven的概述(二)

一、核心定义与功能 Maven是由Apache软件基金会开发的开源项目管理工具&#xff0c;专为Java项目设计&#xff0c;主要用于自动化构建、依赖管理和项目标准化。其核心功能包括&#xff1a; 依赖管理&#xff1a;通过pom.xml文件声明依赖库&#xff0c;自动从中央仓库下载并管…...

printspoofer的RPC调用接口的简单代码

&#x1f9e0; 问题背景&#xff1a;为什么不能“啥都不导库”就直接调用 RPC 接口&#xff1f; 因为&#xff1a; 你想调用的是 RPC 接口函数&#xff0c;比如 RpcRemoteFindFirstPrinterChangeNotificationEx&#xff1b; 它不是像 MessageBox() 那样的普通 API&#xff0c…...

刻录光盘--和炸铁路,tarjan

https://www.luogu.com.cn/problem/P2835 多做多看多想&#xff0c;一切都会水到渠成 受欢迎的牛--tarjan缩点图论出度-CSDN博客 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<ll,int> pii; int n,m; ve…...

新型智慧园区技术架构深度解析:数字孪生与零碳科技的融合实践

&#x1f3ed;在杭州亚运村零碳园区&#xff0c;光伏板与氢燃料大巴构成的能源网络&#xff0c;正通过数字孪生技术实现智能调度。这不仅是格力电器与龙源电力在新能源领域的创新实践&#xff0c;更是智慧园区4.0时代的标杆案例。当AI算法开始接管能源调度&#xff0c;当BIM建模…...

lo(Loopback 接口)详解

lo&#xff08;Loopback 接口&#xff09;详解 lo 是 Loopback&#xff08;环回&#xff09;接口&#xff0c;它是一个虚拟网络接口&#xff0c;主要用于 本地通信&#xff0c;不依赖物理网卡。所有操作系统&#xff08;包括 Linux、Windows、macOS&#xff09;默认都会创建 l…...

duxapp 2025-03-29 更新 编译结束的复制逻辑等

CLI copy 文件夹内的内容支持全量复制优化小程序配置文件合并逻辑&#xff08;更新后建议将 project.config.json 文件从git的追踪中移除&#xff09;新增 copy.build.complete 文件夹的复制逻辑&#xff0c;会在程序编译结束之后将文件复制到指定位置 &#xff08;模块和用户…...

《构建社交应用的安全结界:双框架对接审核API的底层逻辑与实践》

用户生成内容如潮水般涌来。从日常的生活分享&#xff0c;到激烈的观点碰撞&#xff0c;这些内容赋予社交应用活力&#xff0c;也带来管理难题。虚假信息、暴力言论、侵权内容等不良信息&#xff0c;如同潜藏的暗礁&#xff0c;威胁着社交平台的健康生态。内容审核机制&#xf…...

网络世界的“百变身份“:动态IP让连接更自由

深夜的程序调试​​ 凌晨两点&#xff0c;我盯着电脑屏幕上的报错信息&#xff1a;"Connection timed out"。这是本周第三次测试服务器响应时被拒绝访问了——只因为之前同一个IP地址尝试登录太过频繁。正在改代码的朋友小王凑过来看了眼&#xff1a;"老兄&…...

Linux基础开发工具大全

目录 软件包管理器 1>软件包 2>软件生态 3>yum操作 a.查看软件包 b.安装软件 c.卸载软件 4>知识点 vim编辑器 1>基本概念 2>基本操作 3>正常模式命令集 a.模式切换 b.移动光标 c.删除 d.复制 e.替换 f.撤销 g.更改 4>底行模式命令…...

【C/C++】C++中引用类型私有成员的设计与应用

文章目录 C中引用类型私有成员的设计与应用核心意义典型使用场景1. 依赖注入&#xff08;Dependency Injection&#xff09;2. 避免拷贝开销3. 实现不可变设计4. 接口约束 注意事项1. 生命周期管理2. 构造函数的强制性3. 不可重新绑定4. 与多态的结合 对比指针的优缺点总结 C中…...

网页工具-OTU/ASV表格物种分类汇总工具

AI辅助下开发了个工具&#xff0c;功能如下&#xff0c;分享给大家&#xff1a; 基于Shiny开发的用户友好型网页应用&#xff0c;专为微生物组数据分析设计。该工具能够自动处理OTU/ASV_taxa表格&#xff08;支持XLS/XLSX/TSV/CSV格式&#xff09;&#xff0c;通过调用QIIME1&a…...