TCP三次握手(TCP 3-Way Handshake Process)
文章目录
1. 概念
TCP-Transmission Control Protocol;传输控制协议。因为连接可靠性而更加流行。
UDP-User Datagram Protocol;用户数据报协议。场景:可以找到UDP的应用程序在查询DNS服务器,以获得二进制等值的域名用于网站。两者都在传输层!
五层协议:应用层——运输层(传输层)——网络层——数据链路层——物理层。
TCP/IP 协议中只有四层,将数据链路层和物理层合成了网络接口层;
OSI则有7层:将应用层继续拆成应用层——表示层——会话层;
2. 三次握手具体过程
整体示意图
详细示意图
- Step 1 (SYN) : In the first step, client wants to establish a connection with server, so it sends a segment with SYN(Synchronize Sequence Number) which informs server that client is likely to start communication and with what sequence number it starts segments with
- Step 2 (SYN + ACK): Server responds to the client request withSYN-ACK signal bits set. Acknowledgement(ACK) signifies the response of segment it received and SYN signifies with what sequence number itis likely to start the segments with
- Step 3 (ACK) : In the final part client acknowledges the response of server and they both establish a reliable connection with which they will start the actual data transfer
- 步骤1(SYN):第一步,客户端要与服务器建立连接,因此它发送带有SYN(同步***)的段,该段通知服务器客户端可能开始通信以及以什么***开始分段。
- 步骤2(SYN + ACK):服务器通过设置SYN-ACK信号位来响应客户端请求。Acknowledgement(ACK)表示接收到的段的响应,SYN表示可能以哪个***开始的段。ACK=对方的SYN+1。
- 步骤3(ACK):在最后一部分,客户端确认服务器的响应,并且它们都建立了可靠的连接,通过这个它们将开始实际的数据传输。
步骤1、2建立一个方向的连接参数(***)并确认。步骤2、3建立另一个方向的连接参数(***)并确认。这样,就建立了全双工通信。
注意:在建立客户端和服务器之间的连接时,初始***是随机选择的。
一句话 ACK就是收到回复,SYN是***。
总结:
- TCP 3-way handshake是TCP/IP网络中用于在服务器和客户机之间建立连接的过程。
- Syn用于发起和建立连接 ACK帮助确认对方已经收到SYN
- synack是来自本地设备的一个SYN消息,它是先前数据包的ACK。
- FIN用于终止连接。
- 在TCP握手过程中,客户端需要通过请求与服务器的通信会话来发起会话
- 在第一步中,客户机与服务器建立连接
- 在第二步中,服务器使用设置的synack信号响应客户机请求
- 在最后一步中,客户端确认服务器的响应 TCP自动终止两个独立端点之间的连接。
3. 参考
https://www.geeksforgeeks.org/tcp-3-way-handshake-process/