本發(fā)明涉及信息穩(wěn)定傳輸保護(hù)領(lǐng)域,尤其涉及基于軟件定義網(wǎng)絡(luò)負(fù)載均衡的異構(gòu)多徑安全路由計(jì)算方法。
背景技術(shù):
1、軟件定義網(wǎng)絡(luò)是一種新興的網(wǎng)絡(luò)架構(gòu),它將控制平面和數(shù)據(jù)平面分離開來,使網(wǎng)絡(luò)管理和配置更加靈活高效。但是由于數(shù)據(jù)平面涉及相關(guān)敏感信息,因此信息傳輸時(shí)的路由以及信息保護(hù)成為一個(gè)重要問題。在信息傳輸過程中,安全性被認(rèn)為是最重要的問題之一。目前,對于軟件定義網(wǎng)絡(luò)的研究正處于蓬勃發(fā)展時(shí)期,軟件定義網(wǎng)絡(luò)的內(nèi)生安全至關(guān)重要。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供基于軟件定義網(wǎng)絡(luò)負(fù)載均衡的異構(gòu)多徑安全路由計(jì)算方法。
2、本發(fā)明采用的技術(shù)方案是:
3、基于軟件定義網(wǎng)絡(luò)負(fù)載均衡的異構(gòu)多徑安全路由計(jì)算方法,包括以下步驟:
4、1)使用安全信道傳輸派生的加密密鑰和認(rèn)證密鑰給交換機(jī),利用交換機(jī)的id和輸入端口號構(gòu)造交換機(jī)的身份標(biāo)識符;
5、2)利用當(dāng)前交換機(jī)si的輸入端口號inport(si)和身份標(biāo)識符fidi,以及明文消息m構(gòu)造暫存消息itm,暫存消息itm的具體內(nèi)容為inport(si)||fidi||enc(ek,m);基于加密密鑰ek、認(rèn)證密鑰ak和暫存消息itm構(gòu)造攜帶信息為enc(ek,itm||sig(ak,itm))的路由轉(zhuǎn)發(fā)數(shù)據(jù)包;其中enc()表示加密動(dòng)作,sig()表示簽名動(dòng)作;
6、3)生成多組源節(jié)點(diǎn)-目的節(jié)點(diǎn)對的異構(gòu)路徑集合;
7、4)為多組源-目的節(jié)點(diǎn)對的路徑進(jìn)行流量負(fù)載均衡;
8、5)傳輸路徑上的下個(gè)交換機(jī)對數(shù)據(jù)包進(jìn)行驗(yàn)證,若驗(yàn)證成功則向下游轉(zhuǎn)發(fā);若驗(yàn)證失敗則停止路由,定位受損的交換機(jī)并且根據(jù)新的路徑重新路由數(shù)據(jù)包;
9、步驟1的具體方法為:
10、1-1,使用安全信道傳輸派生的加密密鑰ek和認(rèn)證密鑰ak給交換機(jī);
11、1-2,交換機(jī)si生成自己的id號sidi,以及自己的輸入端口號inport(si);
12、1-3,利用sidi和inport(si)構(gòu)造si的身份標(biāo)識符fidi,身份標(biāo)識符fidi具體內(nèi)容為其中表示異或動(dòng)作;
13、步驟2的具體方法為:
14、2-1,使用加密密鑰ek對明文消息m加密,記為enc(ek,m),其中enc()表示加密動(dòng)作;
15、2-2,將inport(si)、fidi和enc(ek,m)串聯(lián),記為暫存消息itm,itm可表示為inport(si)||fidi||enc(ek,m);
16、2-3,使用認(rèn)證密鑰ak對暫存消息itm簽名,記為sig(ak,itm),其中sig()表示簽名動(dòng)作;
17、2-4,串聯(lián)itm和sig(ak,itm),記為itm||sig(ak,itm);
18、2-5,使用加密密鑰rk對itm和sig(ak,itm)加密,構(gòu)造路由轉(zhuǎn)發(fā)數(shù)據(jù)包enc(ek,itm||sig(ak,itm));
19、步驟3的具體方法為:
20、3-1,初始化網(wǎng)絡(luò)拓?fù)鋑,一個(gè)空的異構(gòu)多路徑集合min(p)和一個(gè)正整數(shù)計(jì)數(shù)器i,其中i=1;
21、3-2,從網(wǎng)絡(luò)拓?fù)鋑中獲取網(wǎng)絡(luò)的路徑集pi、節(jié)點(diǎn)集vi、節(jié)點(diǎn)的度is(vi)和節(jié)點(diǎn)的總數(shù)n(v);
22、3-3,判斷i與節(jié)點(diǎn)的總數(shù)n(v)的大小是否滿足i≤n(v);如果是,則執(zhí)行3-4;否則,不滿足時(shí)完成異構(gòu)路徑的選擇;
23、3-4,選擇第一個(gè)度最小的節(jié)點(diǎn)vi:is(vi)≤is(v′),其中vt表示除節(jié)點(diǎn)vii以外的任意節(jié)點(diǎn);
24、3-5,將與vii相連接的路徑pi加入異構(gòu)多路徑集合min(p)中;
25、3-6,在網(wǎng)絡(luò)拓?fù)鋑中移除路徑pi、節(jié)點(diǎn)vi,計(jì)數(shù)器執(zhí)行i+1動(dòng)作;
26、3-7,返回執(zhí)行步驟3-3;
27、步驟4的具體方法為:
28、4-1,在其中一組源節(jié)點(diǎn)-目的節(jié)點(diǎn)對中,為其中的一條異構(gòu)路徑hp的一個(gè)路由段分配流量,記為其中表示從源節(jié)點(diǎn)s到目的節(jié)點(diǎn)d的路徑上第m到第n個(gè)路由片段的流量;
29、4-2,生成一個(gè)隨機(jī)數(shù)k,計(jì)算其中k是一個(gè)在0到1之間的小數(shù),“·”為數(shù)乘運(yùn)算;
30、4-3,計(jì)算記為其中“·”為數(shù)乘運(yùn)算;
31、4-4,將路徑hp中的流量分配出給另一組異構(gòu)路徑hp′的對應(yīng)路由片段上;
32、4-5,根據(jù)以上流量分配方法,為異構(gòu)路徑hp′的所有路徑片段分配流量;
33、步驟5的具體方法為:
34、5-1,交換機(jī)si+1使用ek解密來自交換機(jī)si的數(shù)據(jù)包enc(ek,itm||sig(ak,itm))獲得itm||sig(ak,itm);
35、5-2,分離itm||sig(ak,itm)得到暫存消息itm:inport(si)||fidi||enc(ek,m)和sig(ak,itm);
36、5-3,傳輸路徑上的下個(gè)交換機(jī)對暫存消息itm進(jìn)行驗(yàn)證,若驗(yàn)證結(jié)果與sig(ak,itm)匹配,則向下游交換機(jī)繼續(xù)轉(zhuǎn)發(fā);
37、5-3-1,si+1生成id號sidi+1和輸入端口號inport(si+1)并構(gòu)造身份標(biāo)識符fidi+1,fidi+1表示為其中表示異或動(dòng)作;
38、5-3-2,si+1將暫存消息itm中inport(si)替換為inport(si+1),將fidi替換為fidi+1,并生成新的暫存消息itm′,itm′表示為inpor(si+1)||fidi+1||enc(ek,m);
39、5-3-3,si+1使用ak對暫存消息itm′進(jìn)行簽名,記為:sig(ak,itm′);
40、5-3-4,將itm′和sig(ak,itm′)進(jìn)行串聯(lián),記為itm′||sig(ak,itm′);
41、5-3-5,利用ek對itm′||sig(ak,itm′進(jìn)行加密,并向下游交換機(jī)轉(zhuǎn)發(fā)新的數(shù)據(jù)包enc(ek,itm′||sig(ak,itm′));
42、5-4,若對暫存消息itm的驗(yàn)證結(jié)果與ig(ak,itm)不匹配,則停止路由并定位受損交換機(jī),選擇一條新路徑重新轉(zhuǎn)發(fā)數(shù)據(jù)包;
43、5-4-1,截取暫存消息itm獲得inport(si)和fidi并進(jìn)行異或操作計(jì)算出sidi,其中
44、5-4-2,根據(jù)計(jì)算出的交換機(jī)id:sidi,定位出被攻擊的交換機(jī);
45、5-4-3,源節(jié)點(diǎn)重新構(gòu)建基于加密密鑰ek、認(rèn)證密鑰ak和暫存消息itm構(gòu)造攜帶信息為enc(ek,itm||sig(ak,itm))的路由轉(zhuǎn)發(fā)數(shù)據(jù)包;
46、5-4-4,從異構(gòu)多路徑集合min(p)中選擇一條路徑傳輸數(shù)據(jù)包;
47、5-4-5,為選擇的路徑分配流量;
48、5-4-6,源節(jié)點(diǎn)按照新選擇的路徑向目的節(jié)點(diǎn)重新發(fā)送數(shù)據(jù)包。
49、本發(fā)明采用以上技術(shù)方案,當(dāng)多組源-目的節(jié)點(diǎn)對發(fā)送數(shù)據(jù)包時(shí),需要先計(jì)算源節(jié)點(diǎn)到目的節(jié)點(diǎn)的異構(gòu)路徑,在這些路徑中先選取其中一條路徑進(jìn)行數(shù)據(jù)包的傳輸,目的是為了在該路徑上傳輸?shù)墓?jié)點(diǎn)受到攻擊后,可以在異構(gòu)路徑集合min(p)中迅速選擇其他未受到攻擊的路徑繼續(xù)傳輸數(shù)據(jù)。然后再為多組源-目的節(jié)點(diǎn)對的路徑分配合適的流量,以保證傳輸過程各個(gè)路徑的流量的均衡。最后在已經(jīng)建立好的鏈路上傳輸封裝好的數(shù)據(jù)包。數(shù)據(jù)包傳輸過程中,每個(gè)上游的交換機(jī)都會(huì)向其下游的交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)包,下游的交換機(jī)接收到數(shù)據(jù)包都會(huì)對其進(jìn)行驗(yàn)證操作。當(dāng)下游的交換機(jī)接收到來自上游交換機(jī)的數(shù)據(jù)包enc(ek,itm||sig(ak,itm))后,會(huì)使用加密密鑰ek對其進(jìn)行解密以獲得itm||sig(ak,itm)。隨后使用認(rèn)證密鑰ak對暫存消息itm進(jìn)行簽名,驗(yàn)證是否與sig(ak,itm)匹配。如果一致那么說明上游交換機(jī)未受到攻擊,下游的交換機(jī)重新封裝數(shù)據(jù)包發(fā)往它的下游交換機(jī)。如果不一致那么說明上游交換機(jī)受到攻擊,下游交換機(jī)使用暫存消息itm中的inport(si)和fidi計(jì)算出受攻擊交換機(jī)的sidi以定位該受損的交換機(jī)。在異構(gòu)多路徑集合min(p)中再選擇一條源節(jié)點(diǎn)到目的節(jié)點(diǎn)的未受攻擊的路徑重新轉(zhuǎn)發(fā)數(shù)據(jù)包。本發(fā)明的有效效果在于:1、當(dāng)源路徑中有節(jié)點(diǎn)遭到破壞,可以在異構(gòu)多路徑集合min(p)中選擇其他的異構(gòu)路徑重新轉(zhuǎn)發(fā)消息,保證消息傳遞的穩(wěn)定性;2、通過多路徑的負(fù)載均衡機(jī)制,保證數(shù)據(jù)傳輸時(shí)流量的均衡分配;3、由于暫存消息itm在傳輸前分別被加密和簽名,因此每個(gè)路由節(jié)點(diǎn)接收到上游交換機(jī)發(fā)來的路由信息后,可以對消息進(jìn)行驗(yàn)證,保證消息的完整性和可靠性。