tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。
tcp資料報格式:
source port: 源埠號
destination port: 目的埠號
sequence number: 序列號
acknowledge number:確認號
標誌位:
urg-緊急標誌位,不常用
ack-為1代表是乙個確認報文
psh-不常用,為1表示直接交付給應用程序,不用等待緩衝
rst-為1表示tcp要重新建立
syn-為1表示建立tcp連線的第乙個報文
fin-為1代表是關閉tcp連線的第乙個報文
tcp三次握手過程
從圖中,可以看出三次握手的基本步驟是:
第一次握手:客戶端向伺服器端傳送連線請求包syn,等待伺服器回應;
第二次握手:伺服器端收到客戶端連線請求包syn後,將客戶端的請求包syn放入到自己的未連線佇列,此時伺服器需要傳送兩個包給客戶端;
(1)向客戶端傳送確認自己收到其連線請求的確認包ack,向客戶端表明已知道了其連線請求
(2)向客戶端傳送連線詢問請求包syn,詢問客戶端是否已經準備好建立連線,進行資料通訊;
即在第二次握手時伺服器向客戶端傳送ack和syn包,此時伺服器進入syn-rcvd狀態。
第三次握手:客戶端收到伺服器的ack和syn包後,知道了伺服器同意建立連線,此時需要傳送連線已建立的訊息給伺服器;
向伺服器傳送連線建立的確認包ack,回應伺服器的syn告訴伺服器,我們之間已經建立了連線,可以進行資料通訊。
ack包傳送完畢,伺服器收到後,此時伺服器與客戶端進入established狀態,開始進行資料傳送。
tcp四次揮手過程
斷開乙個tcp連線需要「四次揮手」
第一次:主動關閉方傳送乙個fin,用來關閉主動方到被動關閉方的資料傳送,也就是主動關閉方告訴被動關閉方:我已經不會再給你傳送資料了,但是,此時,主動關閉方依然可以接收資料。
第二次:被動關閉方收到fin包後,傳送乙個ack給對方,確認序號為收到序號+1.
第三次:被動關閉方傳送乙個fin,用來關閉被動關閉方到主動關閉方的資料傳送,也就是告訴主動關閉方,我已經發完了,不會再給你發資料了。
第四次:主動關閉方收到fin後,傳送乙個ack給對方,確認序號為收到序號+1,至此,四次揮手完成。
簡述tcp三次握手的過程
所謂三次握手 即建立tcp連線,就是指建立乙個tcp連線時,需要客戶端和服務端總共傳送3個包以確認連線的建立。在socket程式設計中,這一過程由客戶端執行connect來觸發 tcp協議三次握手完整過程 第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,...
簡述TCP的三次握手過程
tcp握手協議 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線.第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 syn 同步序列編號 synchronize sequence numbers 第二次握手 伺服...
簡述DNS過程
1.客戶機提出網域名稱解析請求,並將該請求傳送給本地的網域名稱伺服器。2.當本地的網域名稱伺服器收到請求後,就先查詢本地的快取,如果有該紀錄項,則本地的網域名稱伺服器就直接把查詢的結果返回。3.如果本地的快取中沒有該紀錄,則本地網域名稱伺服器就直接把請求發給根網域名稱伺服器,然後根網域名稱伺服器再返...