分组交换技术
计算机网络通常不是在通信的每两台计算机之间连接一条专用的线路。相反,网络系统中的多台计算机共享低层的硬件设备。就像我们使用的电话系统一样,每一家电话有两根线,一个进一个出,而不是在每两个有电话的地方都联上两根线,这种共享是出于经济的考虑:多台设备共享一条传输线路降低了成本。因为这样可以只使用少量的线路和少量的交换设备。所以,共享传输线路的优点是节约资金。
共享传输路径并不是一个新的思想,而且也不局限于计算机网络。例如,打电话,当有一个人给你打电话时,电话局的交换设备就把你和他之间的线路连通,这时,如果有另一个人再给你打电话,他就会听见忙音,第二个人必须等到第一个人挂断电话后才能打进来,也就是说,此时第一个打进电话的人独占了你的电话线路,同一时间这条线路只能提供给一个人使用,从而影响了别人的使用。所以,共享传输线路的缺点是在时间上产生了延迟。
那么,如何防止一台计算机由于长时间任意占用共享传输线路而导致其他计算机都要等候很长时间呢?有人想出了一个解决方法,那就是让网络中每一台计算机每次只能传送一定的数据量。这种分割总量、轮流服务的规则就叫做分组交换。分组交换的思想是在60年代提出来的,每次所能传送数据的单位称为一个分组,也称为信息小包。目前计算机网络,无论是局域网,还是广域网,都使用分组交换技术。
为了说明为什么分组交换可以避免延迟,请看下面的例子。
假设有3台计算机A、B、C,分别要从Internet上获得的数据量是80字、100字和40字,那么网络在给这3台计算机传送数据时,并不是先为A或B或C传完后再给另两台传,而是规定每一次的传输量,比如每次传20字,轮流给这3台计算机传输。
这种设计使得A、B、C3台计算机所等待的时间都是最合理的。
计算机很容易将数据分成组。如果A需要发送一个长的信息到C,计算机将这一信息分成许多分组。如果B有一个短的信息要发送给D,那么该信息可能单独一个分组或者几个分组就能容纳下。在发送了一个分组之后,B可以发送它自己的分组。这样,B无需等到A发送所有的分组就有机会发送自己的分组。结果,短的信息无需等待长信息发送结束后才发送。
在大多数分组交换网络中,分组传输的速度很快。例如,典型的局域网1秒钟可在两台计算机之间传输1000个大的分组。传输小的分组所需时间比这还要小一些。对于人来说,在千分之几秒内发生的时间可认为是立即的。因此,分组交换技术能够使多台计算机在一个共享网络上进行通信是有最小的延迟的。
网络共享是自动的。分组交换技术允许任何一台计算机在任何时候都能发送数据。一台计算机在其他计算机准备好使用网络之前就发送分组。如果只有一台计算机需要使用网络,那么该台计算机可以连续发送分组。一旦,另一台计算机准备开始发送数据,那么共享就开始了。两台计算机轮流发送,两台计算机公平地分享网络。如果第三台计算机准备开始发送数据,那么3台计算机公平地分享网络。当一台计算机停止发送数据时,网络会自动地调整共享的策略。例如,如果3台计算机平等地共享网络,而其中一台的数据发送结束后,那么剩余的两台计算机轮流分享网络进行发送。
更为重要的是,每台计算机并不需要知道同一时刻还有多少台计算机在使用网络,关键是由于分组交换系统能够在有计算机准备发送数据和有计算机结束发送数据时,立即进行自动调整,因而每台计算机在任何一个给定的时刻都能够公平地分享网络。
网络的自动调整是通过网络的接口硬件。也就是说,网络无需任何“计算”,也不需要各台计算机在开始使用网络之前进行协调。相反,任何一台计算机可以在任何时候产生分组。当一个分组就绪后,计算机的接口硬件开始等待,等轮到自己发送时,就把分组发送出去。因而,从计算机的角度看,公平地使用共享网络是自动的。
Internet也是一个分组交换系统。Internet的硬件包括供多个用户共享的物理线路,分组交换允许多台计算机之间进行通信。在Internet上的所有数据都以分组的形式发送。发送方将信息或文本划分成分组后在Internet上传送,而接受方则将接受到的分组重新组装成原来的信息。同一时刻在Internet上流动着来自许多台计算机的分组。
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”协议。
Internet的地址和域名
IP地址
为了使信息可以在Internet上正确地传送到目的地,连接到Internet上的每台计算机必须拥有一个唯一的地址,这就如使用电话一样,每个电话必须有一个不同于其他电话的号码,才不会产生混淆。为每台计算机指定的地址是一组数字,称为“IP地址”。这个地址在整个Internet上只表示唯一的一台计算机。连接到Internet上的两台计算机不应具有相同的IP地址。一般把IP地址分成4个字节,每个字节用十进制数表示,字节之间用圆点分开。例如:168.160.233.10。