【计算机网络】计算机网络协议、接口与服务全面解析——结合生活化案例与图文详解

发布于:2025-03-27 ⋅ 阅读:(42) ⋅ 点赞:(0)

协议、接口与服务

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们介绍了……

一、协议

1.1 定义

网络协议(Network Protocol)是指为了在网络中进行数据交换而建立的规则、标准或者约定。

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

实体1
网络协议1
对等实体1
实体2
网络协议2
对等实体2

不对等的实体之间是没有协议的:

实体1
无协议
对等实体2

1.2 组成

协议是由语法、语义以及同步三部分组成:

  • 语法:数据与控制信息的格式
以太网帧语法
TCP头
------------------
序列号: 0x3a4b
窗口大小: 8192
IP头
------------------
版本: IPv4
TTL: 64
帧头
------------------
目标MAC: 00:1A:2B:xx
源MAC: 00:0C:29:xx
帧尾
------------------
CRC校验: 0x7d3f
数据载荷
------------------
(应用层数据)
  • 语义:即需要发出何种控制信息、完成何种动作及做出何种应答。
控制逻辑与动作
校验成功
校验失败
校验CRC
开始
发送ACK确认
发送NAK要求重传
更新接收窗口
等待重传
结束
  • 同步(时序):执行各种操作的条件、时序关系等,即事件发现顺序的详细说明。
发送方 接收方 数据包 (语法: 头部+数据) 语义: 解析头部并校验 ACK (控制信息) 重传数据 (语义: 超时动作) 发送下一包 (同步: 顺序约束) alt [超时未收到ACK] [正常收到ACK] 发送方 接收方

这里我以小明与小红这两个好友之间的交流为例进行说明:

  • 语法就是指的双方交流时采用的语法规则,如中文语法规则;
  • 语义则是当小明提问时,小红对问题的思考与回复;
  • 同步则是指交流时的先后顺序与事件的触发条件:

在双方沟通之前,有进行过如下约定:

  • T01协议:当接收方未正常接收到消息时触发
  • T02协议:当接收方未在规定时间内回复时触发
  • 规定当声音超过60dB对方才能听清

第一轮对话(物理层错误):

  • 小明:[音量40dB]“你吃饭了吗?”

→ 小红检测到振幅不足,不传递至语义层
小红触发T01协议

  • 小红:[音量60dB] “你声音太小了,声音大点再问一次”

第二轮对话(协议层超时):

  • 小明:[音量60dB]你吃饭了吗?

→ 对话状态机启动10秒计时
小红:语义分析完成,但生成回复耗时12秒
→ 小明检测超时 触发T02协议

  • 小明:再次提问[音量60dB]“你吃饭了吗?”

第三轮对话(正常流程):

  • 小明:[音量60dB]你吃饭了吗?

小红:[5秒内]语义解析 → 生成回复 → 输出

  • 小红:[音量60dB]“吃过了”

→ 计时器终止,对话状态更新

二、接口

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

接口是也仅是相邻的上下层之间通信的渠道,不可能存在跨层接口,也就是说上层不可能的跨层与下层进行通信。

服务就是通过SAP提供给上层使用,第n层的SAP就是第n+1层访问第n层服务的渠道。

三、服务

3.1 定义

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

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

3.2 服务与协议的区别

服务与协议是两个完全不同的概念,主要区别如下:

  1. 通信对象不同

    • 服务是垂直的,下层为紧邻的上层提供功能接口(如传输层为应用层提供可靠传输服务)。
    • 协议是水平的,同一层对等实体间通过协议通信(如两台主机的传输层通过TCP协议协商数据传输)。
  2. 依赖关系不同

    • 服务定义接口,协议实现功能:下层通过协议实现其向上层承诺的服务。例如,传输层通过TCP协议(三次握手、超时重传)实现可靠传输服务,向上层暴露 send()receive() 接口。
    • 上层仅依赖服务接口:应用层调用传输层的 send(data),无需知晓TCP协议如何实现可靠性(如滑动窗口、拥塞控制)。
  3. 透明性

    • 下层协议对上层透明:上层用户只能看到下层提供的服务接口,而协议实现细节(如TCP序列号管理)对上层不可见。
    • 示例:应用层(浏览器)通过传输层的 send() 发送HTTP请求,但无需了解TCP如何通过ACK确认数据包。

注意:只有能被上一层实体使用的功能才称为服务,协议实现的其他功能(如流量控制)对上层透明。

3.3 分类

计算机网络提供的服务可按以下三种方式分类:

3.3.1 面向连接服务于无连接服务

在面向连接服务中,通信双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和占用的资源。因此这种服务可分为连接建立、数据传输和连接释放三个阶段。

在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,将每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这种服务常被描述为“尽最大努力交付”,是一种不可靠服务。

3.3.2 可靠服务和不可靠服务

可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。

不可靠服务是指网络只是尽量让数据正确、可靠地传送到目的地,是一种尽力而为的服务。

3.3.3 有应答服务和无应答服务

有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。发送的应答可以是肯定应答也可以是否定应答,通常在收到数据有错误时发送否定应答。

无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。

结语

在今天的内容中我们介绍了计算机网络的协议、接口与服务的相关内容:

  • 协议指的是计算机网络中数据交换的规则、标准与约定。由语法、语义与同步三部分组成。
  • 接口是分层结构中,相邻层之间通信的通道。
  • 服务是下层为紧邻的上层提供的功能调用。

今天的内容到这里就全部结束了,在下一篇内容中我们将介绍《OSI模型》,大家记得关注哦!

如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!