如何去理解“协议”这个词


也是恰巧,在未看本书前,也对“协议”这两个字进行了深入的理解。我就直接把我先前写的粘贴多来了

为什么要单纯的去理解“协议”这个很虚的词呢?因为在我看来,知道“为什么这么做”比“知道怎么做”更重要。为什么这么说呢?

  记得我在上学时候,我把好多协议列个清单有,看着清单踌躇满志,准备像打怪升级那样一个一个的攻克,这样就能成为技术牛人,走向人生巅峰了,然后我就去看技术文档,去搞懂这是个什么协议,怎么工作的,硬件怎么连的,程序怎么写的,时序是什么样子的,搞了不久,我投降了。就拿我们经常会接触到协议来举例,uart、I2C、SPI,SDRAM、DDR、serdes、TCP/IP协议栈,其中TCP/IP协议占还包括UDP、TCP、RAP等待,还分了数据链路层等等,太多了太复杂了。我就被一堆一堆专业名词搞晕了,被看不懂的时序整糊涂了,被别人的程序逻辑整残了。那为什么会这样呢?心急,太想多学点多会点,太想学习更多的协议来提升自己,因此,只想知道这个怎么实现那个怎么做,把位置占的太低而不去考虑人家为什么这么设计,也就是忽略了为什么这么做。

其实,协议是学不完的,哪怕今天你把所有的协议都学会了,明天还会有新的协议出现,但协议都是存在共性的,当我们知道为什么了这么做,并对此有深刻的体会,就会游刃有余各种协议,简单的协议,张口即来,复杂点的协议,看看就会,没有协议满足项目需求,那就造他个协议。

协议是什么呢?

协议是人们根据器件的物理特性和使用场景想出来的让器件沟通的方法。器件不会说话,聪明的人类就设定一种方法让他们去沟通,通过交流去完成一些事情。所以说协议是人想出来的,哪怕再晦涩难懂那也是人想出来的,协议是源自于人、源自于生活的,我们是主人,是这些协议的设计者,我们要去俯视它,驾驭它甚至是玩弄它,我们要将抽象的东西回归到生活,站在一个更高的位置去做宏观的理解,然后带着这种理解和好奇心去看某个协议,看某篇文档,我想就会更有效率和动力。比如说,令人比较抓狂的专业名词,可以说就是将生活中的现象用在专业领域的另一种表述方式。

什么是响应应答,就我说老师好,老师说同学们好,

什么是通讯超时,就是我叫声美女,美女没理我。

什么是三次握手,就是我看到小张了,说了句,“哟小张”,小张说嗯,我说,你真的是小张啊,小张来句,是的,我说,真的,小张说真的。这就是TCP/IP里面的三次握手也就是这个原理,握手好了就可以干其他事了,比如说,小张吃饭了没?这就是通讯内容

 可以说,一些专业名词不是可以通过生活中的现象去解释,而是它就是源自于我们的生活,那什么是协议呢?举几个例子,

 1•我走路上看到小张,我说句:“小张,吃饭了没?”,小张回复一句:“吃了”,这就是我和小张建立起了通讯机制,通讯链路是我们发声器官和空气,通讯协议就是汉语。

 2•我又走路上,看到一条小狗,蛮可爱的,我说句:“小狗,吃饭了没?”小狗回复一句:“汪汪”,吓得我拔腿就跑,就是我和小狗通讯建立失败,虽然通讯链路建立起来了,但通讯协议确实汉语和狗语,就好用uart协议去和TA24C02通讯,对不上啊。

3•我又走路上,看到小赵我说句:“小赵”小赵回复一句:“嗯嗯“我说句:“吃了没”小赵回复一句:“吃了“,这就好比IIC协议,有起始信号,有应答信号。

4•我又走路上,看到小李,我说句:“小李,吃饭了没?”小李回了句,刚从厕所出来”。这是啥,通讯建立了,但通讯内容校验有误,这就是为啥好多通讯要做CRC校验,循环校验。

5•我走路上,看到一群美女,这把我激动的,说了句:“嗨,美女们,吃饭了没”?结果美女抬头一看这家伙怎么这么丑,没人回应我,心里想着“傻X”、“丑人多作怪”,这叫什么?多播或广播,在工程上也是用的比较多的一种方式。

所以说,通讯协议源自于生活,我们要有将抽象的东西回归到生活的心态,这样理解起来又容易又开心。

回过头来我们再说,什么是接口协议,百度说接口协议就是需要进行信息交换的接口间需要遵从的通信方式和要求。通讯方式就是这信息是用什么传递的,拿什么运过去的,通信要求就是语法,是说用汉语还是英语还是什么的。也就是说我们要让两个器件进行沟通,首先要做什么呢?确定拿什么传,然后确定说什么话,最后可以说咱想说的了。当然,这就是简单的通讯建立,复杂的通讯原理一样,但建立过程很复杂。






快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<