概念
在学习网络时,我们需要推敲一下协议的字面意思。
现实世界
下面是百度百科对于协议意思的解释:
意思是共同计议,协商;经过谈判、协商而制定的共同承认、共同遵守的文件。
在法律范畴中:
协议是指两个或两个以上实体为了开展某项活动,经过协商后双方达成的一致意见。
个人理解是在一个场景中,两个或两个以上的事物在面对同一个问题时,所有事物参与问题分析、提出解决方案,并将所有的解决方案经过所有参与方的协商共同制定出来的整体解决方案。对于这个解决方案中所有规则,所有参与方都必须严格最后。
举个例子:
我们进入一家新的公司工作时,我们可能会签订保密协议、竞业协议等等,这些协议就和网络协议类似。协议中罗列了很多条目,每个条目都会针对一种情况说明如何执行。比如在保密协议中有这么一条:
甲方提供正常的工作条件,为乙方的发明、科研成果提供良好的应用和生产条件,并根据创造的经济效益给予奖励。
如果乙方的发明给甲方(公司)创造了经济效益,那么甲方就必须给乙方提供奖励;如果乙方的发明没有给甲方(公司)创造经济效益,那么甲方就不必须给乙方提供奖励。
协议是一种规范,规范所有参与方的行为。没有协议就会混乱,说不清道不明或不在同一频道。
协议是一种背景知识和行为规范。
计算机世界
计算机中的协议与现实世界的协议道理是一样的。
引用百度百科对计算机协议意思的解释:
协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。
为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。
网络协议,也可简称协议,通常由三要素组成:
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)时序(同步),即事件实现顺序的详细说明。 [1]
是一系列的步骤: 它包括两方或多方,设计它的目的是要完成一项任务!
个人对协议的理解是:通信的形式多种多样,只要涉及通信就涉及到协议。
举个例子:
你对你朋友说:这个苹果真好吃,现在你能用刀帮我削皮吗?,你朋友回答:是的,这个苹果是真的好吃,那我用刀帮你削皮吧。
提取这个例子中的名词:苹果、刀、皮,动词:削;形容词:真好吃,时态:现在
名词是你和你朋友具有相同的背景知识,否则你朋友根本不知道这些是什么。(语法)
动词:这是对行为的一种指导或规范,是用刀削。(语义)
形容词:真好吃是一种感觉的形容,这也需要你们具有相同的背景知识(更确切说是口味),否则你们会你说好吃,你朋友说难吃。
时态:现在先拿起刀,然后苹果皮,削皮完成后拿给我吃。(时序)
计算机中的模块(这里使用模块是不想使用一个具体的概念,比如:计算机网卡等等)A要和模块B通信,那么两个模块要先创建一个协议,否则模块A和模块B互相看不懂通信中在说什么。
举个例子(无协议):
模块A发送一个abcd给模块B,模块B收到后不知道什么意思,更不知道如何处理,这就是缺少语义的表现。