在2 0 . 7节,我们把一个连接的容量表示为
c a p a c i t y (b) = b a n d w i d t h (b/s) × ro u n d-t r i p t i m e ( s )
并称之为带宽时延乘积。也可称它为两端的管道大小。当这个乘积变得越来越大时, T C P的某些局限性就会暴露出来。图 2 4 - 5显示了多种类型的网络的某些数值。
可以看到带宽时延乘积的单位是字节,这是因为我们用这个单位来测量每一端的缓存大小和窗口大小。
具有大的带宽时延乘积的网络被称为长肥网络( Long Fat Network,即L F N,发音为“e l e f a n ( t ) s”),而一个运行在 L F N上的T C P连接被称为长肥管道。回顾图 2 0 - 11和图2 0 - 1 2,管道可以被水平拉长(一个长的 RT T),或被垂直拉高(较高的带宽),或向两个方向拉伸。使用长肥管道会遇到多种问题。
在长肥网络 L F N上,T C P的序号会碰到一个不同的问题。由于序号空间是有限的,在已经传输了4 294 967 296个字节以后序号会被重用。如果一个包含序号 N字节数据的报文段在网络上被迟延并在连接仍然有效时又出现,会发生什么情况呢?这仅仅是一个相同序号N在M S L期间是否被重用的问题,也就是说,网络是否足够快以至于在不到一个M S L的时候序号就发生了回绕。在一个以太网上要发送如此多的数据通常需要 6 0分钟左右,因此不会发生这种情况。但是在带宽增加时,这个时间将会减少:一个 T 3的电话线(45 Mb/s)在1 2分钟内会发生回绕,F D D I(100 Mb/s)为5分钟,而一个千兆比网络(1000 Mb/s)则为3 4秒。这时问题不再是带宽时延乘积,而在于带宽本身。在2 4 . 6节,我们将介绍一种对付这种情况的办法:使用 T C P的时间戳选项的 PAW S(Protection Against Wrapped Sequence numbers)算法(保护回绕的序号)。
4 . 4 B S D包含了我们将要在下面介绍的所有选项和算法:窗口扩大选项、时间戳选项和保护回绕的序号。许多供应商也正在开始支持这些选项。
千兆比网络 当网络的速率达到千兆比的时候,情况就会发生变化。 [Partridge 1994]详细介绍了千兆比网络。在这里我们看一下在时延和带宽之间的差别 [Kleinrock 1992]。
考虑通过美国发送一个 1 0 0万字节的文件的情况,假定时延为 30 ms。图2 4 - 6显示了两种情况:上图显示了使用一个 T 1电话线(1 544 000 b/s)的情况,而下图则是使用一个 1 Gb/s网络的情况。x轴显示的是时间,发送方在图的左侧,而接收方则在图的右侧, y轴为网络容量。
两幅图中的阴影区域表示发送的 1 0 0万字节。
图2 4 - 6显示了30 ms后这两个网络的状态。经过 30 ms(延时)以后数据的第1个比特都已到达对端。但对T 1网络而言,由于管道容量仅为 5 790字节,因此发送方仍然有 994 210个字节等待发送。而千兆比网络的容量则为 3 750 000字节,因此,整个文件仅使用了 2 5%左右的带宽,此时文件的最后一个比特已经到达第 1个字节后8 ms处。
经过T 1网络传输文件的总时间为5 . 2 11秒。如果增加更多的带宽,使用一个T 3网络(45 000 000 b/s),则总时间减少到0 . 2 0 8秒。增加约2 9倍的带宽可以将总时间减小到约2 5分之一。
使用千兆比网络传输文件的总时间为0 . 0 3 8秒:30 ms的时延加上8 ms的真正传输文件的时间。假定能够将带宽增加为 2000 Mb/s,我们只能够将总时间减小为 0.304 ms:同样30 ms的时延和4 m s的真正传输时间。现在使带宽加倍仅能够将时间减少约 1 0%。在千兆比速率下,时延限制占据了主要地位,而带宽不再成为限制。
时延主要是由光速引起的,而且不能够被减小(除非爱因斯坦是错误的)。当我们考虑到分组需要建立和终止一个连接时,这个固定时延起的作用就更糟糕了。千兆比网络会引起一些需要不同看待的连网观点。