当前位置: 首页 >应用方案 >技术应用 >

TCP三次握手过程以及为什么要三次握手详解

TCP三次握手国产简介

TCP三次握手是建立可靠网络连接的关键过程,TCP三次握手用于确保通信双方能够正常发送和接收数据,并提供可靠的数据传输机制。三次握手的主要目标包括:

Ø 同步双方的序列号。

Ø 确认双方的接收和发送能力

Ø 防止因为过期报文导致的误连接


三次握手过程简述

第一次握手

Ÿ 客户端发送一个SYN(同步)请求报文,表示希望建立连接,并附带初始序列号(Sequence Number)。

Ÿ 客户端进入SYN_SENT 状态,等待服务器的响应。

第二次握手

Ÿ 服务器收到请求后,回复一个SYN+ACK(同步+确认)报文。

Ÿ ACK字段确认客户端的序列号,同时服务器生成自己的初始序列号。

Ÿ 服务器进入SYN_RCVD 状态,等待客户端的确认。

第三次握手

Ÿ 客户端收到服务器的确认后,再发送一个ACK(确认)报文,确认服务器的响应。

Ÿ 客户端进入ESTABLISHED 状态,服务器也进入 ESTABLISHED 状态,连接正式建立。

1 TCP三次握手

下面是tcp头部的一个简单介绍

TCP头部介绍

上述流程中提到

序列号:

定义:序列号标识数据流中每个字节的唯一编号,用于确保数据的有序传输。

初始值:在连接建立时,序列号由发送方随机生成。

变化规则:每发送一个数据段,序列号会增加该数据段的字节数。例如,发送100字节的数据后,序列号会增加100。

作用:解决网络中数据包乱序问题,确保接收方能够按照正确顺序重组数据。

确认号:

定义:确认号表示接收方期望收到的下一个数据包的序列号。

变化规则:确认号等于接收到的序列号加上数据段的长度。如果接收到的是SYN或FIN报文,则确认号加1。

作用:通知发送方哪些数据已经被成功接收,解决丢包问题。

确认号和序列号机制是确保tcp数据传输数据可靠性的关键机制

为什么要三次握手

简单来讲,三次握手是保证通信稳定正确的最小开销。

可以有一个很简单的对话例子

Ø A - B:你听的到我吗?

Ø B A:我听得到,你听的到我吗?

Ø A B:我也听的到,我们可以开始正式交流了

所以总的来说,三次握手通过同步序列号,确认机制等等,确保了tcp连接的稳定性和可靠性


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多以太网模组产品和无线通信技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!



相关阅读:

1、TCP粘包怎么产生的以及TCP粘包问题解决方案

2、什么是TCP协议粘包以及如何解决TCP粘包问题

3、关于TCP keep-alive(保活)机制详解

4、TCP链接三次握手和四次挥手详解


点击拨打: 亿佰特官网 4000-330-990