摘 要: 傳統(tǒng)方法大都通過特定的硬件實(shí)現(xiàn)通信系統(tǒng)的負(fù)載分流,但是硬件產(chǎn)品的擴(kuò)展性和靈敏性,制約了系統(tǒng)負(fù)載分流的質(zhì)量,系統(tǒng)存在負(fù)載失衡的危險(xiǎn)。因此,為提高電子通信系統(tǒng)的負(fù)載均衡,基于動(dòng)態(tài) Hash 算法,設(shè)計(jì)并實(shí)現(xiàn)電子通信系統(tǒng)分流控制器,該分流控制器利用 Telnet 組件,對路由器進(jìn)行遠(yuǎn)程部署,借助SNMP 組件獲取路由器內(nèi)的流量,對當(dāng)前變量進(jìn)行管理,使用TFTP服務(wù)器向路由器反饋命令文件,確保路由器接口流量的均衡化。分流控制器通過動(dòng)態(tài)更新與均衡模塊、預(yù)處理模塊以及均衡分流模塊三大功能模塊,完成電子通信系統(tǒng)的分流控制;采用基于流量的動(dòng)態(tài) Hash 算法,實(shí)現(xiàn)系統(tǒng)流量的均衡。給出分流控制器塑造策略路由的規(guī)范關(guān)鍵代碼。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的分流控制器下的電子通信系統(tǒng)的傳輸時(shí)延、傳輸速率以及分流誤差三個(gè)指標(biāo)都較優(yōu),實(shí)現(xiàn)了網(wǎng)絡(luò)負(fù)載均衡的最優(yōu)化。
關(guān)鍵詞: 電子通信系統(tǒng); 分流控制器; 負(fù)載均衡; 動(dòng)態(tài) Hash 算法
中圖分類號: TN911?34; TP393 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號: 1004?373X(2016)12?0110?04
Abstract: In order to improve the load balance of electronic communication system, a shunt controller for electronic communications system was designed and implemented based on dynamic Hash algorithm. With the shunt controller, remote login is realized for the router by utilizing Telnet component, and the flow in the router is acquired through SNMP component to adjust the current local variables, and feed the command files back to the router through the TFTP server according to all these variables to ensure the output flow equalization at the router interface. The shunt control of the shunt controller in electronic communications system is fulfilled through three function modules of dynamic update and equilibrium module, pretreatment module and equilibrium distribution module. The dynamic Hash algorithm based on traffic flow is used to realize the flow equilibrium of the system. The standard key code shaped by policy routing of the shunt controller is given. The experimental results show that transmission delay, transmission rate and shunt error of electronic communication system with the shunt controller are excellent, with which the network load balancing optimization can be realized.
Keywords: electronic communication systems; shunt controller; load balance; dynamic Hash algorithm
0 引 言
隨著通信技術(shù)的快速發(fā)展,電子通信系統(tǒng)在人們生產(chǎn)和生活中的應(yīng)用領(lǐng)域逐漸擴(kuò)大。由于電子通信網(wǎng)絡(luò)帶寬的快速增長,要想增強(qiáng)通信系統(tǒng)路由器 IP 報(bào)文采集、分析和操作的效率,需要采用多處理機(jī)對報(bào)文進(jìn)行協(xié)同操作,對多個(gè)處理機(jī)進(jìn)行流量的負(fù)載均衡具有重要作用[1]。傳統(tǒng)方法大都通過特定的硬件,實(shí)現(xiàn)通信系統(tǒng)的負(fù)載分流,但是硬件產(chǎn)品的擴(kuò)展性和靈敏性,制約了系統(tǒng)負(fù)載分流的質(zhì)量[2]。通過分流控制器軟件,實(shí)現(xiàn)電子通信系統(tǒng)中的路由器在自身的分流狀態(tài)下的 IP報(bào)文分流,確保系統(tǒng)負(fù)載均衡[3?4]。
當(dāng)前研究出的分類方法存在較多的弊端,如文獻(xiàn)[5]采用輪轉(zhuǎn)法完成通信系統(tǒng)流量的負(fù)載控制,其通過輪轉(zhuǎn)的方式依次將申請發(fā)送到不同的服務(wù)器。但是該方法較簡單,存在申請服務(wù)時(shí)間長的缺陷。文獻(xiàn)[6]通過最小連接法對網(wǎng)絡(luò)流量進(jìn)行調(diào)度,其基于服務(wù)器當(dāng)前工作的連接數(shù)分析服務(wù)器的負(fù)載狀態(tài)。但是其對系統(tǒng)資源消耗過大,不能有效描述實(shí)際的系統(tǒng)應(yīng)用負(fù)載。文獻(xiàn)[7]通過最低缺失法中的均衡部件,存儲(chǔ)節(jié)點(diǎn)的申請狀態(tài),將下個(gè)申請傳遞到歷史操作申請最低的節(jié)點(diǎn),實(shí)現(xiàn)系統(tǒng)負(fù)載的均衡,該種方法需要通過UDP 包的專用技術(shù)檢測節(jié)點(diǎn),存在較大的局限性。文獻(xiàn)[8]提出的融合加權(quán)方法和輪轉(zhuǎn)法的系統(tǒng)資源負(fù)載方法,其按照節(jié)點(diǎn)的優(yōu)先級和負(fù)載狀態(tài),塑造負(fù)載均衡的調(diào)制隊(duì)列,隊(duì)列內(nèi)采用輪轉(zhuǎn)法實(shí)現(xiàn)負(fù)載的均衡,隊(duì)列外基于優(yōu)先級順序?qū)崿F(xiàn)均衡操作。該方法雖然具備較高的處理精度,但存在效率低的缺陷。
為了提高電子通信系統(tǒng)的負(fù)載均衡,基于動(dòng)態(tài) Hash 算法,設(shè)計(jì)并實(shí)現(xiàn)了電子通信系統(tǒng)分流控制器,該分流控制器可完成路由器的均衡分流操作,實(shí)現(xiàn)電子通信網(wǎng)絡(luò)負(fù)載均衡的最優(yōu)化。
1 電子通信系統(tǒng)中的分流控制器設(shè)計(jì)與實(shí)現(xiàn)
1.1 系統(tǒng)總體結(jié)構(gòu)
采用動(dòng)態(tài)Hash算法的負(fù)載均衡算法,可塑造電子通信系統(tǒng)中的分流控制器,借助軟件檢測來管理該分流控制器,當(dāng)出現(xiàn)分流行為時(shí),通過動(dòng)態(tài)Hsah算法對其實(shí)施策略分流,確保各路由器可在自身的分流狀態(tài)下完成IP報(bào)文分流,實(shí)現(xiàn)電子通信系統(tǒng)負(fù)載的均衡化。分流控制器系統(tǒng)總體結(jié)構(gòu)如圖1所示。
該分流控制器利用 Telnet 組件,實(shí)現(xiàn)遠(yuǎn)距離登錄和配置路由器,通過SNMP 組件采集路由器中所有的流組和接口的流量,并調(diào)整本地變量,依照這些變量調(diào)試所有接口的流組,通過TFTP服務(wù)器將命令文件反饋給路由器,確保路由器所有接口的輸出流量均衡,最終實(shí)現(xiàn)路由器接口輸出流量均衡的目標(biāo),確保電子通信系統(tǒng)負(fù)載的均衡化。
1.2 系統(tǒng)功能模塊
分流控制器通過動(dòng)態(tài)更新與均衡模塊、預(yù)處理模塊以及均衡分流模塊三大功能模塊,完成電子通信系統(tǒng)的分流控制。各功能模塊的作用如下:
1.2.1 動(dòng)態(tài)更新與均衡模塊
根據(jù)及時(shí)采集的流組和接口的流量,分流控制器基于流量大小將接口按從大到小的順序排列,各個(gè)接口只能幫助相應(yīng)的一條隊(duì)列進(jìn)行修護(hù),流組信息可以儲(chǔ)存到節(jié)點(diǎn)中,通過利用這些流組信息實(shí)現(xiàn)策略分流。其中包括三大步驟,具體介紹如下:
(1) 采集流量。分流控制器分析SNMP的客戶端模塊需求,將SNMP 的GET 申請反饋給路由器,并采集接口的流量與所有接口上的流組的流量,確保本地所有接口可完成一條流組隊(duì)列的修護(hù)工作,同時(shí)調(diào)整本地流組隊(duì)列中的節(jié)點(diǎn),將所有接口的流量按照從大到小的順序排列,為能夠順利完成后續(xù)的策略分流奠定基礎(chǔ)。
(2) 策略分流。通過動(dòng)態(tài)Hash 算法獲取的分流方案,對各個(gè)接口的平均流量進(jìn)行運(yùn)算,隨后利用平均流量獲取所有接口和平均流量之間的差值,按照這個(gè)差值實(shí)現(xiàn)有序分列的目的,如果接口的差值高于 0,則應(yīng)重新劃分該接口的流組,需以差值從大到小的順序完成流組的劃分,流量最大接口的流組需要與流量最小的接口相銜接,而哪個(gè)流組能與流量最小的接口相銜接,主要取決于差值與所有接口的流組的大小。經(jīng)過一系列操作后,路由器的設(shè)置將被整理完善,隨后記載到相關(guān)文檔,這樣屢次進(jìn)行調(diào)配。
(3) 文件配置。分流策略通過流量將有關(guān)設(shè)置的信息記載到對應(yīng)的文檔中,之后這個(gè)文檔將發(fā)送到路由器上。
1.2.2 預(yù)處理模塊
為了滿足用戶的特定要求,需對路由器IP報(bào)文進(jìn)行預(yù)處理,如有用的信息要及時(shí)發(fā)送,反之要給予刪除,再對IP報(bào)文進(jìn)行均衡分流。例如,要求用戶獨(dú)立測試HTTP 報(bào)文,就必須將源端口或目的端口為 80 的 IP 報(bào)文反饋到處理機(jī)上實(shí)施有效的操作,因此一部分多余的處理機(jī)就不能均勻地獲取這些報(bào)文,那么應(yīng)該在流量均衡方案實(shí)施前,運(yùn)行用戶自定義的路由方案。
1.2.3 均衡分流模塊
分流控制器通過操作路由器,實(shí)現(xiàn)對電子通信系統(tǒng)中的分流進(jìn)行均衡控制,詳細(xì)的過程如下:
(1) 新建路由器。當(dāng)用戶首次使用一個(gè)路由器時(shí),第一步,應(yīng)該創(chuàng)建一個(gè)新的路由器,需要完善路由器地址、類型、登錄密碼等參數(shù),直到分流控制器與路由器另外的參數(shù)融合,并進(jìn)行原始參數(shù)的設(shè)置后,用戶統(tǒng)計(jì)路由器接口IP地址和掩碼等參數(shù),并決定使用的接口種類;第二步,分流控制器依據(jù)動(dòng)態(tài)Hash算法的均衡分流策略,完成初始化路由器流量的控制。
(2) 打開路由器。在用戶只有一個(gè)路由器文檔的前提下,根據(jù)開啟此路由器的設(shè)置文檔,用于根據(jù)開啟此路由器的設(shè)置文檔,可塑造與路由器之間的關(guān)聯(lián)條件,該路由器文檔能夠獲得路由器的接口 IP 地址和掩碼,還能依照接口的種類獲得后續(xù)路由器的 IP 地址列表。當(dāng)初始化結(jié)束后,通過動(dòng)態(tài)Hash 算法開始路由器流量的均衡操作。
(3) 設(shè)備狀況獲取。依照用戶創(chuàng)建的時(shí)間間隔,分流控制器可以及時(shí)收集當(dāng)下的路由器狀況以及數(shù)據(jù)信息,通過動(dòng)態(tài)曲線的形式呈現(xiàn)路由器接口的流量調(diào)整結(jié)果,若接口存在錯(cuò)誤,則實(shí)行相關(guān)操作來解決問題。
(4) 動(dòng)態(tài)均衡。路由器接口的流量信息被分流控制器及時(shí)采集之后,需要通過動(dòng)態(tài)Hash算法完成流量的運(yùn)算和調(diào)控,以便于路由器接口的流量可以達(dá)到各個(gè)用戶的使用標(biāo)準(zhǔn),如果不符合用戶的標(biāo)準(zhǔn),則再次通過動(dòng)態(tài)Hash算法完成均衡調(diào)控。
設(shè)計(jì)的分流控制器CAN總線如圖2所示,其由ISA總線、獨(dú)立CAN通信控制器SJA1000、總線收發(fā)器82C250和高速光電藕合器6N137等組成。
2 基于動(dòng)態(tài) Hash 算法實(shí)現(xiàn)路由器流量的均衡
為了提高電子通信系統(tǒng)的負(fù)載均衡,基于動(dòng)態(tài) Hash 算法,同時(shí)控制多個(gè)路由器進(jìn)行均衡分流,調(diào)整分流策略,以達(dá)到更好的分流效果,實(shí)現(xiàn)系統(tǒng)負(fù)載均衡。
動(dòng)態(tài) Hash 算法通過兩階段 Hash的方法,先采用Hash函數(shù)將全部的 IP 分割成不同的流組,為各流組設(shè)置標(biāo)識(shí)Uione;二次動(dòng)態(tài)Hash函數(shù)的輸入值為Uione,函數(shù)運(yùn)算結(jié)果對應(yīng)于路由器的輸出接口。分析輸出接口的流量情況,對動(dòng)態(tài)Hash函數(shù)進(jìn)行調(diào)控,可確保分配到高流量接口中的流組,調(diào)整到低流量接口中,實(shí)現(xiàn)輸出接口流量的動(dòng)態(tài)均衡。動(dòng)態(tài)Hash算法實(shí)現(xiàn)路由器流量均衡的過程為:
(1) Hash 分組。將路由器IP報(bào)文中的CRC?32當(dāng)成Hash 分組的輸入?yún)?shù),能夠?qū)崿F(xiàn)分組后各流組流量的一致,具有較高的均衡分流效果。
(2) 流量更新與流組調(diào)整。各流組通過一個(gè)變量保存當(dāng)前的流量,每完成一次流量調(diào)控后,對該變量值進(jìn)行調(diào)整,并按照各流組的流量,對流組同接口間的對應(yīng)關(guān)系進(jìn)行管理,確保各接口趨于均衡。
(3) 動(dòng)態(tài)調(diào)整的策略。通過最先適應(yīng)法,分析路由器接口流量差值需求,完成路由器各流組流量的調(diào)控。最先適應(yīng)法在調(diào)控流組流量時(shí),基于次序采集可調(diào)控的流組,確保采集流組的接口流量小于等于變換流組的接口流量,直到完成全部變換接口的流組。
3 代碼設(shè)計(jì)
所設(shè)計(jì)的電子通信系統(tǒng)中的分流控制器中的所有部件都通過樹型方式描述,基于防火墻(ICF)節(jié)點(diǎn),塑造策略路由的規(guī)范(screen),并且基于該規(guī)范對源目 IP 地址、地址反掩碼以及源目端口區(qū)域進(jìn)行分割,并塑造策略路由規(guī)范選擇的案例。路由器中策略路由部件的關(guān)鍵代碼如下:
4 實(shí)驗(yàn)分析
通過實(shí)驗(yàn)分析本文設(shè)計(jì)的分流控制器的性能優(yōu)劣。實(shí)驗(yàn)分別從不同分流方法對某電子通信網(wǎng)絡(luò)的傳輸時(shí)延、傳輸速率以及分流誤差三個(gè)方面,對比分析本文方法和輪轉(zhuǎn)方法下的通信系統(tǒng)負(fù)載均衡控制效果。
4.1 不同分流方法對傳輸時(shí)延影響分析
實(shí)驗(yàn)分析本文方法和輪轉(zhuǎn)法設(shè)計(jì)的分流控制器的性能。從圖3可以看出,本文方法下的分流控制器傳輸時(shí)延低于輪轉(zhuǎn)方法,并且變化較為平穩(wěn),而輪轉(zhuǎn)方法的時(shí)延值較高,存在大幅度波動(dòng),說明本文方法可提高分流控制器的運(yùn)行效率,主要是由于本文分流策略能夠從更小的力度上去利用路由資源,達(dá)到網(wǎng)絡(luò)負(fù)載均衡的最優(yōu)化,提高傳輸效率。
4.2 不同分流方法的平均傳輸速率
如圖4所示,從不同分流算法下的電子通信網(wǎng)絡(luò)的平均傳輸速率,能夠看出本文方法的傳輸速率優(yōu)于輪轉(zhuǎn)法,本文方法設(shè)計(jì)的分流控制器下的電子通信系統(tǒng)具備更高的數(shù)據(jù)傳遞效率。
4.3 不同分流策略對分流誤差的影響分析
分析圖5可得,相對于輪轉(zhuǎn)方法,本文方法具有更小的分流誤差,能夠?qū)﹄娮油ㄐ啪W(wǎng)絡(luò)流量進(jìn)行準(zhǔn)確調(diào)度,實(shí)現(xiàn)網(wǎng)絡(luò)負(fù)載均衡。這是由于本文提出的動(dòng)態(tài) Hash算法,通過兩階段 Hash的方法,依據(jù)接口的報(bào)文流量管理動(dòng)態(tài)Hash函數(shù),確保輸出接口的動(dòng)態(tài)均衡,大大提高了電子通信系統(tǒng)中路由器分流準(zhǔn)確度。
5 結(jié) 論
因此,為提高電子通信系統(tǒng)的負(fù)載均衡,基于動(dòng)態(tài) Hash 算法,設(shè)計(jì)并實(shí)現(xiàn)了電子通信系統(tǒng)分流控制器,該分流控制器利用 Telnet 組件,對路由器進(jìn)行遠(yuǎn)程部署,借助SNMP 組件獲取路由器內(nèi)的流量,對當(dāng)前變量進(jìn)行管理,使用TFTP服務(wù)器向路由器反饋命令文件,確保路由器接口流量的均衡化。分流控制器通過動(dòng)態(tài)更新與均衡模塊、預(yù)處理模塊以及均衡分流模塊三大功能模塊,完成電子通信系統(tǒng)的分流控制;采用基于流量的動(dòng)態(tài) Hash 算法,實(shí)現(xiàn)系統(tǒng)流量的均衡。給出了分流控制器塑造策略路由的規(guī)范關(guān)鍵代碼。實(shí)驗(yàn)結(jié)果說明,所設(shè)計(jì)的分流控制器下的電子通信系統(tǒng)的傳輸時(shí)延、傳輸速率以及分流誤差三個(gè)指標(biāo)都較優(yōu),實(shí)現(xiàn)了網(wǎng)絡(luò)負(fù)載均衡的最優(yōu)化。
參考文獻(xiàn)
[1] LEGARE Christian.嵌入式協(xié)議棧pC/TCP?IP ?基于STM32微控制器[M].鄺堅(jiān),譯.北京:北京航空航天大學(xué)出版社,2013.
[2] 靳偉偉.基于FPGA的非線性預(yù)測控制器設(shè)計(jì)與實(shí)現(xiàn)[D].長春:吉林大學(xué),2014.
[3] 彭興會(huì).電子通信系統(tǒng)關(guān)鍵技術(shù)問題分析[J].信息通信,2013(8):178?179.
[4] 胡呈磊.電子通信系統(tǒng)關(guān)鍵技術(shù)問題分析[J].現(xiàn)代商貿(mào)工業(yè),2014,26(7):187.
[5] 李昆.電子通信中的關(guān)鍵問題與解決措施分析[J].中外企業(yè)家,2015(5):124?125.
[6] 張延鵬,付生奇.淺析電子通信系統(tǒng)關(guān)鍵技術(shù)問題[J].電子世界,2014(16):231.
[7] 王鶴.含多種分布式電源的微電網(wǎng)運(yùn)行控制研究[D].北京:華北電力大學(xué),2014.
[8] 崔福博,郭劍波,荊平,等.直流配電技術(shù)綜述[J].電網(wǎng)技術(shù),2014,38(3):556?564.