简述三次握手与四次挥手
TCP连接的建立与关闭图
三次握手:建立连接
第一个TCP报文段包含SYN标志,因此它是一个同步报文段,即客户端向服务器发起连接请求,同时,该同步报文段包含一个ISN值为535734930的序号。
第2个TCP报文段也是同步报文段,表示服务器同意与客户端建立连接。同时它发送字节ISN值为2159701207的序号,并对第一个同步报文段进行确认。确认值是535734931,即第一个同步报文段的序号值加1。序号值是用来标识TCP数据流中的每一字节的。但同步报文段比较特殊,即使它并没有携带任何应用程序数据,它也要占用一个序号值。
第3个TCP报文段是客户端对第2同步报文段的确认,至此,TCP连接就建立起来了。
建立TCP连接的这三个不走被称为TCP三次握手。
# 四次挥手:断开连接后面四个TCP报文段是关于关闭连接的过程。第4个TCP报文段包含FIN标志,因此它是一个结束报文段,即客户端要求关闭连接。结束报文段和同步报文段一样,也要占用一个序号值,服务器用TCP报文段5来确认该结束报文段。紧接着发送自己的结束报文段6,客户端则用TCP报文段7给予确认。实际上,仅用于确认目的的确认报文段5是可以省略的,因为结束报文段6也携带了该确认信息。确认报文段5是否出现在连接断开的过程中,取决于TCP的延迟确认特性。
# TCP状态转移 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9d17b45d487444918a0bbd5ee95779a2.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5MTUyOTAx,size_16,color_FFFFFF,t_70)