?

基于區塊鏈的軟件定義廣域網系統研究與設計

2021-01-09 06:39莊麗婉金韜張晨黃韜
數據與計算發展前沿 2020年5期
關鍵詞:共識運營商調度

莊麗婉 ,金韜 ,張晨,黃韜

1. 東南大學網絡空間安全學院,江蘇 南京 210096

2. 網絡通信與安全紫金山實驗室,江蘇 南京 211111

3. 北京郵電大學,北京 100876

1 研究背景與相關技術

1.1 軟件定義廣域網

在廣域網場景,企業與運營商連接一般使用專用的多協議標簽交換(Multi-Protocol Label Switching,MPLS)電路來幫助確保安全性和可靠性[1]。但是MPLS VPN(Virtual Private Network)專線存在運營商鎖定、可控能力不靈活、價格昂貴等缺點。

在云計算、云網一體化的趨勢下,軟件定義廣域網(Software Defined Wide Area Network,SDWAN)的出現解決了當前對傳統廣域網的挑戰。軟件定義網絡(Software Defined Network,SDN)通過將控制平面和數據平面分離以及開發可編程的優勢,實現網絡更好的靈活性、高效性和可控性[2],而SDWAN 是將SDN 技術應用于廣域網上所形成的一種服務。SD-WAN 通過對網絡設備的轉發與控制進行分離,簡化了企業級廣域網的管理與維護。類似于SDN 通過虛擬化技術,增強對于數據中心的管理與維護。SD-WAN 允許企業利用低成本、易獲得的Internet 接入能力,構建企業級廣域網,降低對于昂貴的傳統企業WAN 連接技術的依賴性。SD-WAN用戶能夠通過隧道技術快捷方便地接入SD-WAN 運營商,減少了傳統MPLS VPN 專線的昂貴費用。但是由于大多數的SD-WAN 控制器與CPE(Customer-Premises Equipment)設備緊耦合,以及用戶切換運營商時,雙方存在不可信問題,極有可能出現流量信息的篡改,因此目前用戶在使用SD-WAN 時面臨著運營商鎖定的問題,無法滿足敏捷化部署與個性化網絡服務,在一定程度上制約了SD-WAN 的發展。

1.2 區塊鏈

區塊鏈(Blockchain)是一種由多方共同維護,利用密碼學來保證傳輸和訪問安全,能夠實現數據一致存儲、難以篡改、防止抵賴的分布式賬本技術[3]。區塊鏈本質的特征就是在一個分布式系統中無須通過中心節點的控制即可使各節點保持數據的一致性,因此具有高可靠性、透明可信、不可偽造和防篡改的優勢。

1.2.1 區塊鏈部署模式

根據不同應用場景和設計體系,區塊鏈系統采用不同的開放共享和節點準入方案[4]。一般來說,區塊鏈系統有三種部署模式[5],包括公有鏈、聯盟鏈和私有鏈,其中聯盟鏈由一組具有共同利益的特定用戶群體使用,對節點具有訪問限制,僅有授權節點可接入,經過授權的節點可按規則參與共識和數據的讀寫。聯盟鏈的共識機制[4]更偏向于效率,是一種弱中心化的模式,更適用于企業間的業務需求。

1.2.2 區塊鏈核心技術

(1)共識機制

共識機制用于解決區塊鏈全網節點數據的一致性問題。區塊鏈作為大規模分布式系統,為保證所有節點的數據一致需要考慮運行環境的影響。例如公有鏈是完全暴露在不可信的環境中,而聯盟鏈或者私有鏈由于增加了節點準入功能,環境相對可靠,但在特定的業務場景中也可能存在不可信問題[6]。

(2)智能合約

智能合約是一種能夠自動執行條款的數字合約。在區塊鏈系統中,智能合約實質上是一段計算機代碼,運行在區塊鏈虛擬機或容器中,可以被預定事件觸發后自動執行,并且執行結果不可被篡改[7]。用于編寫智能合約的語言都是圖靈完備的,因此理論上用戶可以實現任何想要實現的業務功能,使得區塊鏈從主要用于記錄電子現金轉賬的“專有賬本”,升級為可記錄計算狀態的“通用賬本”。

(3)區塊鏈隱私

