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