TCP建立连接概述及三次握手、四次挥手的流程

连 接 概 述
顺着第一篇的思路下来,到最后我们已经可以依靠分层达到两台主机之间的自由通信,那么问题来了,假设现在有主机a(客户端)及主机b(服务端),其中主机a需要访问主机b的资源,需要哪几个必要条件呢?经过上篇文章可知至少需要四个条件:
主机a需要具有一个ip地址主机b需要具有一个ip地址主机a需要具有一个客户端端口号主机b需要具有一个服务端端口号
具备上述四个条件后a获取b的信息是有要求的,根本上的要求是数据信道可靠,就是平时所说的可靠连接,那么如何保证连接的可靠性呢,tcp协议就是靠确认应答机制、超时重传机制等保证连接可靠性的,接下来就通过tcp协议的三次握手及四次(三次)挥手来分析一下a与b建立连接、关闭连接的技术细节是如何落地实现的。
三 次 握 手
第一次: 首先客户端a会向服务端b发送一个数据同步请求,可以称为建立连接请求syn,同时客户端a 的cpu内核会为这个syn请求生成一个随机的序列号seq发送给服务端。此处整体称为第一次握手,注意此处为随机序列号。
第二次: 服务端b接到客户端a发送的syn请求后,会回复一个[syn+ack]的响应,其中syn仍表达数据同步的意思,这个应答seq值由服务端b的cpu随机生成,ack的值为第一次握手seq的值+1,ack表示两层含义:
服务端b已经收到了客户端a发过来的数据同步请求希望客户端接下来的应答消息的seq的值以ack回复的值开始传输。这个称为第二次握手。
第三次: 客户端a接收到服务端b的[syn+ack]应答消息会给b回复一个ack应答,ack消息中seq值为第二次握手ack的值,而ack则为第二次握手的请求的seq值+1。
三次握手通信释义图如上所示,接下来我们来通过抓包的形式来看一下实际报文,印证三次握手的报文通信。
笔者通过wireshark(抓包工具)抓取数据包,采用打开一个浏览器网页的场景模拟对服务器b的请求。
第一次握手抓包图如下:
第二次握手抓包释义图如下:
第三次握手抓包释义图如下:
通过三次握手的抓包可以很清晰的展示三次交互流程,可能有人会有连带的疑问,为什么一定是三次,而不是别的次数,这里三次其实是最优的次数,而不是一定的次数,比如如果两次的话a、b两方将会有一方无法做出信息是否送达的确认,而超过三次则造成了浪费,因为三次交互中a、b都已经对两方应答一次了。接下来来看一下四次挥手的交互流程。
四 次 挥 手
理解三次握手及流程后,四次挥手其实本质和三次握手的确认流程基本上是一样的,下面我们简单梳理一下挥手标准流程。
第一次: 当a确认当前连接数据已经全部发送完成以后,会发起关闭连接请求,此时a不再发送业务报文,发送的请求标志为fin ,seq为x,此处整体为第一次挥手。
第二次: b收到a发出的关闭连接的请求之后,会给a一个确认响应,告诉a我收到你关闭连接的请求了,但是我有可能还有没发完的数据需要继续给你发送,响应的标志为ack,seq为y,ack为x+1,此处整体为第二次挥手。
第三次: 当b把数据传输完之后会发送释放连接响应,此处标志b释放连接,不会再发送业务报文,此时请求的标志为fin+ack,seq的值为y,ack的值为x+1,此处整体为第三次挥手。
第四次: a对b第三次挥手做最后确认,并释放连接,此时请求标志为ack,seq为x+1,ack为y+1。
四次挥手通信释义图如上所示,由于三次握手的每一次都通过抓包工具详细描述了通信详情,此处挥手抓一个整体包截图,由读者自行解析分析即可。
四次挥手抓包整体释义图如下:
可以看到,这里面的挥手包数与咱们分析的标准流程不一样,这里是因为第二次和第三次挥手都是b向a发起确认响应,区别是第二次只是确认,因为可能还有数据没有传完,要继续传,全部数据传完后b才能发出最后指令进行释放连接,但这时如果发第二次挥手的时候就可以确认没有数据需要再同步给a了,这时如果按照标准流程,b会给a发送两个相同的数据包,这样就造成了资源浪费,故这块挥手做了优化,可以确认数据的情况下,可以把第二次和第三次挥手合并成一次,所以此处是三次握手。

智慧管廊:管廊安全监测系统、综合管廊环境实时在线监测系统
iPhone8今晚在美国发布,二手的苹果7拍出天价比iPhone8还要贵,欲意何为?
肉类水产品检测仪的应用及性能
现有感知系统的瓶颈 是自动驾驶迈进量产阶段的重要难题
伦敦奥运会主场馆“伦敦碗”:360度全彩LED显示屏
TCP建立连接概述及三次握手、四次挥手的流程
Bourns 推出四款全新大功率电流检测电阻系列 专为电力电子提供精确的电流测量
C语言中驱动法编程的代码案例
OPPO R11仅仅请了明星代言?看看你经常使用的APP吧
ADI FMC子卡支持赛灵思7系列数模转换
arp命令的功能及使用方法
控制系统之间如何实现时钟同步?
世界上第一款可卷曲的触控平板电脑
2020年全球笔记本和台式机需求暴涨
电力行业数据中心机柜端智能母线槽配电方案
手机的待机时间
MWC Barcelona:可折叠设备,真正的5G,以及微软的HoloLens 2
75英寸创维剧幕影院A3将正式开售,超大屏刷新体验,更有这三大独特优势!
外卖云打印机怎么选?保姆级评测来了,买哪款看这篇就够了!
3D全息广告机常用MOSFET-IRF9310PBF