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

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

协议层次及服务模型

协议层次

网络是一个复杂的系统

  • 网络功能复杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
  • 现实来看,网络的许多构成元素和设备:
    • 主机
    • 路由器
    • 各种媒体的链路
    • 应用
    • 协议
    • 硬件,软件

问题是,如何组织和实现这个复杂的网络功能

模块化分解/分层

分解和分层是不一样的

  • 分解:模块之间是可以相互调用的
  • 分层:只有相邻两层客户相互调用

层次化方式实现复杂网络功能

  • 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务
  • 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)更下层所提供的服务

服务与服务访问点

  • 服务:底层实体向上层实体提供他们之间通信的能力
    • 服务用户
    • 服务提供者
  • 原语:上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的形式
  • 服务访问点:上层使用下层提供的服务通过层间的接口——地点
    • 例子:邮箱
    • 地址:下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用
    • 可以有不同的实现,队列
    • 例子:传输层的SAP:端口

服务的类型

  • 面向连接的服务和无连接的服务——方式
    • 面向连接的服务
      • 连接:两个通信实体为进行通信而建立的一种结合
      • 面向连接的服务通信的过程:建立连接,通信,拆除连接
      • 面向连接的服务的例子:网络层的连接被称为虚电路
      • 适用范围:对于大的数据块要传输:不适合小的零星报文
      • 特点:保序
      • 服务类型:
        • 可靠的信息流传送页面(可靠的获得,通过接收方的确认)
        • 可靠的字节流远程登陆
        • 不可靠的连接数字化声音
    • 无连接的服务
      • 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃
      • 特点:不可靠、可能重复、可能失序
      • IP分组:数据包
      • 适用范围:适合传送零星数据
      • 服务类型:
        • 不可靠的数据报:电子方式的函件
        • 有确认的数据报:挂号信
        • 请求回答:信息查询

服务和协议

  • 服务和协议的区别
    • 服务:低层实体向上层实体提供它们之间的通信的能力,是通过原语来操作的,垂直
    • 协议:对等层实体之间在相互通信的过程中,需要遵循的规则的集合,水平
  • 服务和协议的联系
    • 本层协议的实现要靠下层提供的服务来实现
    • 本层实体通过协议为上层提供更高级的服务

数据单元(DU)

在这里插入图片描述

协议和服务的关系

分层处理和实现复杂系统的好处

对付复杂的系统

  • 概念化:结构清晰,便于表示网络组件,以及描述其相互关系
    • 分层参考模型
  • 结构化:模块化更易于维护和系统升级
    • 改变某一层服务的实现不影响系统中的其他层次
      • 对于其他层次而言是透明的
    • 如改变登机程序并不能影响系统的其他部分
      • 改变 2 个程序使用的通信方式并不影响 2 个翻译的工作
      • 改变 2 个翻译使用的语言不影响上下 2 个层次的工作
    • 分层思想被认为有海的地方:效率相对较低

Internet协议栈

  • 应用层:网络应用
    • 为人类用户或者其他应用进程提供网络应用服务
    • FTP、SMTP、HTTP、DNS
  • 传输层:主机之间的数据传输
    • 在网络层提供的端到端的通信基础上,细分为进程到进程,将不可靠的通信变成可靠的通信
  • 网络层:为数据报从源到目的选择路由
    • 主机与主机之间的通信,端到端的通信,不可靠
    • IP、路由协议
  • 链路层:相邻网络节点间的数据传输
    • 2 个相邻 2 点的通信,点到点通信,可靠或不可靠
    • 点对点协议PPP、802.11(wifi)、Ethernet
  • 物理层:在线路上传送bit

ISO/OSI 参考模型

在这里插入图片描述

  • 表示层:允许应用解释传输的数据
  • 会话层:数据交换的同步,检查点,恢复
  • 互连网协议中没有这两层
    • 这些服务如果需要的话必须被应用层实现

封装和解封装

在这里插入图片描述

各层次的协议数据单元

  • 应用层:报文
  • 传输层:报文段:TCP段、UDP数据段
  • 网络层:分组pocket(如果无连接方式:数据报datagram)
  • 数据链路层:帧
  • 物理层:位

相关文章:

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

协议层次及服务模型 协议层次 网络是一个复杂的系统 网络功能复杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等现实来看,网络的许多构成元素和设备: 主机路由器各种媒体的链路应用协议硬件,软件 问题是&am…...

Netty Review - NIO空轮询及Netty的解决方案源码分析

文章目录 Pre问题说明NIO CodeNetty是如何解决的?源码分析入口源码分析selectCntselectRebuildSelector Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 Netty Review - 服务端channel注册流程源码解析 问题说明 N…...

PAM | 账户安全 | 管理

PAM PAM(Pluggable Authentication Modules,可插入式身份验证模块)是一个灵活的身份验证系统,允许我们通过配置和组合各种模块来实现不同的身份验证策略。 在 Linux 或类 Unix 系统中,常见的 PAM 模块包括以下几种类…...

Leetcode 16-20题

最接近的三数之和 给定整数数组和目标值target,从数组中选出三个整数,使得和与target最接近,并返回三数之和。保证恰好存在一个解。 和上一题类似,我们先对整数数组排序,然后固定i,枚举j,找到满…...

【开源训练数据集1】神经语言程式(NLP)项目的15 个开源训练数据集

