自適應(yīng)重傳是TCP協(xié)議中的一種擁塞控制機(jī)制,旨在通過智能的方式處理網(wǎng)絡(luò)擁塞,并進(jìn)行相應(yīng)的數(shù)據(jù)重傳,以提高網(wǎng)絡(luò)的可靠性和性能。
在自適應(yīng)重傳中,TCP會(huì)利用發(fā)送方和接收方之間的交互來判斷網(wǎng)絡(luò)是否存在擁塞,并根據(jù)這些信息來調(diào)整數(shù)據(jù)的重傳行為。這種機(jī)制的主要目標(biāo)是在保證數(shù)據(jù)可靠性的同時(shí),盡量減少對(duì)網(wǎng)絡(luò)的額外壓力和負(fù)擔(dān)。
具體來說,自適應(yīng)重傳的核心概念是快速重傳(Fast Retransmit)和重復(fù)確認(rèn)(Duplicate ACK)。當(dāng)接收方收到一個(gè)失序的數(shù)據(jù)段時(shí),它會(huì)發(fā)送一個(gè)重復(fù)確認(rèn)給發(fā)送方,表示它已經(jīng)收到了該數(shù)據(jù)段之后的數(shù)據(jù)。發(fā)送方在接收到重復(fù)確認(rèn)后,會(huì)立即重傳該數(shù)據(jù)段,而不是等待超時(shí)定時(shí)器觸發(fā)重傳。
通過快速重傳,自適應(yīng)重傳能夠更快地檢測(cè)到網(wǎng)絡(luò)擁塞的存在,并采取相應(yīng)的措施。當(dāng)發(fā)送方收到若干個(gè)重復(fù)確認(rèn)時(shí),它會(huì)推測(cè)數(shù)據(jù)段可能已經(jīng)丟失,因此會(huì)立即重傳該數(shù)據(jù)段,而無需等待定時(shí)器超時(shí)。這樣能夠避免等待定時(shí)器超時(shí)的時(shí)間延遲,加快了數(shù)據(jù)的可靠傳輸。
此外,自適應(yīng)重傳還可以根據(jù)重復(fù)確認(rèn)的數(shù)量來判斷網(wǎng)絡(luò)狀況的嚴(yán)重程度。如果僅僅收到少量的重復(fù)確認(rèn),說明網(wǎng)絡(luò)擁塞程度較輕,發(fā)送方只需進(jìn)行快速重傳。但如果收到大量的重復(fù)確認(rèn),說明網(wǎng)絡(luò)擁塞程度較重,發(fā)送方可能會(huì)選擇進(jìn)行更進(jìn)一步的擁塞控制策略,如減少擁塞窗口大小來減緩發(fā)送速度。
自適應(yīng)重傳的類型
1)超時(shí)重傳
報(bào)文段的往返時(shí)間:RTT 加權(quán)平均往返時(shí)間:RTTS RTT的偏差加權(quán)平均值:RTTD 超時(shí)重傳時(shí)間:RTO RTTS = (1 - α) * RTTS + α * 新的RTT樣本值 (α一般為1/8) RTTD = (1 - β) * RTTD + β * | RTTS - 新的RTT樣本值 | (β一般為1/4) RTO = RTTS + 4 * RTTD
Karn算法: ①每次超時(shí)重傳一個(gè)報(bào)文段時(shí),停止計(jì)算新RTT樣本值 ②每次超時(shí)重傳一個(gè)報(bào)文段時(shí),就把超時(shí)重傳時(shí)間RTO增大y倍(一般為2倍) ③當(dāng)不發(fā)生報(bào)文段重傳時(shí),才計(jì)算RTTS和超時(shí)重傳時(shí)間RTO
2)快速重傳
原因:超時(shí)重傳作為TCP最基本的重傳機(jī)制,效率較低。
超時(shí)的粗粒度實(shí)現(xiàn)方法導(dǎo)致連接在等待一個(gè)定時(shí)器超時(shí)時(shí),很長(zhǎng)一段時(shí)間連接無效。
基本思想: ①接收方:當(dāng)報(bào)文段到達(dá),立刻回復(fù)ACK,即使該序號(hào)已被確認(rèn)過 ②發(fā)送方:收到一個(gè)重復(fù)ACK(同一個(gè)確認(rèn)的再一次重傳稱為重復(fù)確認(rèn)),就知道接收方必定收到亂序到達(dá)的報(bào)文段,表明其前面的分組可能丟失。收到3個(gè)重復(fù)ACK時(shí),立刻觸發(fā)重傳。
自適應(yīng)重傳和非自適應(yīng)重傳的區(qū)別
自適應(yīng)重傳和非自適應(yīng)重傳是TCP協(xié)議中兩種不同的重傳機(jī)制,它們有以下區(qū)別:
1. 觸發(fā)條件:自適應(yīng)重傳是基于擁塞控制算法觸發(fā)的,而非自適應(yīng)重傳是基于超時(shí)定時(shí)器觸發(fā)的。
- 自適應(yīng)重傳:在發(fā)生擁塞時(shí),TCP會(huì)根據(jù)網(wǎng)絡(luò)的擁塞狀況進(jìn)行自適應(yīng)的重傳,例如TCP Tahoe和TCP Reno中的快速重傳機(jī)制。
- 非自適應(yīng)重傳:在超過重傳定時(shí)器的時(shí)間后,TCP會(huì)觸發(fā)非自適應(yīng)重傳,即重新發(fā)送未被確認(rèn)的數(shù)據(jù)段。
2. 處理方式:自適應(yīng)重傳和非自適應(yīng)重傳對(duì)于重傳的處理方式有所不同。
- 自適應(yīng)重傳:自適應(yīng)重傳針對(duì)出現(xiàn)丟失數(shù)據(jù)段的情況,通過快速重傳來避免等待超時(shí)定時(shí)器的觸發(fā)。當(dāng)接收方收到丟失的數(shù)據(jù)段后,會(huì)立即發(fā)送重復(fù)確認(rèn)(Duplicate ACK)給發(fā)送方,使發(fā)送方盡快重傳丟失的數(shù)據(jù)段。
- 非自適應(yīng)重傳:非自適應(yīng)重傳則是在超過重傳定時(shí)器時(shí)間后觸發(fā)。發(fā)送方會(huì)根據(jù)重傳定時(shí)器的時(shí)間間隔來判斷是否進(jìn)行重傳,以確保數(shù)據(jù)的可靠性。
3. 對(duì)網(wǎng)絡(luò)質(zhì)量的反應(yīng):自適應(yīng)重傳和非自適應(yīng)重傳對(duì)網(wǎng)絡(luò)質(zhì)量的反應(yīng)略有不同。
- 自適應(yīng)重傳:自適應(yīng)重傳能夠更加敏感地檢測(cè)到網(wǎng)絡(luò)擁塞,并根據(jù)丟失的數(shù)據(jù)段來做出相應(yīng)的調(diào)整。它可以根據(jù)重復(fù)確認(rèn)的次數(shù)來判斷是否進(jìn)行快速重傳,從而更好地適應(yīng)網(wǎng)絡(luò)狀況。
- 非自適應(yīng)重傳:非自適應(yīng)重傳主要是基于定時(shí)器超時(shí)來觸發(fā),因此對(duì)網(wǎng)絡(luò)擁塞的反應(yīng)比較滯后。當(dāng)定時(shí)器超時(shí)時(shí),發(fā)送方會(huì)直接重傳未確認(rèn)的數(shù)據(jù)段。
自適應(yīng)重傳是一種更智能、適應(yīng)網(wǎng)絡(luò)擁塞的重傳方式,能夠更快地回應(yīng)出現(xiàn)丟失的數(shù)據(jù)段,并調(diào)整重傳的策略。而非自適應(yīng)重傳則相對(duì)簡(jiǎn)單,主要是通過定時(shí)器觸發(fā)來進(jìn)行重傳,對(duì)網(wǎng)絡(luò)擁塞的反應(yīng)較為滯后。
審核編輯:黃飛
-
定時(shí)器
+關(guān)注
關(guān)注
23文章
3232瀏覽量
114329 -
TCP
+關(guān)注
關(guān)注
8文章
1347瀏覽量
78934 -
擁塞控制
+關(guān)注
關(guān)注
0文章
14瀏覽量
8468
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論