區塊鏈的隱私性可以分為兩類:交易數據的隱匿和身份的隱匿[8]。目前實現區塊鏈隱私計算的主要技術有:零知識證明、安全多方計算、可信計算環境等[9]。零知識證明可以保護用戶的身份隱私,安全多方計算可以保護交易數據的隱私,而安全芯片可以保證合約代碼的隱秘性。其中用到的密碼學技術包括同態加密、可搜索加密、特殊性質簽名等。

1.3 區塊鏈在軟件定義廣域網的應用場景分析

在區塊鏈技術與SD-WAN 技術方面,兩者的融合將加速雙方發展。傳統網絡存在靜態部署、部署周期長、費用昂貴等問題,這對區塊鏈網絡的部署與通信存在制約。區塊鏈網絡需要部署可靠、低成本、對所有用戶可用的公共互聯網鏈路。由于SDWAN 支持實時應用程序性能與可預測的服務保障區塊鏈的網絡部署可通過SD-WAN 技術進行優化。而在SD-WAN 研究中,研究人員也積極地將區塊鏈技術應用到SD-WAN 中。由于SD-WAN 網絡易受到攻擊,可在SD-WAN 應用層與控制層之間增加區塊鏈層[10]。通過區塊鏈的不可篡改性、分布式存儲、多方共識機制保證SD-WAN 網絡數據的安全性、可靠性。

在通信領域,電信運營商正在積極利用自身在網絡資源和終端資源上的優勢,布局區塊鏈新型生產模式[11],國內外主流電信運營商均已布局區塊鏈相關業務,尤其在移動通信的漫游場景已經得到廣泛的研究[12]。例如,在傳統漫游通信中,網絡運營商面臨著漫游合同數量多,部署困難,結算無法自動化等問題[13]。尤其當物聯網漫游和5G 應用更加普遍時,這些問題將更加突出。2020年2月,Telekom 創新實驗室基于聯盟鏈構建電信漫游業務系統,簡化網絡運營商之間在批發漫游、批發語音和按需數據領域中的商業用例流程,在運營商間可多方互信地實現自動化業務流程,為移動用戶提供更好的通信服務。

參考移動通信的漫游場景,SD-WAN 用戶通過隧道接入SD-WAN 運營商,技術上也可以通過靈活的調度來在運營商之間進行切換,但目前將用戶在不同運營商間進行調度時存在流量調度與統計信息不互信的情況,極有可能發生流量信息的篡改,因此用戶在使用SD-WAN 時只能選定在一家運營商,導致了較為明顯的運營商鎖定問題。為解決不互信的問題,本文探索了基于區塊鏈的軟件定義廣域網業務系統,可有效解決用戶與多個運營商之間認證、合同簽訂、部署以及資費結算等問題,并可通過改進的共識算法增強系統的吞吐量。

2 系統架構設計

本文提出了一種基于區塊鏈的軟件定義廣域網業務系統,使用聯盟鏈的部署模式,提供準入功能,通過智能合約自動結算金額,降低成本提高效率。從業務主體上看,本系統共有用戶、運營商和第三方機構三大主體。從系統模塊組件上看,可以分為非區塊鏈部分與區塊鏈部分,模塊組成如下圖1 所示。

2.1 區塊鏈部分

本系統采用聯盟鏈的部署模式,區塊鏈的參與主體有運營商、用戶與第三方。區塊鏈主要負責合約簽訂、調度與網絡質量信息記錄、自動化結算。

2.1.1 區塊鏈部署模式

智能合約是運行在區塊鏈虛擬機或容器中的一段代碼,用于控制交易過程,保證交易數據的一致性、完整性。在本系統中,用于實現用戶與運營商之間的簽約與結算、身份校驗授權、數據調差、作惡罰處等業務功能。智能合約按功能劃分,具體如下:

(1)身份校驗、授權鑒權模塊:負責鑒定用戶與運營商讀寫權限。

(2)簽約模塊:負責多方合同的簽訂。

(3)記賬模塊:負責調度過程中,從采集系統中獲取調度與網絡質量記錄等。

圖1 系統架構圖Fig.1 System architecture diagram

(4)結算模塊:負責結算用戶與運營商之間的賬單。

(5)罰處模塊:負責記錄運營商、第三方和用戶的違規情況,用作后期懲罰的憑證。

