1. 建立連接配接
三次握手
(1)A 的 TCP 向 B 發出連接配接請求封包段,其首部中的同步比特 SYN 應置為 1,并選擇序号 x,表明傳送資料時的第一個資料位元組的序号是 x。
(2)B 的 TCP 收到連接配接請求封包段後,如同意,則發回确認。
(3)B 在确認封包段中應将 SYN 置為 1,其确認号應為 x + 1,同時也為自己選擇序号 y。
(4)A 收到此封包段後,向 B 給出确認,其确認号應為 y + 1。
(5)A 的 TCP 通知上層應用程序,連接配接已經建立。
(6)當運作伺服器程序的主機 B 的 TCP 收到主機 A 的确認後,也通知其上層應用程序,連接配接已經建立。
2. 斷開連接配接
2.1 半關閉:
Client --> Server 無資料, ACK = u+1
Server--> Client 有資料, Seq = v + t
2.2 Time Wait
等待2MSL(Max Segment Life Time)
原因:
(1)保證最後一個ACK從A到達B
(2)避免”已丢失“的封包被Server就收到,建立連接配接請求。
從 A 到 B 的連接配接就釋放了,連接配接處于半關閉狀态。
相當于 A 向 B 說:
“我已經沒有資料要發送了。
但你如果還發送資料,我仍接收。”