国产伦精品一区二区三区男妓,91精品黄片,欧美韩日国产,香蕉久久综合

什么是TCP_TCP連接的握手和揮手

2024-04-08


什么是網(wǎng)絡(luò)協(xié)議,在書本上的定義:網(wǎng)絡(luò)協(xié)議是為計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或者約定的集合。通常習(xí)慣是理解為規(guī)則,也就是TCP/IP規(guī)則。規(guī)則是什么?是雙方實(shí)現(xiàn)交互必須遵守的規(guī)范。通俗講,如果把網(wǎng)絡(luò)比喻為一個(gè)交通網(wǎng),那么設(shè)備與設(shè)備之間的鏈路,就是公路,而公路上的紅綠燈、限速這些就是規(guī)則;遵守規(guī)則才能保證兩地地往來。而TCP/IP網(wǎng)絡(luò)協(xié)議,就是ip網(wǎng)絡(luò)中的重要規(guī)則之一。


TCP也就是傳輸控制協(xié)議(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。因?yàn)榛ヂ?lián)網(wǎng)絡(luò)中的不同部分可能擁有截然不同的拓?fù)浣Y(jié)構(gòu)、帶寬、延遲、數(shù)據(jù)包大小和其他參數(shù),而TCP協(xié)議能夠動(dòng)態(tài)地適應(yīng)互聯(lián)網(wǎng)絡(luò)的特性,具備面對(duì)各種故障是的健壯性,可以在不可靠的互聯(lián)網(wǎng)絡(luò)上提供可靠的端到端字節(jié)流。


作為一個(gè)傳輸控制協(xié)議,TCP 的工作主要內(nèi)容也就是建立連接,傳輸數(shù)據(jù)以及連接終止三個(gè)部分。在這其中TCP的建立連接稱為“三次握手”,連接終止成為“四次揮手”。


一、建立連接:


TCP是因特網(wǎng)中的傳輸層協(xié)議,使用三次握手協(xié)議建立連接。當(dāng)主動(dòng)方發(fā)出SYN連接請(qǐng)求后,等待對(duì)方回答SYN+ACK,并最終對(duì)對(duì)方的 SYN 執(zhí)行 ACK 確認(rèn)。這種建立連接的方法可以防止產(chǎn)生錯(cuò)誤的連接,TCP使用的流量控制協(xié)議是可變大小的滑動(dòng)窗口協(xié)議。三次握手中,第一次握手確認(rèn)客戶端具有發(fā)送的能;第二次握手確認(rèn)服務(wù)端具有發(fā)送和接收的能力;第三次握手確認(rèn)客戶端具有接收的能力,在三次握手中確認(rèn)雙方都具有發(fā)送的能力和接收的能力。三次握手完成后,TCP客戶端和服務(wù)器端成功建立連接,就可以開始傳輸數(shù)據(jù)了。


二、三次握手過程:

第一次握手:SYN=1(連接請(qǐng)求報(bào)文),seq=a,發(fā)送后進(jìn)入SYN-SENT狀態(tài);

第二次握手:SYN=1,ACK=1(同意連接請(qǐng)求報(bào)文),seq=b,發(fā)送后服務(wù)端進(jìn)入SYN-RCVD狀態(tài);

第三次握手:ACK=1(確認(rèn)請(qǐng)求報(bào)文),seq=a+1,發(fā)送后客戶端進(jìn)入ESTABLISHED狀態(tài),服務(wù)端收到后也進(jìn)入ESTABLISHED狀態(tài)。


三、連接終止:

建立一個(gè)連接需要三次握手,而終止一個(gè)連接要經(jīng)過四次握手,這是由于服務(wù)端在接收到FIN, 往往不會(huì)立即返回FIN, 必須等到服務(wù)端所有的報(bào)文都發(fā)送完畢了,才能發(fā)FIN。因此先發(fā)一個(gè)ACK表示已經(jīng)收到客戶端的FIN,延遲一段時(shí)間才發(fā)FIN,這就造成了四次揮手。


四、四次揮手過程:

第一次揮手:若A認(rèn)為數(shù)據(jù)發(fā)送完成,則它需要向B發(fā)送連接釋放請(qǐng)求。該請(qǐng)求只有報(bào)文頭,頭中攜帶的主要參數(shù)為:FIN=1,seq=u。此時(shí),A將進(jìn)入FIN-WAIT-1狀態(tài)。

第二次揮手:B收到連接釋放請(qǐng)求后,會(huì)通知相應(yīng)的應(yīng)用程序,告訴它A向B這個(gè)方向的連接已經(jīng)釋放。此時(shí)B進(jìn)入CLOSE-WAIT狀態(tài),并向A發(fā)送連接釋放的應(yīng)答,其報(bào)文頭包含:ACK=1,seq=v,ack=u+1。A收到該應(yīng)答,進(jìn)入FIN-WAIT-2狀態(tài),等待B發(fā)送連接釋放請(qǐng)求。

第三次揮手:當(dāng)B向A發(fā)完所有數(shù)據(jù)后,向A發(fā)送連接釋放請(qǐng)求,請(qǐng)求頭:FIN=1,ACK=1,seq=w,ack=u+1。B便進(jìn)入LAST-ACK狀態(tài)。

第四次揮手:A收到釋放請(qǐng)求后,向B發(fā)送確認(rèn)應(yīng)答,此時(shí)A進(jìn)入TIME-WAIT狀態(tài)。該狀態(tài)會(huì)持續(xù)2MSL時(shí)間,若該時(shí)間段內(nèi)沒有B的重發(fā)請(qǐng)求的話,就進(jìn)入CLOSED狀態(tài),撤銷TCB。當(dāng)B收到確認(rèn)應(yīng)答后,也便進(jìn)入CLOSED狀態(tài),撤銷TCB。


不管是三次握手還是四次揮手,其可靠性,簡(jiǎn)單而言就是通過多次的確定,來減少錯(cuò)誤的發(fā)生。很多協(xié)議的hello報(bào)文也是如此。通過固定某一階段,去不斷確定對(duì)端的狀態(tài),由此確保網(wǎng)絡(luò)的穩(wěn)定和可靠。并且TCP協(xié)議作為網(wǎng)絡(luò)的重要協(xié)議,一種重要規(guī)則,我們需要好好的去了解其工作原理、作用;這樣能夠幫助我們更好地在網(wǎng)絡(luò)公路上的通行,建立良好的網(wǎng)絡(luò)秩序,從而保證網(wǎng)絡(luò)的穩(wěn)定性和持久性。