一、tcp建立連線
1、建立連線過程中要解決的問題:
①要使每一方能夠確知對方的存在
②要允許雙方協商一些引數:如最大視窗值,是否使用視窗擴**項和時間戳選項以及服務質量等。
③能夠對運輸實體資源:如快取大小,連線表中的專案等進行分配
2、三次握手
3、為什麼a還要再一次確認?
防止已經失效的連線請求報文段突然又傳送到b,而產生錯誤
例如:a傳送的第乙個超時的請求連線的報文,此報文已經失效,a已經又傳送了別的報文過去,並建立了連線。這時,這個失效的報文來了,b就會誤以為是a又發出了一次新的連線請求,並向a發出確認報文,統一建立連線。
假設不採用三次握手,那麼只要b發出確認,新的連線就建立了。若採用三次握手,a不會向b發出確認,b收不到確認,就知道a並沒有要求建立連線。
二、釋放連線
1、釋放過程
2、為什麼有2msl的存在?
①、為了保證a傳送的最後乙個ack報文段能夠到達b,若b接受不到a的確認,b會超時重傳fin+ack報文段,接著a再重傳一次確認。
②、同時也可以在這2msl時間段內,可以將在本連線持續的時間內所產生的已經失效(如超時)的報文段都從網路上消失。
(允許老的重複分節在網路中消逝 )
3、半關閉狀態:
a到b的連線已經關閉,b到a的連線未關閉。b還可以傳送給a資料
TCP三次握手 四次揮手
tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...
TCP三次握手 四次揮手
服務端的tcp程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求,然後服務端程序處於listen狀態,等待客戶端的連線請求,如有,則作出響應。1 客戶端的tcp程序也首先建立傳輸控制模組tcb,然後向服務端發出連線請求報文段,該報文段首部中的syn 1,ack 0,同時選擇乙個初始序號seq ...
TCP三次握手四次揮手
tcp transmission control protocol 傳輸控制協議 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。位碼即tcp標誌位,有6種標誌 urg urgent緊急 ack acknowledgement 確認 psh push傳送 rst...