前言
那么這里博主先安利一些干貨滿滿的專欄了!
首先是博主的高質(zhì)量博客的匯總,這個專欄里面的博客,都是博主最最用心寫的一部分,干貨滿滿,希望對大家有幫助。
高質(zhì)量博客匯總https://blog.csdn.net/yu_cblog/category_12379430.html?spm=1001.2014.3001.5482
Intelligent Multi-Path TCP Congestion Control for video streaming in Internet of Deep Space Things communication
摘要
文獻(xiàn)分析和學(xué)習(xí)
今天給大家講解一下這篇文獻(xiàn),深空物聯(lián)網(wǎng)通信中視頻流的智能多路TCP擁塞控制。然后我也看到了前面很多同學(xué)都在講擁塞控制算法,然后其實我這個也是擁塞控制算法,但是這個背景是不一樣的。
首先我們?yōu)榱撕竺娲蠹夷芨玫乩斫馕医酉聛硪v的內(nèi)容。我們先明確一下,這篇文章,是在TCP的基礎(chǔ)上做擁塞 控制算法的一篇文章。所以,他是在傳輸層做操作。其次他用的是MPTCP,即多路TCP,再其次,他是針對于視 頻流傳輸?shù)?,再其次,他是針對于深空通信的。可能上面的這些名詞,在那本《自頂向下》里面可能都沒有涉及到,所以,在這我先給大家鋪墊一些背景知識。
背景知識鋪墊
什么是深空通信?
深空通信是指在太空中進行的通信方式,主要應(yīng)用于太陽系外的深空探測任務(wù),例如火星探測、木星探測等。深空 通信所涉及到的距離非常遙遠(yuǎn),比如,?斯克的星艦去到火星之后,要和地球取得 聯(lián)系,此時就要用到深空通信。
深空通信遇到了什么困難?
基于窗口和ACK,TCP協(xié)議(也就是我們上課學(xué)習(xí)的TCP)在深空鏈路上的性能很差,具有極高的傳播延遲和鏈路錯誤。 那么為了解決這個問題,在此之前已經(jīng)有很多的相關(guān)研究去解決這個問題了。但是,這些方法存在以下局限性:
(1)基于規(guī)則的方法使用一組固定的規(guī)則來處理每種情況,有時候不能靈活處理各種狀況。 (3)單路徑TCP導(dǎo)致?RRT,鏈路利用率降低。
(2)當(dāng)經(jīng)歷?RRT之后,在源處接收到有關(guān)鏈路條件的舊信息,基于這些過去信息的擁塞處理決策可能不是最優(yōu)決策。
文章的Solution
所以作者就在本文提出了他的方法,就是DQN for SVC-based CC in MPTCP這個個東?,那這個東?是什么意思
呢?DQN代表深度Q網(wǎng)絡(luò),SVC就是一種視頻處理方式,MPTCP就是多路TCP協(xié)議。總之就是,
首先發(fā)現(xiàn)TCP不太行,所以為了解決問題,首先作者采用MPTCP去替代TCP,然后在此基礎(chǔ)上使用SVC對視頻做處 理,然后在此基礎(chǔ)上,再加上深度Q網(wǎng)絡(luò),這樣就能很好的保證深空視頻傳送的擁塞控制效果。然后一下是作者提 出的方法的完整模型圖,然后接下來我開始詳細(xì)講解這里面的每一個模塊,和他們的作用。
SVC可伸縮視頻編碼技術(shù)
可伸縮視頻編碼 SVC 是一種視頻編碼技術(shù),它允許在不同的傳輸網(wǎng)絡(luò)和接收端設(shè)備上進行動態(tài)適應(yīng)視頻的清晰度 和幀率。SVC 可以將原始視頻流分成多個編碼層,每個編碼層具有不同的比特率和解析度,這使得接收端設(shè)備可以 選擇最適合其帶寬和處理能力的編碼層來解碼視頻。
首先,SVC技術(shù)先將一部分塊數(shù)據(jù)(也就是一段時間內(nèi)的視頻幀)分成了M部分,其中 M-1 部分是 Enhancement layer ,其中 1 塊是 base layer 然后我們就來定義權(quán)重函數(shù)。
?
其中 Chi,t 是緩沖器中在t時隙處的第i個塊。L(·)是輸出塊的層編號的函數(shù)。W是塊的權(quán)重,默認(rèn)值設(shè)置為 100,M是總的層數(shù),設(shè)置為3,所以L越大的話,(M-L)是越小的,所以這是一個遞減的函數(shù)。這樣定義的話:重量 隨著層的減少而增加。(我看前面有些組沒有講這個,不講也行)
然后,SVC技術(shù)被應(yīng)用到這個領(lǐng)域,是為了解決HoL阻塞的(這個我記得上周也有一個組提到了)。HoL阻塞 (Head-of-Line Blocking)是指,在一個隊列中,如果正在處理某一個數(shù)據(jù)包時,后續(xù)的數(shù)據(jù)包無法立即被處 理,形成了阻塞。
如果我們使用SVC,則可以在數(shù)據(jù)包中包含有多個不同的分層信息。接收方設(shè)備可以根據(jù)需要選擇不同的分層進行 解碼,如果高分辨率層次的數(shù)據(jù)包遭遇延遲和阻塞,接收方設(shè)備可以立即切換到低分辨率層次,從而避免了HoL阻 塞問題。但是如果是沒有進行SVC編碼,那么接收方主機就只能等著,就阻塞在accept那里了。
關(guān)于MPTCP的擁塞控制
即這一部分就是MPTCP。?
什么是MPTCP?
MPTCP(Multipath TCP)是一種多路徑傳輸控制協(xié)議,他和tcp的區(qū)別其實就是mptcp將多條網(wǎng)絡(luò)路徑結(jié)合起來。
那么MPTCP本質(zhì)上,是怎么實現(xiàn)的呢?
MPTCP本質(zhì)上是將一個上層的報文分成多份,(我們知道,IP報文在如果?度超過MTU之后是會分片的,這里也是同一個道理,雖然細(xì)節(jié)實現(xiàn)可能不一樣)然后將這些分割后的數(shù)據(jù)在不同的TCP子連接上傳輸。
那么MPTCP優(yōu)越在哪呢?
TCP的擁塞控制算法我們大家都很熟悉了,即加性遞增、乘性減小。當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時,TCP會將擁塞窗口減半,然后重新進行慢啟動,逐漸增大發(fā)送窗口。
誒!但是MPTCP的擁塞控制就不一樣啦!當(dāng)MPTCP檢測到某個路徑出現(xiàn)擁塞時,它會通過弱化該路徑的窗口來減 少在該路徑上的傳輸速率,而不是像TCP那樣直接將窗口減半。同時,MPTCP支持多路徑傳輸,因此可以在其他 路徑上增加傳輸速率,利用多條路徑實現(xiàn)更高的帶寬利用率。舉一個例子,假設(shè)MPTCP同時使用了兩個傳輸路 徑,當(dāng)其中一個路徑出現(xiàn)擁塞時,MPTCP可以選擇增加另一個路徑上的傳輸速率,從而實現(xiàn)更高的總體傳輸速 率,而TCP就不行了,他只能把擁塞窗口減半,然后再慢啟動!
那么到現(xiàn)在,最后的問題就是,這個MPTCP到底應(yīng)該怎么在擁塞的時候去調(diào)整每個路徑上的傳輸速率呢?
比如說 這里弱化多少,這里增加多少呢?那么這個定量的問題,作者使用強化學(xué)習(xí)(RL)去解決的。
首先,強化學(xué)習(xí)是需要一個獎勵函數(shù)的,也就是我們經(jīng)常說的 reward function ,需要定義獎勵函數(shù),我們首先要 定義狀態(tài)。
?在這個項目中,我們每隔時間t來計算一次狀態(tài)。 狀態(tài)的定義如下。
?其中sit表示在t時刻開始的時間間隔內(nèi)的第i條TCP路徑上的狀態(tài),Cwti表示當(dāng)前路徑在當(dāng)前時間下的擁塞窗口大 小,第二個表示丟包率,第三個表示可用帶寬,第四個表示時延。
?所有路徑的總狀態(tài),可以如上所示了。 等一會兒,我們期望的是,把這個狀態(tài)丟進強化學(xué)習(xí)網(wǎng)絡(luò)里面之后,強化學(xué)習(xí)網(wǎng)絡(luò)能告訴我,我這個MPTCP具體
應(yīng)該怎么調(diào)整?所以我們定義 “動作” -- 表示具體應(yīng)該怎么調(diào)整 接下來,我們可以定義,在t開始的特定時間段內(nèi),MPTCP和SVC的動作為Ai。
?緊接著,我們再定義獎勵函數(shù)。
?
其中W(Ch,t)表示層權(quán)重函數(shù),Lri,t是第i個子流的損失率,并且Thi,t是實現(xiàn)的吞吐量,所以,吞吐量越大 獎勵函數(shù)值越大的,而層權(quán)重函數(shù)和丟包率的積其實可以理解成數(shù)據(jù)包到達(dá)對面主機的一個成功率,當(dāng)然,這個增 大,獎勵函數(shù)也是要增大的。
接下來,我們利用上面定義好的一系列變量,來分析算法運行的過程。
?
?
首先,我們要明確,送進網(wǎng)絡(luò)里面的,是[si,ai,ri,si],即狀態(tài)+動作+獎勵
(行1-3)算法隨機初始化Q和重放緩沖器的值,這個緩沖區(qū)是什么意思呢,其實可以理解成重復(fù)訓(xùn)練,我們將一 個狀態(tài)送進網(wǎng)絡(luò)之后,這個狀態(tài)可能發(fā)生了改變,相對應(yīng)的他的獎勵也會變,這時候我們把這個進入過網(wǎng)絡(luò)的狀態(tài) 再次放到等待隊列(不完全是隊列,它是隨機采樣進去的,不是先進先出的)里面繼續(xù),這樣就能通過多次送進網(wǎng) 絡(luò),找到每種狀態(tài)的最大化獎勵所對應(yīng)的動作。(行5-9)系統(tǒng)收集擁塞窗口的大小、每個子流的丟失率、帶寬利 用率以及從環(huán)境接收的每個子流的RTT。然后,通過選擇動作返回的最大獎勵,系統(tǒng)執(zhí)行動作以改變擁塞窗口的大 小(行11-13)<具體怎么改的,我找了很久但是文章中沒有提到>。在執(zhí)行動作之后,系統(tǒng)將狀態(tài)、動作、獎勵和 下一狀態(tài)存儲在重放緩沖器中,并執(zhí)行隨機采樣(第14-15行)。最后,對每個學(xué)習(xí)步驟執(zhí)行梯度下降(按照我的 理解這里是一個反向傳播)以更新網(wǎng)絡(luò)參數(shù)(行16-19)。
到這里,其實就已經(jīng)可以得到,每一種狀態(tài),(即那個1*4的矩陣),所對應(yīng)的最優(yōu)的處理動作是什么,也就是 說,MPTCP應(yīng)該怎么設(shè)置每條路的傳輸速率?都得到了解決。
性能分析?
那么作者具體的模型就是上面所說的內(nèi)容了,那么他的性能到底怎么樣呢? 由于深空環(huán)境的特殊性,本次實驗的通信環(huán)境是通過計算機模擬實現(xiàn)的,而不是通過真實的實驗或仿真測試。
為了評估提出的基于 dqn 的 MPTCP CC 方案的性能,我們設(shè)置兩個具有不同 RRT和損失率的非對稱鏈路。詳細(xì)的鏈路設(shè)置如表 1 所示。
現(xiàn)在我們來開始分析這個 DQN for SVC-based CC in MPTCP 的性能。
我們直接看圖分析。
?
這個fig4展示了,流數(shù)據(jù)通過模擬的星際回程鏈路發(fā)送時,成功接收和播放的層的百分比。
我們可以看到 Proposed 就是作者提出的方法,后面的這些是作者用來做對比的方法。
我們可以看到,無論是SVC的BL層的接受概率,還是EL層的接受概率,還是BL+EL的總接受概率,作者提出的這個 方法都遠(yuǎn)遠(yuǎn)的超過其他對比的模型。我們可以看這個圖,作者提出的方法,EL+BL加起來其實就可以理解成整個完 整的視頻數(shù)據(jù)包到達(dá)對方主機的概率。我們可以看到,都接近100%了,我感覺這個有點夸張了其實。
然后前面我們提到,作者引入SVC是為了解決HoL阻塞問題,現(xiàn)在我們看看,解決的效果怎么樣。
?
在這個圖里面,縱坐標(biāo)就是HoL阻塞的概率。橫坐標(biāo)就是網(wǎng)絡(luò)的各鏈路 rtt 的不對稱性。不對稱性的定義如下。
根據(jù)各鏈路 rtt 的不對稱性也進行了性能評價。連桿的不對稱性根據(jù)給出的相對誤差來定義。
如圖 5(a)所示,很明顯,隨著上述不對稱性的增加,HoL 阻塞也會增加。當(dāng)最大不對稱度為 60%時,模型表示出 HoL 阻塞只有 12%,而其他模型基本在 50%以上。
藍(lán)色這個是作者提出的模型,這是遙遙領(lǐng)先于其他模型了。
然后還有一個圖,它是測量了傳輸一個完整的流文件所花費的時間。
?
顯然,作者的這個方法太有優(yōu)勢了
可以看到,他這個方案的性能分別比 TCP BBR、DRL-TCP 和 QLE-DS 提高 20%、21%和 19%。
我認(rèn)為可以改進的地方
雖然,看似,剛才看這些作者給出的這些圖,好像感覺這個模型已經(jīng)完全SOTA了,已經(jīng)沒有上升空間了,其實我認(rèn)為,這個模型還是有很多要等待改進的地方的。
在這里,我主要對MPTCP提出了一些我的改進的想法。
MPTCP本身已經(jīng)是一種支持多路徑傳輸?shù)膮f(xié)議,然而在深空網(wǎng)絡(luò)環(huán)境中,由于傳輸路徑的復(fù)雜性和不穩(wěn)定性,MPTCP仍然需要進一步改進以適應(yīng)不同的傳輸場景。以下是一些MPTCP進一步改進的方法:首先我是想對安全保障的方面說。
1. 加強安全保障:如前所述,深空網(wǎng)絡(luò)傳輸具有重要的安全保障需求,需要提供數(shù)據(jù)的加密、認(rèn)證和防篡改等 安全措施。因此,在MPTCP中,進一步封裝,加強數(shù)據(jù)的安全保護,以確保數(shù)據(jù)傳輸?shù)陌踩院屯暾浴?/p>
2. 感覺這篇文章的實驗部分內(nèi)容有點少,其實可以探究一下SVCM的值對效果的影響。文章來源:http://www.zghlxwxcb.cn/news/detail-636054.html
3. 另外,目前他這里所做的這些實驗,只有兩條鏈路去模擬,因此我認(rèn)為還沒有很好的模擬了深空通信的狀態(tài),因為深空通信狀態(tài)太復(fù)雜了,因此我認(rèn)為這個文章還需要補實驗,更好模擬深空通信的狀態(tài)。文章來源地址http://www.zghlxwxcb.cn/news/detail-636054.html
到了這里,關(guān)于深空物聯(lián)網(wǎng)通信中視頻流的智能多路TCP擁塞控制|文獻(xiàn)閱讀|文獻(xiàn)分析和學(xué)習(xí)|擁塞控制|MPTCP|SVC的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!