1、概述
tcp連線建立過程中要解決以下三個問題:
(1)要使每一方能夠確知對方的存在。
(2)要允許雙方協商一些引數(如最大報文段長度,最大視窗大小,服務質量等)。
(3)能夠對運輸實體資源(如快取大小,連線表中的專案等)進行分配。
tcp 連線的建立都是採用客戶伺服器方式。主動發起連線建立的應用程序叫做客戶(client)。被動等待連線建立的應用程序叫做伺服器(server)。
2、三次握手過程
(1)a 的
tcp
向 b
發出連線請求報文段,其首部中的同步位 syn = 1
,並選擇序號
seq = x
,表明傳送資料時的第乙個資料位元組的序號是 x。
(2)b 的
tcp
收到連線請求報文段後,如同意,則發回確認。
b 在確認報文段中應使
syn = 1
,使 ack = 1
,其確認號ack = x +1
,自己選擇的序號
收到此報文段後向
b 給出確認,其
ack = 1
,確認號
ack = y +1
。a 的 tcp
通知上層應用程序,連線已經建立。
(4)b 的
tcp
收到主機
a 的確認後,也通知其上層應用程序:tcp
連線已經建立。
(5)三次握手全過程圖
3、如果已經建立了連線,但是客戶端突然出現故障了怎麼辦?
tcp還設有乙個保活計時器,顯然,客戶端如果出現故障,伺服器不能一直等下去,白白浪費資源。伺服器每收到一次客戶端的請求後都會重新復位這個計時器,時間通常是設定為2小時,若兩小時還沒有收到客戶端的任何資料,伺服器就會傳送乙個探測報文段,以後每隔75秒傳送一次。若一連傳送10個探測報文仍然沒反應,伺服器就認為客戶端出了故障,接著就關閉連線。
TCP建立連線時的三次握手
tcp建立連線時的三次握手 在網際網路協議族 internet protocol suite 中,tcp層是位於ip層之上,應用層之下的運輸層。不同主機的應用層之間經常需要可靠的 像管道一樣的連線,但是ip層不提供這樣的流機制,而是提供不可靠的包交換。應用層向tcp層傳送用於網間傳輸的 用8位位元組...
詳解TCP建立連線三次握手過程
tcp建立連線的過程叫做握手,握手需要在客戶和伺服器之間交換三個tcp報文段。下圖是三報文握手建立tcp連線的過程 在這個例子中,a作為客戶端主動開啟連線,b作為服務端被動開啟連線。一開始,b的tcp伺服器程序先建立傳輸控制塊tcb,準備接受客戶程序的連線請求。然後伺服器程序就處於listen 收聽...
三次握手 TCP建立連線
在tcp ip 中,tcp協議提供可靠的連線服務 採用三次握手建立乙個連線。第一次握手 建立連線時,客戶端 傳送syn 包 syn j 到伺服器 並進入syn send狀態,等待伺服器確認 syn 同步序列編號 synchronize sequence numbers 第二次握手 伺服器 收到syn...