摘要:本文討論了傳統(tǒng)的路由器集中控制技術(shù)中存在的缺陷和問題,圍繞路由器分布式控制技術(shù)的若干個關(guān)鍵技術(shù)和問題進行了深入分析。
關(guān)鍵詞:路由器 分布式控制
隨著我國信息化建設(shè)進程的加快,網(wǎng)絡規(guī)模和網(wǎng)絡流量呈現(xiàn)出飛速擴展狀態(tài)。為滿足網(wǎng)絡規(guī)模和網(wǎng)絡流量的需求,路由器硬件在不斷的改進和升級,但是僅僅依靠硬件更新來提升路由器的數(shù)據(jù)傳輸流量已經(jīng)無法滿足互聯(lián)網(wǎng)快速發(fā)展的需求。因此,可以考慮對路由器進行分布式互連架構(gòu)來提升其轉(zhuǎn)發(fā)性能。但是該架構(gòu)方式只有一個控制單元對控制任務進行處理,因而很容易因數(shù)據(jù)平面規(guī)模擴大使得數(shù)據(jù)轉(zhuǎn)發(fā)流量超過控制單元的負載。為解決該問題,可以采用分布式控制方案對路由器進行架構(gòu)。
1 路由器分布式控制平面
路由器分布式控制平面主要存在兩種結(jié)構(gòu),分別為集群路由結(jié)構(gòu)和轉(zhuǎn)發(fā)與控制分離結(jié)構(gòu)。
1.1 集群路由結(jié)構(gòu) 集群路由器是有多個可獨立運行的、具有路由功能的節(jié)點使用某種通信方式連接而成的單映像路由器。其根據(jù)節(jié)點類型不同,又分為集群路由器和軟件集群路由器。其中,軟件集群路由器以單臺路由器為核心,在其外圍連接多個具有路由處理功能的計算機組成的。該種結(jié)構(gòu)可以按照使用需求向集群路由器中添加處理節(jié)點,軟件集群路由器中的多個路由處理計算機同時進行數(shù)據(jù)處理,分布式控制各單元間的負載分擔,進而提高和擴展路由器的性能。該分布式控制平面在處理節(jié)點方面具有非常靈活的擴展性能,部署方式簡單,但是無法支持數(shù)據(jù)平面層的擴展,一旦某一節(jié)點失效則會導致整個路由系統(tǒng)崩潰,系統(tǒng)可靠性較低。集群路由器則是由具有路由和轉(zhuǎn)發(fā)功能的多個節(jié)點組成,不同節(jié)點之間同時分擔數(shù)據(jù)負載,并行處理不同協(xié)議的分組,在數(shù)據(jù)平面的可擴展性好。但是由于集群路由器各節(jié)點均由路由器組成,故控制單元與轉(zhuǎn)發(fā)單元之間的連接均通過專用協(xié)議和接口實現(xiàn),若更改節(jié)點屬性則需要對相應的路由器進行修改,這就增大了系統(tǒng)的復雜度,在部署和維護方面成本較高。
1.2 轉(zhuǎn)發(fā)與控制分離體系結(jié)構(gòu) 該結(jié)構(gòu)允許在單臺路由器的控制平面設(shè)置多個控制單元,每個控制單元之間由內(nèi)部高速網(wǎng)絡進行互聯(lián),控制單元與轉(zhuǎn)發(fā)單元之間的連接方式為預先配置或者動態(tài)聯(lián)合。這種分布式路由架構(gòu)模式可以克服集群路由器架構(gòu)中控制單元和轉(zhuǎn)發(fā)單元無法分離的問題,對控制單元和轉(zhuǎn)發(fā)單元進行組件分離,增強單個組件的性能,提升路由組網(wǎng)的靈活性。
2 分布式路由控制平面的內(nèi)部通信協(xié)議
為保證分布式互聯(lián)的控制單元與轉(zhuǎn)發(fā)單元之間的協(xié)同工作,必須設(shè)計可用于該分布結(jié)構(gòu)的內(nèi)部通信協(xié)議。當前,應用在分布式路由控制平面的內(nèi)部通信協(xié)議分為集群路由器內(nèi)部通信協(xié)議和Forz協(xié)議兩種。
2.1 集群路由器內(nèi)部通信協(xié)議 該協(xié)議將集群路由器內(nèi)部的節(jié)點數(shù)量、編號、相鄰節(jié)點的性能、內(nèi)外部端口號等信息進行共享,集群內(nèi)的節(jié)點均可以獲得這些信息,故所有節(jié)點可以形成一致的內(nèi)部拓撲視圖。集群路由器內(nèi)部通信協(xié)議在進行內(nèi)部通信時其物理層的通信技術(shù)為高速光互連技術(shù),鏈路層的通信技術(shù)為高級數(shù)據(jù)鏈路控制技術(shù)。該協(xié)議方式可以在路由器內(nèi)部設(shè)定多個通信速率,以應對不同環(huán)境或情況下的不同速率互聯(lián)需求。在通信時,數(shù)據(jù)幀由數(shù)據(jù)信元和流控信元兩部分組成,其中數(shù)據(jù)信元主要用于傳輸通信報文,流控信元主要用于傳輸不同交換網(wǎng)絡中的流量控制信息。在控制層面,集群路由器內(nèi)部通信協(xié)議對控制單元之間的拓撲信息在統(tǒng)一層面進行控制和管理,不同節(jié)點之間可以對數(shù)據(jù)進行并行處理、計算或轉(zhuǎn)發(fā)等。
2.2 Forz協(xié)議 該協(xié)議是在ForCES協(xié)議框架基礎(chǔ)上實現(xiàn)的,其對ForCES協(xié)議框架下的內(nèi)部通信進行了擴展,其通信機制可以分為聯(lián)合、配置以及數(shù)據(jù)傳輸?shù)?個階段。聯(lián)合階段主要用于對控制單元和轉(zhuǎn)發(fā)單元進行身份確認。當一個新的單元接入分布系統(tǒng)時,其需要向內(nèi)部控制流發(fā)送自身的屬性信息,內(nèi)部各單元收到該信息后將該新單元接入自身數(shù)據(jù)庫進行設(shè)備擴充,同時各單元向該新單元發(fā)送自身的屬性信息,該新單元接收后組建自身數(shù)據(jù)庫,完成聯(lián)合操作。同樣,當一個現(xiàn)有的單元要脫離網(wǎng)絡時,需要向網(wǎng)絡中各單元發(fā)送一個離開報文,各單元接收到報文后將其從自身數(shù)據(jù)庫中刪除。配置階段主要用于對網(wǎng)絡接口、IP地址、路由信息等進行配置,建立一個統(tǒng)一的路由表。
數(shù)據(jù)傳輸階段則是根據(jù)協(xié)議數(shù)據(jù)幀結(jié)構(gòu)對所需要傳輸或者轉(zhuǎn)發(fā)的數(shù)據(jù)進行打包封裝,然后通過內(nèi)部網(wǎng)絡傳遞到所需要使用的輸出端口進行數(shù)據(jù)傳輸。
3 分布式路由算法
為適應分布式路由結(jié)構(gòu),充分利用控制平面內(nèi)的控制單元資源,實現(xiàn)數(shù)據(jù)的高速路由,必須設(shè)計適當?shù)穆酚伤惴ā.斍暗姆植际铰酚伤惴ㄓ袃深悾活愂遣⑿蠴SPF路由算法如PDSPT算法,一類是并行BGP路由算法如FDHP算法。PDSPT算法并行使用控制平面內(nèi)的多個處理器進行數(shù)據(jù)計算和處理,該算法的理論基礎(chǔ)為SPT,故其在算法迭代次數(shù)方面具有較強的競爭優(yōu)勢,尤其是網(wǎng)絡拓撲規(guī)模較大,且鏈路故障對原SPT樹上節(jié)點影響較多時,該算法可以發(fā)揮出較高的并行運算優(yōu)勢。但是該算法在負載分布比較均勻時所需的內(nèi)部通信開銷較大。FDHP算法則是充分利用路由器集群中各節(jié)點的計算資源,將其臨近的路由節(jié)點作為其本地信息計算的最優(yōu)路由,實現(xiàn)負載的多路由節(jié)點分擔,進而提升路由效果和性能。但是該方式同時利用多個路由節(jié)點進行信息處理時需要以廣播的方式進行數(shù)據(jù)通信,同樣增加了內(nèi)部通信的開銷。
4 總結(jié)
路由器控制平面向分布式方向發(fā)展是一種主流趨勢,該分布方式可以利用標準化接口和通信機制實現(xiàn)高速路由功能,還能夠增強系統(tǒng)的擴展性,但是在實現(xiàn)中,仍然需要對一些關(guān)鍵問題進行分析和解決。
參考文獻:
[1]賀東.路由器分布式控制技術(shù)研究[J].科技創(chuàng)新導報,2012
(18).
[2]徐明偉,江學智,陳文龍.路由器分布式控制研究綜述[J].電子學報,2010,38(8).
[3]徐恪,吳鯤,王青青.可擴展路由器控制平面的高性能通信模型[J].軟件學報,2007(09).