答复:ack是上一个序列增加一的结果
至于为什么必须有三次握手:
不要二次握手的原因:
而在计算机中TCP是安全的,当要进行两个进程之间的通讯时候,这时需要进行建立连接。就发起了三次握手。发送建立连接报文中有SYN和ACK,Seq,下一个返回报文信息的ACK = Seq+1。而如果有一种情况, 客户端发出的第一个连接请求报文段并没有丢失,而是在某个网络结点上停滞了一会儿,导致延误到连接关闭后的某个时间才到达服务端。本来这是一个早已失效的报文段。但服务端收到此失效的连接请求报文段后,就误认为是客户端再一次发送一个新的连接请求。于是就向客户端发出确认报文段,同意建立连接。若不采用“三次握手”,那么只要服务端发出确认,新的连接就建立了。由于现在客户端并没有发出建立连接的请求,因此客户端像大爷一样,你干啥呢,我都没跟你通信呢,就不鸟服务端。就如打电话不说话一样,浪费了大量资源。
不要四次握手的原因:
通信不可能100%可靠, 而上面的三次握手已经做好了通信的准备工作, 再增加握手, 并不能显著提高可靠性, 而且也没有必要。
四次挥手:【发送四个包】答复:ack是上一个序列增加一的结果【小写的】
数据传送完成之后,通过四次挥手断开连接!
第一次是客户机发来的。 中间两次,都是服务器发出的。 最后一次,还是终止于客户机。 dream_uping 原创文章 663获赞 2087访问量 137万+ 关注 他的留言板 展开阅读全文