(1)首先H3向Web服务器S发出连接请求报文段,这时首部中的同步位SYN=1,ACK=0,同时选择一个初始序号seq=100。TCP规定,SYN报文段(即SYN=1的报文段)不能携带数据,但是要消耗一个序号。接着,S收到连接请求报文段,为自己选择一个初始序号seq=y,向A发送确认。这个报文段SYN=1,ACK=1,seq=y,确认号ack是100+1=101。它不能携带数据,但是也要消耗一个序号。最后,H3收到S的确认报文段后,还要向S给出确认。这份确认报文段SYN=0,ACK=1,确认号ack=y+1,自己的序号seq=101。因此,第二次握手TCP段的SYN=1,ACK=1;确认序号是101。
(2)题目规定S对收到的每个段(MSS大小的段)进行确认,并通告新的接收窗口,而且TCP接收缓存仅有数据存入而无数据取出。H3收到的第8个确认段所通告的接收窗口是20-8=12KB;在慢开始算法里,发送方H3先设置拥塞窗口cwnd=1KB,接下来每收到一个对新报文段的确认就使发送方的拥塞窗口加1KB。H3共收到8个确认段,所以此时H3的拥塞窗口变为1+8=9KB;发送窗口=min{拥塞窗口,接收窗口},所以H3的发送窗口变为min{9,12}=9KB。
(3)TCP是用字节作为窗口和序号的单位。当H3的发送窗口等于0KB时,也就是接收窗口等于0KB时,下一个待发送段的序号是20K+101=20×1024+101=20581;H3从发送第1个段到发送窗口等于0KB时刻为止,经过五个传输轮次,每个传输轮次的时间就是往返RTT,因此平均数据传输速率是20KB/(5×200ms)=20KB/s=20.48kbps。
(4)通信结束后,H3向S发送连接释放报文段。S收到H3的连接释放报文段后,马上发出确认报文段。此时S已经没有数据需要传输,于是它也马上发出连接释放报文段。H3在收到S的连接释放报文段后,发出确认报文段。S在收到这份确认后就释放TCP连接。因此从t时刻起,S释放该连接的最短时间是:H3的连接释放报文段传送到S的时间+S的连接释放报文段传送到H3的时间+H3的确认报文段传送到S的时间=1.5×200ms=300ms。