2.1.2 區塊鏈調度模式

在調度過程中,SD-WAN 調度器中調度模塊向區塊鏈獲取簽約數據,采集模塊與數據處理模塊向區塊鏈推送調度與網絡質量信息。區塊鏈根據選取的共識算法,通過一方記賬兩方驗證的方式,保證上鏈信息的正確性。區塊鏈的鏈式結構保證上鏈信息的不可篡改性、可追溯性,為自動化結算提供了數據來源。

2.1.3 自動化結算

用戶和運營商客戶端將流量與價格數據上傳區塊鏈,同時SD-WAN 客戶端將網絡調度記錄上傳區塊鏈,所有上鏈的數據可以作為結算的參數來源,調用智能合約即可完成自動化結算。通過這種方式保證數據的可溯源、不可篡改性以及結算金額的準確性,同時也便于監管。

2.2 非區塊鏈部分

非區塊鏈部分包括運營商與用戶的業務系統、客戶端、SD-WAN 組件和運營管理模塊四大部分。其中,運營商與用戶分別是網絡流量的提供方和使用方,SD-WAN 核心組件以及運營管理模塊可以交由第三方機構管理。

SD-WAN 負責根據簽約數據以及網絡質量情況進行智能化地網絡調度。組件可分為調度、采集、數據處理、網絡探針和調度代理五個部分,其中調度模塊負責網絡調度,采集模塊負責兩端的實時流量采集,數據處理模塊負責調度與采集間的數據處理。另外,網絡探針與調度代理部署在用戶以及運營商設備上。

運營管理模塊是一個中心化的系統,為區塊鏈提供運營維護功能,負責成員身份認證、許可準入管理,節點、應用準入管理,通過CA(Certificate Authority)子模塊對認證成功的賬戶或節點簽發簽名證書、通信證書、服務證書,并負責證書的管理。

客戶端是與區塊鏈交互的媒介,用戶通過客戶端注冊區塊鏈賬戶,通過錄入身份信息或單位資質信息等進行身份認證,認證通過后獲得用戶準入證書,方可調用區塊鏈輕節點連入區塊鏈網絡。

3 系統功能模塊與流程

本系統聯盟鏈功能模塊可分為許可管理、簽約調度、資費結算、數據調整四個環節,具體展開如下。

3.1 許可管理

認證與授權是聯盟鏈平臺不可或缺的功能,基于區塊鏈的軟件定義廣域網業務系統旨在搭建聯盟鏈平臺,控制用戶、應用、節點的準入,對想要加入平臺的區塊鏈用戶及其部署的節點進行身份認證與權限管理,打造可信的交易環境。用戶與節點需要通過準入證書,在區塊鏈中進行簽名認證;用戶登陸區塊鏈的設備應用,如客戶端與節點設備需要加載通信許可、服務許可等CA 證書才能在區塊鏈中進行通信,提供服務。

在系統中,認證即加入到區塊鏈的所有用戶以及他們所擁有的節點進行身份信息審核,包括身份證號、機構代碼、相關資質等,審核通過后調用CA系統為用戶或節點頒發證書,賦予其進入區塊鏈網絡的權限。如下圖2 所示,為本系統的許可管理功能模塊設計圖。

3.2 簽約調度

圖2 許可管理功能模塊Fig.2 License management function module

圖3 SD-WAN 采集與調度Fig.3 SD-WAN collection and scheduling

首先運營商進行區塊鏈許可管理流程,通過接入端連接到區塊鏈平臺,當運營商加入平臺時,運營商與第三方機構簽署網絡質量合同,合同記錄了網絡質量參數以及價格結算方式,簽署完成后運營商即加入本平臺,合同上傳至區塊鏈平臺。然后用戶進行區塊鏈許可管理流程,通過接入端連接到區塊鏈平臺,當用戶加入平臺時,用戶與第三方機構簽訂需求合同,合同記錄了用戶要求的網絡質量參數,簽署完成后用戶即加入本平臺,合同上傳至區塊鏈平臺,同時生成的智能合約還提供了結算、調差、懲處等功能。

