本發(fā)明涉及互聯(lián)網(wǎng),具體說是一種基于深度強(qiáng)化學(xué)習(xí)的云際自適應(yīng)擁塞控制算法。
背景技術(shù):
1、近年來,云際計算的蓬勃發(fā)展得到了產(chǎn)業(yè)界和學(xué)術(shù)界的廣泛關(guān)注與研究,已經(jīng)成為信息領(lǐng)域的熱點(diǎn)和未來發(fā)展趨勢,其中知識定義數(shù)據(jù)中心網(wǎng)絡(luò)成為了實(shí)現(xiàn)云際計算、云際存儲的最重要核心基礎(chǔ)設(shè)施。但隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各類新型網(wǎng)絡(luò)技術(shù)不斷涌現(xiàn),知識定義數(shù)據(jù)中心網(wǎng)絡(luò)的用戶和設(shè)備數(shù)量呈指數(shù)型增長。
2、網(wǎng)絡(luò)擁塞的主要原因是網(wǎng)絡(luò)中的數(shù)據(jù)量大于現(xiàn)有的網(wǎng)絡(luò)資源。網(wǎng)絡(luò)擁塞會導(dǎo)致數(shù)據(jù)傳輸延遲和丟包率的增加,有效吞吐量的降低以及網(wǎng)絡(luò)性能的大幅下降等現(xiàn)象。長時間的延遲可能會引起數(shù)據(jù)重傳機(jī)制,加劇擁塞,消耗網(wǎng)絡(luò)資源,并可能導(dǎo)致網(wǎng)絡(luò)資源死鎖,進(jìn)而導(dǎo)致系統(tǒng)崩潰等嚴(yán)重后果。因此,在發(fā)現(xiàn)網(wǎng)絡(luò)擁塞時,應(yīng)及時檢查擁塞原因并盡快處理,以避免系統(tǒng)陷入崩潰狀態(tài)。
3、知識定義網(wǎng)絡(luò)(knowledge?defined?networking,kdn)是一種新型網(wǎng)絡(luò)架構(gòu),基于軟件定義網(wǎng)絡(luò)(software?defined?networks,sdn)的基礎(chǔ)上發(fā)展而來。kdn在sdn基礎(chǔ)架構(gòu)上添加了知識平面,通過使用機(jī)器學(xué)習(xí)技術(shù)為控制平面提供決策指引,實(shí)現(xiàn)對網(wǎng)絡(luò)的智能化管控。同時,在sdn基礎(chǔ)架構(gòu)的左側(cè)增加了管理平面,監(jiān)控網(wǎng)絡(luò)狀態(tài)并進(jìn)行網(wǎng)絡(luò)分析,保證網(wǎng)絡(luò)長期正常運(yùn)行且具備穩(wěn)定的性能。近年來,人工智能和機(jī)器學(xué)習(xí)技術(shù)在圖像識別、數(shù)據(jù)挖掘以及智能機(jī)器人等領(lǐng)域得到了廣泛應(yīng)用,也是kdn實(shí)現(xiàn)智能化、自動化以及自適應(yīng)化的有力工具。kdn利用sdn的特性對網(wǎng)絡(luò)進(jìn)行集中化控制,利用知識平面為機(jī)器學(xué)習(xí)提供運(yùn)算平臺,具有強(qiáng)大的網(wǎng)絡(luò)控制和信息獲取能力,為智能化解決網(wǎng)絡(luò)擁塞提供了新的思路。
4、傳統(tǒng)的擁塞控制算法,比如tcp?cubic、reno等基于丟包的擁塞控制算法,會不停地探測可利用帶寬,直至發(fā)生了丟包事件,然后降低其擁塞窗口。但是,如果當(dāng)前發(fā)送速率已經(jīng)與網(wǎng)絡(luò)鏈路速率相等甚至超過它,在沒有丟包的情況下,這類算法仍會持續(xù)增加其擁塞窗口,這額外的數(shù)據(jù)包報文無疑是會導(dǎo)致由于等待隊(duì)列長度過長而時延過高的問題,同時也加重了鏈路負(fù)載。此外,如果出現(xiàn)不是由于網(wǎng)絡(luò)出現(xiàn)擁塞而是由于網(wǎng)絡(luò)鏈路本身不穩(wěn)定而造成的丟包事件,這類算法會因其對丟包的敏感,錯誤地降低了其擁塞窗口而導(dǎo)致網(wǎng)絡(luò)吞吐量過低。最主要的是,這些傳統(tǒng)的擁塞控制算法基本都無法適應(yīng)網(wǎng)絡(luò)環(huán)境的多樣性、時變性以及復(fù)雜性。
5、近年來,隨著計算能力的增長以及人工智能技術(shù)的飛速發(fā)展,雖然現(xiàn)有的擁塞控制算法也逐漸加入一些智能化的元素,能夠從歷史經(jīng)驗(yàn)中學(xué)習(xí)知識,能夠根據(jù)網(wǎng)絡(luò)的實(shí)際狀態(tài)相應(yīng)地調(diào)整擁塞控制策略,但是也存在一些問題。zeng等人首先提出使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional?neural?networks,cnn)對網(wǎng)絡(luò)中的路徑進(jìn)行選擇。其針對網(wǎng)絡(luò)中的每條路徑訓(xùn)練一個cnn來根據(jù)網(wǎng)絡(luò)的狀態(tài)輸入判斷路徑的擁塞狀態(tài),進(jìn)而通過路徑的擁塞控制情況進(jìn)行路由。然而對于大規(guī)模網(wǎng)絡(luò)而言,路徑數(shù)目較多,訓(xùn)練成本大且難以收集到足夠且有效的數(shù)據(jù)集供給cnn的訓(xùn)練。同樣的,tang等人也利用cnn判斷當(dāng)前所選的路徑組合是否會引起網(wǎng)絡(luò)擁塞,如果當(dāng)前所選路徑會造成擁塞,則重新選擇路徑。這種方法能夠有效降低網(wǎng)絡(luò)擁塞的概率,但是缺點(diǎn)也顯而易見,就是需要為每一條可能的傳輸路徑組合訓(xùn)練神經(jīng)網(wǎng)絡(luò),且對于路徑有不能回傳的限制。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種基于深度強(qiáng)化學(xué)習(xí)的云際自適應(yīng)擁塞控制算法。相較于現(xiàn)有的擁塞控制算法,采用深度強(qiáng)化學(xué)習(xí)技術(shù)對擁塞控制策略進(jìn)行優(yōu)化的方法在知識定義網(wǎng)絡(luò)架構(gòu)下有諸多優(yōu)勢。第一,kdn將控制平面與數(shù)據(jù)平面進(jìn)行獨(dú)立解耦,這種使用控制器管理底層設(shè)備的方式可以達(dá)到使得網(wǎng)絡(luò)中擁塞控制策略的配置與部署變得更加簡便的目的;第二,利用kdn集中化控制的特點(diǎn)以便擁塞控制獲得全局的網(wǎng)絡(luò)視圖以及網(wǎng)絡(luò)狀態(tài)信息,在避免網(wǎng)絡(luò)產(chǎn)生局部擁塞問題方面可以產(chǎn)生良好效果;第三,kdn軟件可編程的特點(diǎn),可以使擁塞控制策略的增加和修改變得相對簡單;第四,在kdn的管理平面采用網(wǎng)絡(luò)分析技術(shù)實(shí)時分析網(wǎng)絡(luò)狀態(tài),可以及時檢測到網(wǎng)絡(luò)擁塞狀態(tài);第五,在kdn的知識平面采用機(jī)器學(xué)習(xí)技術(shù)對擁塞進(jìn)行決策,可以使得網(wǎng)絡(luò)擁塞的解決變得更加智能化。
2、為實(shí)現(xiàn)本發(fā)明的上述目的采用的技術(shù)方案是:
3、一種基于深度強(qiáng)化學(xué)習(xí)的云際自適應(yīng)擁塞控制算法,該算法主要由四個網(wǎng)絡(luò)功能平面作為底層支撐:數(shù)據(jù)平面、控制平面、管理平面、規(guī)則推理平面;工作過程包括如下步驟:
4、步驟一、控制平面定期向數(shù)據(jù)平面查詢,收集網(wǎng)絡(luò)狀態(tài)的原始數(shù)據(jù);
5、步驟二、管理平面獲取這些原始數(shù)據(jù),然后計算和存儲鏈路狀態(tài)信息;
6、步驟三、規(guī)則推理平面智能體獲取鏈路狀態(tài)信息;
7、步驟四、智能體利用上述信息為每對節(jié)點(diǎn)(源-目的)探索、利用所有可能的擁塞機(jī)制優(yōu)化策略;在滿足所有流的需求且不發(fā)生擁塞的前提下,根據(jù)鏈路的狀態(tài)學(xué)習(xí)并計算出最佳路由;
8、步驟五規(guī)則推理平面存儲智能體推理出的規(guī)則;
9、步驟六控制平面獲取規(guī)則,在新的流量到達(dá)之前,將規(guī)則安裝到交換機(jī)的流表中。
10、進(jìn)一步優(yōu)選方案是,由數(shù)據(jù)平面、控制平面、管理平面、規(guī)則推理平面這四個網(wǎng)絡(luò)功能平面作為改算法的底層支撐,它們的具體作用分別如下:
11、1)數(shù)據(jù)平面是由轉(zhuǎn)發(fā)設(shè)備及與其連接的鏈路組成;轉(zhuǎn)發(fā)設(shè)備執(zhí)行一些基本任務(wù),流量根據(jù)轉(zhuǎn)發(fā)設(shè)備中被安裝在流表里的路徑信息進(jìn)行流動;設(shè)備依賴于控制、管理和規(guī)則推理平面的相互合作結(jié)果來填充和安裝合理的流表,設(shè)備本身并不清楚網(wǎng)絡(luò)其他部分的狀況和信息;數(shù)據(jù)平面實(shí)現(xiàn)擁塞控制優(yōu)化策略,并定期提供網(wǎng)絡(luò)信息,響應(yīng)控制平面發(fā)送的查詢消息;數(shù)據(jù)平面與控制平面進(jìn)行網(wǎng)絡(luò)信息交換;
12、2)控制平面通過從轉(zhuǎn)發(fā)設(shè)備收集的信息來建立數(shù)據(jù)平面的全局視圖;控制平面將規(guī)則正確的安裝在轉(zhuǎn)發(fā)設(shè)備的流表中;控制平面包括拓?fù)浒l(fā)現(xiàn)模塊、數(shù)據(jù)統(tǒng)計模塊和流量安裝模塊;拓?fù)浒l(fā)現(xiàn)模塊向數(shù)據(jù)平面的轉(zhuǎn)發(fā)設(shè)備發(fā)送特征請求消息,轉(zhuǎn)發(fā)設(shè)備通過包含特征信息的特征回答消息進(jìn)行應(yīng)答;該拓?fù)浒l(fā)現(xiàn)模塊收到信息后,通過將每個交換機(jī)的端口以及與其相鄰的交換機(jī)的端口進(jìn)行關(guān)聯(lián),以及被連接到每個交換機(jī)端口上的主機(jī)來推斷拓?fù)浣Y(jié)構(gòu);拓?fù)湫畔⒖梢杂门c網(wǎng)絡(luò)鏈路相關(guān)聯(lián)的元組集合表示;數(shù)據(jù)統(tǒng)計模塊每隔一段時間向數(shù)據(jù)平面的每個轉(zhuǎn)發(fā)設(shè)備發(fā)送狀態(tài)請求消息;此數(shù)據(jù)統(tǒng)計異步接收狀態(tài)請求應(yīng)答消息;該數(shù)據(jù)統(tǒng)計模塊維護(hù)執(zhí)行期間的統(tǒng)計信息以供管理平面處理,并定期發(fā)送消息更新網(wǎng)絡(luò)全局視圖;流量安裝模塊通過南向接口給數(shù)據(jù)平面的交換機(jī)提前安裝正確合理的流表項(xiàng);被安裝的流表項(xiàng)會影響數(shù)據(jù)平面的流量轉(zhuǎn)發(fā);控制平面的數(shù)據(jù)統(tǒng)計模塊輸出至管理平面;
13、3)管理平面保證網(wǎng)絡(luò)的長期正常運(yùn)行和性能;包括數(shù)據(jù)處理模塊和網(wǎng)絡(luò)信息數(shù)據(jù)存儲庫;數(shù)據(jù)處理模塊檢索并使用控制平面通過數(shù)據(jù)統(tǒng)計模塊和拓?fù)浒l(fā)現(xiàn)模塊收集的原始數(shù)據(jù)來計算鏈路可用帶寬、時延、丟包率;這些指標(biāo)表征了路由選擇的鏈路狀態(tài);網(wǎng)絡(luò)信息數(shù)據(jù)存儲庫存儲由數(shù)據(jù)處理模塊計算的指標(biāo);此存儲庫包含一組表示源-目的對和相應(yīng)指標(biāo)元組的條目;管理平面的鏈路狀態(tài)信息是規(guī)則推理平面的輸入端;
14、4)規(guī)則推理平面學(xué)習(xí)網(wǎng)絡(luò)行為,利用智能體推理出擁塞機(jī)制優(yōu)化規(guī)則;規(guī)則推理平面與管理和控制平面交互,以檢索鏈路狀態(tài)信息和安裝推理出的規(guī)則;該平面包含規(guī)則存儲庫和智能體;規(guī)則存儲庫包含規(guī)則三元組,即源-目標(biāo)對路徑信息條目;智能體通過學(xué)習(xí)推理出每個源-目標(biāo)對最優(yōu)回報的規(guī)則來填充規(guī)則存儲庫;智能體使用q-learning算法學(xué)習(xí)擁塞機(jī)制優(yōu)化策略;動作狀態(tài)值函數(shù)qt(st,at)估計每個動作狀態(tài)對的回報,從而決定擁塞機(jī)制優(yōu)化策略;智能體在更新價值函數(shù)并獲得相應(yīng)回報的同時,探索推理源到達(dá)目的地的所有可能的動作狀態(tài);這個回報表示在狀態(tài)st執(zhí)行動作at對可用鏈路帶寬、時延、丟包率的影響;st即源節(jié)點(diǎn),at即選擇鄰居節(jié)點(diǎn)作為下一跳。
15、進(jìn)一步優(yōu)選方案是,規(guī)則推理平面中的智能擁塞控制優(yōu)化決策具體分為以下幾個過程:
16、1)輸入從數(shù)據(jù)平面收集經(jīng)管理平面處理的所有源-目的節(jié)點(diǎn)對和鏈路狀態(tài)信息給智能體;
17、2)智能體初始化q-表(s,a)為零矩陣;
18、3)智能體通過學(xué)習(xí)推理每個學(xué)習(xí)集(episode),直到st為結(jié)束狀態(tài)(dst);
19、4)q-learning過程以將源節(jié)點(diǎn)作為初始狀態(tài)開始;
20、5)智能體通過e-greedy探索利用方法選擇當(dāng)前節(jié)點(diǎn)的相鄰節(jié)點(diǎn)作為下一跳;
21、6)智能體使用網(wǎng)絡(luò)鏈路狀態(tài)信息和狀態(tài)st來計算與動作at相關(guān)聯(lián)的回報,并觀察新的狀態(tài)st+1,判斷鏈路可用帶寬是否會超過擁塞閾值與已被占用帶寬之差;若超過,則回到第5)過程;
22、7)根據(jù)所提公式更新q-值;
23、8)轉(zhuǎn)換到新狀態(tài),學(xué)習(xí)集結(jié)束,開始新的學(xué)習(xí)集。
24、進(jìn)一步優(yōu)選方案是,規(guī)則推理平面中的智能擁塞控制優(yōu)化決策是基于深度強(qiáng)化學(xué)習(xí)智能體;其核心組成包括如下幾部分:
25、1)回報函數(shù):其定義如下公式(1)所示;用于根據(jù)規(guī)則推理平面從管理平面收集到的上述三個特征來找到最佳路徑選項(xiàng);回報與鏈路可用帶寬(avi_bandwidth)成反比,與鏈路延遲(delay)和鏈路丟包率(loss)成正比;ω1,ω2,ω3∈[0,1]是可調(diào)參數(shù),用于為計算回報的特征指標(biāo)提供權(quán)重值;
26、
27、2)狀態(tài)空間:狀態(tài)空間中的每一種狀態(tài)都對應(yīng)著數(shù)據(jù)平面上的一臺交換機(jī),從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)換對應(yīng)著兩臺交換機(jī)間的鏈路;因此,狀態(tài)空間的拓?fù)錇閿?shù)據(jù)平面交換機(jī)拓?fù)鋵?yīng)的圖形;狀態(tài)空間中狀態(tài)集的基數(shù)為|s={si}|≡n,其中n為數(shù)據(jù)平面中交換機(jī)的數(shù)量;拓?fù)浒l(fā)現(xiàn)模塊構(gòu)建一個拓?fù)溆成洌渲械墓?jié)點(diǎn)對應(yīng)于狀態(tài)空間中的狀態(tài),然后將該映射傳遞給智能體;
28、3)動作空間:a是對應(yīng)于所有動作的集合;可以對狀態(tài)空間的狀態(tài)采取a中的動作;對于每個狀態(tài)si∈s,智能體可以采取一系列動作中的一個,每個動作都會導(dǎo)致過渡到另一種狀態(tài)sj∈s;狀態(tài)si的相鄰狀態(tài)對應(yīng)于與狀態(tài)si相連接的鄰居交換機(jī)。因此,在si狀態(tài)下的潛在動作數(shù)是該狀態(tài)的節(jié)點(diǎn)度數(shù)dr(si);因此,a的基數(shù)是
29、4)擁塞控制優(yōu)化策略:該策略旨在使q-learning學(xué)習(xí)推理規(guī)則過程中的回報值最小化;這樣,智能體在推理最優(yōu)路徑時,不僅學(xué)會了避開時延和丟包率高的鏈路,還學(xué)會了優(yōu)先選擇可用帶寬大的鏈路,從而避免鏈路擁塞的產(chǎn)生;智能體通過訪問所有動作狀態(tài)對來逼近最優(yōu)q-函數(shù)qt+1(st,at);它更新q-值并將其存儲在q-表中,q-表用于為一對節(jié)點(diǎn)找到最佳路徑;q-值是當(dāng)智能體處于狀態(tài)si執(zhí)行動作ai時,總體預(yù)期回報的度量;智能體使用如下公式更新q-值;在公式(2)中,方括號之間的表達(dá)式表示更新的值,即一對狀態(tài)動作(st,at)的最優(yōu)q-函數(shù)qt(st,at)的當(dāng)前估計值與新估計值之差;更新后的q-值(qt+1)取決于前一個qt值,該值受影響于(st,at,rt,st+1)和α的結(jié)果;rt是t時刻的回報,α∈[0,1]是學(xué)習(xí)率,該學(xué)習(xí)率用于決定新獲得的信息相對于前一個信息的權(quán)重;當(dāng)α=0時,表示智能體不能從最近的(st,at)對中學(xué)習(xí)推理,而當(dāng)α=1時,則表示允許智能體通過考慮(st,at)的即時回報rt來保留學(xué)習(xí)推理到的信息;
30、
31、5)探索與利用方法:該方法是q-learning技術(shù)用來尋找q-函數(shù)的值的方法;在q-learning中,在選擇預(yù)期的最佳行為(利用)和選擇不同的行為以期在未來獲得更大的回報(探索)之間存在一種權(quán)衡;我們的方法是采用e-greedy探索利用方法;e-greedy將e∈[0,1]作為一個可調(diào)參數(shù),它允許智能體利用一個概率pr=e和探索一個概率pr=1-e;因此,這個參數(shù)決定了智能體在學(xué)習(xí)推理過程中利用和探索的程度;智能體使用如公式(3)選擇特定狀態(tài)下的下一個動作;在每一步,它都生成一個隨機(jī)值x∈[0,1];如果x<e,智能體選擇利用,否則,選擇探索;
32、
33、本發(fā)明的優(yōu)點(diǎn)是:
34、為了驗(yàn)證本發(fā)明設(shè)計的基于深度強(qiáng)化學(xué)習(xí)的云際自適應(yīng)擁塞控制機(jī)制的性能,對該機(jī)制進(jìn)行了相應(yīng)的仿真實(shí)驗(yàn)和性能評價。
35、1、為確定學(xué)習(xí)速率“α”和探索“e”的最佳值。我們使用一對源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間沿一條路徑的跳數(shù)作為比較的參數(shù)。我運(yùn)行了改進(jìn)版q-learning算法,通過改變α和e來找到一對節(jié)點(diǎn)之間的潛在路徑。選擇的目標(biāo)對是交換機(jī)23和交換機(jī)8,因?yàn)檫@對是距離更遠(yuǎn)。當(dāng)所有鏈路的開銷相同時,dijkstra算法找到的最短路徑有5跳。對于4個e值(0.8,0.6,0.4,0.2),5個α值(即0.9,0.7,0.5,0.3和0.1),每個試驗(yàn)200次。圖4表明當(dāng)e值接近0時(圖a和b),智能體從動作空間中探索隨機(jī)動作,從而得到多個跳數(shù)的路徑。當(dāng)e值接近1時(圖c和d),智能體傾向于利用之前收集的知識,而不是隨機(jī)探索動作空間。對于e=0.6和e=0.8,智能體分別以0.6和0.8的概率利用了學(xué)習(xí)過程中最著名的動作。當(dāng)探索值的概率接近1時,智能體傾向于沿著片段序列尋找更短的路徑,最終找到最短的路徑。對于學(xué)習(xí)率α=0.9和α=0.7,智能體保留了從最近獎勵中學(xué)到的信息。基于上述結(jié)果,改進(jìn)版的q-learning的智能體參數(shù)最合適的值為α=0.9和e=0.8。有了這些值(見圖d),路徑的跳數(shù)迅速收斂到最佳路徑。
36、2、為驗(yàn)證本發(fā)明設(shè)計的基于深度強(qiáng)化學(xué)習(xí)的云際自適應(yīng)擁塞控制機(jī)制是否能夠進(jìn)一步降低網(wǎng)絡(luò)擁塞概率,將調(diào)節(jié)好參數(shù)的改進(jìn)版的q-learning算法(iql)和最短路徑算法(dijkstra)進(jìn)行了擁塞概率比較。如圖5所示,由于缺乏智能,dijkstra算法的擁塞概率一致處于較高水平,在60%上下震蕩。而q-learning算法的擁塞概率隨著訓(xùn)練步數(shù)的增加而顯著降低,然后在20%上下震蕩。這是因?yàn)橹悄荏w從過去的擁塞中吸取教訓(xùn),然后生成了降低擁塞概率的策略,本質(zhì)還是得益于智能體依據(jù)擁塞控制優(yōu)化策略推理出的規(guī)則。
37、3、為測試本發(fā)明設(shè)計的面向云際計算場景的智能擁塞控制優(yōu)化機(jī)制的穩(wěn)定性,做實(shí)驗(yàn)探索了擁塞概率與不同流量數(shù)據(jù)生成速率之間的關(guān)系。其中iql是在經(jīng)過足夠輪的訓(xùn)練后由網(wǎng)絡(luò)參數(shù)計算出來的。如圖6所示,當(dāng)數(shù)據(jù)生成速率較慢時,即網(wǎng)絡(luò)空閑時,流量在網(wǎng)絡(luò)中是暢通的。這種情況下,比較的兩種方法都不會造成擁塞。但是,隨著網(wǎng)絡(luò)中流量的增加,dijkstra算法的擁塞概率會顯著增加,但很快便趨于平緩收斂于60%以下。值得注意的是,當(dāng)數(shù)據(jù)生成速率低于2gb/s時,iql算法一直保持0%的擁塞概率,即使速率數(shù)據(jù)生成速率超過2gb/s,其擁塞概率也低于20%。相比之下,iql算法的擁塞概率是能夠一直處于低水平狀態(tài)的。
38、4、基于深度強(qiáng)化學(xué)習(xí)的云際自適應(yīng)擁塞控制機(jī)制當(dāng)中,選擇使用不同邊權(quán)值dijkstra算法作為對比算法,依據(jù)回報函數(shù)采用時延和丟包率作為對比指標(biāo)。如圖7所示,因?yàn)閕ql選擇的路徑通常比dijkstra的變體算法選擇的路徑更短、擁塞更少。iql算法產(chǎn)生的平均鏈路時延值比dijkstra-delay、dijkstra-loss和dijkstra-bw算法的平均時延值分別低35%、50%和8%,最多低70%、85%和30%。iql產(chǎn)生的平均延遲值低于dijkstra變體算法,但和dijkstra算法不分上下。如圖8所示,dijkstra的算法變體通常選擇較長的路線,更頻繁地使用低容量的鏈路,導(dǎo)致這些鏈路上的流量集中從而產(chǎn)生擁塞。所以導(dǎo)致iql產(chǎn)生的平均丟包率比dijkstra算法的三種變體所給出的丟包率平均低30%,最多低65%。由于在平均鏈路時延方面,iql和dijkstra算法不分上下,所以iql產(chǎn)生的平均丟包率比dijkstra算法低10%。