TCP協議詳解(二)

2021-07-04 06:42:31 字數 753 閱讀 1728

1、首先伺服器通過listen系統呼叫,進入listen狀態,表示被動開啟,被動等待客戶端的連線,伺服器監聽到某個客戶端的連線請求後,這個連線請求被稱為同步報文段。之後tcp會將其放到核心等待佇列中,並向客戶端傳送帶syn的確認報文段,之後該連線就會處於syn_rcvd狀態。那麼這個時候如果伺服器收到了客戶端的ack確認報文段,伺服器進入established,這個狀態可以讓雙方進行資料傳輸。

1、當客戶端主動關閉連線時,客戶端主動呼叫close,伺服器接收到客戶端的關閉報文段後,伺服器返回ack確認報文段,是連線進入close_wait狀態。這個狀態的就是跟字面意思一樣,等待伺服器關閉連線。這個時候伺服器也會給客戶端傳送乙個結束報文段,這個時候進入last_ack。接下來就是等待客戶端結束連線的最後一次確認。

1、首先客戶端通過connect系統呼叫,給伺服器傳送同步報文段。使系統進入ysn_sent狀態。接下來會有兩種可能,如果連線失敗,該連線將會恢復到closed狀態,如果該客戶多收到伺服器返回的同步報文段,確認報文段,說明該客戶端成功連線伺服器。連線轉移到established狀態(功能通上)

1、當客戶端關閉時,客戶端傳送乙個關閉連線報文段,同時連線進入sfin_wait_1狀態,如果接收到服務端ack確認,連線狀態進入fin_wait_2狀態。當服務端也傳送了結束報文段,那麼客戶端也會傳送ack確認,客戶端進入time_wait狀態。

參照詳細了解連線轉移過程

詳解TCP協議

16位的源埠號 傳送源的埠號 16位的目標埠號 目標的埠號 32位的序號 互動的初始資料段,序號值由系統生成的隨機值 isn。後續的報文段的序號為isn 所攜帶資料在整個位元組流中的偏移量。特點 1 所有的報文段序號不重複。2 後續的報文段序號值比前面的大。32位的確認號 由接收段填充,其值為序列號...

TCP協議詳解

參考部落格 在可靠的tcp網路通訊中,客戶端和伺服器端通訊建立連線的過程可簡單表述為三次握手 建立連線的階段 和四次揮手 釋放連線階段 下圖是這兩個階段的乙個完整的表述 其狀態圖可以表示為,在tcp連線建立的時候,存在乙個如下的有限狀態機 在狀態轉化圖中,其中客戶端的狀態轉移用帶箭頭的粗實線表示,伺...

TCP協議詳解

首先tcp是一種可靠的面向位元組流的協議,流指的是流入到程序或從程序流出的位元組序列。tcp的可靠性主要是由其首部的複雜結構結合可靠性傳輸原理 比如停止等待協議 arq 協議實現,可以說,tcp的首部是tcp能可靠傳輸的必要保障,了解tcp的首部很有必要 1.tcp首部 2.可靠傳輸基本原理 停止等...