前言
-  之前学习计网时不认真,TCP三次握手稀里糊涂就过去了,最近在重新查漏补缺计网这方面的知识,饭要一口一口吃,我就没有把其中涉及到的大量知识点写在此博客中,此文仅管中窥豹,之后再详细写吧。 
-  笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。 
免责声明
- 为了方便,本文中使用的部分图片来自于网络,如有侵权,请联系博主进行删除,感谢其他博主提供的图床。
- 此笔记用于记录本人对于该知识的汇总。以方便日后的工作与学习。
- 如有侵权请告知,马上删除。
【是什么?】
- TCP三次握手:指的是客户端与服务端建立TCP链接时的过程
【为什么?】
-  确认自己和对方的发送和接收都是正常的,从而保证了双方能够进行可靠通信。 
-  客户端和服务端建立TCP链接时,通信双方必须从对方了解信息。才能确定双方是要互相建立链接的对象。 - 双方所需要了解的信息包括 
     - 对方报文发送的开始序号。
- 对方发送数据的缓冲区大小。
- 能被接收的最大报文段长度MSS。
- 被支持的TCP选项
 
 
- 双方所需要了解的信息包括 
     
【怎么做?】

第一次
-  客户端向服务器发送一个 SYN (seq=j)包,并进入SYN_SENT状态,等待服务器确认 - SYN:同步序列编号(Synchronize Sequence Numbers) 
     - seq:表示这个tcp包的序列号
 
- SYN_SENT:表示请求连接
 
- SYN:同步序列编号(Synchronize Sequence Numbers) 
     
-  【证明】客户端具备发送能力 
第二次
-  服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进SYN_RECV状态。 - ACK:表示这个包的确认号, 证明发来的数据已确认接收无误
- SYN_RECV : 表示服务器暂时无法提供正常的TCP服务。以此拒绝其他请求。
 
-  【证明】服务端具备发送能力,客户端具备接收能力 
第三次
-  客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 - ESTABLISHED:表示TCP连接成功
 
-  【证明】服务端也具备接收能力 



















