采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
1、第一次发送数据时,最后一次握手为什么还要发送seq,我个人理解,seq在最后一次握手是没有必要的,因为接受方只需要验证传过来的ack就行了,seq没有用啊! 2、感觉三次握手也存在悖论问题。如果最后一次握手中,报文丢失,那么接受方就一直等着?另外,即使最后一次握手的报文没有丢,那么发送方又是如何知道接收方接收到了呢?那么发送方如何确定什么时候该发送数据报呢? 个人感觉这跟著名的《红蓝军对抗问题》很像,你始终没有办法确定对方接受到了啊
最后一次握手已经具备通信性质了,也即是可以进行数据的传输了,这里的seq不只是为了握手而使用的。
这个疑问挺好的,思考的挺深入。两种情况,设想第三次握手丢失了,由于发送方才是主动请求的一方,一般是客户端,那么客户端在第三次丢失的时候,一段时间没有收到服务端的确认,则会重传,再退一步,假设客户端没有重传,那么服务端打开的这个连接也会在一段时间关闭,因为连接上没有数据传输。
再假设报文没有丢失,如果没有丢失,那么服务端肯定会发送一个确认号并携带信息,发送方也即是客户端依据可靠传输,一定会受到确认。
最后,再退一步提问,那么为什么还需要第三次握手呢?这个课程上有介绍,同学可以回顾一下。
非常感谢!
老师,从您的第2条和第3条的回答来看,也就是说:客户端的第三次握手,服务端也会有响应的,是吗?
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.7k 14
1.2k 13
1.4k 11