客戶端和伺服器端的互動
簡單過程:
seq=x
seq=y ack=x+1
seq=y+1
- 第一次握手(SYN)
- 客戶端(Client)向伺服器(Server)發出一個帶有SYN標誌的資料段,其中包含一個隨機序列號seq=x(x為隨機生成的數字)。
1Client -> Server: SYN(seq=x)
- 第二次握手(SYN+ACK)
- 伺服器接收到客戶端的SYN資料段後,如果同意建立連線,則回應一個帶有SYN和ACK標誌的資料段。該資料段確認了客戶端的序列號seq=x,並且包含伺服器自己的序列號seq=y和確認號ack=x+1(acknowledgment number)。
Server -> Client: SYN(seq=y), ACK(ack=x+1)
- 第三次握手(ACK)
- 客戶端收到伺服器的SYN+ACK資料段後,再回應一個帶有ACK標誌的資料段,確認號ack=y+1,表明收到了伺服器的SYN並將自己的連線狀態置為已建立連線。
Client -> Server: ACK(ack=y+1)