tcp 三次握手,一句话概括
一.总体说明
从上图可知三次握手可以简化理解为:客户端发起请求连接服务端请求确认,服务端也发起请求连接客户端确认[1]。
客户端与服务端建立TCP连接时,首先客户端向服务端发出SYN(同步请求),然后服务端向客户端回复SYN+ACK(同步请求应答),最后客户端回复ACK确认,以此建立TCP的一次连接,即TCP的三次握手过程。
二.设置原因
为什么tcp要经过如此复杂的过程进行连接呢?所谓的三次握手,其实是为了对每次发送的数据量进行跟踪与协商以确保数据段的发送与接收同步,根据所接收到的数据量确认数据发送,设置接收完毕后何时撤消联系,并建立虚拟连接[2]。
三.过程详解[3]
第一次握手
建立连接时,客户端向服务端发送syn同步包,并进入SYN_SENT阶段等待服务器确认
第二次握手
服务端收到syn包,确认后自己也发一个syn包,发送SYN+ACK包后服务器进入SYN_RECV状态
第三次握手
客户端收到服务端的SYN+ACK包后向服务器发送确认包,此包发送完毕后客户端与服务端都进入了ESTABLISHED(TCP连接成功)状态,并完成了三次握手。
参考
[1]tcp握手,一句话概括 https://blog.csdn.net/qq_44196374/article/details/103731097
[2]温子祺等编著.51单片机C语言创新教程:北京航空航天大学出版社,2011.04:第328页
[3]庞淑英主编.网络信息安全技术基础与应用:冶金工业出版社,2009.03:第128页
开发者涨薪指南
48位大咖的思考法则、工作方式、逻辑体系