【计算机网络】P3 计算机网络协议、接口、服务的概念、区别以及计算机网络提供的三种服务方式

server/2024/10/16 2:23:25/

目录

  • 协议
    • 什么是协议
    • 协议是水平存活的
    • 协议的组成
  • 接口
  • 服务
    • 服务是什么
    • 服务原语
  • 协议与服务的区别
  • 计算机网络提供的服务的三种方式
    • 面向连接服务与无连接服务
    • 可靠服务与不可靠服务
    • 有应答服务与无应答服务

协议

什么是协议

协议,就是规则的集合。

计算机网络中,我们需要在庞大的网络中有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确了所交换的数据的格式以及相关的同步方案。我们称这些为了进行网络中的数据交换而建立的规则、标准或者约定称为网络协议,网络协议也简称为“协议”。

协议是水平存活的

需要注意的是,网络协议,控制的是两个(或多个)对等实体中进行通信的规则的集合,是水平的。不对等实体间是没有协议的。比如使用 TCP/IP 协议栈通信的两个结点,结点A 的传输层与 结点B 的传输层之间是存在协议,但是 结点A 的传输层和 结点B 的网络层是不存在协议的。

协议的组成

协议是由语法、语义和同步三个部分组成。

  • 语法:规定了传输数据的格式。
  • 语义:规定了所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答。
  • 同步:规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。

一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。


接口

接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。

在典型的接口上,同一结点相邻两层的实体通过服务访问点(SAP)进行交互。服务是通过 SAP 提供给上层使用的,第 n n n 层的 SAP 就是第 n + 1 n+1 n+1 层可以访问第 n n n 层服务的地方。

每个 SAP 都有一个能够标识它的地址,且 SAP 是一个抽象的概念,实际上是一个逻辑接口,是和通常所说的两个设备之间的硬件接口是很不一样的。


服务

服务是什么

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

对等实体在协议的控制下,使得本层能够为上一层提供服务,但要实现本层协议,还需要使用下一层所提供的服务。

服务原语

上层使用下层所提供的服务时,必须与下层交换一些命令。这些命令在 OSI 参考模型中被称为 服务原语

服务原语被分为以下几类:

  • 请求: Request,由服务用户发往服务提供者,请求完成某项工作。
  • 指示: Indication,由服务提供者发往服务用户,指示用户做某件事情。
  • 响应: Response,由服务用户发往服务提供者,作为对指示的响应。
  • 证实: Confirmation,由服务提供者发往服务用户,作为对请求的证实。

这几类原语用于不同的功能,如建立连接、传输数据和断开连接等。根据是否包含全部原语,又将服务分为 有应答服务 以及 无应答服务

  • 有应答服务: 包括全部原语;
  • 无应答服务: 仅包含请求和指示两类原语。

在这里插入图片描述


协议与服务的区别

协议和服务在概念上是不同的。

  1. 只有本层协议实现了才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。
  2. 协议是“水平”的,即协议是控制对等实体之间通信的规则,而服务是“垂直”的,即服务是由下层通过层间接口向上层提供的。
  3. 另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能被称为服务。

协议、接口、服务三者之间的关系可以如下图所示:

在这里插入图片描述


计算机网络提供的服务的三种方式

面向连接服务与无连接服务

  • 面向服务 中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后,释放连接以及所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放三个阶段。TCP 就是一种面向连接服务的协议。
  • 无连接服务 中,通信前双方无需先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这是一种不可靠的服务。IP/UDP 就是一种无连接的服务。

可靠服务与不可靠服务

  • 可靠服务 是指网络具有纠错、检错、应答机制,能够保证数据正确、可靠地传送到目的地。
  • 不可靠服务 是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送至目的地,是一种尽力而为的服务。

对于不可靠服务的网络,其网络的正确性、可靠性要由应用或者用户来保障。例如用户收到信息后要判断信息的正确性,如果不正确,那么用户要把出错信息报告给信息的发送者,以便发送者采取纠错措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。

有应答服务与无应答服务

  • 有应答服务 是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。所发送的应答既可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答的服务。
  • 无应答服务 是指接收方收到数据后不自动给出应答,若需要应答,则由高层实现。例如对于 WWW 服务,客户端收到服务器发送的页面文件 后不给出应答。

http://www.ppmy.cn/server/49048.html

相关文章

【新品上架】动捕级视觉定位精度!!首款搭载 VIOBOT 模块的无人机发布!

P450_Viobot无人机是P450系列科研无人机的最新产品,硬件上采用VIOBOT定位模块,室内定位精度极高,静态定位精度可达到与动捕定位相当的厘米级定位,飞行悬停定位误差在3.5cm内。也可室外GPS飞行(可选装RTK)&a…

探索PostgreSQL的多模型世界:灵活存储,无限可能

在数据库的世界里,有一种神器,它以其无与伦比的灵活性和强大的功能,赢得了全球开发者的青睐。它就是——PostgreSQL,一个真正的多模型数据库管理系统。 为什么选择PostgreSQL? 可靠性和稳定性:PostgreSQL…

【Python推导式秘籍】:一行代码的艺术,高效数据处理之道

文章目录 🚋Python推导式🚀一、列表推导式🌈1. 了解推导式❤️2. 实践💥3. 总结 🚀二、字典推导式🌈1. 了解字典推导式❤️2. 实践💥3. 总结 🚀三、集合推导式🌈1. 了解集…

git常用指令及bug解决(更新自用)

目录 一、基本指令1、下载指定分支内容2、分支相关3、在指定分支上提交更改后的最新代码4、git对比两份代码的差异(1)对比本地代码和对应的远程代码差异(2)对比两个不同仓库代码的差异 二、报错解决1、git pull报错 一、基本指令 …

广东启动“粤企质量提升工作会议” 着力提升产品和服务质量

6月5日,由广东质量峰会组委会牵头,联合相关质量、信用、打假和检验检测等部门共同举办的“粤企质量提升工作会议”在广州正式启动。本次工作会议旨在贯彻落实《质量强国建设纲要》及《广东省质量强省建设纲要》精神,深入开展全民质量行动,弘扬企业家和工匠精神,营造政府重视质量…

[C#]使用C#部署yolov10的目标检测tensorrt模型

【测试通过环境】 win10 x64vs2019 cuda11.7cudnn8.8.0 TensorRT-8.6.1.6 opencvsharp4.9.0 .NET Framework4.7.2 NVIDIA GeForce RTX 2070 Super cuda和tensorrt版本和上述环境版本不一样的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:T…

在 Ubuntu 上取消登录密码和锁屏功能的简易指南

你可以使用终端命令来直接设置取消登录密码和锁屏功能。以下是具体步骤: 取消登录密码 打开终端。编辑 /etc/gdm3/custom.conf 文件:sudo nano /etc/gdm3/custom.conf在 [daemon] 部分下,添加或修改以下行:AutomaticLoginEnable…

【Python】数据处理:SQLite操作

使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为 sqlite3 的模块,可以直接使用。 import sqlite3数据库连接和管理 连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库…