400-018-7770

为什么不能只有一个协议?

作者:发布时间:2019年07月22日

当我们知道TCP/IP是一个协议群的时候,我想有些人会有这样一个疑问。为什么要有这么多的协议?如果是关于通信的话,为什么我们不能用一个比较全的协议,这样不是更简单?
对于这个问题我想说:多不等于复杂,少不等于简单。有时候可能恰恰相反。
对于上面那句话的解释和对“为什么不能只有一个协议?”问题的回答我想分两个方面回答:
(1) 对于通信,我们的客观世界本身是有所区分的。举个例子,我们要将信息发给其他人,对于我们来说,就是我们电脑的消息转移到其他人的电脑上,至于怎么完成这件事的放大,我们一概不知。可是有一点我们是可以明白的。就是,我们电脑里的东西不可能如隔空取物一般的到人家的电脑里,肯定是根据什么什么东西传输过去的。
其实,通过为了达成我们所描绘的文件传输,其实需要线缆、无线信号和每个电脑是具有的唯一的地址等条件。我们看这些条件,就发现了这里面有很多东西是属于不同类别的,有的是物体,比如线缆,有的是无线的,比如无线电。如果我们以这个思路将我们的协议分为几个层面,让每个层面有专门的协议去负责,那么我们既可以做到详细和完整,我们还可减轻工作量,如我们要修改协议,我们不需要将所以的协议都改,只需要修改我们需要的部分就好了。
(2) 第二个原因更加直白:没有人能够全面掌握互联网中的传输状况
在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。
这种机制称为路由选择(routing),有点像快递公司的送货过程。想要寄快递的人,只要将自己的货物送到集散中心,就可以知道快递公司是否肯收件发货,该快递公司的集散中心检查货物的送达地址,明确下站该送往哪个区域的集散中心。接着,那个区域的集散中心自会判断是否能送到对方的家中。我们是想通过这个比喻说明,无论哪台计算机、哪台网络设备,它们都无法全面掌握互联网中的细节。
就是因为没有人能知道互联网的信息传输的所有细节,那么我们就无法只用一个协议去将它的一切都包括起来。我们将协议根据一个思路进行分组和切割,让负责这一块的人来了解这一块的协议,这种分工协作更专业也更加科学。

上一篇:什么是TCP/IP

下一篇:TCP/IP的分层