成都網(wǎng)站建設(shè)公司電話seo網(wǎng)絡(luò)推廣公司
1.Tcp三次握手四次揮手:
? ? ? ? 1.1基本概念:
????????TCP(三次握手和四次揮手)是用于建立和終止可靠傳輸連接的過程。TCP協(xié)議是一種面向連接的傳輸層協(xié)議,確保數(shù)據(jù)在網(wǎng)絡(luò)上可靠、有序地傳輸。下面詳細(xì)解釋三次握手和四次揮手的工作機(jī)制。
? ? ? ? 1.2 TCP 三次握手(建立連接)
????????TCP 三次握手用于在客戶端和服務(wù)器之間建立可靠的連接。這個(gè)過程確保雙方都可以發(fā)送和接收數(shù)據(jù),并同步彼此的初始序列號(hào),以便在數(shù)據(jù)傳輸時(shí)能夠正確排序和確認(rèn)。三次握手過程如下:
????????????????(1).第一次握手:SYN
- 客戶端發(fā)送一個(gè)SYN(同步序列號(hào))包給服務(wù)器,表示想要建立連接。該包包含客戶端的初始序列號(hào)(
Seq = x
),用于數(shù)據(jù)傳輸時(shí)的確認(rèn)。
? ? ? ? ? ? ? ? (2).第二次握手:SYN-ACK
- 服務(wù)器收到客戶端的SYN包后,回復(fù)一個(gè)SYN+ACK包,表示同意建立連接,并返回自己的初始序列號(hào)(
Seq = y
)。同時(shí),確認(rèn)客戶端的SYN包(Ack = x+1
)。
? ? ? ? ? ? ? ? (3).第三次握手:ACK
- 客戶端收到服務(wù)器的SYN+ACK包后,發(fā)送ACK包,確認(rèn)服務(wù)器的SYN包(
Ack = y+1
),并表示連接已經(jīng)成功建立。
????????此時(shí),客戶端和服務(wù)器之間的連接已經(jīng)建立,可以開始進(jìn)行數(shù)據(jù)的傳輸。
? ? ? ? 1.3?TCP 四次揮手(斷開連接)
????????當(dāng)客戶端或服務(wù)器任何一方希望終止連接時(shí),TCP 采用四次揮手機(jī)制來確保雙方都能正確斷開連接。由于TCP連接是全雙工的(即雙方可以同時(shí)發(fā)送和接收數(shù)據(jù)),每一方都需要單獨(dú)關(guān)閉各自的數(shù)據(jù)傳輸通道,確保連接的安全終止。
???????? ? ? ? ?(1).第一次揮手:FIN
????????客戶端(或服務(wù)器)發(fā)送一個(gè)FIN(Finish)包,表示不再發(fā)送數(shù)據(jù),但仍可以接收數(shù)據(jù)。此時(shí),客戶端進(jìn)入
FIN_WAIT_1
狀態(tài)。
????????????????(2).第二次揮手:ACK
????????服務(wù)器收到FIN包后,回復(fù)一個(gè)ACK包,表示已收到請(qǐng)求,進(jìn)入
CLOSE_WAIT
狀態(tài)。此時(shí),客戶端進(jìn)入FIN_WAIT_2
狀態(tài),等待服務(wù)器關(guān)閉連接。
?????? ? ? ? ? ?(3).第三次揮手:FIN
????????服務(wù)器也向客戶端發(fā)送一個(gè)FIN包,表示服務(wù)器也不再發(fā)送數(shù)據(jù),準(zhǔn)備關(guān)閉連接。此時(shí),服務(wù)器進(jìn)入
LAST_ACK
狀態(tài)。
? ? ? ? ? ? ? ? (4).第四次揮手:ACK
- 客戶端收到服務(wù)器的FIN包后,回復(fù)一個(gè)ACK包,表示確認(rèn)服務(wù)器關(guān)閉連接。此時(shí),客戶端進(jìn)入
TIME_WAIT
狀態(tài),等待一定時(shí)間后完全關(guān)閉連接。服務(wù)器在收到ACK包后,立即關(guān)閉連接。
? ? ? ? 1.3 三次握手和四次揮手的作用
????????????????(1).三次握手確保客戶端和服務(wù)器都能夠確認(rèn)對(duì)方準(zhǔn)備好建立連接,并且可以同步初始序列號(hào),以保證數(shù)據(jù)傳輸?shù)挠行蛐院屯暾浴?/p>
????????????????(2).四次揮手則確保雙方都能夠安全地關(guān)閉連接,避免數(shù)據(jù)丟失??蛻舳嗽谑盏椒?wù)器的FIN后,進(jìn)入TIME_WAIT
狀態(tài),繼續(xù)等待一段時(shí)間,以處理可能出現(xiàn)的延遲數(shù)據(jù)包。
? ? ? ? 1.4 三次握手與四次揮手的區(qū)別
? ? ? ????????? (1).三次握手是為了建立連接,而四次揮手是為了斷開連接。
? ? ? ????????? (2).三次握手中的雙方可以同步初始序列號(hào),保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
? ? ? ????????? (3).四次揮手中的每一方都需要單獨(dú)關(guān)閉自己的數(shù)據(jù)傳輸通道,因此需要四步。
2.SSL/TLS
? ? ? ? 2.1?基本概念:
????????SSL(Secure Sockets Layer,安全套接字層)和TLS(Transport Layer Security,傳輸層安全協(xié)議)是用于保護(hù)網(wǎng)絡(luò)通信安全的加密協(xié)議。它們提供了一種在客戶端(如瀏覽器)和服務(wù)器之間建立安全通信的方式,確保數(shù)據(jù)傳輸?shù)谋C苄?、完整性和真?shí)性。
? ? ? ? 2.2?SSL與TLS的區(qū)別:
- SSL是最早開發(fā)的安全協(xié)議,但由于安全漏洞,已經(jīng)逐漸被棄用。
- TLS是SSL的升級(jí)版本,更加安全和高效。TLS 1.0 基于 SSL 3.0,但隨著時(shí)間的推移,TLS協(xié)議得到了更多的改進(jìn),目前常用的版本是 TLS 1.2 和 TLS 1.3。
? ? ? ? 2.3?SSL/TLS 的主要功能
????????SSL/TLS 通過以下三個(gè)方面保障通信的安全性:
????????????????加密(Confidentiality):通過加密技術(shù),保護(hù)傳輸?shù)臄?shù)據(jù)不被第三方竊聽。
????????????????完整性(Integrity):通過消息認(rèn)證碼(MAC),確保傳輸?shù)臄?shù)據(jù)在傳輸過程中沒有被篡改。?
????????????????身份驗(yàn)證(Authentication):通過數(shù)字證書確保通信雙方的身份是合法的。
? ? ? ? 2.4?SSL/TLS 握手過程
????????SSL/TLS 握手是客戶端和服務(wù)器之間建立安全連接的過程。握手主要用于協(xié)商安全參數(shù)和共享加密密鑰。典型的TLS握手過程如下:
- 客戶端Hello:客戶端向服務(wù)器發(fā)送包含協(xié)議版本、支持的加密算法、隨機(jī)數(shù)等信息的
ClientHello
消息。- 服務(wù)器Hello:服務(wù)器響應(yīng)
ServerHello
消息,包含選擇的加密算法、服務(wù)器證書等信息。- 證書驗(yàn)證:服務(wù)器發(fā)送數(shù)字證書,客戶端驗(yàn)證該證書的合法性。
- 密鑰交換:雙方協(xié)商會(huì)話密鑰,用于加密后續(xù)通信。這個(gè)過程可能使用非對(duì)稱加密算法(如RSA)或密鑰交換協(xié)議(如Diffie-Hellman)。
- 客戶端完成:客戶端生成一個(gè)會(huì)話密鑰并加密發(fā)送給服務(wù)器,服務(wù)器用自己的私鑰解密。雙方確認(rèn)加密通信通道已建立。
????????
3.關(guān)系:
????????TCP三次握手:用于建立可靠的傳輸層連接,確保數(shù)據(jù)包的順序和完整性。
????????SSL/TLS握手:在應(yīng)用層和傳輸層之間執(zhí)行,通常在TCP三次握手完成后進(jìn)行,用于建立安全的加密通信。