1.伺服器通過呼叫socket,bind和listen三個函式準備接受外來連線,稱為被動開啟。
2.客戶通過呼叫connect發起主動開啟,導致客戶tcp傳送乙個syn同步分節,告訴伺服器將在連線中傳送的資料的初始序列號。
syn分節不包含資料,只包含乙個ip首部,乙個tcp首部及可能的tcp選項。
3.伺服器對客戶端的syn進行確認,並傳送乙個syn分節給客戶端,即伺服器在傳送同步分節的同時對客戶端的同步分節進行確認。
4.客戶端確認伺服器的同步分節。
mss選項:傳送syn的tcp一端使用本選項通告對端它的最大分節大小,也就是它在本連線的每個tcp分節中願意接受的最大資料量。
傳送端tcp使用接收端的mss值作為所傳送分節的最大大小。
視窗規模選項:tcp連線任何一端能夠通告對端的最大視窗大小為65535,因為tcp首部中相應的字段佔16位。
時間戳選項:用於高速網路連線,可以防止由失而復現的分組可能造成的資料損壞。
1.應用程序首先呼叫close,稱為主動關閉。該端的tcp傳送乙個fin分節,表示資料傳送完畢。
2.伺服器接收到fin後執行被動關閉。這個fin由tcp確認,它的接收作為乙個檔案描述符傳遞給接收端應用程序,因為fin的接受意味著接受端應用程序連線上再五額外資料可接收。
3.接收到這個檔案描述符的應用程序將呼叫close關閉它的套接字。這導致它的tcp也傳送乙個fin。
4.接收這個最終fin的原傳送端tcp確認這個fin。
TCP連線的建立和終止
一 tcp連線建立 三路握手 1 伺服器必現準備好接受外來的連線,即被動開啟。2 客戶通過呼叫connect發起主動開啟,這導致客戶tcp傳送乙個syn分節,它告訴伺服器客戶將在連線中傳送的資料的初始序列號。3 伺服器必須確認 ack 客戶的syn,同時自己也得傳送乙個syn分節,它含有伺服器將在同...
TCP 連線的建立和終止
三路握手 建立乙個tcp連線時會發生下述情形。1 伺服器必須準備好接受外來的連線。這通常通過呼叫socket bind和listen這3個函式來完成的,我們稱之為被動開啟。2 客戶通過呼叫connect發起主動開啟。這導致客戶tcp傳送乙個syn 同步 分節,它告訴伺服器客戶將在 待建立的 連線中傳...
TCP連線建立和終止小結
如圖 1.請求端傳送乙個syn到伺服器的相應埠,以及初始序號isn 2.伺服器傳送包含伺服器的初始序號的syn作為應答,同時確認序號設定為客戶的isn 1 3.客戶將確認序號設定為伺服器的isn 1 最大報文段長度 mss 同時開啟 一般情況下,連線建立時是一方傳送syn,另一方傳送syn ack,...