书城科普读物探索未知丛书-计算机王国
45421700000020

第20章 什么是TCP/IP协议

Internet是用一种称为路由器的专用计算机互联在一起的。当然,单纯将计算机硬件互联在一起并不能形成Internet,互联的计算机要在软件的指挥下才能正常地工作。这个软件就是使世界上这么多种不同类型的网络互联成为Internet所使用的协议——TCP/IP协议。TCP/IP协议就是在Internet上实现分组交换技术的软件。

那么,什么是通信协议呢?通信协议就是通信的双方在通信时所使用的约定。只有当两个人讲同一种语言时,这两个人才可能进行交流。这个道理对于计算机来说也同样适用,两台计算机除非使用同一种语言,否则它们彼此之间是不能进行通信的。通信协议是两台计算机用来交换信息所使用的一种大家所公认的规定,网络上的计算机只有遵守这种约定,才能进行信息的交流。“协议”这一词语是从外交辞令中引用来的,在外交辞令中,协议是指各国在外交事物中所应遵循的规则。

计算机通信协议精确地定义了计算机在彼此进行通信时的所有细节。例如,协议规定了每台计算机所发送的每条信息的精确格式和含义。协议也规定每台计算机在哪些情况下应该发送特定的信息,以及当一个信息到来时,一台计算机应该做出怎样的反应等。

TCP/IP协议是一组协议,其中最重要的两个协议就是TCP协议和IP协议。

IP协议,即网络互联协议,负责将需要传输的信息分割成很多信息“小包”,也就是将信息分组。每个小包除包含了部分要传输的信息外,还包含了要传送的目的地地址等重要信息。有了目的地地址信息,Internet才知道这些信息小包去往何处,才能将这些信息小包正确地传送到目的地。这正如去邮局邮信一样,你把写的信放在信封里后,还要在信封上写下收信人的地址,这样邮局才知道你的信发往何处,邮递员才能将你的信正确地送到目的地。

由于在Internet上互联了很多计算机,它就像一张大网,信息从一台计算机传输到另外一台计算机,中间需要经过很多台计算机或专用设备来实现信息的传输,这样信息的传递就可能有很多条通路。在Internet上传送时,IP协议将为每一个信息小包选择一条繁忙程度比较低,能够以很快速度到达目的地的线路。所以,信息小包传递到目的地可能走不同线路,也不一定按顺序到达。如果在信息传递线路上有某一个连接点被破坏了,信息将会通过另外的线路传输,即使网络的一部分遭到破坏,信息也可以传送到目的地。

信息到达目的地之后,IP协议会把同一条信息分割的小包重新组装起来,最后得到一条完整的信息。

TCP协议,即传输控制协议,负责管理小包的传递过程,并有效地保证数据传输的可靠性。

由于Internet的线路容量是有一定限制的,大量传输的信息小包会因为线路超载而发生堵塞,网上的设备将不得不丢弃一部分信息小包,直到堵塞解除。TCP协议将自动检测被丢弃的小包并能恢复丢弃的小包,这就保证了传输的可靠性。

Internet的结构复杂,每个数据可以通过多条路径到达同一目的地,就好像高速公路上的汽车在前方出现问题会绕道而行一样。结果由于路径的变化,一些信息小包会和它们发送时不同的顺序到达目的地,TCP自动检测到来的信息小包,并且按照它们原来的顺序调整过来。

有时,网络硬件故障也会导致重复地发送同一个信息小包。结果,一个信息小包的多个副本可能会同时到达目的地。TCP会自动检测有没有重复的信息小包到来,如果有,它只接受最先到达的信息小包。

IP协议和TCP协议各自有自己的功能,但它们是在同一时期为一个系统来设计的,在功能上相互配合、相互补充,也就是说连接Internet的计算机必须同时使用这两个协议,两者的结合才能保障Internet在复杂的环境下正常运行。因此,在实际中常把这两个协议统称为“TCP/IP”协议。