计算机网络:计算机网络体系结构 —— 专用术语总结

文章目录

      • 专用术语
        • 实体
        • 协议
        • 服务
          • 服务访问点 SAP
        • 服务原语 SP
      • 协议数据单元 PDU
        • 服务数据单元 SDU

专用术语

实体

实体是指任何可以发送或接收信息的硬件软件进程

对等实体是指通信双方处于相同层次中的实体,如通信双方应用层的浏览器进程和 Web 服务器进程。

协议

协议是指控制两个对等实体在“水平方向”进行逻辑通信(不实际存在)的规则的集合,即计算机网络中设备之间进行通信和交互所遵循的规则和约定。

协议定义了数据在网络中的传输方式、数据包格式、错误检测和纠正机制、连接建立和终止等过程,确保网络中的设备能够正确地发送、接收和处理数据。

![[Protocol Model.png]]

协议的组成有三个要素:

  1. 语法:定义通信双方所交换信息的格式

如 IP 协议中 IPv4 数据报的首部格式,语法定义了如下小格子(字段/域)的长度和先后顺序:

![[IPv4 Data Model.png]]

  1. 语义:定义通信双方所要完成的操作

  2. 同步:定义通信双发的时序关系。如需先发送 HTTP 请求报文后,才可发送相应的 HTTP 响应报文

服务

在协议的控制下,两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下一层所提供的服务。

服务指的是网络提供给用户的各种功能和资源。这些服务可以是基础设施服务、通信服务、应用服务等不同类型的网络功能。

![[Network Serve Hierarchy Model.png]]

协议是“水平”的,而服务是“垂直”的。实体看的见下层提供的服务,但并不知道实现该服务的具体协议,下层的协议对上层的实体是“透明”的

以下是计算机网络中常见的服务类型:

  1. 数据传输服务:数据传输服务是网络中最基本的服务,它提供了数据在网络中的传输功能。这包括通过物理链路传输数据包、数据的路由选择和转发等。

  2. 网络连接服务:网络连接服务提供了设备之间建立连接的功能,例如建立 TCP 连接或通过网络层协议进行路由选择。

  3. 安全服务:安全服务用于保护网络中的数据和通信的机密性、完整性和可用性。这包括对数据的加密、身份验证、访问控制等安全机制。

  4. 媒体服务:媒体服务涉及音频、视频和实时流媒体等传输。网络中的实时通信、视频会议、流媒体点播等都属于媒体服务。

  5. 应用服务:应用服务是网络中支持特定应用功能的服务,例如电子邮件、Web浏览、文件传输等。这些服务利用应用层协议在网络上传输和处理数据。

  6. 命名与寻址服务:命名与寻址服务解决了网络中标识和定位设备的问题。域名系统(DNS)是一种常见的命名服务,将易记的域名映射到具体的IP地址。

服务访问点 SAP

服务访问点(Service Access Point,简称 SAP)是计算机网络中用于访问特定服务的网络接口或协议端点,是在同一系统中相邻两层的实体交换信息的逻辑接口。它是通信进程或网络设备与服务之间进行交互的入口点

帧的“类型”字段、IP 数据报的“协议”字段,TCP 报文或 UDP 用户数据报的“端口号”字段都是 SAP

在网络通信中,每个服务都有自己的 SAP 与之对应。SAP 定义了服务如何被访问、使用和提供。SAP 可以用来标识和定位特定的服务,使得通信实体能够准确地找到和访问所需的服务。

SAP 通常与网络协议和网络层次结构紧密相关。在不同的网络层次中,SAP的定义可能不同。

  • 在物理层和数据链路层,SAP 通常与特定的物理接口或数据链路层协议相关联。

  • 在网络层和传输层,SAP 通常与 IP 地址、端口号或传输层协议(如 TCP 或 UDP)相关联。

例如,在 TCP/IP 网络中,SAP 可以通过 IP 地址和端口号来标识和定位特定的服务。发送方使用目标 IP 地址和目标端口号指定要访问的服务,接收方使用对应的 IP 地址和端口号来接收和响应该服务。

服务原语 SP

上层要使用下层提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语

服务原语(Service Primitive)是计算机网络通信中的基本操作或基本命令。它们是用于在网络中进行服务请求、响应和处理的原始操作。

服务原语用于在网络中的不同通信实体之间进行通信和交互,可以描述网络中的各种操作和行为。服务原语通常功能简单、灵活,并且可以通过组合和序列化来实现更复杂的通信过程。

服务原语的一般形式包括两个主要方面:

  1. 操作码(Operation Code):操作码表示服务原语执行的具体操作类型,例如请求服务、提供服务、确认、拒绝等。

  2. 数据(Data):数据部分包含与服务原语相关的具体数据和信息。根据不同的操作类型,数据可以包括请求的参数、响应的结果、错误码等信息。

