一種空間延遲容忍網(wǎng)絡(luò)連接意外失效的應(yīng)對(duì)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域。更具體地,涉及一種空間延遲容忍網(wǎng)絡(luò)連接意 外失效的應(yīng)對(duì)方法。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)和空間探測(cè)技術(shù)的不斷發(fā)展,空間網(wǎng)絡(luò)設(shè)計(jì)成為研究熱點(diǎn)。由于空間 環(huán)境存在較長(zhǎng)的端到端時(shí)延、較高的誤碼率、頻繁的鏈路中斷等特點(diǎn),傳統(tǒng)的TCP/IP網(wǎng)絡(luò)無(wú) 法直接在空間網(wǎng)絡(luò)中使用,NASA提出的延遲容忍網(wǎng)絡(luò)(De 1 ay To 1 erant Network,DTN)可以 很好的解決這些問(wèn)題,成為空間網(wǎng)絡(luò)的一種解決方案。DTN協(xié)議新定義了束(bundle)層和匯 聚層,將應(yīng)用層數(shù)據(jù)分割成小的束(bundle)發(fā)送,使用存儲(chǔ)轉(zhuǎn)發(fā)的策略來(lái)應(yīng)對(duì)頻繁的鏈路 中斷,當(dāng)無(wú)端到端鏈路時(shí)將束存儲(chǔ)在中間節(jié)點(diǎn)等待傳輸機(jī)會(huì)。束協(xié)議使用EID(endpoint ID)表示通信的雙方,EID由節(jié)點(diǎn)號(hào)和服務(wù)號(hào)組成,節(jié)點(diǎn)號(hào)即DTN節(jié)點(diǎn)編號(hào),用來(lái)計(jì)算路由,月艮 務(wù)號(hào)來(lái)區(qū)分節(jié)點(diǎn)上注冊(cè)的不同通信方,節(jié)點(diǎn)號(hào)和服務(wù)號(hào)類似于TCP/IP協(xié)議中的ip地址和端 口號(hào)。
[0003] 匯聚層協(xié)議完成束層和傳輸層的交互,現(xiàn)有匯聚層協(xié)議包括TCPCL(TCP Convergence Layer protocol)、UDPCL(UDP Convergence Layers protocol)、LTPCL(LTP Convergence Layer protocol)等,LTP(Licklider Transmission Protocol)協(xié)議是為了 應(yīng)對(duì)空間網(wǎng)絡(luò)長(zhǎng)延遲、高信道誤碼率、非對(duì)稱鏈路問(wèn)題而設(shè)計(jì)的傳輸協(xié)議。LTP協(xié)議通過(guò)設(shè) 計(jì)的重傳機(jī)制提供可靠的數(shù)據(jù)傳輸服務(wù),首先LTPCLA(LTP Convergence Layer Adapter) 將下一跳節(jié)點(diǎn)是同一個(gè)鄰居節(jié)點(diǎn)的所有束聚合成一個(gè)數(shù)據(jù)塊(block),當(dāng)束聚合成塊之后, 又將塊分割成小的段(segment),作為L(zhǎng)TP協(xié)議的最小數(shù)據(jù)單元,塊大小和段大小都是可以 設(shè)置的,數(shù)據(jù)束聚合數(shù)量根據(jù)預(yù)先配置的LTP塊大小確定。段的類型有紅色部分(red part)、綠色部分(green part)、檢查點(diǎn)(checkpoint)、報(bào)告段(report segment)和報(bào)告確 認(rèn)段(report ACK)。紅色部分為需要可靠傳輸?shù)臄?shù)據(jù),綠色部分為不需要可靠傳輸?shù)臄?shù)據(jù)。 對(duì)于每一個(gè)檢查點(diǎn),接收端都需要回復(fù)相應(yīng)的報(bào)告段告知發(fā)送者已經(jīng)接收到的段,發(fā)送者 根據(jù)收到的報(bào)告段重傳丟失的段。檢查點(diǎn)和報(bào)告段都有重傳定時(shí)器,當(dāng)發(fā)送者不能及時(shí)接 收到回應(yīng)的報(bào)告段時(shí)將重傳檢查點(diǎn),檢查點(diǎn)連續(xù)重傳十次之后數(shù)據(jù)塊中聚合的束將被取出 重新計(jì)算路由,此時(shí)束發(fā)生重傳。
[0004] 由于空間節(jié)點(diǎn)具有軌跡可以預(yù)知的特點(diǎn),能夠預(yù)先得到兩個(gè)節(jié)點(diǎn)間的通信機(jī)會(huì)即 鏈路信息,包括每次通信的起始時(shí)間、終止時(shí)間、傳輸速率等,連接圖路由(Contact Graph Routing,CGR)將每一次通信機(jī)會(huì)稱為一次連接(contact),用連接信息代表鏈路信息,CGR 將鏈路信息按照連接的方式預(yù)先配置在連接計(jì)劃(contact plan)中,預(yù)先配置的連接信息 為連接的起始節(jié)點(diǎn)(from node)、終止節(jié)點(diǎn)(to node)、起始時(shí)間(from time)、終止時(shí)間(to time)、傳輸速率(rate)、起始節(jié)點(diǎn)與終止節(jié)點(diǎn)間的距離(range)。連接計(jì)劃中連接信息格式 如表1所示:
[0005]表1連接信息格式
[0007] CGR根據(jù)預(yù)先配置的連接信息,將可用的連接連一起,逐跳地把束從源節(jié)點(diǎn)發(fā)送到 目的節(jié)點(diǎn)。
[0008] CGR在利用預(yù)知連接信息計(jì)算路由的同時(shí),也帶來(lái)了對(duì)連接圖準(zhǔn)確性要求極高的 問(wèn)題。而復(fù)雜多變的空間環(huán)境極易導(dǎo)致連接意外失效的發(fā)生,此時(shí)按初始連接信息配置的 連接圖與實(shí)際的連接狀況不再一致,按照原本配置計(jì)算出來(lái)的路由將無(wú)法使用,導(dǎo)致路由 失敗。
[0009] 因此,需要提供一種空間延遲容忍網(wǎng)絡(luò)連接意外失效的應(yīng)對(duì)方法。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明的目的在于提供一種空間延遲容忍網(wǎng)絡(luò)連接意外失效的應(yīng)對(duì)方法,應(yīng)對(duì)空 間延遲容忍網(wǎng)絡(luò)中的連接意外失效問(wèn)題,當(dāng)發(fā)現(xiàn)連接失效后及時(shí)將檢測(cè)到的失效連接通告 給其他節(jié)點(diǎn),在選路時(shí)避免使用失效連接。
[0011] 為達(dá)到上述目的,本發(fā)明采用下述技術(shù)方案:
[0012] -種空間延遲容忍網(wǎng)絡(luò)連接意外失效的應(yīng)對(duì)方法,該方法和LTP協(xié)議協(xié)同工作,由 于LTP協(xié)議的重傳機(jī)制可以在正常誤碼率下保證數(shù)據(jù)可靠傳輸,束發(fā)生連續(xù)重傳的概率極 低,因此本發(fā)明將同一條鏈路上束的連續(xù)重傳看做連接失效的標(biāo)志。
[0013] -種空間延遲容忍網(wǎng)絡(luò)連接意外失效的應(yīng)對(duì)方法包括如下步驟:
[0014] S1、根據(jù)鏈路中束的傳輸情況判斷連接是否發(fā)生意外失效;
[0015] S2、當(dāng)發(fā)現(xiàn)連接失效時(shí),將失效的連接通告其他節(jié)點(diǎn),并利用連接恢復(fù)探測(cè)束檢測(cè) 失效的連接是否恢復(fù),當(dāng)判斷該連接恢復(fù)后將恢復(fù)的連接通告其他節(jié)點(diǎn);
[0016] S3、當(dāng)節(jié)點(diǎn)接收到連接失效通告信息或連接恢復(fù)通告信息后,更新該節(jié)點(diǎn)本地連 接計(jì)劃中相應(yīng)連接的失效狀態(tài);
[0017] S4、為束計(jì)算路由,將失效連接排除在外,并優(yōu)先轉(zhuǎn)發(fā)剩余生存時(shí)間小的束。
[0018] 優(yōu)選地,步驟S1進(jìn)一步包括如下子步驟:
[0019] S1.1、在節(jié)點(diǎn)的連接計(jì)劃中原有的連接信息中加入失效狀態(tài)標(biāo)志位,并建立束重 傳記錄列表和失效連接記錄列表,束重傳記錄列表記錄束的源節(jié)點(diǎn)、源服務(wù)號(hào)、生成時(shí)間戳 和下一跳節(jié)點(diǎn),失效連接記錄列表記錄失效連接的起始節(jié)點(diǎn)、終止節(jié)點(diǎn)、終止時(shí)間、最小檢 測(cè)時(shí)間間隔、連接恢復(fù)探測(cè)定時(shí)器、失效通告發(fā)送標(biāo)志位和連接恢復(fù)標(biāo)志位;
[0020] S1.2、根據(jù)鏈路中束的傳輸情況,利用失效狀態(tài)標(biāo)志位、束重傳記錄列表和失效連 接記錄列表判斷連接是否發(fā)生意外失效。
[0021 ] 優(yōu)選地,步驟S1.2進(jìn)一步包括如下子步驟:
[0022] SI. 2.1、當(dāng)束到來(lái)時(shí),首先判斷束的目的節(jié)點(diǎn)是否為本地節(jié)點(diǎn),如果是則執(zhí)行步驟 S1.2.2,否則執(zhí)行步驟S1.2.3;
[0023] S1.2.2、根據(jù)束的標(biāo)志位和目的服務(wù)號(hào)判斷束是否為連接失效狀態(tài)通告束,如果 是則在連接計(jì)劃中更新所通告連接的失效狀態(tài);
[0024] S1.2.3、判斷束是否發(fā)生重傳,如果不是則執(zhí)行步驟S4,否則執(zhí)行步驟S1.2.4;
[0025] SI. 2.4、根據(jù)束的標(biāo)志位和目的服務(wù)號(hào)檢查是否為連接恢復(fù)探測(cè)束,如果是則連 接恢復(fù)探測(cè)束發(fā)生了重傳,將該束丟棄,否則執(zhí)行步驟S1.2.5;
[0026] S1.2.5、檢查束重傳記錄列表中是否有該束的記錄,如果沒(méi)有則記錄束的重傳信 息,所述重傳信息包括束的源節(jié)點(diǎn)、源服務(wù)號(hào)、生成時(shí)間戳和下一跳節(jié)點(diǎn),隨后執(zhí)行步驟S4; 如果有則執(zhí)行步驟S1.2.6;
[0027] S1.2.6、判斷束的下一跳節(jié)點(diǎn)和重傳記錄中的下一跳節(jié)點(diǎn)是否一致,如果不一致 則更新束的重傳記錄,將記錄中的下一跳節(jié)點(diǎn)改為束當(dāng)前的下一跳節(jié)點(diǎn),并執(zhí)行步驟S4;否 則執(zhí)行步驟S1.2.7;
[0028] S1.2.7、判斷本地節(jié)點(diǎn)到束的下一跳節(jié)點(diǎn)的連接發(fā)生失效狀況,在本地連接計(jì)劃 中將本地節(jié)點(diǎn)到束下一跳節(jié)點(diǎn)的連接標(biāo)記為失效;檢查失效連接記錄列表中是否已存在該 連接的記錄,如果不存在,則在連接失效記錄列表中記錄該失效連接的信息,所述失效連接 的信息包括起始節(jié)點(diǎn)、終止節(jié)點(diǎn)、終止時(shí)間、最小探測(cè)時(shí)間間隔和連接恢復(fù)探測(cè)定時(shí)器,并 執(zhí)行步驟S4;如果已存在該連接的失效記錄則不再記錄,執(zhí)行步驟S4。
[0029]優(yōu)選地,所述連接失效狀態(tài)通告束的負(fù)載部分記錄連接的起始節(jié)點(diǎn)、終止節(jié)點(diǎn)、起 始時(shí)間、終止時(shí)間和失效標(biāo)志。
[0030] 優(yōu)選地,步驟S2進(jìn)一步包括如下子步驟:
[0031 ] S2.1、節(jié)點(diǎn)打開(kāi)失效連接記錄列表,執(zhí)行步驟S2.2;
[0032] S2.2、檢查列表中是否存在失效連接記錄,如果存在則找到第一條失效連接記錄, 執(zhí)行步驟S2.3;否則執(zhí)行步驟S2.10;
[0033] S2.3、檢查該失效連接記錄的失效恢復(fù)標(biāo)志位是否為1,如果是則說(shuō)明失效的連接 已經(jīng)恢復(fù),執(zhí)行步驟S2.4;否則說(shuō)明失效的連接還沒(méi)有恢復(fù),執(zhí)行步驟S2.5;
[0034] S2.4、在本地連接計(jì)劃中將相應(yīng)連接的失效狀態(tài)標(biāo)志位標(biāo)記為0,根據(jù)連接記錄中 的終止時(shí)間計(jì)算失效通告域,將通告束格式中的失效標(biāo)志標(biāo)記為0,生成連接失效狀態(tài)通告 束發(fā)送給失效通告域中的節(jié)點(diǎn),告知其他節(jié)點(diǎn)連接已經(jīng)恢復(fù),刪除失效記錄列表中關(guān)于該 連接的記錄,執(zhí)行步驟S2.9,檢查列表中記錄的下一條失效連接;
[0035] S2.5、檢查失效通告發(fā)送標(biāo)志位是否為1,如果是則說(shuō)明已經(jīng)發(fā)送過(guò)關(guān)于該連接的 失效通告,執(zhí)行步驟S2.7;否則說(shuō)明還沒(méi)有發(fā)