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