开发者社区> 问答> 正文

计算机里的服务和协议是什么关系?

计算机里的服务和协议是什么关系?

展开
收起
追风少年刘全有 2021-11-08 16:20:35 1900 0
来自:华章出版社
1 条回答
写回答
取消 提交回答
  • 服务和协议虽是截然不同的概念,但是二者却经常混淆在一起,理解二者的区别非常重要,有必要在此专门强调。服务是指某一层向它的上一层提供的一组原语或操作,服务定义了该层代表其用户执行哪些操作,但是它并没有涉及如何实现这些操作;服务也会涉及相邻两层之间的接口,其中低层是服务提供者,上层就是服务用户。

    协议是一组规则,用来规定同一层上的对等实体之间交换消息或分组的格式和含义。实体利用协议来实现其服务定义,根据网络分层原则,实体尽管可以自由地改变协议,但不能改变服务,因为服务对于用户是可见的,而协议则是不可见的。从这个视图出发,服务和协议又是完全分离的。换言之,服务涉及上下相邻层间的接口,而协议则涉及不同机器上对等实体之间发送的数据分组,如下图所示。

    image.png

    为了更好地理解,可以用编程语言来对这两个概念做一个类比。服务好像是面向对象语言中的抽象数据类型或者对象,它定义了在对象上可以执行的操作,但是并没有规定这些操作该如何实现;而协议则对应于对象方法的代码流程。

    资料来源:《计算机网络原理》,文章链接:https://developer.aliyun.com/article/726189

    2021-11-10 11:14:33
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
思科软件定义访问:实现基于业务意图的园区网络 立即下载
云通信—连接产品与用户的桥梁 立即下载
云通信—构筑直连用户之“桥” 立即下载