TCP的运输连接管理——TCP的连接建立
TCP的连接建立要解决以下三个问题:
TCP使用“三报文握手”建立连接:
为什么TCP客户进程最后还要发送一个TCP普通确认报文段呢?
我们举一个最后不发送TCP普通确认报文段的,使用“两报文握手”建立连接的例子:
因此,TCP客户进程最后还要发送一个TCP普通确认报文段的原因是:
为了防止已失效的连接请求报文段突然又传送到了TCP服务器,因而导致错误。
小结
一些例题
解:
C。
由“建立连接”图可知。
TCP的运输连接管理——TCP的连接释放
第一个u和v:
u:它的值等于 TCP客户进程之前已传送过的、数据的最后一个字节的序号加1.
v:它的值等于 TCP客户进程之前已收到的、数据的最后一个字节的序号加1.
为什么TCP客户进程要有时间等待状态呢?
举一个TCP客户进程没有时间等待状态的例子:
因此,时间等待状态以及处于该状态2MSL时长可以确保TCP服务器进程可以收到最后一个TCP确认报文而进入关闭状态。另外,TCP客户进程在发送完最后一个TCP确认报文段后,再经过2MSL时长,就可以使本次连接持续时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的TCP连接中,不会出现旧连接中的报文段。
保活计时器的作用:
TCP报文段的首部格式
TCP报文段的首部格式如下:
源端口、目的端口:
序号、确认号、ACK:
数据偏移:
——该字段以4字节为单位:
0101表示5,5x4即20字节
1111表示15,15x4即60字节
保留:占6比特,保留为今后使用,目前应置为0.
窗口字段:
注意:窗口值=min(接收窗口,拥塞窗口)。
校验和:
同步标志位SYN:
终止标志位FIN:(final)
复位标志位RST:(reset)
推送标志位PSH:(push)
URG、紧急指针:(urgency)
选项:
填充: