自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

TCP為什么是三次握手??jī)纱巍⑺拇挝帐植恍袉幔?/h1>

網(wǎng)絡(luò) 通信技術(shù)
TCP協(xié)議需要經(jīng)過(guò)三次握手,才能建立連接,而像SCTP協(xié)議,則必須經(jīng)過(guò)四次握手,才能建立連接。不禁我們要問(wèn)了,為什么TCP不是兩次握手,或者四次握手來(lái)建立連接呢?

TCP協(xié)議需要經(jīng)過(guò)三次握手,才能建立連接,而像SCTP協(xié)議,則必須經(jīng)過(guò)四次握手,才能建立連接。不禁我們要問(wèn)了,為什么TCP不是兩次握手,或者四次握手來(lái)建立連接呢?

TCP是一種可靠的傳輸控制協(xié)議,它必須做到兩點(diǎn),一是保證數(shù)據(jù)的可靠傳輸,二是盡可能提高傳輸效率,三次握手正是為了做到這兩點(diǎn)才出現(xiàn)的。

[[397071]]

可靠性的實(shí)現(xiàn)

假設(shè)A、B雙方欲建立TCP連接。

首先,由操作系統(tǒng)隨機(jī)選取一個(gè)32位序列號(hào),假設(shè)A的初始序列號(hào)為1000,接著對(duì)所要發(fā)送的數(shù)據(jù)進(jìn)行編號(hào),1001,1002,1003...

A會(huì)把初始序列號(hào)ISN告訴給B,讓B知道,什么樣的編號(hào)數(shù)據(jù)是合法的,什么樣的編號(hào)數(shù)據(jù)是非法的,比如接收到一個(gè)編號(hào)999的數(shù)據(jù),那就是非法的。

B也會(huì)對(duì)A每一個(gè)編號(hào)數(shù)據(jù)進(jìn)行確認(rèn),如果收到編號(hào)為2001,1001-2000說(shuō)明有1000個(gè)字節(jié)已經(jīng)安全到達(dá)。

同理,B也會(huì)進(jìn)行類似的操作。如果B的初始序列號(hào)ISN為2000,B也會(huì)開(kāi)始編號(hào)2001,2002,2003...

B再將初始序列號(hào)ISN告訴A,A同樣可以確認(rèn)B發(fā)送了多少個(gè)字節(jié),這些數(shù)據(jù)合不合法。

通過(guò)以上步驟,不難發(fā)現(xiàn),TCP協(xié)議握手的本質(zhì)是通信雙方數(shù)據(jù)原點(diǎn)的序列號(hào),從而實(shí)現(xiàn)可靠性。

傳輸效率

實(shí)現(xiàn)數(shù)據(jù)可靠傳輸,為什么剛好需要三次握手呢?如果兩次握手,行不行?

兩次握手:

  • A發(fā)送同步信號(hào)SYN+A的初始序列號(hào)
  • B發(fā)送同步信號(hào)SYN+B的初始序列號(hào)+B的ACK序列號(hào)

兩次握手會(huì)產(chǎn)生一個(gè)問(wèn)題,B沒(méi)辦法知道A是不是已經(jīng)接收了自己的同步信號(hào)。一旦這個(gè)同步信號(hào)丟了,A和B就B的初始序列號(hào)將無(wú)法達(dá)成一致。

顯然,兩次握手是不可取的。

那么四次握手又如何呢?

  • A發(fā)送同步信號(hào)SYN+A的初始序列號(hào)
  • B確認(rèn)收到A的同步信號(hào),并記錄A的ISN到本地,命名B的ACK序列號(hào)
  • B發(fā)送同步信號(hào)SYN+B的初始序列號(hào)
  • A確認(rèn)收到B的同步信號(hào),并記錄B的ISN到本地,命名A的ACK序列號(hào)

顯然,并不需要四個(gè)步驟,2和3和可以合并,提高連接的速度和效率。

TCP協(xié)議需考慮到可靠性和傳輸效率,明白了這一點(diǎn),我們也就明白了為什么只能是三次握手,而不是兩次或者四次了。

 

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2019-05-14 10:09:06

TCP連接握手

2024-10-16 08:38:37

TCP編號(hào)信息

2021-07-26 08:08:56

TCPIP網(wǎng)絡(luò)協(xié)議

2021-05-28 09:08:20

TCP連接序列號(hào)

2015-10-13 09:42:52

TCP網(wǎng)絡(luò)協(xié)議

2019-06-12 11:26:37

TCP三次握手四次揮手

2024-01-12 08:23:11

TCPACK服務(wù)器

2023-10-24 15:22:09

TCPUDP

2021-12-02 09:20:33

TCPLinux三次握手

2021-07-03 17:47:25

TCP控制協(xié)議

2021-01-29 06:11:08

TCP通信三次握手

2019-02-01 09:38:16

2021-05-18 12:27:40

TCP控制協(xié)議

2023-09-07 16:46:54

TCP數(shù)據(jù)傳遞

2020-02-17 10:10:43

TCP三次握手四次揮手

2017-09-25 21:27:07

TCP協(xié)議數(shù)據(jù)鏈

2020-06-29 14:50:47

TCP狀態(tài)ACK

2015-11-09 09:58:56

2023-10-28 09:07:57

TCP面試三次握手

2022-11-17 10:20:49

TCP三次握手四次揮手
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)