柚子快報(bào)激活碼778899分享:tcp/ip TCP與UDP
柚子快報(bào)激活碼778899分享:tcp/ip TCP與UDP
TCP vs UDP
TCP數(shù)據(jù)
具體可以通過Cisco Packet Tracer工具查看:
UDP數(shù)據(jù)
三次握手、四次揮手
為什么是3/4次?這牽扯到單工、雙工通信的問題
TCP建立連接:表白 TCP釋放連接:分手
TCP—建立連接—三次握手
解釋:
首先,啟動(dòng)服務(wù)器,讓服務(wù)器進(jìn)入監(jiān)聽狀態(tài)(監(jiān)聽客戶端的連接請(qǐng)求)??蛻舳讼蚍?wù)器發(fā)送同步連接請(qǐng)求:SYN=1;seq=x
SYN(同步標(biāo)識(shí)位):將SYN設(shè)置為1,代表告訴服務(wù)器,我想跟你同步數(shù)據(jù),也就是建立連接。seq(序列號(hào)):還需要發(fā)送一個(gè)序列號(hào)seq=x給服務(wù)器。 服務(wù)器給客戶端返回接受同步連接請(qǐng)求:SYN=1;ACK=1;seq=y;ack=x+1
SYN(同步標(biāo)識(shí)位):服務(wù)器返回SYN=1,代表告訴客戶端,沒問題,我可以和你同步。ACK(確認(rèn)標(biāo)識(shí)位):ACK=1,代表確認(rèn)同步,并且還給你發(fā)送了確認(rèn)號(hào)。ack=x+1:ack就是確認(rèn)號(hào);這個(gè)x就是客戶端向服務(wù)器發(fā)送同步連接請(qǐng)求時(shí)發(fā)送的那個(gè)序列號(hào)。seq=y:還需要發(fā)送一個(gè)序列號(hào)seq=y給客戶端。 客戶端向服務(wù)器發(fā)送確認(rèn)連接信息:ACK=1;seq=x+1;ack=y+1
ACK(確認(rèn)標(biāo)識(shí)位):ACK=1,代表確認(rèn)同步,并且還給你發(fā)送了確認(rèn)號(hào)。ack=y+1:ack就是確認(rèn)號(hào);這個(gè)y就是服務(wù)器給客戶端返回接受同步連接請(qǐng)求時(shí)返回的那個(gè)序列號(hào)。seq=x+1:將序列號(hào)seq=x+1發(fā)送給服務(wù)器。
總結(jié):
客戶端與服務(wù)器之間的每次“溝通”都會(huì)攜帶序列號(hào)(每一條消息都必須得有序列號(hào))。序列號(hào)是不斷增加的,可以用來標(biāo)識(shí)這是自己發(fā)送出去的第幾條信息。在建立連接時(shí):確認(rèn)號(hào)(ack)=對(duì)方發(fā)送的序列號(hào)(seq)+1當(dāng)連接已經(jīng)建立完畢,在傳輸數(shù)據(jù)時(shí),確認(rèn)號(hào)就不一定是對(duì)方發(fā)送的序列號(hào)+1了,確認(rèn)號(hào)可以為其他值。
TCP三次握手—大白話
客戶端給服務(wù)器發(fā)送一條消息:
客戶端知道自己的發(fā)送能力沒問題但不知道自己的接收能力 以及 服務(wù)器的發(fā)送和接收能力有沒有問題
服務(wù)器收到客戶端發(fā)來的消息 并 給客戶端發(fā)送一條消息:
服務(wù)器知道自己的接收和發(fā)送能力沒問題服務(wù)器知道客戶端的發(fā)送能力沒問題服務(wù)器不知道客戶端的接收能力有沒有問題
客戶端接收到服務(wù)器發(fā)來的消息,再給服務(wù)器發(fā)送一條消息
客戶端知道自己的發(fā)送和接收能力都沒問題知道服務(wù)器的接收和發(fā)送能力都沒問題
此時(shí)客戶端與服務(wù)器都知道了自己以及對(duì)方的發(fā)送和接收能力都沒問題,那么就可以建立連接了。
TCP—釋放連接—四次揮手
解釋:
FIN(終止信號(hào)):FIN=1代表告訴對(duì)方,我想跟你斷開連接。
總結(jié):
四次揮手釋放連接時(shí),客戶端和服務(wù)器雙方都需要向?qū)Ψ桨l(fā)送一次釋放連接請(qǐng)求(雙方都需要提出一次“分手”)并讓對(duì)方確認(rèn)。當(dāng)然,第一次釋放連接請(qǐng)求是由客戶端向服務(wù)器發(fā)出的。
柚子快報(bào)激活碼778899分享:tcp/ip TCP與UDP
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。