胡俊祥,張問(wèn)謙,王強(qiáng)
(廣州海格通信集團(tuán)股份有限公司,廣州 510663)
基于VRRP的衛(wèi)星基帶設(shè)備高可用方案設(shè)計(jì)
胡俊祥,張問(wèn)謙,王強(qiáng)
(廣州海格通信集團(tuán)股份有限公司,廣州 510663)
介紹HaigeSat衛(wèi)星基帶設(shè)備和VRRP協(xié)議,針對(duì)HaigeSat基帶設(shè)備進(jìn)行1:1熱備份方案設(shè)計(jì),解決并優(yōu)化不同模式下的切換問(wèn)題。
衛(wèi)星基帶設(shè)備;1:1熱備份;VRRP;中頻倒置開(kāi)關(guān)
衛(wèi)星通信鏈路由于其通信距離遠(yuǎn)、傳輸數(shù)據(jù)能力強(qiáng)、頻譜資源珍貴等特點(diǎn),在網(wǎng)絡(luò)中往往會(huì)作為跨區(qū)域主干鏈路來(lái)傳輸高價(jià)值數(shù)據(jù)。通信中斷往往會(huì)對(duì)用戶造成較大的損失,尤其在某些特殊應(yīng)用場(chǎng)景如航天控制、新聞直播、應(yīng)急指揮等對(duì)哪怕幾秒鐘的通信鏈路中斷都會(huì)導(dǎo)致災(zāi)難性的后果。為了提高衛(wèi)星通信系統(tǒng)的可靠性,對(duì)衛(wèi)星通信中的關(guān)鍵設(shè)備進(jìn)行高可用性(H.A,High Availability)設(shè)計(jì)是完全必要的也是可行的,這樣可以從根本上避免因單臺(tái)基帶設(shè)備故障而導(dǎo)致通信鏈路完全中斷的情況。目前國(guó)外主流衛(wèi)星通信基帶設(shè)備大多能提供1:1或1:N的熱備份手段,可以通過(guò)兩臺(tái)或多臺(tái)同樣型號(hào)的設(shè)備再加上一個(gè)多端口的射頻倒置開(kāi)關(guān)組成1:1或1:N備份配置。在對(duì)國(guó)外設(shè)備研究和借鑒后,本文針對(duì)海格通信公司研制的HaigeSat系列衛(wèi)星通信基帶設(shè)備進(jìn)行1:1熱備份高可用性設(shè)計(jì)。
HaigeSat衛(wèi)星調(diào)制解調(diào)器(下文簡(jiǎn)稱基帶設(shè)備),能在通信衛(wèi)星的覆蓋范圍內(nèi)提供點(diǎn)到點(diǎn)或組網(wǎng)的高速數(shù)據(jù)傳輸服務(wù)。采用L中頻接口(950MHz~1750MHz),支持C、Ku、Ka等多種頻段衛(wèi)星轉(zhuǎn)發(fā)器,并通過(guò)收發(fā)饋線對(duì)室外設(shè)備(包括BUC和LNB)提供10MHz參考時(shí)鐘和24V直流電源?;鶐гO(shè)備面向標(biāo)準(zhǔn)IP網(wǎng)絡(luò)設(shè)計(jì),提供標(biāo)準(zhǔn)的以太網(wǎng)接口,為用戶解決遠(yuǎn)距離、跨區(qū)域通信的問(wèn)題。基帶設(shè)備的工作原理框圖如下:
基帶設(shè)備部署在衛(wèi)星地球站,可以配置工作在二層或三層模式,起到地面網(wǎng)口和衛(wèi)星網(wǎng)口中繼轉(zhuǎn)換的作用。其和地球站其他設(shè)備的連接關(guān)系如下:
圖2 衛(wèi)星通信設(shè)備連接關(guān)系圖
基帶設(shè)備具備兩種類型的接口——數(shù)據(jù)和中頻。數(shù)據(jù)接口為一個(gè)10M/100M自適用以太網(wǎng)口,用于連接用戶數(shù)據(jù)設(shè)備,如計(jì)算機(jī)、視頻編解碼器、交換機(jī)、路由器等。中頻接口為L(zhǎng)中頻接口,分別提供發(fā)射和接收兩個(gè)接口用于連接衛(wèi)星上行鏈路和下行鏈路,并能為上行鏈路設(shè)備和下行鏈路設(shè)備提供電源和時(shí)鐘。
為了實(shí)現(xiàn)基帶的1:1熱備份,我們需要兩臺(tái)同時(shí)工作的基帶設(shè)備,在檢查自身或?qū)Ψ焦ぷ鳡顟B(tài)的同時(shí),能夠?qū)?shù)據(jù)和中頻的信號(hào)進(jìn)行無(wú)縫切換。其原理框圖如圖3所示:
圖3 基帶設(shè)備1:1熱備份框圖
兩臺(tái)基帶設(shè)備一臺(tái)標(biāo)識(shí)為主用設(shè)備負(fù)責(zé)所有業(yè)務(wù)處理,另一臺(tái)標(biāo)識(shí)為備用設(shè)備處于監(jiān)聽(tīng)和待機(jī)狀態(tài)。一旦主要設(shè)備發(fā)生了故障,備用設(shè)備能在短時(shí)間內(nèi)切換成主用設(shè)備,接管所有業(yè)務(wù)。當(dāng)主用設(shè)備恢復(fù)后,備用設(shè)備重新切換為待機(jī)工作狀態(tài),由主用設(shè)備重新接管所有業(yè)務(wù)。
要實(shí)現(xiàn)上述自動(dòng)切換功能,需要解決三個(gè)技術(shù)問(wèn)題:IP數(shù)據(jù)流切換、中頻倒置切換(包含饋鐘饋電)、切換策略。
(1)IP數(shù)據(jù)流切換。TCP/IP協(xié)議中,局域網(wǎng)中數(shù)據(jù)尋址主要是根據(jù)數(shù)據(jù)鏈層的MAC地址,其中MAC地址的發(fā)現(xiàn)和管理是通過(guò)ARP協(xié)議來(lái)實(shí)現(xiàn)。要改變IP數(shù)據(jù)流可以從ARP協(xié)議里面來(lái)做文章,通過(guò)自動(dòng)更新各設(shè)備上的ARP表來(lái)實(shí)現(xiàn)數(shù)據(jù)流的切換。VRRP(Virtual Router Redundancy Protocol,虛擬路由冗余協(xié)議)協(xié)議是一個(gè)用以解決局域網(wǎng)中配置靜態(tài)網(wǎng)關(guān)出現(xiàn)單點(diǎn)失效現(xiàn)象的路由協(xié)議,其正是通過(guò)主動(dòng)發(fā)起ARP更新來(lái)實(shí)現(xiàn)數(shù)據(jù)流切換,在第2節(jié)會(huì)對(duì)該協(xié)議進(jìn)行詳細(xì)的介紹。
(2)中頻倒置切換。由于衛(wèi)星通信上行和下行鏈路各只有一路,從理論上分析兩臺(tái)設(shè)備只應(yīng)其中一臺(tái)接入上行和下行鏈路,并為室外單元提供饋鐘和饋電。但由于無(wú)線通信的傳輸特點(diǎn),對(duì)于下行信號(hào)多個(gè)設(shè)備同時(shí)接收并不會(huì)對(duì)數(shù)據(jù)解調(diào)產(chǎn)生任何影響,相反兩個(gè)設(shè)備同時(shí)接收一個(gè)信號(hào),可以更好的對(duì)比設(shè)備的工作狀態(tài)。因此可以設(shè)計(jì)為兩臺(tái)設(shè)備同時(shí)接收解調(diào),但限制備用設(shè)備的網(wǎng)口數(shù)據(jù)發(fā)送。對(duì)于上行信號(hào),也可以選擇兩臺(tái)設(shè)備切換或信號(hào)合成的方式,兩種方式都有其應(yīng)用的需求,將在后續(xù)設(shè)計(jì)中進(jìn)一步分析。
(3)切換策略。故障檢測(cè)是切換的先決條件,VRRP已經(jīng)有完整的機(jī)制應(yīng)對(duì)設(shè)備的網(wǎng)絡(luò)失效,但對(duì)設(shè)備的性能指標(biāo)下降、非網(wǎng)絡(luò)功能故障則無(wú)能為力,因此我們可以在VRRP檢查調(diào)度的基礎(chǔ)上結(jié)合設(shè)備功能性能特點(diǎn),進(jìn)一步優(yōu)化切換策略。
基于上述分析,我們?cè)O(shè)計(jì)基帶設(shè)備1:1熱備份方案如圖4所示:
圖4 基帶設(shè)備1:1熱備份框圖
VRRP是由IETF提出的解決局域網(wǎng)中配置靜態(tài)網(wǎng)關(guān)出現(xiàn)單點(diǎn)失效現(xiàn)象的路由協(xié)議,1998年已推出正式的RFC2338協(xié)議標(biāo)準(zhǔn)。VRRP廣泛應(yīng)用在邊緣網(wǎng)絡(luò)中,它的設(shè)計(jì)目標(biāo)是支持特定情況下IP數(shù)據(jù)流量失敗轉(zhuǎn)移不會(huì)引起混亂,允許主機(jī)使用單路由器(衛(wèi)星基帶設(shè)備可以等效成一臺(tái)路由器),以及及時(shí)在實(shí)際第一跳路由器使用失敗的情形下仍能夠維護(hù)路由器間的連通性。
VRRP協(xié)議組織多臺(tái)路由器為一個(gè)虛擬的路由器,對(duì)外提供一個(gè)虛擬的IP,而在路由器組中,如果哪一臺(tái)路由器優(yōu)先級(jí)最高的話,那個(gè)這臺(tái)路由器就是Master路由器。Master的主要功能是實(shí)現(xiàn)局域網(wǎng)內(nèi)的一些功能,如局域網(wǎng)計(jì)算機(jī)的ARP解析請(qǐng)求,ICMP的ping測(cè)試,數(shù)據(jù)包經(jīng)過(guò)Master網(wǎng)關(guān)的轉(zhuǎn)發(fā)等。此外Master還每隔一個(gè)間隔在局域網(wǎng)組播一個(gè)關(guān)于自己的報(bào)文(組播地址224.0.0.1)[1]。報(bào)文中包含了VRRP版本號(hào)、VRID(只有具備相同VRID的主機(jī)才屬于一個(gè)VRRP路由器組)、優(yōu)先級(jí)、地址數(shù)量、認(rèn)證類型、廣播周期、校驗(yàn)和、虛擬IP地址等信息。其他路由器統(tǒng)稱為Backup路由器,平時(shí)靜默條件下監(jiān)聽(tīng)Master發(fā)送的VRRP報(bào)文,一旦報(bào)文超時(shí)則選舉出新的Master接替原Master的所有工作。
VRRP協(xié)議在實(shí)際的運(yùn)行過(guò)程中包括三個(gè)基本狀態(tài),即Initialize初始狀態(tài)、Backup備份狀態(tài)、Master主狀態(tài)。后兩個(gè)狀態(tài)的遷移都是隨著VRR衛(wèi)的啟動(dòng)而啟動(dòng)。其狀態(tài)轉(zhuǎn)移圖如圖5所示:
圖5 VRRP狀態(tài)轉(zhuǎn)移圖
Initialize:路由器系統(tǒng)啟動(dòng)后進(jìn)入此狀態(tài),當(dāng)接入網(wǎng)絡(luò)的某個(gè)接口開(kāi)啟VRRP以后,將轉(zhuǎn)入Backup(優(yōu)先級(jí)不為255時(shí))或Master狀態(tài)(優(yōu)先級(jí)為255時(shí)),此狀態(tài)下路由器不會(huì)對(duì)VRRP報(bào)文做任何處理。
Backup:該狀態(tài)下的路由器主要是用以監(jiān)聽(tīng)Master路由器的狀態(tài),他的主要工作是接受VRRP廣播報(bào)文而知道Master的狀態(tài),而對(duì)于虛擬的IP到MAC得請(qǐng)求不做響應(yīng),也不會(huì)產(chǎn)生目的地為虛擬IP和MAC的數(shù)據(jù)包。
Master:處于Master的路由器除了定期發(fā)送VRRP廣播報(bào)文以通知備份組內(nèi)的其他Backup路由器本虛擬組的IP和MAC等信息外,還需要對(duì)局域網(wǎng)的數(shù)據(jù)流量進(jìn)行處理(如局域網(wǎng)有對(duì)于虛擬IP的ARP請(qǐng)求,Master路由器必須以虛擬組的虛擬MAC地址做出回應(yīng);如存在虛擬MAC和IP的報(bào)文的轉(zhuǎn)發(fā)請(qǐng)求,必須給予轉(zhuǎn)發(fā))。
各個(gè)過(guò)程的轉(zhuǎn)換過(guò)程觸發(fā)事件如下:
①當(dāng)一臺(tái)位于備份組中的路由器啟動(dòng)VRRP協(xié)議的時(shí)候,如果這臺(tái)路由器的優(yōu)先級(jí)被定義為最大255;
②當(dāng)一臺(tái)為Master的路由器收到關(guān)閉消息的時(shí)候;
③當(dāng)一臺(tái)位于備份組中的路由器啟動(dòng)VRRP協(xié)議的時(shí)候,如果這臺(tái)路由器的優(yōu)先級(jí)被定義為小于255;
④當(dāng)一臺(tái)為Backup的路由器收到關(guān)閉的消息時(shí)候;
⑤當(dāng)一臺(tái)為Backup的路由器在主路由器響應(yīng)時(shí)間內(nèi)沒(méi)有收到主路由器的報(bào)文;
⑥當(dāng)一臺(tái)Master的路由器收到一個(gè)比自己的優(yōu)先級(jí)高的報(bào)文的時(shí)候。
鑒于VRRP的簡(jiǎn)單和高效,許多優(yōu)秀的程序設(shè)計(jì)師開(kāi)發(fā)出了基于VRRP的應(yīng)用程序,VRRPd就是其中一款針對(duì)Linux內(nèi)核開(kāi)源代碼。該代碼在sourceforge上發(fā)布,最新版本為1.15。VRRPd遵照rfc2338的描述實(shí)現(xiàn)了VRRPv2,可以簡(jiǎn)單的在路由器或其它設(shè)備中實(shí)現(xiàn)路由冗余備份。VRRPd的工作原理同樣是多臺(tái)路由器組成一個(gè)虛擬路由器,共同維護(hù)一個(gè)虛擬IP和虛擬ID。同一時(shí)刻只有標(biāo)識(shí)為Master的路由器負(fù)責(zé)發(fā)起通告和處理網(wǎng)口數(shù)據(jù)業(yè)務(wù),其他路由器保持監(jiān)聽(tīng)和靜默狀態(tài)。直到標(biāo)識(shí)為Backup的路由器超時(shí)未收到通告后才由備用路由器選舉出一個(gè)新的Master進(jìn)行工作接替。
VRRPd的運(yùn)行過(guò)程通過(guò)一條簡(jiǎn)單的命令行實(shí)現(xiàn),格式如下:
vrrpd-i ifname-v vrid[-f piddir][-s][-a auth][-p prio][-nh][-m prog][-bprog]ipaddr其中:
●-i ifname:接口設(shè)備的名稱,如 eth0、ppp0;
●-v vrid:虛擬路由器的ID,范圍為1-255;
●-p prio:主機(jī)的優(yōu)先級(jí),范圍為1-254,缺省為100;
●-d delay:通告間隔時(shí)間,以秒為單位,備份設(shè)備在3個(gè)間隔時(shí)間內(nèi)沒(méi)有收到通告則開(kāi)始競(jìng)選新的Master;
●-s:搶占模式,缺省為開(kāi)啟。開(kāi)啟搶占模式后當(dāng)主設(shè)備收到優(yōu)先級(jí)更高的主機(jī)通告后將轉(zhuǎn)換為Backup狀態(tài)。
●-a auth:認(rèn)證模式,有無(wú)認(rèn)證、簡(jiǎn)單文本認(rèn)證和MD5認(rèn)證(未實(shí)現(xiàn))三種方式;
●-n:忽略虛擬mac地址;
●-f piddir:PID文件存放目錄;
●-m prog:切換到Master后運(yùn)行的腳本;
●-b prog:切換到Backup后運(yùn)行的腳本;
●ipaddr:虛擬路由器的ip地址
從接口上不難看出VRRPd可以通過(guò)-m和-b參數(shù)和外部程序交互。當(dāng)然外部程序也可以控制VR-RPd的工作狀態(tài),具體方式就是通過(guò)SIGUSR1和SIGUSR2兩個(gè)信號(hào)量來(lái)實(shí)現(xiàn)。當(dāng)程序收到SIGUSR1信號(hào)時(shí)強(qiáng)制設(shè)置成Master,當(dāng)收到SIGUSR2信號(hào)時(shí)強(qiáng)制設(shè)置成Backup。
HaigeSat基帶設(shè)備擁有兩種工作模式[2],一種是SCPC點(diǎn)對(duì)點(diǎn)模式,一種是TDMA組網(wǎng)模式。這兩種工作模式下接收通路工作狀態(tài)是完全一致的,但發(fā)射通路則有所區(qū)別。在SCPC點(diǎn)對(duì)點(diǎn)模式下,無(wú)論網(wǎng)口是否接收到數(shù)據(jù),基帶設(shè)備都會(huì)發(fā)送連續(xù)載波(無(wú)數(shù)據(jù)時(shí)填充空包)。在TDMA組網(wǎng)模式下,只有設(shè)備需要轉(zhuǎn)發(fā)網(wǎng)口數(shù)據(jù)或設(shè)備需要和主站進(jìn)行交互信令時(shí)才會(huì)產(chǎn)生時(shí)隙突發(fā)載波;并且在主站時(shí)隙計(jì)劃管理下,任意兩個(gè)設(shè)備產(chǎn)生的突發(fā)載波從時(shí)域上看都是嚴(yán)格間隔開(kāi)的。這兩種模式對(duì)倒置開(kāi)關(guān)的設(shè)計(jì)需求將有所不同,SCPC模式下倒置開(kāi)關(guān)必須保證只有一臺(tái)設(shè)備的發(fā)射信號(hào)送到BUC,否則會(huì)造成互相干擾;而TDMA模式下倒置開(kāi)關(guān)允許兩個(gè)信號(hào)合成后送到BUC(因?yàn)閮蓚€(gè)信號(hào)由時(shí)隙計(jì)劃保證不會(huì)發(fā)生碰撞),這樣更利于設(shè)備的快速切換和故障管理。
實(shí)際應(yīng)用中基帶設(shè)備發(fā)射和接收信號(hào)往往會(huì)參入了參考時(shí)鐘和直流電平,在切換過(guò)程中除了要考慮中頻信號(hào)的切換外,還需要考慮參考時(shí)鐘和直流電平的切換。綜合考慮基帶設(shè)備的兩種模式,給出設(shè)計(jì)框圖如圖6所示。
在發(fā)射輸入端,設(shè)置兩個(gè)電控單刀雙擲開(kāi)關(guān)(SPDT),用于根據(jù)基帶設(shè)備的不同工作模式進(jìn)行切換。在發(fā)射和接收通路上各設(shè)置一個(gè)電控雙刀雙擲開(kāi)關(guān)(DPDT),用于兩個(gè)設(shè)備之間進(jìn)行信號(hào)切換和備用設(shè)備信號(hào)能量吸收。另外根據(jù)中頻信號(hào)的特點(diǎn),將中頻信號(hào)中的中頻部分、參考時(shí)鐘和直流電平通過(guò)濾波分別提取出來(lái)進(jìn)行處理,處理完成后再進(jìn)行重新組合。模塊通過(guò)MCU來(lái)和基帶設(shè)備通信,驅(qū)動(dòng)SPDT和DPDT兩個(gè)開(kāi)關(guān)的切換。另外模塊采用雙電源供電,保證任何一個(gè)基帶設(shè)備失效都不影響倒置開(kāi)關(guān)工作。
圖6 倒置開(kāi)關(guān)原理框圖
有了VRRP和倒置開(kāi)關(guān)模塊后,我們可以進(jìn)一步優(yōu)化切換策略。借助VRRP,主備設(shè)備之間可以建立起基于網(wǎng)絡(luò)連接狀態(tài)下的自動(dòng)倒置切換,但僅依靠VRRP還是具有相當(dāng)?shù)木窒扌?。具體表示為:1、設(shè)備出現(xiàn)非網(wǎng)絡(luò)連接故障時(shí),網(wǎng)口往往正常收到通告報(bào)文,設(shè)備無(wú)法自動(dòng)切換;2、失效等待時(shí)間至少為3個(gè)通告周期,缺省狀態(tài)下最少3秒后才能進(jìn)行切換。3、Linux一般為任務(wù)搶占式非實(shí)時(shí)操作系統(tǒng),當(dāng)設(shè)備處理資源耗盡時(shí)可能會(huì)導(dǎo)致通告發(fā)送延遲或丟失,從而造成誤切換。
為了提高切換的效果和效率,結(jié)合衛(wèi)星通信基帶設(shè)備的特點(diǎn)在VRRP中加入以下機(jī)制策略:
(1)結(jié)合衛(wèi)星基帶設(shè)備的特點(diǎn)加入了通告應(yīng)答機(jī)制,應(yīng)答報(bào)文中Backup設(shè)備的主要工作狀態(tài)信息(包括接收信噪比、誤碼率、TDMA同步情況等)告知Master設(shè)備,一旦Master發(fā)現(xiàn)自身的性能遠(yuǎn)落后于Backup時(shí)發(fā)起主動(dòng)切換。
(2)通過(guò)基帶設(shè)備對(duì)內(nèi)部各模塊的故障檢測(cè)機(jī)制進(jìn)行定期檢查,一旦Master發(fā)生嚴(yán)重告警,則主動(dòng)切換到Backup模式。
(3)減小通告發(fā)送間隔并提高發(fā)送線程的優(yōu)先級(jí)。為了保證通告發(fā)送的及時(shí)性可以提高發(fā)送線程的優(yōu)先級(jí),并可以根據(jù)設(shè)備資源的使用情況進(jìn)一步減少通告發(fā)送時(shí)間,這樣可以更快的發(fā)現(xiàn)故障點(diǎn)進(jìn)行切換。
[1]馬海平.VRRP協(xié)議的應(yīng)用及優(yōu)化研究,2010.10.
[2]詳細(xì)參見(jiàn)海格通信公司的HaigeSat D/WT-2A型衛(wèi)星調(diào)制解調(diào)器用戶手冊(cè).
[3]鄭艷濤.VRRP協(xié)議應(yīng)用和改進(jìn)研究,2007.5.
Design of High Availability for Satellite Baseband Equipment Based on VRRP
HU Jun-xiang,ZHANG Wen-qian,WANG Qiang
(Guangzhou Haige Communications Group Incorporated Company,Guangzhou 510663)
Describes HaigeSat satellite baseband equipment and VRRP,and designs a 1:1 redundancy method for it,solves and optimizes switching problem in different modes.
Satellite Baseband Equipment;1:1 Redundancy;VRRP;IF Inverting Switch
1007-1423(2017)31-0075-05
10.3969/j.issn.1007-1423.2017.31.018
胡俊祥(1984-),男,廣西象州人,碩士,中級(jí)工程師,研究方向?yàn)樾畔⑼ㄐ?/p>
張問(wèn)謙(1987-),男,江西泰和人,碩士,中級(jí)工程師,研究方向?yàn)樾畔⑼ㄐ?/p>
王強(qiáng)(1991-),男,廣西桂林人,碩士,助理工程師,研究方向?yàn)樯漕l微波
2017-09-20
2017-10-25