【计算机网络】计算机网络协议、接口与服务全面解析——结合生活化案例与图文详解
协议、接口与服务
- 导读
- 一、协议
- 1.1 定义
- 1.2 组成
- 二、接口
- 三、服务
- 3.1 定义
- 3.2 服务与协议的区别
- 3.3 分类
- 3.3.1 面向连接服务于无连接服务
- 3.3.2 可靠服务和不可靠服务
- 3.3.3 有应答服务和无应答服务
- 结语
导读
大家好,很高兴又和大家见面啦!!!
在上一篇内容中我们介绍了……
一、协议
1.1 定义
网络协议(Network Protocol)是指为了在网络中进行数据交换而建立的规则、标准或者约定。
网络协议是控制对等实体之间进行通信的规则的集合,是水平的。
不对等的实体之间是没有协议的:
1.2 组成
协议是由语法、语义以及同步三部分组成:
- 语法:数据与控制信息的格式。
- 语义:即需要发出何种控制信息、完成何种动作及做出何种应答。
- 同步(时序):执行各种操作的条件、时序关系等,即事件发现顺序的详细说明。
这里我以小明与小红这两个好友之间的交流为例进行说明:
- 语法就是指的双方交流时采用的语法规则,如中文语法规则;
- 语义则是当小明提问时,小红对问题的思考与回复;
- 同步则是指交流时的先后顺序与事件的触发条件:
在双方沟通之前,有进行过如下约定:
- 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 服务与协议的区别
服务与协议是两个完全不同的概念,主要区别如下:
-
通信对象不同
- 服务是垂直的,下层为紧邻的上层提供功能接口(如传输层为应用层提供可靠传输服务)。
- 协议是水平的,同一层对等实体间通过协议通信(如两台主机的传输层通过TCP协议协商数据传输)。
-
依赖关系不同
- 服务定义接口,协议实现功能:下层通过协议实现其向上层承诺的服务。例如,传输层通过TCP协议(三次握手、超时重传)实现可靠传输服务,向上层暴露
send()
和receive()
接口。 - 上层仅依赖服务接口:应用层调用传输层的
send(data)
,无需知晓TCP协议如何实现可靠性(如滑动窗口、拥塞控制)。
- 服务定义接口,协议实现功能:下层通过协议实现其向上层承诺的服务。例如,传输层通过TCP协议(三次握手、超时重传)实现可靠传输服务,向上层暴露
-
透明性
- 下层协议对上层透明:上层用户只能看到下层提供的服务接口,而协议实现细节(如TCP序列号管理)对上层不可见。
- 示例:应用层(浏览器)通过传输层的
send()
发送HTTP请求,但无需了解TCP如何通过ACK确认数据包。
注意:只有能被上一层实体使用的功能才称为服务,协议实现的其他功能(如流量控制)对上层透明。
3.3 分类
计算机网络提供的服务可按以下三种方式分类:
3.3.1 面向连接服务于无连接服务
在面向连接服务中,通信双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和占用的资源。因此这种服务可分为连接建立、数据传输和连接释放三个阶段。
在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,将每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这种服务常被描述为“尽最大努力交付”,是一种不可靠服务。
3.3.2 可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。
不可靠服务是指网络只是尽量让数据正确、可靠地传送到目的地,是一种尽力而为的服务。
3.3.3 有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。发送的应答可以是肯定应答也可以是否定应答,通常在收到数据有错误时发送否定应答。
无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。
结语
在今天的内容中我们介绍了计算机网络的协议、接口与服务的相关内容:
- 协议指的是计算机网络中数据交换的规则、标准与约定。由语法、语义与同步三部分组成。
- 接口是分层结构中,相邻层之间通信的通道。
- 服务是下层为紧邻的上层提供的功能调用。
今天的内容到这里就全部结束了,在下一篇内容中我们将介绍《OSI模型》,大家记得关注哦!
如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!