tcp屬於傳輸層,提供可靠的位元組流服務。為兩台主機提供高可靠性的資料通訊。
http協議就是基於tcp/ip協議模型來傳輸資訊的。
1.三次握手
三次握手的必要性:
1.為了防止已失效的連線請求報文段突然又傳送到了服務端,因而產生錯誤。
2.若只有兩次握手,當伺服器收到失效連線請求並傳送了確認訊息。客戶端不會給予回應則服務端則一直處於等待狀態。
2.四次揮手
當客戶端和伺服器之間的資料傳送完畢後,需要斷開tcp連線。
四次揮手的必要性:
tcp是全雙工模式,這就意味著,當主機1發出fin報文段時,只是表示主機1已經沒有資料要傳送了,主機1告訴主機2,它的資料已經全部傳送完畢了;
但是,這個時候主機1還是可以接受來自主機2的資料;當主機2返回ack報文段時,表示它已經知道主機1沒有資料傳送了,但是主機2還是可以傳送資料到主機1的;當主機2也傳送了fin報文段時,這個時候就表示主機2也沒有資料要傳送了,就會告訴主機1,我也沒有資料要傳送了。
之後彼此就會愉快的中斷這次tcp連線。
TCP三次握手與四次握手
當我們從瀏覽器輸入乙個url,http的工作流程如下圖所示 dns解析流程請看dns網域名稱解析過程這篇文章 現在來講tcp三次握手 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。1 序號 seq序號,佔32位,用來標識從tcp源端向目的端傳送的位元組流,發起...
TCP協議的三次握手與四次握手
可以根據抓包來分析三次握手與四次握手 埠40286表示客戶端client,埠9000表示服務端server 三次握手 a.client向server傳送syn 1,ack 0,seq x 此階段不會有ack client狀態為syn snet b.server收到client的syn請求,傳送syn...
tcp的三次握手(連線)與四次揮手(斷開)
序列號seq 佔4個位元組,用來標記資料段的順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個報文段指派乙個序號 序列號seq就是這個報文段中的第乙個位元組的資料編號。確認號ack 佔4個位元組,期待收到對方下乙個報文段的第乙個資...