生动理解TCP/IP三次握手
一、TCP/IP的链接和断开:
关于三次握手协议,大学老师曾经讲过一个生动的例子,说,两支军队A,B分别在两座山上,准备攻击在山间的C军,任何一支跟C打都会被打败,只有AB军同时攻打C军时才可以获胜。
接下来,
1,A军派往B军通讯兵:“我们明天12点一起攻击”。如果B军没有回传消息,A军在12点就进攻显然是很危险的(万一通讯兵被C军逮到了,B军并不知道12点一起进攻的消息)
2,B军得知“12点进攻”的消息后,当然要告诉A军,而如果A军没有回传消息的话,情况依然很危险(万一B军的通讯兵被C军逮到了,A军因为以为B军没收到进攻的消息所以没有一起进攻)
3,B军通讯兵到达A军,A军再派往B军通讯兵,告知B军,双方确认“12点一起进攻”。AB军同一时间出战便可战胜C军啦。
这里说的A军我们可以理解为是client端,B军我们可以理解为是Server端,所以在三次握手之后我们可以认为连接是可靠的。

断开:
1,客户端传完数据之后发送一个FIN关闭连接
2,server端收到客户端的FIN请求返回一个确认信号,此时客户端到服务器端是关闭的,而服务端到客户端还没有关闭
3,server端在处理完自己需要发送的数据之后也会发送一个FIN信号给客户端
4,客户端收到server的关闭信后之后,返回一个ACK确认断开。
浙公网安备 33010602011771号