http://blog.csdn.net/zuyi532/article/details/7599766
1、TCP三次握手的作用:
三次握手的目的是連接服務器指定端口,建立TCP連接,並同步連接雙方的序列號和確認號並交換 TCP 窗口大小信息。在socket編程中,客戶端執行connect()時,將觸發三次握手。
2、TCP三次握手過程:
第一步:客戶端向服務器發送一個SYN置位的TCP報文,其中包含連接的初始序列號x和一個窗口大小(表示客戶端上用來存儲從服務器發送來的傳入段的緩衝區的大小)。--SYN報文段
第二步:服務器收到客戶端發送過來的SYN報文後,取出TCP_SYN報文段,爲該TCP連接分配TCP緩存和變量,並向客戶端發送一個SYN和ACK都置位的TCP報文,其中包含它選擇的初始序列號y、對客戶端的序列號的確認x+1和一個窗口大小(表示服務器上用來存儲從客戶端發送來的傳入段的緩衝區的大小)。--SYNACK報文段
第三步:收到SYNACK報文段後,客戶端給該連接分配緩存和變量,並向服務器端返回一個確認號y+1 ACK報文,報文中SYN位被置0,一個標準的TCP連接完成。(在以後的報文段中都將被置爲0)