服务原语的例子包括:

  1. 请求服务原语:用于向其他通信实体发起请求,请求特定的服务或操作。

  2. 提供服务原语:用于通知其他通信实体自己能够提供某项服务或操作。

  3. 确认原语:用于确认接收到的服务请求或响应,并表示对请求作出积极响应。

  4. 拒绝原语:用于拒绝接收到的服务请求或响应,并表示无法满足请求。

  5. 传输数据原语:用于将数据从一个通信实体传递到另一个通信实体。

  6. 结束会话原语:用于终止网络会话或通信连接。

服务原语在不同的网络体系结构和协议中可能有所不同。例如,在OSI参考模型中,服务原语被称为原语协议数据单元(PPDU),在TCP/IP协议中,服务原语以各种协议消息的形式存在。

协议数据单元 PDU

协议数据单元(Protocol Data Unit,PDU)是在计算机网络中传输的数据的最小单元。它是在不同层次的网络协议中传输的数据包或帧的术语。

对等层次之间传输的数据包成为该层的协议数据单元。

在通信过程中,数据被分割并封装到不同的 PDU 中,以便在网络中进行传输和交换。每个网络层次的协议都定义了相应的 PDU 格式和内容。

在参考模型中,不同层次的 PDU 具有不同的名称:

  1. 物理层 PDU:在物理层,PDU 是比特(bit)的传输单位,称为比特流

  2. 数据链路层 PDU:在数据链路层,PDU 被称为(Frame),它包含了数据以及错误检测和控制信息,如帧起始标记、帧结束标记、地址、控制位和错误检测码等。

  3. 网络层 PDU:在网络层,PDU 通常称为数据报(Datagram)或 分组(Packet),它包括源地址、目标地址、路由信息等,以便在网络中进行路由和转发。

  4. 传输层 PDU:在传输层,PDU 被称为(Segment)或报文段(Message Segment),它包含了传输控制信息,例如源端口号、目标端口号、序列号和校验和等。根据不同的协议,PDU 具有不同的称呼,如使用 UDP 协议,称为 UDP 用户数据报;使用 TCP 协议,则称为 TCP 报文段

  5. 应用层 PDU:在应用层,PDU 通常称为应用报文(Message),它是应用程序所发送和接收的数据单元。

不同网络协议和架构可能对 PDU 的定义和命名有所不同。例如,在 TCP/IP 协议中,网络层的 PDU 被称为 IP 数据报,传输层的 PDU 被称为报文段或 TCP 数据报。

服务数据单元 SDU

同一系统内层与层之间交换的数据包称为服务数据单元。

服务数据单元(Service Data Unit,简称SDU)是在计算机网络中传输的数据的逻辑单元。它是在服务接口之间传递的信息块,用于实现不同层次、不同服务之间的数据传输和交互。

在通信过程中,SDU 由上层向下层传递,直到最终被封装为 PDU 进行物理传输。每个层次的协议都将接收到的 SDU 解封并添加自己的协议头和尾,生成相应的 PDU,并将其传递到下一层。

SDUPDU 是不同的概念。PDU 是网络中传输的实际数据包或帧,包含了协议头和尾部,用于在网络中进行传输和交换。而 SDU 是在服务接口之间传递的数据单元,它可能包含应用层数据、控制信息、错误检测码等。

假设一个应用程序发起一个数据传输请求,它将数据作为 SDU 发送给传输层协议。传输层将接收到的 SDU 进行封装,生成传输层 PDU,并添加传输控制信息,例如源端口号、目标端口号等。传输层的 PDU 被传递给网络层,在网络层再次封装为网络层 PDU,并添加源 IP 地址、目标 IP 地址等信息。最终,该网络层 PDU 被传输到物理层,根据具体的物理介质进行传输。

![[Pasted image 20240118202419.png]]

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

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

相关文章

C++设计模式之观察者模式

一、观察者模式概念 观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统,当一个对象(称为“主题”或“发布者”)改变状…

C动态内存管理

前言:不知不觉又过去了很长的一段时间。今天对C语言中的动态内存管理进行一个系统性的总结。 1 为什么要有动态内存分配 在C语言中,使用int,float,double,short等数据内置类型以及数组不是也可以开辟内存空间吗&…

【光伏混合储能】VSG并网运行,构网型变流器,虚拟同步机仿真

摘要 本文提出了一种基于光伏发电与混合储能系统结合的虚拟同步发电机(VSG)控制策略,该策略能够在并网运行时稳定电网电压和频率。通过仿真分析,验证了该策略在各种运行工况下的有效性,展示了其在电力系统中的广泛应用…

了解芯片光刻与OPC

欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 参考资料: 光刻技术与基本流程 https://www.bilibili.com/video/BV1tP4y1j7BA OPC https://www.bilibili.com/video/BV1o94y1U7Td 论文:计算…

CyberBattleSim项目熟悉遇到的问题

在看手册的时候,手册中说需要显卡,配置还不低。 ——师兄说不需要这个显卡,他的独显也能跑,现在能安装配置了,配置文件安装不了确定是否进入了创建的conda环境,多尝试几次。 随着在安装gym的时候&#xf…

【Python报错已解决】TypeError: ‘NoneType‘ object is not callable

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

动手学运动规划: 2.2.c 3次样条曲线代码解析

学习? 学个P!☺ — 亮剑 李云龙 🏰代码及环境配置:请参考 环境配置和代码运行! 本节提供了3次样条曲线的代码测试 python3 tests/curves/cubic_spline.py2.2.c.1 3次样条曲线代码实现 CubicSpline1D实现了1维的3次样条曲线, 需要输入一组离散点. Cub…

主存储器——随机存取存储器RAM

静态RAM 双稳态触发器 一、工作特性 两种稳定状态: 双稳态触发器具有两个稳定的输出状态,通常表示为 0 和 1(或低电平和高电平)。这两个状态可以长期保持,即使在没有输入信号的情况下,也不会自发地改变。 例…

Study-Oracle-10-ORALCE19C-RAC集群搭建

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 ORACLE --RAC 搭建理念:准备工作要仔细,每个参数及配置都到仔细核对。环境准备完成后,剩下的就是图像化操作,没啥难度,所以图形化操作偷懒不续写了。 一、硬件信息及配套软件 1、硬件设置 RA…

C++初阶:STL详解(十)——priority_queue的介绍,使用以及模拟实现

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C:由浅入深篇 小新的主页:编程版小新-CSDN博客 一.priority_queue的介绍 优先级队列被实现…

手把手教你激活水果音乐制作软件FLStudio Producer Edition 24.1.1.4285 All Plugins汉化中文专业版下载

软件介绍 lmage-Line FL Studio 是由 lmage-Line 公司所开发的一款音乐制作软件,又名:水果音乐。你可以使用FL Studio 软件进行编写,编辑,录制,编辑以及混音和母带制作音乐,目前是世界上最受欢迎的音乐制作工具之一。…

【Linux】Shell脚本基础+条件判断与循环控制

目录 一、介绍 1. Linux提供的Shell解析器 2. bash和sh关系 3. Centos默认的Shell解析器是bash 二、定义 1. 变量名的定义规则 2. 等号周围没有空格 3. 查看变量 4. 删除变量 5. 正确地定义数组 6. 将局部环境变量提升为全局 7. 正确选择引号 8. 特殊变量名 三…

python 开发中识别和解决内存泄漏的技巧

Python 的内存管理是非常优秀的,它使用了自动垃圾回收机制。然而,在某些情况下,内存泄漏依然可能发生。这通常是在复杂的对象引用和循环引用的情境下容易出现,特别是涉及全局变量或不当的引用管理时。内存泄漏问题虽然并不常见&am…

Linux线程(二)线程ID及创建线程详解

1.线程ID 就像每个进程都有一个进程 ID 一样,每个线程也有其对应的标识,称为线程 ID。进程 ID 在整个系统中是唯一的,但线程 ID 不同,线程 ID 只有在它所属的进程上下文中才有意义。 进程 ID 使用 pid_t 数据类型来表示&#xf…

记录cocoscreater3.8.x设置2d卡牌圆角

引擎版本:Cocos Creater3.8.3版本 1.在Card节点上添加Mask组件,类型选择 2.在Card节点上绑定CardController.ts脚本 3.在CardController.ts编写圆角脚本,其实就是动态绘制Graphics组件 import { _decorator, Color, Component, Graphics, …

排序01 多目标模型

引入 使用机器学习方法对指标做预估,再对预估分数做融合。融合方法:加权和方法给不同指标赋予不同的权重,权重是做A/B test调试得到的。还有更好地融合方法。 多目标模型 排序模型的输入是各种各样的特征,用户特征主要是用户id和…

ADRC与INDI的关系

ADRC与INDI的关系 前言 一直热衷于把一些基础的东西想明白,这样才能更好地理解一些稍微复杂些的算法,在深入理解这些算法后才能更好地应用。 例如 用回路成型方法探究ADRC各参数对闭环系统的影响对比KF和RLS的关系互补滤波的原理以及参数整定&#xf…

【Python报错已解决】TypeError: not enough arguments for format string

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

C++【类和对象】(再探构造函数、类型转换与static成员)

文章目录 1. 再探构造函数2. 类型转换3. static成员结语 1. 再探构造函数 之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有⼀种方式,就是初始化列表,初始化列表的使用方式是以⼀个冒号开始&#…