簽約完成后,SD-WAN 負責根據簽約數據以及網絡質量情況進行智能化地網絡調度。SD-WAN 共包含調度模塊、采集模塊、數據處理模塊。采集模塊定時從用戶與運營商網絡探針獲取網絡質量數據,并發送給調度模塊。SD-WAN 調度器向區塊鏈平臺獲取簽約數據,調度模塊依據簽約數據與網絡質量數據為用戶調度最佳運營商。且在通信過程中,調度模塊依據從區塊鏈上獲取的用戶需求合約數據與采集模塊實時推送的網絡調度質量數據,判斷用戶目前的所連接的網絡運營商提供的網絡質量是否符合要求,如果不符合要求,直接從該用戶簽約的運營商中篩選最優運營商,進行網絡切換。

3.3 資費結算

資費結算過程由運營商發起,運營商使用客戶端發起調用智能合約交易,智能合約執行結算模塊,能夠從賬本中讀取到這段時間內使用本運營商服務的每個用戶所用的流量總額,并分別計算金額,最后將執行結果寫入賬本中,寫入的數據無法被篡改。用戶可以根據賬本中的金額數據進行外部支付。自此完成這段時間內的自動化資費結算。

選擇讓運營商去發起結算交易是考慮到本系統的核心目標是讓運營商和用戶做點對點結算,而第三方機構在其中只是擔任監管和提供服務的角色。因此主動權還是在用戶與運營商,但是由于用戶的設備層次不齊,所以運營商承擔了主要的結算主動權。資費結算具體如圖4。

圖4 資費結算Fig.4 Tariff settlement

3.4 數據調整

在系統運行的過程中,有些數據需要調整,如用戶需求參數的更改、運營商網絡服務參數與價格的更改、錯誤數據上鏈的更正以及對運營商的懲處。

3.4.1 調整需求參數

用戶的需求合同中會有一個時間期限,這個期限是由雙方進行協商的,在這個期限內用戶無法改變自己的需求參數,這是為了保證運營商的利益以及系統的效率。當過了這個期限,用戶可以申請調整需求參數。

3.4.2 調整網絡服務參數

運營商的網絡質量合約中也有一個時間期限,這個期限是由雙方進行協商的,但考慮到運營商網絡的特殊性,若有突發狀況導致需要臨時修改參數,可以向第三方申請,審核通過后方可進行調整。另外,在突發情況下,運營商可提出申請緊急更改網絡服務參數。但運營商緊急申請有一定次數限制,且外部審核通過后才可更改。用這種方式可以使運營商在突發情況時可以不考慮當前合約的時間期限,直接向第三方申請調整網絡質量參數。

3.4.3 更改錯誤數據

用戶或運營商在發現流量或結算數據問題后,向第三方報告,第三方分別向調度模塊與采集模塊發送核實情況請求,調度模塊與采集模塊通過本地緩存記錄核實相關情況,再將核實結果發送給監管部門,第三方根據調查情況調用智能合約,智能合約執行調差模塊,調差數據寫入賬本,第三方通知用戶或運營商對此事件的處理結果。

3.4.4 懲處過程

用戶發現運營商提供的網絡不穩定或存在質量問題后,向第三方報告。第三方可以通過三種方式來核實情況,分別為:(1)向運營商探針核實網絡質量情況;(2)向采集模塊核實當時網絡質量情況;(3)同時向運營商傳感器與采集模塊核實情況。第三方選取一種方式進行核實,待收到網絡質量情況后,進行分析判斷,再調用智能合約,智能合約執行懲處模塊,生成懲處合約交易,懲處記錄寫入賬本后,第三方會通知用戶和運營商處理結果。而且,在一段時間內,調度模塊會減少有問題的運營商提供服務的幾率,作為提供不符合網絡質量要求的懲處。

4 系統共識算法優化

4.1 共識算法比較與分析

分布式系統的共識達成需要依賴可靠的共識算法,共識算法通常解決的是分布式系統中由哪個節點發起提案,以及其他節點如何就這個提案達成一致的問題。聯盟鏈主流的共識算法有PBFT(Practical Byzantine Fault Tolerance)、Raft、DPoS(Delegated Proof of Stake)等,具體機制與優缺點如下表1 所示。

表1 聯盟鏈共識機制Table 1 Alliance Chain Consensus Mechanism

4.2 共識算法的選取與優化

