當(dāng)前位置:首頁(yè) > > 基礎(chǔ)知識(shí)科普站
[導(dǎo)讀]傳輸控制協(xié)議(TCP,Transmission Control Protocol)是為了在不可靠的互聯(lián)網(wǎng)絡(luò)上提供可靠的端到端字節(jié)流而專門設(shè)計(jì)的一個(gè)傳輸協(xié)議。

傳輸控制協(xié)議(TCP,Transmission Control Protocol)是為了在不可靠的互聯(lián)網(wǎng)絡(luò)上提供可靠的端到端字節(jié)流而專門設(shè)計(jì)的一個(gè)傳輸協(xié)議。 [2] 互聯(lián)網(wǎng)絡(luò)與單個(gè)網(wǎng)絡(luò)有很大的不同,因?yàn)榛ヂ?lián)網(wǎng)絡(luò)的不同部分可能有截然不同的拓?fù)浣Y(jié)構(gòu)、帶寬、延遲、數(shù)據(jù)包大小和其他參數(shù)。TCP的設(shè)計(jì)目標(biāo)是能夠動(dòng)態(tài)地適應(yīng)互聯(lián)網(wǎng)絡(luò)的這些特性,而且具備面對(duì)各種故障時(shí)的健壯性。 [2] 不同主機(jī)的應(yīng)用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機(jī)制,而是提供不可靠的包交換。 [3] 應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)摹⒂?位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分區(qū)成適當(dāng)長(zhǎng)度的報(bào)文段(通常受該計(jì)算機(jī)連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的最大傳輸單元(MTU)的限制)。之后TCP把結(jié)果包傳給IP層,由它來(lái)通過(guò)網(wǎng)絡(luò)將包傳送給接收端實(shí)體的TCP層。TCP為了保證不發(fā)生丟包,就給每個(gè)包一個(gè)序號(hào),同時(shí)序號(hào)也保證了傳送到接收端實(shí)體的包的按序接收。然后接收端實(shí)體對(duì)已成功收到的包發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK);如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對(duì)應(yīng)的數(shù)據(jù)包就被假設(shè)為已丟失將會(huì)被進(jìn)行重傳。TCP用一個(gè)校驗(yàn)和函數(shù)來(lái)檢驗(yàn)數(shù)據(jù)是否有錯(cuò)誤;在發(fā)送和接收時(shí)都要計(jì)算校驗(yàn)和。

每臺(tái)支持TCP的機(jī)器都有一個(gè)TCP傳輸實(shí)體。TCP實(shí)體可以是一個(gè)庫(kù)過(guò)程、一個(gè)用戶進(jìn)程,或者內(nèi)核的一部分。在所有這些情形下,它管理TCP流,以及與IP層之間的接口。TCP傳輸實(shí)體接受本地進(jìn)程的用戶數(shù)據(jù)流,將它們分割成不超過(guò)64KB(實(shí)際上去掉IP和TCP頭,通常不超過(guò)1460數(shù)據(jù)字節(jié))的分段,每個(gè)分段以單獨(dú)的IP數(shù)據(jù)報(bào)形式發(fā)送。當(dāng)包含TCP數(shù)據(jù)的數(shù)據(jù)報(bào)到達(dá)一臺(tái)機(jī)器時(shí),它們被遞交給TCP傳輸實(shí)體,TCP傳輸實(shí)體重構(gòu)出原始的字節(jié)流。為簡(jiǎn)化起見(jiàn),我們有時(shí)候僅僅用“TCP”來(lái)代表TCP傳輸實(shí)體(一段軟件)或者TCP協(xié)議(一組規(guī)則)。根據(jù)上下文語(yǔ)義你應(yīng)該能很消楚地推斷出其實(shí)際含義。例如,在“用戶將數(shù)據(jù)交給TCP”這句話中,很顯然這里指的是TCP傳輸實(shí)體。 [2] IP層并不保證數(shù)據(jù)報(bào)一定被正確地遞交到接收方,也不指示數(shù)據(jù)報(bào)的發(fā)送速度有多快。正是TCP負(fù)責(zé)既要足夠快地發(fā)送數(shù)據(jù)報(bào),以便使用網(wǎng)絡(luò)容量,但又不能引起網(wǎng)絡(luò)擁塞:而且,TCP超時(shí)后,要重傳沒(méi)有遞交的數(shù)據(jù)報(bào)。即使被正確遞交的數(shù)據(jù)報(bào),也可能存在錯(cuò)序的問(wèn)題,這也是TCP的責(zé)任,它必須把接收到的數(shù)據(jù)報(bào)重新裝配成正確的順序。簡(jiǎn)而言之,TCP必須提供可靠性的良好性能,這正是大多數(shù)用戶所期望的而IP又沒(méi)有提供的功能。

