????TCP的运输连接管理—TCP的连接建立
为什么不能使用二报文握手?
????小结
????TCP的运输连接管理—TCP的连接释放
TCP客户发送了最后的确认报文之后为什么要有“时间等待”阶段才能关闭?有必要等待吗?
为什么避免TCP最后的确认报文丢失TCP进入关闭状态后TCP服务器会一直发送超时重发报文 但TCP客户已经关闭 所以就会出现TCP服务器无法进入关闭状态
.
????保活计时器
????小结
????TCP报文段的首部格式
????源端口:
占16比特,写入源端口号,用来标识发送该TCP报文段的应用程序
????目的端口:
占16比特,写入目的端口号,用来标识接受该TCP报文段的应用进程
????序号:
占32比特,取值[0,2^32-1],序号增加到最后一个后,下一个序号就又回到0指出本TCP报文段数据载荷的第一个字节的序号
????确认号字段:
占32比特,取值范围[0,2^32-1],确认号增加到最后一个后,下一个确认号就会又回到0
????确认标志位ACK:
取值为1时 确认号字段才有效,取值为0时确认号字段无效TCP规定,在连接建立后所以传送到TCP报文段都必须把ACK置1
????数据偏移:
占4比特,并以4字节为单位用来指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有所远
0101等于5 以4为一个单位 4x5=20字节
1111等于15 以4为一个单位 4x15=60字节
????保留:
占6比特,保留为今后使用,但目前应置为0
????窗口:
占16比特,以字节为单位。指出发送本报文段上一方的接受窗口
????校验和:
占16比特,检查范围包括TCP报文段问首部和数据载荷两部分在计算校验时,要在TCP报文段的前面加上12字节的伪首部
????同步标志位SYN:
在TCP连接建立时用来同步序号
????终止标志位FIN:
用来释放TCP连接
????复位标志位RST:
用来复位TCP连接
????推送标志位PSH:
接收方的TCP收到该标志位为1的报文段会尽快上交应用进程,而不必等到接受缓存都填满后再向上交付
????紧急标志位:
取值为1时紧急指针字段有效,取值0时紧急指针字段无效。
????紧急指针:
占16比特,以字节为单位,用来指明紧急数据的长度
????填充:
由于选项的长度可变,因此使用填充来确保报文段首部能被4整除(因为数据偏移字段,也就是首部长度字段,是以4为单位的)
????小结
学习资源来源:
湖科大 计算机网络微课堂