1. TCP三次握手
1)客戶端向服務(wù)器端發(fā)送一個(gè)SYN包,請求建立連接
2)服務(wù)器端受到SYN包之后,會(huì)發(fā)送一個(gè)SYN/ACK 確認(rèn)包回去,表示對第一個(gè)SYN包的確認(rèn)
3)客戶端收到SYN/ACK包之后,會(huì)發(fā)送一個(gè)ACK確認(rèn)包,通知服務(wù)器端連接已建立
三次握手目的:
為了防止已失效的連接請求報(bào)文段,突然又傳送到服務(wù)器端,因而產(chǎn)生錯(cuò)誤
2.TCP四次揮手:關(guān)閉連接
1) 客戶端向服務(wù)器端FIN報(bào)文,請求關(guān)閉連接
2)服務(wù)器端發(fā)送ACK,表示收到請求。但是服務(wù)器端還有數(shù)據(jù)沒有
發(fā)送完成,則不必著急關(guān)閉Socket,可以繼續(xù)發(fā)送數(shù)據(jù)。這時(shí)客戶
端進(jìn)入FIN_WAIT狀態(tài),等待Server端的FIN報(bào)文
3) 當(dāng)服務(wù)器端確定數(shù)據(jù)已發(fā)送完成,則向客戶端發(fā)送FIN報(bào)文,表明可
以關(guān)閉連接
4) 客戶端收到FIN報(bào)文后,知道可以關(guān)閉連接了,再發(fā)送ACK,后進(jìn)入
TIME_WAIT狀態(tài),客戶端等待了2MSL(最大報(bào)文生存時(shí)間)后依舊沒有收到回復(fù),則證明Server端已經(jīng)正常關(guān)閉,然后客戶端也可以關(guān)閉連接了,進(jìn)入closed狀態(tài)
服務(wù)器端收到ACK后,就關(guān)閉連接了,如果服務(wù)器端沒有收到ACK,那么將重發(fā)FIN
3.TCP/UDP是傳輸層協(xié)議,有狀態(tài),主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸
http是應(yīng)用層協(xié)議,無狀態(tài)
4.TCP和UDP區(qū)別
TCP:面向連接,可靠的,可以傳輸大量數(shù)據(jù),慢
UDP:面向非連接,不可靠,只能傳輸少量數(shù)據(jù),快
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。