本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種適合基于mf-tdma衛(wèi)星信道的大規(guī)模組網(wǎng)的路由機(jī)制及實(shí)現(xiàn)方法。
背景技術(shù):
mf-tdma(multi-frequencytimedivisionmultipleaccess)衛(wèi)星通信系統(tǒng)是一種利用地球同步衛(wèi)星進(jìn)行中繼的衛(wèi)星通信系統(tǒng)。mf-tdma衛(wèi)星通信系統(tǒng)一般由一個(gè)中心站和若干個(gè)從站組成,中心站在某一頻率上提供全網(wǎng)的時(shí)間基準(zhǔn),各從站按照系統(tǒng)分配或規(guī)劃的各載波上的幀計(jì)劃,以統(tǒng)一的時(shí)間基準(zhǔn)為參考,在各自相應(yīng)的頻率和幀內(nèi)發(fā)送消息,實(shí)現(xiàn)各個(gè)站點(diǎn)在同一網(wǎng)內(nèi)工作,對(duì)外提供一種全連通的、共享帶寬的廣播型衛(wèi)星信道。通過相應(yīng)的接入設(shè)備,mf-tdma衛(wèi)星通信系統(tǒng)可實(shí)現(xiàn)地面站之間的靈活組網(wǎng),支持面向話音、圖像、ip、幀中繼等綜合業(yè)務(wù)的點(diǎn)對(duì)多點(diǎn)通信,目前已經(jīng)成為國(guó)內(nèi)外衛(wèi)星應(yīng)用、發(fā)展和研究的熱點(diǎn)。
機(jī)動(dòng)通信系統(tǒng)采用車輛作為物理承載平臺(tái),使用以太網(wǎng)、光纖、有線遠(yuǎn)傳、微波、衛(wèi)星等有無線鏈路作為傳輸信道,構(gòu)建了點(diǎn)對(duì)點(diǎn)的柵格狀網(wǎng)絡(luò)與點(diǎn)對(duì)多點(diǎn)的廣播型網(wǎng)絡(luò)相結(jié)合的跨地域的機(jī)動(dòng)通信網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。其中,衛(wèi)星信道作為遠(yuǎn)程大跨距互連通信的主要手段,應(yīng)用十分廣泛,在典型的組網(wǎng)規(guī)模下,衛(wèi)星通信節(jié)點(diǎn)(具備跨衛(wèi)星通信能力的交換路由節(jié)點(diǎn))的數(shù)量約為60個(gè)。通信網(wǎng)絡(luò)主要采用eigrp或ospf協(xié)議進(jìn)行互聯(lián)組網(wǎng)。然而,在實(shí)際的組網(wǎng)應(yīng)用中,一旦入網(wǎng)的衛(wèi)星通信節(jié)點(diǎn)數(shù)量超過20個(gè),網(wǎng)絡(luò)即開始出現(xiàn)路由不穩(wěn)定、通信不可靠的現(xiàn)象。經(jīng)分析發(fā)現(xiàn),eigrp或ospf協(xié)議會(huì)在衛(wèi)星信道中形成大量的鄰居關(guān)系,當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),相互間會(huì)產(chǎn)生大量的協(xié)議報(bào)文等待發(fā)送,而衛(wèi)星信道的傳輸能力十分有限,無法在短時(shí)間內(nèi)傳輸大量的協(xié)議報(bào)文,最終導(dǎo)致網(wǎng)絡(luò)路由無法收斂,網(wǎng)絡(luò)無法使用。
通過實(shí)際組網(wǎng)驗(yàn)證,傳統(tǒng)的路由協(xié)議在基于mf-tdma衛(wèi)星信道的大規(guī)模、窄帶寬的機(jī)動(dòng)通信網(wǎng)絡(luò)中,存在開銷大、收斂速度慢、路由條目多、入網(wǎng)節(jié)點(diǎn)規(guī)模受限等問題。在不改變mf-tdma衛(wèi)星通信系統(tǒng)的傳輸性能的情況下,傳統(tǒng)路由協(xié)議和組織應(yīng)用模式已經(jīng)無法滿足機(jī)動(dòng)通信網(wǎng)絡(luò)基于衛(wèi)星信道的大規(guī)模、動(dòng)態(tài)化組網(wǎng)的需求,亟需研發(fā)新的路由機(jī)制和組織應(yīng)用模式。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種適合基于mf-tdma衛(wèi)星信道的大規(guī)模組網(wǎng)的路由機(jī)制及實(shí)現(xiàn)方法?;诜钟蚪M網(wǎng)、域內(nèi)自治、域間統(tǒng)籌的思想,將動(dòng)態(tài)路由、靜態(tài)路由、路由匯聚、按需路由等技術(shù)巧妙地融合在一起,設(shè)計(jì)了一套低開銷、快速收斂、自動(dòng)匯聚、動(dòng)態(tài)發(fā)現(xiàn)的動(dòng)態(tài)按需路由機(jī)制及實(shí)現(xiàn)方法,有效解決了機(jī)動(dòng)通信網(wǎng)絡(luò)基于mf-tdma衛(wèi)星信道的大規(guī)模、動(dòng)態(tài)化組網(wǎng)的需求。
如圖2所示,結(jié)合機(jī)動(dòng)通信系統(tǒng)的部署地域與實(shí)際網(wǎng)絡(luò)拓?fù)鋵C(jī)動(dòng)通信網(wǎng)絡(luò)劃分為多個(gè)區(qū)域,區(qū)域之間采用衛(wèi)星子網(wǎng)進(jìn)行互聯(lián),各區(qū)域內(nèi)部的衛(wèi)星通信節(jié)點(diǎn)作為該區(qū)域的出口節(jié)點(diǎn)。各區(qū)域內(nèi)部運(yùn)行eigrp/ospf協(xié)議形成區(qū)域內(nèi)可達(dá)路由,區(qū)域內(nèi)數(shù)據(jù)通信按照正常流程進(jìn)行。所有的出口節(jié)點(diǎn)的衛(wèi)星信道接口上不運(yùn)行eigrp/ospf協(xié)議。區(qū)域間需要通信時(shí),由各區(qū)域的出口節(jié)點(diǎn)采用動(dòng)態(tài)按需方式在區(qū)域間尋路并轉(zhuǎn)發(fā)數(shù)據(jù)。
如圖3所示,出口節(jié)點(diǎn)之間通過衛(wèi)星信道交互hello報(bào)文,用于檢測(cè)衛(wèi)星信道的通連狀態(tài)和感知其它區(qū)域的出口節(jié)點(diǎn)的存在,并對(duì)鄰居關(guān)系進(jìn)行維護(hù)。出口節(jié)點(diǎn)對(duì)本區(qū)域內(nèi)可達(dá)路由進(jìn)行路由匯聚計(jì)算,生成和維護(hù)區(qū)域內(nèi)匯聚路由。各出口節(jié)點(diǎn)通過匯聚路由同步消息對(duì)外通告其區(qū)域內(nèi)匯聚路由,同時(shí)學(xué)習(xí)區(qū)域外匯聚路由,使得所有出口節(jié)點(diǎn)的區(qū)域匯聚路由信息保持全網(wǎng)一致。出口節(jié)點(diǎn)將區(qū)域外匯聚路由作為其靜態(tài)路由借助eigrp/ospf協(xié)議在區(qū)域內(nèi)進(jìn)行擴(kuò)散??鐓^(qū)域通信時(shí),數(shù)據(jù)通過區(qū)域外匯聚路由轉(zhuǎn)發(fā)到出口節(jié)點(diǎn)。出口節(jié)點(diǎn)將數(shù)據(jù)緩存并通過衛(wèi)星信道發(fā)起按需尋路請(qǐng)求。如果收到尋路應(yīng)答,則記錄該按需路由,并轉(zhuǎn)發(fā)緩存數(shù)據(jù)。如果兩次請(qǐng)求均未收到尋路應(yīng)答,則刪除緩存數(shù)據(jù),并通知源節(jié)點(diǎn)目的地址不可達(dá)。
本發(fā)明的有益技術(shù)效果是:通過區(qū)域路由自動(dòng)匯聚,減少了網(wǎng)絡(luò)中路由條目數(shù)量,區(qū)域內(nèi)的路由變化不會(huì)對(duì)其他區(qū)域的路由造成影響,網(wǎng)絡(luò)的穩(wěn)定性大大增強(qiáng);采用動(dòng)態(tài)按需路由方式,避免了傳統(tǒng)路由協(xié)議對(duì)衛(wèi)星信道有效帶寬的大量占用,衛(wèi)星信道帶寬利用率大大提高;出口節(jié)點(diǎn)間關(guān)系平等沒有中心節(jié)點(diǎn)的概念,一個(gè)或多個(gè)出口節(jié)點(diǎn)發(fā)生故障時(shí),不會(huì)對(duì)其他在網(wǎng)節(jié)點(diǎn)間的通信造成影響,網(wǎng)絡(luò)的抗毀性能大大增強(qiáng)。采用該技術(shù),能夠?qū)崿F(xiàn)基于mf-tdma衛(wèi)星信道的大規(guī)模動(dòng)態(tài)組網(wǎng)應(yīng)用,衛(wèi)星通信節(jié)點(diǎn)的入網(wǎng)數(shù)量可達(dá)60個(gè)以上,協(xié)議開銷小、信道利用率高、穩(wěn)定性好。
附圖說明
圖1、機(jī)動(dòng)通信系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖2、通信網(wǎng)絡(luò)分域組網(wǎng)示意圖;
圖3、路由機(jī)制及實(shí)現(xiàn)方法示意圖;
圖4、出口節(jié)點(diǎn)的功能模塊示意圖。
具體實(shí)施方式
本發(fā)明提供了一種適合基于mf-tdma衛(wèi)星信道的大規(guī)模組網(wǎng)的路由機(jī)制及實(shí)現(xiàn)方法。路由機(jī)制及實(shí)現(xiàn)方法示意如圖3所示,出口節(jié)點(diǎn)的功能模塊如圖4所示。需要說明的是,為了更加清楚、簡(jiǎn)要的描述本發(fā)明的實(shí)現(xiàn)方法,圖4中省略了節(jié)點(diǎn)的原有功能模塊,僅僅示出與本發(fā)明相關(guān)的功能模塊。為了實(shí)現(xiàn)本發(fā)明中的路由機(jī)制,需要處理以下幾個(gè)方面的內(nèi)容。
出口節(jié)點(diǎn)之間通過交互hello報(bào)文,用于檢測(cè)衛(wèi)星信道的通連狀態(tài),感知其它區(qū)域的出口節(jié)點(diǎn)的存在,并對(duì)鄰居關(guān)系進(jìn)行維護(hù)。具體實(shí)施情況如下:
1.hello報(bào)文為組播報(bào)文,只在衛(wèi)星信道接口之間傳輸,ttl值為1。
2.出口節(jié)點(diǎn)按指定周期t1向衛(wèi)星信道接口發(fā)送hello報(bào)文,t1的默認(rèn)值為23秒,可通過配置接口調(diào)整。
3.出口節(jié)點(diǎn)即時(shí)從衛(wèi)星信道接口接收其他節(jié)點(diǎn)hello報(bào)文,將該節(jié)點(diǎn)的接口ip地址、mac地址、保持時(shí)間、鄰居信息等記錄在鄰居表中。不論該節(jié)點(diǎn)的接口ip地址與本節(jié)點(diǎn)的接口ip地址是否在同一個(gè)子網(wǎng)段,節(jié)點(diǎn)都會(huì)記錄與該節(jié)點(diǎn)的鄰居關(guān)系。
4.出口節(jié)點(diǎn)在連續(xù)三次發(fā)送的hello報(bào)文內(nèi)容沒有發(fā)生變化后,可將hello報(bào)文中的一部分內(nèi)容簡(jiǎn)化后發(fā)送。其他節(jié)點(diǎn)收到報(bào)文后認(rèn)為簡(jiǎn)化部分內(nèi)容沒有發(fā)生變化。在簡(jiǎn)化部分內(nèi)容發(fā)生變化后,需再次發(fā)送完整的hello報(bào)文。
5.發(fā)現(xiàn)鄰居關(guān)系。當(dāng)出口節(jié)點(diǎn)的衛(wèi)星子網(wǎng)互連接口接通后,自動(dòng)向外發(fā)送hello報(bào)文,以便向外界表明自己的存在。收到hello報(bào)文的節(jié)點(diǎn)將對(duì)方作為自己的鄰居,加入其鄰居表中。
6.建立鄰居關(guān)系。通過發(fā)送和接收hello報(bào)文,出口節(jié)點(diǎn)向鄰居標(biāo)示自己和發(fā)現(xiàn)鄰居。發(fā)現(xiàn)新鄰居后,嘗試與之建立鄰居關(guān)系。
7.建立鄰居表。出口節(jié)點(diǎn)維護(hù)了一個(gè)鄰居表,專門用來存儲(chǔ)鄰居信息。其中每個(gè)鄰居中都有一個(gè)鄰居保持時(shí)間,還包含與區(qū)域匯聚路由相關(guān)的一些信息。
8.維護(hù)鄰居表。鄰居表需要通過鄰居的發(fā)現(xiàn)/更新過程來動(dòng)態(tài)地維護(hù)。該過程能動(dòng)態(tài)地檢測(cè)與本節(jié)點(diǎn)通過衛(wèi)星子網(wǎng)互連的其它節(jié)點(diǎn)。出口節(jié)點(diǎn)在收到鄰居的hello報(bào)文后,需要更新該鄰居的信息,檢測(cè)與該鄰居間的鏈路連通狀態(tài),并更新保持時(shí)間。
9.刪除鄰居關(guān)系。在規(guī)定的鄰居保持時(shí)間內(nèi)沒有收到某節(jié)點(diǎn)的hello報(bào)文,則認(rèn)為該節(jié)點(diǎn)不可達(dá),需要?jiǎng)h除與該節(jié)點(diǎn)建立的鄰居關(guān)系,并刪除與該節(jié)點(diǎn)相關(guān)的區(qū)域外匯聚路由信息。
出口節(jié)點(diǎn)對(duì)本區(qū)域內(nèi)可達(dá)路由進(jìn)行路由匯聚計(jì)算,生成和維護(hù)區(qū)域內(nèi)匯聚路由。具體實(shí)施情況如下:
1.出口節(jié)點(diǎn)需要獲取系統(tǒng)路由表的全部路由表項(xiàng),首先采用16位掩碼對(duì)系統(tǒng)路由表進(jìn)行區(qū)域內(nèi)路由匯聚計(jì)算。如果匯聚后的路由條目為1~5條,則將該1~5條路由作為區(qū)域內(nèi)匯聚路由,存入?yún)^(qū)域內(nèi)匯聚路由表中,掩碼為16位。如果匯聚后的路由條目大于5條,則采用8位掩碼對(duì)匯聚后的路由條目再次匯聚,然后將結(jié)果存入?yún)^(qū)域內(nèi)匯聚路由表中,掩碼為8位。
2.出口節(jié)點(diǎn)需要周期性的進(jìn)行區(qū)域內(nèi)路由匯聚計(jì)算,默認(rèn)值為120秒,可通過配置接口調(diào)整。
3.出口節(jié)點(diǎn)需要將當(dāng)前計(jì)算結(jié)果與前一次結(jié)果進(jìn)行比對(duì)。如果沒有發(fā)生變化,則繼續(xù)保持。如果發(fā)生了變化則需要?jiǎng)h除舊的匯聚路由,添加新的匯聚路由,并將變化通告給區(qū)域間匯聚路由同步模塊。
各出口節(jié)點(diǎn)通過匯聚路由同步消息對(duì)外通告其區(qū)域內(nèi)匯聚路由,同時(shí)學(xué)習(xí)區(qū)域外匯聚路由,使得所有出口節(jié)點(diǎn)的區(qū)域匯聚路由信息保持全網(wǎng)一致。具體實(shí)施情況如下:
1.匯聚路由同步消息為組播報(bào)文,只在衛(wèi)星信道接口之間傳輸,ttl值為1。
2.當(dāng)某個(gè)出口節(jié)點(diǎn)的區(qū)域內(nèi)匯聚路由信息發(fā)生變化時(shí),需要主動(dòng)發(fā)送匯聚路由同步消息,對(duì)外通告其區(qū)域內(nèi)匯聚路由。
3.出口節(jié)點(diǎn)收到其他節(jié)點(diǎn)的匯聚路由同步消息后,首先檢查該節(jié)點(diǎn)與本節(jié)點(diǎn)是否在同一個(gè)區(qū)域,檢查方法是查詢區(qū)域內(nèi)可達(dá)路由中是否存在該節(jié)點(diǎn)路由。如果在同一個(gè)區(qū)域,需進(jìn)行標(biāo)識(shí),且不處理該節(jié)點(diǎn)的匯聚路由同步消息。
4.出口節(jié)點(diǎn)收到外部節(jié)點(diǎn)的匯聚路由同步消息后,需要檢查區(qū)域外匯聚路由表中是否存在該節(jié)點(diǎn)的匯聚路由信息。如果不存在,則將該節(jié)點(diǎn)的匯聚路由信息直接存入?yún)^(qū)域外匯聚路由表。如果存在,則需要與該節(jié)點(diǎn)的原有信息比對(duì),將新的匯聚路由保存到區(qū)域外匯聚路由表中,并刪除舊的匯聚路由。
5.出口節(jié)點(diǎn)在收到鄰居的hello報(bào)文時(shí),需要檢查本節(jié)點(diǎn)的區(qū)域外匯聚路由表中是否存在該鄰居的匯聚路由信息。如果沒有,則在本節(jié)點(diǎn)下一次發(fā)送hello報(bào)文時(shí)增加一個(gè)tlv,用于標(biāo)識(shí)希望該鄰居能夠再次通告其匯聚路由信息。
6.出口節(jié)點(diǎn)在檢查到某個(gè)鄰居超時(shí)死亡時(shí),需要從本節(jié)點(diǎn)的區(qū)域外匯聚路由表中刪除該鄰居的匯聚路由信息。刪除匯聚路由時(shí),需要檢查匯聚路由是否為該死亡鄰居所獨(dú)有,如果其他活躍鄰居有相同的匯聚路由,則不能刪除。
7.出口節(jié)點(diǎn)因某種原因(比如該衛(wèi)星通信節(jié)點(diǎn)的衛(wèi)星信道接口發(fā)生故障或者衛(wèi)星信號(hào)中斷等)轉(zhuǎn)變?yōu)槠胀ü?jié)點(diǎn)時(shí),需要從本節(jié)點(diǎn)的區(qū)域外匯聚路由表中刪除所有的匯聚路由。
出口節(jié)點(diǎn)將區(qū)域外匯聚路由作為其靜態(tài)路由借助eigrp/ospf協(xié)議在區(qū)域內(nèi)進(jìn)行擴(kuò)散。具體實(shí)施情況如下:
1.出口節(jié)點(diǎn)需要借助eigrp/ospf協(xié)議及時(shí)將區(qū)域外匯聚路由作為其靜態(tài)路由在區(qū)域內(nèi)進(jìn)行擴(kuò)散。
2.出口節(jié)點(diǎn)自身的系統(tǒng)路由表和轉(zhuǎn)發(fā)路由表中并不保存區(qū)域外匯聚路由網(wǎng)段。
3.區(qū)域內(nèi)的普通節(jié)點(diǎn)通過eigrp/ospf協(xié)議學(xué)習(xí)到區(qū)域外匯聚路由網(wǎng)段,對(duì)其處理方式與區(qū)域內(nèi)可達(dá)路由完全相同。
4.當(dāng)同一個(gè)區(qū)域內(nèi)有多個(gè)出口節(jié)點(diǎn)時(shí),區(qū)域內(nèi)的普通節(jié)點(diǎn)能夠根據(jù)eigrp/ospf協(xié)議的路由開銷自主選擇區(qū)域外匯聚路由的合適的出口節(jié)點(diǎn)。
5.出口節(jié)點(diǎn)因某種原因(比如設(shè)備硬件故障或者斷電等)突然失效時(shí),通過eigrp/ospf協(xié)議的固有機(jī)制從本區(qū)域內(nèi)將該節(jié)點(diǎn)擴(kuò)散的區(qū)域外匯聚路由信息安全的清除。
跨區(qū)域通信時(shí),數(shù)據(jù)通過區(qū)域外匯聚路由轉(zhuǎn)發(fā)到出口節(jié)點(diǎn)。出口節(jié)點(diǎn)將數(shù)據(jù)緩存并通過衛(wèi)星信道發(fā)起按需尋路請(qǐng)求。如果收到尋路應(yīng)答,則記錄該按需路由,并轉(zhuǎn)發(fā)緩存數(shù)據(jù)。如果兩次請(qǐng)求均未收到尋路應(yīng)答,則刪除緩存數(shù)據(jù),并通知源節(jié)點(diǎn)目的地址不可達(dá)。具體實(shí)施情況如下:
1.按需尋路請(qǐng)求消息和尋路應(yīng)答消息均為組播報(bào)文,只在衛(wèi)星信道接口之間傳輸,ttl值為1。
2.發(fā)起按需尋路請(qǐng)求需要滿足特定的條件。出口節(jié)點(diǎn)的路由不可達(dá)報(bào)文的目的ip地址必須在區(qū)域外匯聚路由表的覆蓋范圍之內(nèi),同時(shí)該報(bào)文的源地址必須在區(qū)域內(nèi)可達(dá)路由表覆蓋范圍之內(nèi),出口節(jié)點(diǎn)才會(huì)發(fā)起按需尋路請(qǐng)求消息,避免非法用戶產(chǎn)生非法的數(shù)據(jù)消耗衛(wèi)星信道的有效帶寬。
3.出口節(jié)點(diǎn)發(fā)起按需尋路請(qǐng)求消息并啟動(dòng)定時(shí)器,默認(rèn)值為5秒,等待區(qū)域外出口節(jié)點(diǎn)的尋路應(yīng)答消息。如果收到尋路應(yīng)答,則記錄該按需路由。如果沒有收到尋路應(yīng)答,則再重試一次。如果一次尋路請(qǐng)求得到了多個(gè)尋路應(yīng)答,發(fā)起節(jié)點(diǎn)根據(jù)應(yīng)答消息中攜帶的路由metric值進(jìn)行路由優(yōu)選。
4.收到按需尋路請(qǐng)求的出口節(jié)點(diǎn)在其系統(tǒng)路由表中查找是否有到達(dá)目的地址的路由。如果沒有路由則不作處理;如果存在路由,則需要發(fā)送尋路應(yīng)答消息。
5.由于按需尋路請(qǐng)求和尋路應(yīng)答消息均為組播報(bào)文,衛(wèi)星子網(wǎng)中的其他出口節(jié)點(diǎn)均可收到,此時(shí)各出口節(jié)點(diǎn)可從報(bào)文中提取信息記錄到按需路由表中,便于本區(qū)域在較短時(shí)間內(nèi)需要與該地址通信時(shí),不需要發(fā)起尋路請(qǐng)求消息。
6.按需路由條目具有生存時(shí)間,默認(rèn)值為90秒,可通過配置接口調(diào)整。如果出口節(jié)點(diǎn)超過90秒沒有使用某條按需路由進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),則將其從按需路由表中刪除,以免長(zhǎng)時(shí)間占用按需路由空間,降低路由的查詢效率。如果出口節(jié)點(diǎn)查詢命中了某條路由,則需更新該條路由的生存時(shí)間。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。