2021-4-10 | 互聯(lián)網(wǎng)
外層空間的研究包括太空旅行、星際網(wǎng)絡(luò)、用無線電及雷達(dá)進(jìn)行天文觀察。外層空間通信的目的是實(shí)現(xiàn)從外太空到地球的高速信息傳遞,例如在星球探索中我們需要提供雙向通信鏈路用以引導(dǎo)和控制星球探測器,并傳回探測器收集到的圖片和信息。因此需要規(guī)劃下一代太空通信網(wǎng)絡(luò)的體系結(jié)構(gòu)。
星際互聯(lián)網(wǎng)的體系結(jié)構(gòu)分為三部分:星際主干網(wǎng),包括從外太空星球到地球以及到環(huán)繞地球的中繼站之間的直接鏈路或多條路徑。
行星衛(wèi)星網(wǎng),包括環(huán)繞行星的衛(wèi)星,這些衛(wèi)星可以為行星表面的探測器提供通信中繼及導(dǎo)航服務(wù)。
行星鄰近網(wǎng),為行星表面的各種探測器之間提供通信鏈路,這些探測器通常形成一個ad一hoc網(wǎng)。
以上的組成部分主要考慮星系主干網(wǎng),它在整個星際通信的性能中起主要作用。
把目前的TCP協(xié)議用于星際網(wǎng)性能會很差,因?yàn)樾请H網(wǎng)骨干網(wǎng)的傳播延遲很大,鏈路差錯率高、往返帶寬不對稱、鏈路經(jīng)常中斷,需要根據(jù)這些特點(diǎn)設(shè)計相應(yīng)的傳輸協(xié)議。協(xié)議參考目前的TCP并針對星際互聯(lián)網(wǎng)的具體特點(diǎn)做改動。基于窗口和基于速率的傳輸機(jī)制其吞吐率分別與R片和V兀廳一成反比,因此星際網(wǎng)采用基于速率的加增乘減(AIMD)擁塞控制方法,AIMD的參數(shù)可幫助避免吞吐量的降低。協(xié)議不采取當(dāng)前TCP的慢啟動算法,而是采取初始狀態(tài)算法,開發(fā)新的擁塞檢測和控制機(jī)制,不再以一個包的丟失作為發(fā)生擁塞的標(biāo)志,這樣可以避免由于鏈路差錯引發(fā)丟包而被錯誤地當(dāng)作是發(fā)生擁塞。為了減輕鏈路中斷對吞吐量性能的影響,將中斷狀態(tài)處理引入?yún)f(xié)議,并采取延遲SACK來解決帶寬不對稱問題。
協(xié)議算法分為兩部分:初始狀態(tài)和穩(wěn)定狀態(tài)。源點(diǎn)開始建立連接時為初始狀態(tài),經(jīng)過2*R片之后進(jìn)人穩(wěn)定狀態(tài)。初始狀態(tài)包括Immediatestart和Fonow一Up兩部分,持續(xù)時間均為一個R拌;穩(wěn)定狀態(tài)包括4種狀態(tài):HoldRate,Deerease:ate,Inereas。Rate,Blaekout,根據(jù)鏈路情況在這4種狀態(tài)間轉(zhuǎn)換。
(l)ImmediateStart。
從t二0開始到一個t=R7’T之間的時間段,分為兩部分。
l)EmulatedSlowStart:每個T發(fā)送的數(shù)據(jù)包數(shù)從開始,指數(shù)增加,直到達(dá)到設(shè)定的闌值ssthresh=丫廁叭麗-。發(fā)送數(shù)據(jù)包的同時還發(fā)送ML包,ML包的優(yōu)先級低于數(shù)據(jù)包,發(fā)生擁塞時先丟棄ML包,因此不會影響數(shù)據(jù)包的吞吐率;不擁塞時,接收方發(fā)出確認(rèn)信息MLACK,表示目前的鏈路資源尚有空閑。每個T內(nèi)發(fā)送的數(shù)據(jù)包數(shù)與ML包數(shù)之和等于ssthreshe,進(jìn)人EmulatedCongestionAvoidan(:e。
2)EmulatedCongestionAvoidanee:發(fā)送方不再增加每個T中發(fā)出的數(shù)據(jù)包數(shù),而是將每個T中發(fā)送的ML包數(shù)加一,直到t=RTT,進(jìn)人Follow一Up階段。
(2)Follow一Up。
從t二R拌到t二2*R拌之間的時間段,發(fā)送方開始收到來自接收方的反饋信息。為了節(jié)省返回鏈路資源,接收方不是每個包都應(yīng)答,而是每個時間段T中應(yīng)答一次,在這個時間段內(nèi)收到的包數(shù)N被放在應(yīng)答包MLACK中送回發(fā)方。發(fā)方根據(jù)收到的N值調(diào)節(jié)發(fā)送速率S‘:,方法是:S‘t=八刀,。在t=2*RTT時進(jìn)人穩(wěn)定狀態(tài)。
2穩(wěn)定狀態(tài)
在這個階段,發(fā)送方處于4種狀態(tài)之一:增加速率、降低速率、保持速率、中斷狀態(tài)。剛進(jìn)人穩(wěn)定狀態(tài)時首先處于保持速率狀態(tài),根據(jù)采用的擁塞控制方法進(jìn)行狀態(tài)轉(zhuǎn)換。因此數(shù)據(jù)傳輸速率S根據(jù)所處的狀態(tài)進(jìn)行增減或保持。
(1)擁塞控制。
協(xié)議采用新的擁塞控制機(jī)制解決鏈路差錯率高的問題,可以區(qū)分由擁塞造成的丟包和由鏈路差錯造成的丟包。發(fā)送方周期性地發(fā)出兩類規(guī)模很小的Mx包,這兩類MX包除了優(yōu)先級高低不同,大小和速率都相同。如果鏈路差錯造成丟包,這兩類MX包的丟包率相同;如果擁塞造成丟包,優(yōu)先級低的NIX包會首先被丟掉,可以區(qū)分鏈路是擁塞還是差錯。接收方統(tǒng)計一個時間窗內(nèi)收到的高低優(yōu)先級的MX包數(shù)從吵和從助,每個,周期將它們放在MXACK中反饋給發(fā)送方。發(fā)送方計算小二從漢刀腸沙,把中和預(yù)設(shè)的閡值機(jī)、中、進(jìn)行比較,調(diào)整發(fā)送速率:如果小>小‘說明沒有擁塞,增加發(fā)送速率,5二S+a;如果中<小己說明發(fā)生擁塞,降低發(fā)送速率,S=s*氛如果中蕎中<小‘則保持原有速率。
(2)基于速率的AIMD。
(3)斷路狀態(tài)。
在規(guī)定時間內(nèi)發(fā)方?jīng)]有收到任何應(yīng)答信息則認(rèn)為出現(xiàn)了斷路,進(jìn)人斷路狀態(tài);同樣,收方也會因?yàn)樵谝?guī)定時間內(nèi)沒有收到發(fā)方的數(shù)據(jù)而進(jìn)人斷路狀態(tài)。在斷路狀態(tài)下,發(fā)送方停止發(fā)送數(shù)據(jù)包改為發(fā)送具有高低兩種優(yōu)先級的MX包,而接收方雖然沒有收到任何MX包也會不斷發(fā)送MXACK包,包中的從別和戈沙均為0。這是為了幫助發(fā)送方及早發(fā)現(xiàn)斷路的恢復(fù)從而盡快開始發(fā)送數(shù)據(jù)包。若發(fā)送方開始收到包含刃而二0和戈沙=0的MXACK,即表示斷路恢復(fù),轉(zhuǎn)人保持速率狀態(tài),開始發(fā)送數(shù)據(jù)包。
(4)帶寬不對稱問題。
為了解決往返帶寬不對稱問題,接收方不是每個包都應(yīng)答,而是采用延時SACK的方法減少返回鏈路的業(yè)務(wù)量。若沒有丟包,每收到d個包應(yīng)答一個SACK;若出現(xiàn)丟包則立即應(yīng)答一個SACK。
這種基于速率的AIMD擁塞控制機(jī)制運(yùn)行在IP層之上,不需修改當(dāng)前TC助P協(xié)議的下層,具有很好的應(yīng)用前景。