计算机网络——协议层次及服务模型

计算机网络中的协议层次是指将网络功能划分为不同的层次,每个层次负责特定的功能,并通过协议进行通信。

一、为什么要分层

分层是设计/讨论复杂系统的有效方法。分层使得复杂系统概念化,结构清晰便于标示网路组件,以及描述其相互关系。

分层使其结构化,模块化更易于维护和系统升级。改变某一层服务的实现不影响系统中的其他层次。

二、分层模型组成及其作用

互联网五个基本层次:应用层(application)、传输层(transport)、网络层(network)、链路层(link)、物理层(physical)。

应用层:支持网络应用间的通信。为人类用户或者其他应用程序提供网络应用服务。

传输层:进程-进程数据传输。负责提供端到端的可靠数据传输,包括流量控制、拥塞控制和错误恢复等功能。

网络层:数据报从源端路由到目标端,端-端之间的数据传输

链路层:相邻网络结点之间的数据传输。

物理层:负责传输比特流,即将数据转换为电信号进行传输。

各层的所有协议被称为协议栈。

ISO/OSI为七层模型:应用层、表示层、会话层、传输层、网络层、链路层、物理层。

表示层:允许应用解释传输的数据。如加密,压缩,机器相关的表示转换。

会话层:数据交换的同步,设置与另一台计算机中的进程会话连接。

三、服务和协议

对等层与协议数据单元:OSI参考模型把对等层之间传送的数据单位称为该层的协议数据单元PDU。任何两个同样的层次把PDU通过水平虚线直接传递给对方。这就是所谓的对等层之间的通信。

各层协议实际上就是在各个对等层之间传递数据的各项规定。

实体:表示任何克发送或接收信息的硬件或软件进程。

协议:控制两个对等实体进行通信的规则的集合。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

要实现本层协议,还需要使用下层所提供的服务。

关于协议和服务的联系和区别:

协议:其实现保证了能够向上一层提供服务。对上面的服务用户是透明的。是“水平”的。

服务:上层使用服务原语获得下层所提供的服务。上面的服务用户只能看见服务,无法看见下面的协议。是“垂直”的。

服务:低层实体向上层实体提供他们之间的通信的能力,是通过原语来操作的。

协议:对等层实体之间在相互通信的过程中需要遵循的规则的集合。

联系:本层协议的实现要靠下层提供的服务来实现。

本层实体通过协议为上层提供更高级的服务。

即服务联系上下两个不同层实体,协议联系两个相同层实体

四、服务访问点SPA

在同一系统中相邻两层的实体交互的地方称为服务访问点(SPA),是一个抽象概念,实际上就是一个逻辑接口。

OSI把层与层之间交换的数据的单位称为服务数据单元SDU。

上层协议数据单元PDU将会成为下层的服务数据单元SDU

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

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

相关文章

【Postrsql】postgresql的介绍、安装和使用

介绍 1.基本信息 PostgreSQL是一个功能强大的开源关系型数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上,包括Linux、Unix和Windows…

html5cssjs代码 024 响应式布局示例

html5&css&js代码 024 响应式布局示例 一、代码二、解释 该HTML代码重点在于构建一个带有响应式设计的两栏布局网页,包含页头、导航条、主要内容区(左右两列)和底部区域,并运用CSS样式设置页面元素的布局、颜色、字体、间…

【Node.js从基础到高级运用】十五、单元测试与集成测试

引言 在Node.js开发过程中,测试是确保代码质量和功能正确性的关键步骤。单元测试和集成测试是最常见的测试类型。下面我们将使用Jest框架来进行测试。 单元测试 单元测试是指对软件中的最小可测试单元进行检查和验证。在Node.js中,这通常指的是函数或者…

安卓面试题多线程 86-90

86. 请列举ThreadPoolexecutor参数配置?corePoolSize- 池中所保存的线程数,包括空闲线程。 maximumPoolSize - 池中允许的最⼤线程数。 keepAliveTime当线程数⼤于核⼼时,此为终⽌前多余的空闲线程等待新任务的最长时间。 unit - keepAliveTime 参数的时间单位。 workQueue …

HarmonyOS开发:超详细介绍如何开源静态共享包,实现远程依赖

前言 当我们开发了一个独立的功能,想让他人进行使用,一般的方式就是开源出去,有源码的方式,也有文件包的形式,当然了也有远程依赖的方式,比如在Android中,我们可以提供源码,也可以打…

