详见: TCP-连接管理过程详解 TCP-可靠传输机制详解
【例】若主机甲主动发起一个与主机乙的TCP连接,甲、乙选择的初始序列号分别为2018和2046,则第三次握手TCP段的确认序列号是__2047_。 STEP 1: 客户端发送连接请求报文段,无应用层数据 (同步位SYN)SYN=1,seq=x(题目中甲选择的初始序列号为2018,因此选择序号seq=2018) STEP 2: 服务器端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据 SYN=1,ACK=1,seq=y(题目中乙选择的初始序列号为2046,因此选择序号seq=2046),ack=x+1 服务端通过SYN=1知道这是一个建立连接的请求。 服务端发回确认报文段,
此
时
a
c
k
=
2018
+
1
=
2019
{\color{Red} 此时ack=2018+1=2019}
此时ack=2018+1=2019 STEP 3: 客户端收到报文段,为该TCP连接分配缓存和变量,向服务端给出确认(SYN=0,ACK=1,seq=x+1,ack=y+1
此
时
a
c
k
=
2046
+
1
=
2047
{\color{Red} 此时ack=2046+1=2047}
此时ack=2046+1=2047),客户端的TCP通知上层应用进程,连接已经建立。服务端的TCP收到客户端的确认后,也通知其上层应用进程,此时TCP连接已经建立,ACK报文可以携带数据。
|