在两个人或两台设备之间进行通信时需要遵守一些协议。协议就是用来管理通信的一些规则。例如,在两个人面对面的交流过程中,每一种文化都存在一些隐形的规则,以规定两个人如何对话,怎样使对话继续,怎样结束对话。类似地,在打电话的过程中,我们也需要遵守一组规则。如何连接对方(拨打对方的电话号码),如何响应电话呼叫(拿起话筒),如何问候对方,如何交流流畅(当一方在讲话,另一方倾听),如何结束交谈(挂机),这些都存在某种规则。
在计算机网络中,通信发生在不同系统的实体之间。实体就是任何一种能够发送或接收信息的东西。但是,两个实体不能简单地将比特流发送给对方,并希望对方能够理解它。
协议三要素
要进行通信,这两个实体必须达成一种协议。协议定义了要通信的是什么,怎样进行通信,以及何时进行通信。协议的三个关键要素是语法,语义,时序。
语法:
语法就是数据的结构或格式,也就是指数据呈现的顺序。例如,简单的协议可以规定数据的前8位是发送器的地址,第二个8位是接收器的地址,而剩下的数据流则是报文自身。数据在存储和传输时的比特顺序也是一种数据顺序。不同的计算机在存储数据时的比特顺序可能不同。当这些计算机相互通信时,必须要解决此类分歧。
语义:
语义指的是每一段比特流分别表示什么意思,一个特定的位模式应该怎样解释?基于这样的解释又该采取什么行动?例如,同样一个地址,它指的是下一步的路由还是报文的终点呢?
时序:
时序涉及两个方面:数据应当在何时发送出去以及数据能够以多快的速度发送。例如,如果发送端产生数据的速率是每秒100兆比特(Mbps),但接收端只能以1Mbps的速率处理数据,那么这样的传输将使接收端过载并导致大量数据丢失。
因特网(计算机网络)广泛地使用了协议。不同的协议用于完成不同的通信任务。有些协议简单而直截了当,而某些协议复杂且晦涩难懂。掌握计算机网络领域知识的过程就是理解网络协议的构成,原理和工作方式的过程。