为了账号安全,请及时绑定邮箱和手机立即绑定

关于TCP三次握手问题的深究

关于TCP三次握手问题的深究

Cats萌萌 2018-07-22 14:45:23
三次握手的流程和基础我都知道,各位不用跟我讲解基础概念问题在于为什么不能进行二次握手的问题1.从客户端传送到服务器的信息在网络中延迟了很久才传到,服务器接受到消息后,返回确认信息,但是此时客户端的连接已近关闭,但服务器还是一直等待,这样会造成服务器资源的浪费这种能理解2.从客户端传送到服务器的信息在网络中延迟了很久才传到,服务器接受到消息后,返回确认信息,但是客户端已经放弃了第一次的连接,发送了第二次连接的请求,当客户端收到请求后会认为这是第二次请求的确认,从而建立连接。好,问题就在这,在发送连接请求和确认连接请求的时候,我们都会发送序号和确认号,假设第一次客户端发送请求时的序号为x,那么服务器返回确认信息的包中的确认号就应该是x+1,那客户端发送的第二次连接请求的序号显然不会为x,假设为y,那么当客户端收到服务器返回的确认信息中确认号为x+1,就应该不会建立连接,因为他需要等待是一个确认号为y+1的。那么这第二种问题就不应该存在。本人对tcp的理解只停留在概念上,没有做过实际上对于tcp的研究,所以可能有某些地方理解上出现了问题,希望大家能指出。我觉得可能的答案:1.客户端不会对确认号进行确认,但是为什么?2.两次发送请求的序号相同(应该不可能,随机生成的)3.这种问题不存在
查看完整描述

2 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

1 TCP提供可靠的链接,两次握手,客户端能够确认自己发给服务器的数据服务器能收到,自己也能收到服务器的数据,但是服务器并不知道自己发给客户端的数据客户端是否能收到,。所以需要三次握手

2、“网络中延迟了很久才传到” ,说明的你的网络太烂,TCP握手失败。需要改进网络


查看完整回答
反对 回复 2018-07-29
  • 2 回答
  • 0 关注
  • 1265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信