2. 网络的传输性能参数
  下面我们以两台计算机互连的最简单的网络为例讨论网络的传输性能参数。图10.29是两台计算机连接的最简单网络。每台计算机有一个FIFO的数据队列。
图10.29 连接两台机器的简单网络
  一台机器发送消息给另一台机器时,发送方的步骤如下:
  (1)应用程序把要发送的数据拷贝到操作系统的缓冲区。
  (2)操作系统根据要发送的数据计算出检查和,并把它加在消息中,同时启动超时计数器。
  (3)操作系统把缓冲区中的数据送到网络接口硬件并通知硬件开始发送消息。
  消息包的接收和上述步骤正好相反。
  (1)系统把数据从网络接口硬件拷贝到操作系统缓冲区。
  (2)系统根据接收到的数据计算出检查和。如果计算出的检查和与发送过来的检查和匹配,则接收方发一个回答信号给发送方。如果不匹配,则删除这个消息,因为发送方在超时计数器超时后会重发这个消息。
  (3)如果数据通过检查,系统把接收到的数据拷贝到用户地址空间并启动应用程序继续执行。
  发送方接收到回答信号后,可以释放系统缓冲区的消息了。如果发送方的超时计数器已超时,那么它重发消息。
  下面我们给出互连网络传输方面的性能参数:
  (1)频宽(Bandwidth) 它是指消息进入网络后,互连网络传输信息的最大速率。它的单位是兆位/秒,而不用兆字节/秒。
  (2)传输时间(Transmission time) 消息通过网络的时间,它等于消息长度除以频宽。
  (3)"飞行"时间(Time of flight) 消息的第一位信息到达接收方所花费的时间,它包括由于网络中转发或其它硬件所起的时延。
  (4)传输时延(Transport latency) 它等于"飞行"时间和传输时间之和。它是消息在互连网络上所花费的时间,但不包括消息进入网络和到达目的结点后从网络接口硬件取出数据所花费的时间。
  (5)发送方开销(Sender overhead) 处理器把消息放到互连网络的时间,这里包括软件和硬件所花费的时间。
  (6)接收方开销(Receiver overhead) 处理器把到达的消息从互连网络取出来的时间,这里包括软件和硬件所花的时间。
  所以一个消息的总时延可以用下面公式表示:
  总时延=发送方开销+"飞行"时间++接收方开销
  这几个性能参数的关系如图10.30所示。
图10.30 互连网络的传输性能参数