总结十三

一.TCP连接

    TCP连接基于三次握手,使得客户端和服务器都进入数据发送就绪状态。其与UDP同为传输层协议。

1. 客户端先服务器发送一个包。包结构主要为: 发送序列(假设为200),同步标识(SYN=1)。然后进入等待状态,等待服务器的确认帧

2. 服务器收到客户端的包后向客户端发送确认包。包结构为:发送序列(假设为500),确认序列201(客户端发送序列+1), 同步标识(SYN=1), 确认标识(ACK=1)。然后进入等待状态,等待客户端的确认帧。

3. 客户端收到服务器的确认包后,向服务器回复确认包:确认序号501(服务器发送序号+1),确认标识(ACK=1),3次握手完毕后服务器和客户端变为连接established状态可以开始发送数据。

二.TCP断开

    TCP断开采用4次握手,先保证双方都不再发送数据,然后才进入close状态

1. 客户端先向服务器发送FIN包(表示数据发送终止) 包结构为: 发送序列200, 确认序列500,两个标识ACK=1, FIN=1。 然后等待接受确认帧,此时客户端仍然可以接受服务器的数据。

2. 服务器接受到FIN包后,先向服务器发送确认帧:发送序列500, 确认序列201,确认标识ACK=1. 此时如果服务器还有数据发送,则可以继续发送数据。

3. 服务器数据发送完毕后向客户端发送FIN包: 发送序列501,ACK=1, FIN=1。然后等待客户端的确认帧。

4. 客户端收到服务器的FIN包后向服务器发送确认帧:发送序列201,ACK=1。客户端等待2倍的最大网络延迟(2msl)后关闭。

猜你喜欢

转载自www.cnblogs.com/kkss/p/10914999.html