传输层(2)-TCP连接的建立和终止、TIME_WAIT状态

1.TCP连接的建立和终止
1)三路握手
  • 客户端发送一个SYN(同步)分解,告诉服务器客户将在连接中发送的数据的初始序列号。
  • 服务器发送确认客户的SYN(ACK),同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。
  • 客户端发送确认服务器的SYN(ACK)
 
2)TCP连接终止-四路挥手
  • 主动端发送FIN分节
  • 被动端接受,并由TCP发送ACK
  • 一段时间后,被动端发送FIN分节
  • 主动段接受并发送ACK
 
3)TCP状态转换图
传输层(2)-TCP连接的建立和终止、TIME_WAIT状态
 传输层(2)-TCP连接的建立和终止、TIME_WAIT状态
4)观察分组
传输层(2)-TCP连接的建立和终止、TIME_WAIT状态
传输层(2)-TCP连接的建立和终止、TIME_WAIT状态
说明:客户端、服务端的MSS可以不同。
 
2.TIME_WAIT状态
MSL(最长分节生命期)
该状态有两个存在的理由:
1)可靠地实现TCP全双工连接的终止
执行主动关闭的那一端处于TIME_WAIT状态:因为可能不得不重传最终那个ACK。
2)允许老的重复分节在网络中消逝
假设在12.106.32.254的1500端口和206.168.112.219的21端口之间有一个TCP连接。关闭这个连接,过一段时间后在相同的IP地址和端口之间建立另一个连接。
TCP必须防止来自某个连接的老的重复分组在该连接已终止后再现,从而被误解成属于同一连接的某个新的化身的分组。
 
上一篇:C中对整数的大端对齐与小端对齐的理解


下一篇:大端BigEndian、小端LittleEndian与字符集编码