當(dāng)應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)摹⒂?位字節(jié)表示的數(shù)據(jù)流,TCP則把數(shù)據(jù)流分割成適當(dāng)長(zhǎng)度的報(bào)文段,最大傳輸段大小(MSS)通常受該計(jì)算機(jī)連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的最大傳送單元(MTU)限制。之后TCP把數(shù)據(jù)包傳給IP層,由它來(lái)通過(guò)網(wǎng)絡(luò)將包傳送給接收端實(shí)體的TCP層。 [3] TCP為了保證報(bào)文傳輸?shù)目煽浚徒o每個(gè)包一個(gè)序號(hào),同時(shí)序號(hào)也保證了傳送到接收端實(shí)體的包的按序接收。然后接收端實(shí)體對(duì)已成功收到的字節(jié)發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK);如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對(duì)應(yīng)的數(shù)據(jù)(假設(shè)丟失了)將會(huì)被重傳。

在數(shù)據(jù)正確性與合法性上,TCP用一個(gè)校驗(yàn)和函數(shù)來(lái)檢驗(yàn)數(shù)據(jù)是否有錯(cuò)誤,在發(fā)送和接收時(shí)都要計(jì)算校驗(yàn)和;同時(shí)可以使用md5認(rèn)證對(duì)數(shù)據(jù)進(jìn)行加密。

在保證可靠性上,采用超時(shí)重傳和捎帶確認(rèn)機(jī)制。

在流量控制上,采用滑動(dòng)窗口協(xié)議,協(xié)議中規(guī)定,對(duì)于窗口內(nèi)未經(jīng)確認(rèn)的分組需要重傳。

在擁塞控制上,采用廣受好評(píng)的TCP擁塞控制算法(也稱AIMD算法)。該算法主要包括四個(gè)主要部分:(1)慢啟動(dòng)每當(dāng)建立一個(gè)TCP連接時(shí)或一個(gè)TCP連接發(fā)生超時(shí)重傳后,該連接便進(jìn)入慢啟動(dòng)階段。進(jìn)入慢啟動(dòng)后,TCP實(shí)體將擁塞窗口的大小初始化為一個(gè)報(bào)文段,即:cwnd=1。此后,每收到一個(gè)報(bào)文段的確認(rèn)(ACK),cwnd值加1,即擁塞窗口按指數(shù)增加。當(dāng)cwnd值超過(guò)慢啟動(dòng)闡值(ssthresh)或發(fā)生報(bào)文段丟失重傳時(shí),慢啟動(dòng)階段結(jié)束。前者進(jìn)入擁塞避免階段,后者重新進(jìn)入慢啟動(dòng)階段。(2)擁塞避免在慢啟階段,當(dāng)cwnd值超過(guò)慢啟動(dòng)闡值(ssthresh)后,慢啟動(dòng)過(guò)程結(jié)束,TCP連接進(jìn)入擁塞避免階段。在擁塞避免階段,每一次發(fā)送的cwnd個(gè)報(bào)文段被完全確認(rèn)后,才將cwnd值加1。在此階段,cwnd值線性增加。(3)快速重傳快速重傳是對(duì)超時(shí)重傳的改進(jìn)。當(dāng)源端收到對(duì)同一個(gè)報(bào)文的三個(gè)重復(fù)確認(rèn)時(shí),就確定一個(gè)報(bào)文段已經(jīng)丟失,因此立刻重傳丟失的報(bào)文段,而不必等到重傳定時(shí)器(RTO)超時(shí)。以此減少不必要的等待時(shí)間。(4)快速恢復(fù)快速恢復(fù)是對(duì)丟失恢復(fù)機(jī)制的改進(jìn)。在快速重傳之后,不經(jīng)過(guò)慢啟動(dòng)過(guò)程而直接進(jìn)入擁塞避免階段。每當(dāng)快速重傳后,置ssthresh=cwnd/2、ewnd=ssthresh+3。此后,每收到一個(gè)重復(fù)確認(rèn),將cwnd值加1,直至收到對(duì)丟失報(bào)文段和其后若干報(bào)文段的累積確認(rèn)后,置cwnd=ssthresh,進(jìn)入擁塞避免階段。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