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

禮貌地說(shuō)你好——TCP協(xié)議三次握手

網(wǎng)絡(luò)
我們只是想來(lái)介紹一下,網(wǎng)絡(luò)中的計(jì)算機(jī)之間是如何禮貌問(wèn)好地,TCP協(xié)議是如何建立連接的。

溝通的藝術(shù)

我們?cè)谂c他人溝通的時(shí)候,最基礎(chǔ)的最重要的是什么?

是好的溝通方式?是恰到好處的時(shí)機(jī)?是能夠設(shè)身處地地為他人著想?

是,但不完全是,溝通的第一步當(dāng)然是先要禮貌地問(wèn)好啦。

等一下,我們現(xiàn)在在做什么,心理學(xué)知識(shí)普及?這不是我們的目的,也不是我們的強(qiáng)項(xiàng)。

我們只是想來(lái)介紹一下,網(wǎng)絡(luò)中的計(jì)算機(jī)之間是如何禮貌問(wèn)好地,TCP協(xié)議是如何建立連接的。

TCP協(xié)議三次握手

TCP協(xié)議報(bào)文詳解一文中,已經(jīng)詳細(xì)介紹了TCP報(bào)文的內(nèi)容,那么TCP協(xié)議中,主機(jī)和主機(jī)之間,是如何建立連接的?

首先,請(qǐng)求建立連接的主機(jī)我們叫做客戶端,被連接的主機(jī)叫做服務(wù)端。

第一次握手

客戶端向服務(wù)端請(qǐng)求建立連接的時(shí)候,會(huì)發(fā)送帶有序號(hào)為j(seq=j),并且控制位為SYN=1的數(shù)據(jù)包發(fā)送給服務(wù)端,此時(shí)客戶端狀態(tài)為SYN_SENT。

第二次握手

服務(wù)端接受到數(shù)據(jù)包后,則會(huì)在未連接隊(duì)列中為客戶端的SYN包(seq=j)新增一個(gè)條目,表明已收到客戶端的數(shù)據(jù)包。并且服務(wù)端會(huì)向客戶端發(fā)送帶有序號(hào)為k(seq=k),確認(rèn)號(hào)為j+1(ack=j+1),并且控制位為SYN=1,ACK=1的數(shù)據(jù)包發(fā)送給客戶端,等待客戶端確認(rèn),此時(shí)服務(wù)端狀態(tài)則為SYN_RECV。

第三次握手

客戶端收到服務(wù)端的 SYN=1, ACK=1, ack=j+1, seq=k 的數(shù)據(jù)包后,則會(huì)響應(yīng)一個(gè)ACK=1, seq=j+1, ack=k+1的數(shù)據(jù)包給服務(wù)端,表示客戶端已收到服務(wù)端的數(shù)據(jù)包,并進(jìn)入ESTABLISHED的狀態(tài),表示連接已建立。服務(wù)端收到ACK數(shù)據(jù)包后,則會(huì)將對(duì)應(yīng)的未連接隊(duì)列中對(duì)應(yīng)的條目刪除,并進(jìn)入并進(jìn)入ESTABLISHED的狀態(tài),表示連接已建立。

重試與容錯(cuò)

為什么TCP協(xié)議一定要進(jìn)行3次握手,2次不行嗎?

首先假設(shè)只進(jìn)行兩次握手,即服務(wù)端收到SYN數(shù)據(jù)包后馬上建立連接,并開(kāi)始傳輸數(shù)據(jù),會(huì)有什么問(wèn)題呢?

如果服務(wù)端接受到SYN數(shù)據(jù)后,立馬為相應(yīng)的客戶端建立連接,但是,客戶端如果因?yàn)槟承┰颍ū热缇W(wǎng)絡(luò)中斷等),未收到客戶端的ACK數(shù)據(jù)包,請(qǐng)求重新建立連接,并向服務(wù)端重新發(fā)送SYN數(shù)據(jù)包。此時(shí)在服務(wù)端又需要重新創(chuàng)建連接資源,但是舊的的連接實(shí)際是無(wú)效連接,反而浪費(fèi)了系統(tǒng)資源。如果大量的客戶端長(zhǎng)時(shí)間超時(shí)重試,則會(huì)導(dǎo)致服務(wù)器的資源的嚴(yán)重浪費(fèi)。

總結(jié)

TCP協(xié)議中,為了保證互聯(lián)網(wǎng)中連接的可靠性,采用了3次握手的機(jī)制。為了防止因?yàn)榻⑦B接中斷時(shí),而導(dǎo)致頻繁建立無(wú)效連接,浪費(fèi)服務(wù)器資源。服務(wù)端在第一次握手時(shí)則先維持一個(gè)未連接記錄表,最后連接建立成功,再將未連接記錄表中的數(shù)據(jù)刪除。

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

2022-11-17 10:20:49

TCP三次握手四次揮手

2023-09-02 22:02:58

TCP協(xié)議四次揮手

2020-08-27 07:41:28

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

2017-09-25 21:27:07

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

2023-09-07 16:46:54

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

2015-11-09 09:58:56

2023-10-24 15:22:09

TCPUDP

2022-10-10 07:34:36

TCP三次握手區(qū)塊鏈

2020-12-08 06:34:16

TCP握手SYN 報(bào)文

2023-11-01 08:04:08

WiresharkTCP協(xié)議

2024-01-12 08:23:11

TCPACK服務(wù)器

2015-10-13 09:42:52

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

2019-06-12 11:26:37

TCP三次握手四次揮手

2021-03-08 18:08:08

TCP Connect 協(xié)議

2022-07-25 07:07:35

TCP客戶端服務(wù)器

2024-10-09 20:54:16

2019-12-12 10:36:43

TCPSYNIP

2022-07-07 09:00:17

TCP 連接HTTP 協(xié)議

2023-03-06 15:43:56

2018-07-05 14:25:01

TCP握手原理
點(diǎn)贊
收藏

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