詳解網路連線中的三次握手和四次揮手

2021-10-07 08:10:46 字數 908 閱讀 4007

tcp提供面向有連線的通訊傳輸。面向有連線是指在資料通訊開始之前先做好通訊兩端之間的準備工作。

udp是一種面向無連線的通訊協議,因此不檢查對端是否可以通訊,直接將udp包傳送出去。tcp與此相反,它會在資料通訊之前,通過tcp首部傳送乙個syn包作為建立連線的請求等待確認應答 (tcp中傳送第乙個syn包的一方叫做客戶端,接收這個的一方叫做服務端。)。如果對端發來確認應答,則認為可以進行資料通訊。如果對端的確認應答未能到達,就不會進行資料通訊。此外,在通訊結束時會進行斷開連線的處理(fin包)。

乙個連線的建立與斷開,正常過程至少需要來回傳送7個包才能完成(建立乙個tcp連線需要傳送3個包,這個過程也稱作**「三次握手」和「四次揮手」**) 。

■ 序列號(sequencenumber)

字段長32位。序列號(有時也叫序號)是指傳送資料的位置。每傳送一次資料,就累加一次該資料位元組數的大小。

序列號不會從0或1開始,而是在建立連線時由計算機生成的隨機數作為其初始值,通過syn包傳給接收端主機。然後再將每**過去的位元組數累加到初始值上表示資料的位置。此外,在建立連線和斷開連線時傳送的syn包和fin包雖然並不攜帶資料,但是也會作為乙個位元組增加對應的序列號。

■ 確認應答號(acknowledgement number)

確認應答號字段長度32位。是指下一次應該收到的資料的序列號。實際上,它是指已收到確認應答號減一為止的資料。傳送端收到這個確認應答以後可以認為在這個序號以前的資料都已經被正常接收。

三次握手《 》四次握手

1 第一次握手 客戶端給伺服器傳送乙個 syn 報文。2 第二次握手 伺服器收到 syn 報文之後,會應答乙個 syn ack 報文。3 第三次握手 客戶端收到 syn ack 報文之後,會回應乙個 ack 報文。4 伺服器收到 ack 報文之後,三次握手建立完成 作用是為了確認雙方的接收與傳送能力...

TCP連線的三次握手和四次揮手詳解

tcp transmission control protocol,傳輸控制協議 是一種面向連線的 可靠的 基於位元組流的通訊協議,資料在傳輸前要建立連線,傳輸完畢後還要斷開連線,客戶端在收發資料前要使用 connect 函式和伺服器建立連線。建立連線的目的是保證ip位址 埠 物理鏈路等正確無誤,為...

三次握手和四次揮手 TCP三次握手和四次揮手的理解

相比較於udp傳輸協議,tcp傳輸協議被認為是安全可靠的,這是由於tcp協議的三次握手和四次揮手保證了資料傳輸的安全性。tcp報文格式簡介 要了解tcp協議的三次握手和四次揮手,需要先了解在tcp協議中請求和響應的資料報報文格式。在報文中有幾個值得注意的字段 1 序號 seq序號,佔32位,用來標識...