TCP連線建立時三次握手詳解

2021-10-06 03:22:27 字數 1367 閱讀 6544

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...