生动理解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确认断开。

 

posted @ 2015-05-14 20:43  曾曾曾  阅读(217)  评论(0)    收藏  举报