了解TCP/IP协议

Author: 周建军 Date: 2000年 第1期

  我们知道,因特网并不是一个单独的、封闭的网络,它是建立在全球众多网络上的一个网络集合。在因特网上存在许多不同类型的计算机,有的是PC,有的是MAC,还有的是运行各种系统的服务器。每个网络的结构也不相同,有的是总线型网络,有的是环型网络,有的是星型网络。那么是什么把这些计算机连接在一起呢?这就是TCP/IP协议。
  什么是协议呢?简单说,协议是用一套技术术语描述某些事应该怎么做的规则。TCP/IP协议是将计算机组成网络的一系列协议的总和,其命名源于其中最重要的两个协议,一个是TCP ( Transmission Control Protocol)协议,称为传输控制协议,另一个是IP(Internet Protocol)协议,称为网间互联协议。TCP/IP协议能确保不同类型的计算机及网络能够在一起工作。TCP/IP的细节非常专业和繁杂,很少有人对它的具体内容感兴趣,但对它进行简单的了解,对于我们了解因特网还是有益的。
  TCP和IP究竟是如何工作的呢?在因特网上,数据不是一下子从本地传送到目的地的,而是要把数据分解成为小包——数据包,然后再进行传送。TCP的作用就是把所有的信息分解成多个数据包,每一个数据包用一个序号和一个接收地址来标定,TCP还会在数据包中插入一些纠错信息。所有的数据被分解成数据包之后,这些数据包开始在网络上传送,传送过程是由IP完成的,IP协议负责把数据包传送给远程主机,远程主机接收到数据包,根据TCP协议核查有无错误,如果发生错误,主机会要求重发这个数据包。所有数据包都被正确接收到以后,主机按数据包的序号重新把这些小数据包组合成为原来的信息。也就是说,IP的工作是把数据包从一个地方传递到另一个地方,TCP的工作是对数据包进行管理与校核,保证数据包的正确性。
  那么为什么要将数据分解成为数据包呢?这样做当然有好处。首先,由于这些数据包不必非在一起传送,所以通信线路可以把所有类型的数据包按它们自己的目的地从一个地方传送到另一个地方。当数据包全部到达自己的目的地后再重新组装。如果在传送过程中,某段线路的连接中断,控制数据包传送的计算机可以选择另外一条线路传送以后的数据包,不必“一棵树上吊死”。这个特性有些类似于日常的运输工作,如果要运送一台几百吨重的机床,人们也不会用一辆汽车将它运走,而是将机床分解成为重量适当的零件,再把各个零件分组标号,分别由多辆汽车运输,如果某段道路不通,后面的车辆完全可以另找一条路,等全部运输到位后,再将这些小零件组装成大机床。将数据分解成数据包的第二个好处,是如果某个数据包出错,计算机不必传送所有数据,只需单独传送出错的数据包即可。但是,我们也可以看出,将数据分解成小数据包也不是一点缺点没有的,由于每一个数据包都被加入一些特定信息,比如出发地点、目的地点及序号,这无疑加大了数据的传送量,但是数据分解成小包后,传送非常灵活、可靠,再加上网上传递数据非常迅速,所以多这么一些数据也就无所谓了。
  难怪有人说TCP/IP协议是因特网的粘合剂。