SQLiteC/C++接口详细介绍sqlite3_stmt类(一)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类简介 下一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(二) ​ 序言: 本文开始了SQLite的第二个类的详细介绍…

Qt 容器类控件

Group Box 使用 QGroupBox 实现一个带有标题的分组框可以把其他的控件放到里面作为一组,这样看起来能更好看一点. 核心属性 属性说明title分组框的标题alignment分组框内部内容的对齐方式flat是否是 “扁平” 模式checkable是否可选择. 设为 true,则在…

2024年华为OD机试真题-石头剪刀布游戏-Java-OD统一考试(C卷)

题目描述: 石头剪刀布游戏有3种出拳形状:石头、剪刀、布。 分别用字母 A,B,C表示。 游戏规则: 1)出拳形状之间的胜负规则如下:A> B;B> C;C> A “>” 左边一个字母,表示相对优势形状。 右边一个字母,表示相对劣势形状。 2) 当本场次中有且仅有一种出拳形状…

鸿蒙Harmony应用开发—ArkTS-高级组件:@ohos.advertising.AdComponent (非全屏广告展示组件))

本模块提供展示非全屏广告的能力。 说明: 本模块首批接口从API Version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import { AdComponent } from ohos.advertising.AdComponent; AdComponent AdComponent(ads: Ar…

webpack5零基础入门-12搭建开发服务器

1.目的 每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 2.安装相关包 npm install --save-dev webpack-dev-server 3.添加配置 在webpack.config.js中添加devServer相关配置 /**开发服务器 */devServer: {host: localhos…

C# 使用ffmpeg将图片保存为mp4视频

使用 FFmpeg 这个强大的多媒体处理工具,可以轻松地将一系列图片转换为一个 MP4 视频文件。以下是一个基本的命令行示例来完成这个任务: ffmpeg -framerate 25 -i image-%03d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4 命令参数说明&#xf…

华为中心AP 配置入侵防御实验

配置入侵防御示例 组网图形 图1 入侵防御组网图 组网需求配置思路操作步骤中心AP的配置文件 组网需求 如图1所示,某企业部署了WLAN网络,内网用户可以访问Internet的Web服务器。现需要在中心AP上配置入侵防御功能,具体要求如下: 保…

接口VS抽象类,我该用哪个?

在Java编程中,接口和抽象类是两个核心概念,它们为面向对象编程提供了强大的支持。理解这两者的区别以及如何正确地使用它们,对于编写高效、可维护的代码至关重要。 接口(Interface) 接口是一种完全抽象的类&#xff…

程序运行时,常见存储区分类及作用

作用栈区(stack) 存放函数的形参和局部变量(auto 类型),由编译器自动分配和释放。生命周期与函数调用相关,函数结束时自动回收。栈区的大小有限,通常较小。例如,函数参数和局部变量。…

Bert的一些理解

Bert的一些理解 Masked Language Model (MLM)Next Sentence Prediction (NSP)总结 参考链接1 参考链接2 BERT 模型的训练数据集通常是以预训练任务的形式来构建的,其中包括两个主要任务:Masked Language Model (MLM) 和 Next Sentence Prediction (NSP)。…

GPT-4与Claude3、Gemini、Sora:AI领域的技术创新与突破

【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】 2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚…

大模型提示工程和常用的几个场景下Prompt案例

提示工程指南 提示工程(Prompt Engineering)是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了…

linux环境部署

war包环境 在Linux系统上部署准备war包环境 查看linux当前版本和系统类型 [rootlocalhost ~]# uname -a Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linuxlinux 打包文件夹 使用tar命令&#xff1…

【PG数据库】CentOS 7 安装 PostgreSQL 14

1 CentOS 7 安装 PostgreSQL 14 1.1下载离线安装包 下载方式:利用离线下载方式在虚拟机中安装PostgreSQL 14 下载链接: https://yum.postgresql.org/14/redhat/rhel-7-x86_64/repoview/postgresqldbserver14.group.html 依次进入下载: 1.…

安卓面试题多线程 66-70

66. 如何避免 Java 线程死锁?要想避免死锁,只需要破坏掉至少一个构造死锁的必要条件即可,而在操作系统中,互斥条件和不可剥夺条件是系统规定的,这也没办法人为更改,而且这两个条件很明显是一个标准的程序应该所具备的特性。所以目前只有请求并持有和环路等待条件是可以被…