TCp 11中状态转换图

TCp 11中状态转换图_第1张图片

 

TCp 11中状态转换图_第2张图片

 

首先上面两个图。网上挺多的哦,

来说说几个我自己的理解看法吧。
首先第一个图从上往下,主动打开,发送SYN分节,这个在下面这个图也很好展现出来。我主要说同时打开的情形。
当客户在syn-sent状态,接收到syn,这个时候,实际上就是,客户发送一个请求要连接服务器,碰巧服务器这个时候也是发送了一个请求要连接客户端。
这个时候,你要想成,客户端 即将变成服务器了。所以,这个时候是会变成SYN-RCVD状态的。当接收RST的时候,( 需要注意的是RST报文段不会导致另一端产生任何响应,另一端根本不进行确认。收到RST的一方将终止该连接,并通知应用层连接复位。 )状态就变成了LISTEN了,也就是变成了服务器了。然后服务器的正常流程就是虚线的了。暂时放一边。你看,客户端变成服务器就这样。

还有一个难于理解的地方就是同时关闭,closing状态。这个,当客户端发送了FIN,主动关闭连接,进入状态FIN_WAIT1。碰巧的是,它接收到的也是FIN,也就是说服务器把这个客户端关闭了(这个客户端同时主动关闭和被动关闭)。它接收到之后,就变成closing状态。发送ACK。只要接收到了一个ACK(响应的是客户端的发送的FIN),就立马进入TIME-WAIT状态了。那么客户响应的ACK给服务端,是告诉服务端已经收到FIN,所以这个时候在等2MSL就关闭了。这种情况比最正常的要快一些。服务端的LAST_ACK也是要较之时间短一些。因为,变成last_ACK的时候,ack已经发送在路上了。而不是刚发送了FIN。注意理解哦。


 

你可能感兴趣的:(书本学习)