由於tcp是乙個面向連線的協議,無論在哪一方傳送資料之前,都必須先在雙方之間建立連線,接下來我們就討論建立連線的具體過程
注意點:當一端建立連線時,所傳送的syn,也包含了此端的乙個初始序號,下圖的倆端的初始序號分別為1和5,此初始序號是由複雜演算法隨機產生的
如上圖所示
1.首先終止端發出乙個fin端,該段的序號為2.接收端收到後,給其傳送乙個ack還有乙個攜帶ack的fin段,當傳送端收到此段之後,接收端最後發個確認,連線即終止
注意點:為啥終止連線要4次揮手,主要原因是,建立連線後資料是雙向傳遞的,所以必須得把倆端的資料流動都給關掉,則每一端都得發乙個自己的fin以及乙個確認收到對方fin的ack,所以終止連線得4次揮手
有時候接收方主機發生故障,當傳送方給其傳送tcp連線請求時,在對方收不到的情況下,傳送端並不會無限的給其發請求,而是根據超時時間來不定時的傳送請求,當然超時時間也是有最長時間限制的,一般為75s超過這個時間,傳送端將放棄連線
最大報文長度又稱mss表示表示tcp可以給對方傳的最大資料段長度,前面的那張途中,在建立連線時,所發的syn中就包含了mss,一般大小為1024
tcp提供了連線在一端在結束它的傳送後,依然可以接收對面的資料,只是不能在傳送資料了,我們可以通過應用程式來控制完全關閉與半關閉,呼叫close(),實現的是完全關閉,呼叫shutdown()實現的就是我們所說的半關閉,半關閉在大多數情況下不常用
time_wait狀態也稱為2msl等待狀態,msl為乙個tcp報文段的最大生存時間,之所以有這個狀態主要是為了防止遲來的報文段沒有被收到
tcp ip詳解學習 tcp
1。tcp連線的建立與終止 建立過程 1 客戶端請求建立連線。ack 0 syn 1 sequence number isn client acknowledgement number null options mss 2 服務段確認連線。ack 1 syn 1 sequence number is...
TCP IP學習筆記 TCP
tcp協議提供可靠的資料流服務,有以下5個特徵 1.面向資料流 2.虛電路連線 3.有緩衝的傳輸 4.無結構的資料流 5.全雙工連線 tcp使用確認 重傳來保障可靠性,採用滑動視窗機制來保障傳輸效率和進行流量控制 tcp報文段格式 6位code bit 其中視窗是16bit的捎帶視窗通告 tcp報文...
TCP IP詳解學習筆記 TCP(傳輸控制協議)
1.概述 tcp提供了一種可靠的面向連線的位元組流運輸層服務。tcp將使用者資料打包成報文段,它傳送後啟動乙個定時器,另一端收到的資料進行確認,對失序的資料重新排序,丟棄重複資料,tcp提供端到端的流量控制,並計算和驗證乙個強制性的端到端的檢驗和。許多流行的應用程式如 telnet,rlogin,f...