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

协议、接口与服务

  • 导读
  • 一、协议
    • [1.1 定义](#1.1 定义)
    • [1.2 组成](#1.2 组成)
  • 二、接口
  • 三、服务
    • [3.1 定义](#3.1 定义)
    • [3.2 服务与协议的区别](#3.2 服务与协议的区别)
    • [3.3 分类](#3.3 分类)
      • [3.3.1 面向连接服务于无连接服务](#3.3.1 面向连接服务于无连接服务)
      • [3.3.2 可靠服务和不可靠服务](#3.3.2 可靠服务和不可靠服务)
      • [3.3.3 有应答服务和无应答服务](#3.3.3 有应答服务和无应答服务)
  • 结语

导读

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

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

一、协议

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模型》,大家记得关注哦!

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

相关推荐
lwewan13 小时前
26考研——栈、队列和数组_栈(3)
数据结构·笔记·考研
竹木有心13 小时前
考研408第七章:查找总结
考研·算法
lwewan16 小时前
26考研——栈、队列和数组_队列(3)
数据结构·笔记·考研
武帝为此1 天前
【计算机网络之以太网详解】
服务器·网络·计算机网络
网安加云课堂1 天前
课程分享 | 软件供应链安全的系统工程
计算机网络·安全·网络安全
CppPlayer-程序员阿杜1 天前
大厂面试题之计算机网络:对于socket编程,accept方法是干什么的,在三次握手中属于第几次?
c++·计算机网络·面试
程序员yt1 天前
双非一本Java方向,学完感觉Java技术含量不高,考研换方向如何选择?
java·开发语言·考研
禁小默1 天前
第二届计算机网络和云计算国际会议(CNCC 2025)
计算机网络·云计算
UestcXiye2 天前
《TCP/IP网络编程》学习笔记 | Chapter 22:重叠 I/O 模型
c++·计算机网络·网络编程·ip·tcp
武帝为此2 天前
【计算机网络ICMP协议详解】
网络·计算机网络