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