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/

发布了194 篇原创文章 · 获赞 20 · 访问量 7936

猜你喜欢

转载自blog.csdn.net/Xjheroin/article/details/105646070