再议三次握手
再议三次握手 tcp连接的三次握手和四次挥手,可以说是很多人的惯性认知了,在网上很多人的文章啊博客啊,视屏教程,还有大学老师的授课中也会这样说,tcp的三次握手,这也是面试可以说是必考的题目。然后呢在2019-9-12的夜里突然想到这个问题,这个三次握手到底是怎么回事,怎么会有三次握手呢,我的老师有一句话我记得很清楚,计算机的很多东西都是人类社会的映射,结合实际的生活经验可以理解很多东西,比如数据结构中的队列啊,栈,二叉树,面向对象啊,抽象,继承之类的显然都是,但三次握手是怎么回事,如果以握手来做比为什么是三次,和一个人握三次手这显然是,非常不符合现实逻辑的。那么下面帮大家回顾在一下tcp连接的过程,已经很熟悉的完全可以跳过下面这段 tcp的连接过程 在tcp要建立连接的时候发送方一般是客户端client,接受方一般是服务端server,下面都以这两个为例, client第一次向server发送的请求报文包含一个SYN=1,和一个随机数 seq=x, 然后server回复给client: SYN=1 和发送的随机数加一 : seq=x+1, 最后client再回复给server:ACK=1, 那么大致是这个过程,这个过程中的几个关键字这里说一下 SYN(Synchronize Sequence Numbers) 同步序列编号, ACK(Acknowledge character)