在本系統中是基于聯盟鏈的設計,但是由于網絡調度這一特殊的應用場景,且希望有更多的用戶與運營商加入到這一系統中,因此在設計時,無法徹底排除作惡節點的存在。所以,本系統采用了能夠容納故障節點,也能容納作惡節點的PBFT 共識算法。

PBFT 算法能容納故障節點與作惡節點,安全性高,采用加密技術防止欺騙攻擊與重放攻擊。算法共識效率高,共識時延約在2-5 秒,可基本達到商用實時處理要求,滿足高頻交易量需求。但PBFT算法無法高效地使大量節點達成共識,當共識節點數量較多時,運行效率較低。

為解決PBFT 共識算法在節點數量較多的情況下,效率會大大降低這一缺點,我們對共識算法進行了優化。根據DPoS 的思想,提出了適用于本系統的DPoA(Delegated Proof of Ability)共識機制。與傳統的DPoS 不同,DPoA 并不是根據礦工持有的代幣數量或幣齡作為選舉標準投票權重,而是按全節點的存儲容量、網絡穩定性等指標作為衡量標準,隨機選取共識節點,獲得更好的公平性和網絡效率。

本系統采用了DPoA+PBFT 作為共識算法。PBFT 算法將指數級別的拜占庭協議運行復雜度降低到多項式級別,實現了在分布式環境下,節點強一致性和高效率的共識。PBFT 算法每秒處理交易的個數(Transactions Per Second,TPS) 約 為400-800,與比特幣7TPS、以太坊區塊鏈約20TPS 相比,效率大大提高。而DPoA 算法解決了PBFT 算法共識節點多、效率大大降低的問題,得到更高的可用性,也進一步提升了共識效率。

在業務流程中,當節點較多時,采用DPoA+ PBFT 算法,通過DPoA 算法選取共識節點,之后再通過PBFT 算法達成共識,廣播新區塊。而當需要達成共識的節點較少時,只需采用PBFT 達成共識。下圖5 為DPoA+PBFT 共識算法示意圖。

圖5 DPoA+PBFT 共識Fig.5 DPoA + PBFT hybrid consensus

5 總結與展望

本文提出了一種基于區塊鏈的軟件定義廣域網業務系統,并通過SD-WAN 與區塊鏈技術相結合給出了具體的系統架構。思路上,利用區塊鏈對于數據存證的不可篡改的特性,對于多方間的調度和采集數據進行可信存證,解決了將用戶流量在多個運營商間調度時的互不信任問題。這需要對于傳統網絡以及SD-WAN 的簽約、調度、采集和結算等業務功能模塊與接口流程等方面進行重構。為了在實現相關功能的同時兼容傳統網絡與SD-WAN,本系統將區塊鏈平臺與SD-WAN 進行了松耦合的設計,保留了SD-WAN 與用戶/運營商設備間的控制接口,以及用戶設備與運營商設備間的數據接口,SDWAN 以及用戶/運營商設備作為客戶端與區塊鏈通信進行數據的上鏈與獲取。不過,雖然松耦合的方式下兼容性較高,但SD-WAN 的調度算法并未實現上鏈,未來將考慮通過智能合約的方式可信地運行SD-WAN 的調度算法,但由于SD-WAN 的調度算法非常復雜,在智能合約上運行會導致調度算法性能的大幅度降低,未來的工作方向上,可基于此問題進行深入研究。

另外,在系統的安全隱私等方面,后續可將零知識證明、同態加密等技術與系統融合,實現數據加密與身份隱匿,提高系統的隱私性;以及許可管理多級CA 的具體架構、黑名單與白名單的詳細設計等問題。

利益沖突聲明

所有作者聲明不存在利益沖突關系。

猜你喜歡
共識運營商調度
基于增益調度與光滑切換的傾轉旋翼機最優控制
共識 共進 共情 共學:讓“溝通之花”綻放
論思想共識凝聚的文化向度
《調度集中系統(CTC)/列車調度指揮系統(TDCS)維護手冊》正式出版
商量出共識
基于強化學習的時間觸發通信調度方法
一張圖看三運營商政企業務
基于動態窗口的虛擬信道通用調度算法
第一章 在腐敗火上烤的三大運營商
三大運營商換帥不是一個簡單的巧合
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合