TCP链接,为什么要三次握手?
昨天面试,面试官问:为什么TCP建立连接时需要第三次握手
讲真的,我不知道,我真的不知道, 然后就有了这篇文章,简单记载一下 简单随笔,不喜勿喷
Tcp的定义以及如何连接的我在这就不记了 直接上为什么?
原因一:防止重复链接
防止旧的重复链接引起链接混乱 比如:一个网络很乱的环境,如果只有两次握手,那分不清楚这次的请求是正常的请求,还是由于网络环境问题而导致的过期请求,如果是新的请求还可以,但是如果是旧的链接发送的超时链接请求呢?
原因二:同步初始化序列化
防止数据包重复发送,以及确定数据包接受时的顺序 他会有一个偏移量,客户端发送的syn 以及 服务端的ack,这两个参数确定客户端以及服务端的相同的偏移量
嗯~就是这两个原因,这就是为什么tcp需要进行第三次握手 可能会有人再问:那为什么要进行4次挥手呢? 好的,这就是我的下一片文章的内容了 拜谢
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
凑个小热闹:python采集《狂飙》评论