vTCP連接的建立
v
第一次握手:客戶端TCP首先給服務器端TCP發送一個特殊的TCP數據
段。該數據段不包含應用層數據,并將頭部中的SYN位設置為1,所以該數
據段被稱為SYN數據段。另外,客戶選擇一個初始序列號SEQ,設SEQ=x
并將這個編號放到初始的TCP SYN數據段的序列號字段中。該數據段被封
裝到一個IP數據報中,并發送給服務器。
第二次握手:一旦裝有TCP SYN數據段的IP數據報到達了服務器主機,服
務器將從該數據報中提取出TCP SYN數據段,給該連接分配TCP緩沖區和
變量,并給客戶TCP發送一個允許連接的數據段。這個允許連接的數據段
也不包含任何應用層數據。但是,它的頭部中裝載著3個重要信息。首先,
SYN被設置為1;其次,TCP數據段頭部的確認字段被設置為x+1;最后,
服務器選擇自己的初始順序號,SEQ=y,并將該值放到TCP數據段頭部的
序列號字段中。
第三次握手:在接收到允許連接數據段之后,客戶也會給連接分配緩沖區
和變量。客戶端主機還會給服務器發送另一個數據段,對服務器的允許連
接數據段給出確認。