一个聊天机器人需要大量的训练数据,以便在无需人工干预的情况下快速解决用户的询问。然而,聊天机器人开发的主要瓶颈是获取现实的、面向任务的对话数据来训练这些基于机器学习的系统。 我们整理了训练聊天机器人所需的对话数据集,包括问答数据、客户支持数据、对话数据和多…...

【AIGC】Stable Diffusion的ControlNet参数入门

Stable Diffusion 中的 ControlNet 是一种用于控制图像生成过程的技术,它可以指导模型生成特定风格、内容或属性的图像。下面是关于 ControlNet 的界面参数的详细解释: 低显存模式 是一种在深度学习任务中用于处理显存受限设备的技术。在这种模式下&am…...

静态curl库编译与使用(c++)

静态curl库编译与使用 静态curl库编译与使用:mingw https://curl.se/windows/ // 测试:设置URL地址 // curl_easy_setopt(curlHandle, CURLOPT_URL, “https://ipinfo.io/json”); // curl_easy_setopt(curlHandle, CURLOPT_SSL_VERIFYPEER, 0L); // c…...

element 表单提交图片(表单上传图片)

文章目录 使用场景页面效果前端代码 使用场景 vue2 element 表单提交图片   1.点击【上传图片】按钮择本地图片(只能选择一张图片)后。   2.点击图片,支持放大查看。   3.点击【保存】按钮,提交表单。 页面效果 前端代码…...

Android 15 第一个开发者预览版

点击查看:first-developer-preview-android15 点击查看:Get Android 15 2024年2月16日,谷歌发布 Android 15 第一个开发者预览版 翻译 由工程副总裁戴夫伯克发布 今天,我们发布了Android 15的首个开发者预览版,这样我们的开发者就…...

anomalib1.0学习纪实-续1:增加新算法

0、基本信息 现在我要增加一个新算法:DDAD 他的代码,可以在github中找到:GitHub - arimousa/DDAD 一、基础操作: 1、修改anomalib\src\anomalib\models\__init__.py 我增加的第33行和61行, 2、 增加ddad文件夹和文…...

Java+Vue+MySQL,国产动漫网站全栈升级

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…...

机器人常用传感器分类及一般性要求

机器人传感器的分类 传感技术是先进机器人的三大要素(感知、决策和动作)之一。根据用途不同,机器人传感器可以分为两大类:用于检测机器人自身状态的内部传感器和用于检测机器人相关环境参数的外部传感器。 内部传感器 内部传感…...

C++-opencv的imread、imshow、waitkey、namedWindow

在C中使用OpenCV时,imread和imshow是两个非常基础且常用的函数,用于读取图像和显示图像。以下是这两个函数的简要说明和如何一起使用它们的示例。 imread函数 imread用于从指定的文件路径读取图像。它将图像读入为cv::Mat对象,这是OpenCV中…...

开源语音识别faster-whisper部署教程

1. 资源下载 源码地址 模型下载地址: large-v3模型:https://huggingface.co/Systran/faster-whisper-large-v3/tree/main large-v2模型:https://huggingface.co/guillaumekln/faster-whisper-large-v2/tree/main large-v2模型:…...

使用IntelliJ IDEA配置Maven (入门)

在使用IntelliJ IDEA进行Java开发时,配置Maven是至关重要的一步,因为它可以帮助你管理项目的依赖和构建过程。以下是我在使用IntelliJ IDEA配置Maven的实践过程,以及一些技术笔记和职场感悟。 工作实践与项目复盘 下载Maven: 访问…...

汽车金融市场研究:预计2029年将达到482亿美元

汽车金融公司作为汽车流通产业链的重要一环,认真贯彻落实国家有关政策,采取多种措施助力汽车产业发展,为促进推动汽车消费、助力畅通汽车产业链、支持稳定宏观经济大盘发挥了积极作用。 益于国内疫情得到有效控制,我国经济持续稳定…...

关于举办第十五届蓝桥杯大赛电子赛5G全网规划与建设赛项的通知

关于举办第十五届蓝桥杯大赛电子赛 5G全网规划与建设赛项的通知 各相关院校: 第十五届蓝桥杯大赛通知已于2023年9月27日在蓝桥杯大赛官网发布,现就电子赛5G全网规划与建设赛项报名事宜,公布如下: 一、赛项概述 5G全网规划与建设…...

Vue3快速上手(七) ref和reactive对比

一、ref和reactive对比 表格形式更加直观吧: 项目refreactive是否支持基本类型支持不支持是否支持对象类型支持支持对象类型是否支持属性直接赋值不支持,需要.value支持是否支持直接重新分配对象支持,因为操作的.value不支持,需…...

8、内网安全-横向移动RDPKerberos攻击SPN扫描WinRMWinRS

用途:个人学习笔记,有所借鉴,欢迎指正 目录 一、域横向移动-RDP-明文&NTLM 1.探针服务: 2.探针连接: 3.连接执行: 二、域横向移动-WinRM&WinRS-明文&NTLM 1.探针可用: 2.连接…...

《数据结构与算法之美》读书笔记

《数据结构与算法之美》读书笔记 写在前面 这本书的大部分内容比较浅显,因此只挑DSAA课程上没有涉及或没有深入讨论的点总结 第二章 数组相关 提高传统数组插入/删除数据效率的方法: 如果插入的数据不要求有序,可以直接把某位的原数据替换…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...