一. TCP 三次握手

三次握手
簡易圖如下:

三次握手簡易圖.jpg
為什么還要傳回syn給客戶端?
服務端傳回客戶端所發(fā)送的syn是為了告訴客戶端,我接收到的信息確實就是你所發(fā)送的信息。
傳了syn為什么還要傳ack?
雙方通信無誤必須是兩者發(fā)送信息都無誤。傳了syn,證明客戶端到服務端的通道沒有問題,但是服務端到客戶端的通道還需要ACK信號來進行驗證。
一. TCP 四次揮手
斷開一個tcp連接則需要“四次揮手”:
- 客戶端-發(fā)送一個FIN,用來關閉客戶端和服務端的數(shù)據(jù)傳送
- 服務端-收到這個FIN,它返回一個ack,確認序號為收到的信號加1。和SYN一樣,一個FIN將占用一個序號。
- 服務端-關閉與客戶端的連接,發(fā)送一個FIN給客戶端。
-
客戶端-發(fā)回ACK報文確認,并將序號設置為收到序號加1。
四次揮手
