TCP連接的三次握手:
第一次(A--->B),SYN=1,seq=x
第二次(B--->A),SYN=1,ACK=1,seq=y,ack=x+1
第三次(A--->B),ACK=1,seq=x+1,ack=y+1
seq是序列號,這是為了連接以后傳送數據用的,ack是對收到的數據包的確認,值是等待接收的數據包的序列號。
在第一次消息發送中,A隨機選取一個序列號作為自己的初始序號發送給B;第二次消息B使用ack對A的數據包進行確認,因為已經收到了序列號為x的數據包,准備接收序列號為x+1的包,所以ack=x+1,同時B告訴A自己的初始序列號,就是seq=y;第三條消息A告訴B收到了B的確認消息並准備建立連接,A自己此條消息的序列號是x+1,所以seq=x+1,而ack=y+1是表示A正准備接收B序列號為y+1的數據包。
seq是數據包本身的序列號;ack是期望對方繼續發送的那個數據包的序列號。