TCP使用______实现了端到端的流量控制。
A.超时重传
B.滑动窗口协议
C.虚电路
D.全双工连接
参考答案:B
解析:传输控制协议(TCP)作为TCP/IP协议族中最主要的协议之一,它为应用程序直接提供了一个可靠的、可流控的、全双工的流传输服务。
在TCP中,使用滑动窗口协议进行流量控制。滑动窗口协议是一种改进的连续ARQ协议,它在发送端和接收端分别设定所谓的发送窗口和接收窗口。发送窗口用来对发送端进行流量控制,而发送窗口的大小代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧而不可以接收哪些帧。在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。当接收端接收到了接收窗口内起始的那个数据帧后,接收窗口将向前移动。同理,当发送端收到了发送窗口内起始帧对应的确认帧之后,发送窗口也将向前移动。不难看出,只有在接收窗口向前移动时,发送窗口才有可能向前移动。正因为收发两端的窗口按照以上的规律不断地向前滑动,因此这种协议被称为滑动窗口协议。下面来看一个例子,如图7.3所示。
从图7—3中可以看到,发送方首先发送了2KB的数据,顺序号为0,此时接收方的缓冲区为空。接收方接收到这段数据后,回送发送方确认信息,其中表明了确认2048B,接收窗口大小为2048B。随后,由于接收窗口的大小限制,发送方在③中又发送了2048B的数据。这时,接收方的缓冲区已满,故在④中指明了窗口尺寸为0。这样,发送方将停止继续发送,开始等待,直到接收方的缓冲区重新有空闲空间。