TCP/IP 协议理解
TCP/IP 協(xié)議(Transmission Control Protocol / internet Protocol),因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議。通俗而言:TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯?wèn)題,一有問(wèn)題就發(fā)出信號(hào),要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡亍6鳬P是給因特網(wǎng)的每一臺(tái)聯(lián)網(wǎng)設(shè)備規(guī)定一個(gè)地址。
TCP是面向連接的通信協(xié)議,通過(guò)三次握手建立連接,通訊完成時(shí)要拆除連接,由于TCP是面向連接的所以只能用于端到端的通訊。
TCP提供的是一種可靠的數(shù)據(jù)流服務(wù),采用“帶重傳的肯定確認(rèn)”技術(shù)來(lái)實(shí)現(xiàn)傳輸?shù)目煽啃浴CP還采用一種稱(chēng)為“滑動(dòng)窗口”的方式進(jìn)行流量控制,所謂窗口實(shí)際表示接收能力,用以限制發(fā)送方的發(fā)送速度。
?
三次握手(three times handshake;three-way handshake)所謂的“三次握手”即對(duì)每次發(fā)送的數(shù)據(jù)量是怎樣跟蹤進(jìn)行協(xié)商使數(shù)據(jù)段的發(fā)送和接收同步,根據(jù)所接收到的數(shù)據(jù)量而確定的數(shù)據(jù)確認(rèn)數(shù)及數(shù)據(jù)發(fā)送、接收完畢后何時(shí)撤消聯(lián)系,并建立虛連接。為了提供可靠的傳送,TCP在發(fā)送新的數(shù)據(jù)之前,以特定的順序?qū)?shù)據(jù)包的序號(hào),并需要這些包傳送給目標(biāo)機(jī)之后的確認(rèn)消息。TCP總是用來(lái)發(fā)送大批量的數(shù)據(jù)。當(dāng)應(yīng)用程序在收到數(shù)據(jù)后要做出確認(rèn)時(shí)也要用到TCP。
?第一次握手:建立連接時(shí),客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SENT狀態(tài),等待服務(wù)器確認(rèn);SYN:同步序列編號(hào)
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
?
?
我在這里舉個(gè)例子:比如 客戶端A 有一天給 服務(wù)器 B發(fā)了一個(gè)快遞,但是服務(wù)器B不知道,當(dāng)收到快遞時(shí),服務(wù)器B給客戶端A打了一個(gè)電話問(wèn)是否給我發(fā)了一個(gè)快遞,然后客戶端A告訴服務(wù)器B,是給他發(fā)了一個(gè)。然后服務(wù)器B掛了電話,拿到快遞,簽字。
轉(zhuǎn)載于:https://www.cnblogs.com/geek12/p/4052640.html
總結(jié)
以上是生活随笔為你收集整理的TCP/IP 协议理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “梦身升上清”下一句是什么
- 下一篇: 读阮一峰对《javascript语言精粹