国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種解決sdn流級(jí)別配置一致性更新的方法和裝置制造方法

      文檔序號(hào):7812092閱讀:207來(lái)源:國(guó)知局
      一種解決sdn流級(jí)別配置一致性更新的方法和裝置制造方法
      【專(zhuān)利摘要】本發(fā)明公開(kāi)一種解決SDN流級(jí)別配置一致性更新的方法和裝置,給不同配置分配版本號(hào),使數(shù)據(jù)包在SDN中,由與該數(shù)據(jù)包攜帶相同版本號(hào)的配置處理。當(dāng)配置更新發(fā)生時(shí),給內(nèi)部網(wǎng)絡(luò)安裝新配置,數(shù)據(jù)包經(jīng)邊界網(wǎng)絡(luò)時(shí)添加舊版本號(hào)進(jìn)入內(nèi)部網(wǎng)絡(luò)由舊配置處理,新配置不影響數(shù)據(jù)包,保證現(xiàn)有流持續(xù)穩(wěn)定地由舊配置處理,再經(jīng)邊界網(wǎng)絡(luò)流出SDN網(wǎng)絡(luò)時(shí)刪除版本號(hào)。當(dāng)內(nèi)部網(wǎng)絡(luò)更新完成后,以高優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝臨時(shí)配置以使受更新影響的流轉(zhuǎn)發(fā)到控制器并且仍由舊配置處理,低優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝攜帶新版本號(hào)的新配置;構(gòu)造覆蓋現(xiàn)有流IP地址的最小K前綴覆蓋集合,基于K條前綴構(gòu)造配置碎片;刪除超時(shí)的碎片,周期性進(jìn)行更新直至所有碎片被刪除,完成邊界網(wǎng)絡(luò)更新。
      【專(zhuān)利說(shuō)明】—種解決SDN流級(jí)別配置一致性更新的方法和裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及SDN(軟件定義網(wǎng)絡(luò)),尤其涉及一種解決SDN流級(jí)別配置一致性更新的方法和裝置,屬于計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。

      【背景技術(shù)】
      [0002]互聯(lián)網(wǎng)為人類(lèi)搭建了前所未有的信息通信和資源共享平臺(tái),深刻地改變著人們的生產(chǎn)、生活和學(xué)習(xí)方式,成為支撐現(xiàn)代社會(huì)經(jīng)濟(jì)發(fā)展和科技創(chuàng)新的最重要的信息基礎(chǔ)設(shè)施。移動(dòng)互聯(lián)網(wǎng)、三網(wǎng)融合、云計(jì)算和物聯(lián)網(wǎng)等新興的發(fā)展對(duì)當(dāng)前互聯(lián)網(wǎng)的擴(kuò)展性、安全性、移動(dòng)性及可用性等方面都提出了巨大挑戰(zhàn),未來(lái)網(wǎng)絡(luò)研究迫在眉睫。軟件定義網(wǎng)(Softwaredefined networking,簡(jiǎn)稱(chēng)SDN)是實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化的重要技術(shù),是未來(lái)網(wǎng)絡(luò)的主流研究方向之一。SDN通過(guò)將其網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)平面和控制平面分離,實(shí)現(xiàn)更加靈活、更加可控的新型網(wǎng)絡(luò)架構(gòu),同時(shí),SDN通過(guò)統(tǒng)一的開(kāi)放式接口,實(shí)現(xiàn)了底層網(wǎng)絡(luò)功能的整體抽象。數(shù)據(jù)面內(nèi)的網(wǎng)絡(luò)設(shè)備只負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā),而更加復(fù)雜靈活的網(wǎng)絡(luò)管理交由集中式的控制器實(shí)現(xiàn)。這種新型網(wǎng)絡(luò)架構(gòu)具有以下優(yōu)勢(shì):1)網(wǎng)絡(luò)管控能力得到改善,通過(guò)控制器實(shí)現(xiàn)網(wǎng)絡(luò)可視化,用戶可以根據(jù)需求定制個(gè)性化網(wǎng)絡(luò);2)網(wǎng)絡(luò)創(chuàng)新能力得到提升,簡(jiǎn)化網(wǎng)絡(luò)設(shè)計(jì),可以靈活地添加、刪除、改進(jìn)網(wǎng)絡(luò)功能,使得網(wǎng)絡(luò)創(chuàng)新以軟件更新的速度進(jìn)行;3)網(wǎng)絡(luò)可靠性得到加強(qiáng),網(wǎng)絡(luò)設(shè)備功能大大簡(jiǎn)化,復(fù)雜的網(wǎng)絡(luò)控制等功能由軟件實(shí)現(xiàn),大幅度降低網(wǎng)絡(luò)設(shè)備故障率,從而提升網(wǎng)絡(luò)可靠性。
      [0003]計(jì)算機(jī)網(wǎng)絡(luò)是一個(gè)復(fù)雜的時(shí)刻變動(dòng)的分布式系統(tǒng),雖然在控制層面看SDN是一個(gè)集中控制的系統(tǒng),但是在數(shù)據(jù)層面看SDN仍然是一個(gè)分布式系統(tǒng),轉(zhuǎn)發(fā)設(shè)備根據(jù)自己的配置獨(dú)立地處理數(shù)據(jù)包。為了保證網(wǎng)絡(luò)的穩(wěn)定性,提供可靠服務(wù),網(wǎng)絡(luò)管理人員必須根據(jù)網(wǎng)絡(luò)拓?fù)湟约傲髁孔兓戮W(wǎng)絡(luò)配置,例如調(diào)整數(shù)據(jù)轉(zhuǎn)發(fā)策略,修改鏈路權(quán)重以及重新分配網(wǎng)絡(luò)帶寬。并且控制層面和數(shù)據(jù)層面的信息交互存在延遲以及丟包等情況,在網(wǎng)絡(luò)變動(dòng)以及鏈路不穩(wěn)定的狀態(tài)下,我們必須保證配置更新過(guò)程中,包/流始終使用一個(gè)配置(要么舊配置,要么新配置),而不可混合使用,因?yàn)槲覀兛梢允褂酶髯则?yàn)證工具保證舊配置的正確性,也可以保證新配置的正確性,但是無(wú)法保證混合配置的正確性。
      [0004]配置一致性按照一致性級(jí)別可以分為包級(jí)別一致性和流級(jí)別一致性。網(wǎng)絡(luò)中存在包級(jí)別的不一致性問(wèn)題,在如圖1-1所示的網(wǎng)絡(luò)拓?fù)渲?,假設(shè)網(wǎng)絡(luò)初始配置為圖1-2中所示的Pl:交換機(jī)SI將目的地址是Hl的數(shù)據(jù)包轉(zhuǎn)發(fā)到S2,目的地址是H2的數(shù)據(jù)包轉(zhuǎn)發(fā)到S3,交換機(jī)S2丟棄端口號(hào)為22的包(SSH)并且按照目的地址轉(zhuǎn)發(fā)其他包,交換機(jī)S3按照目的地址轉(zhuǎn)發(fā)所有包。此時(shí)由于SI和S2之間的鏈路發(fā)生故障,SDN網(wǎng)絡(luò)執(zhí)行如圖1-2所示的更新,即由配置Pl更新為配置P2,交換機(jī)SI轉(zhuǎn)發(fā)所有包(目的地址為H1、H2)到S3,交換機(jī)S3禁止目的地址為Hl的端口為22的包并且按照目的地址轉(zhuǎn)發(fā)其他包。在網(wǎng)絡(luò)更新的過(guò)程中,由于無(wú)法保證交換機(jī)更新的順序,如果SI先于S3更新,那么此時(shí)目的地址為Hl端口為22的包會(huì)被轉(zhuǎn)發(fā)到S3,然后到達(dá)H1。但是按照正確的配置(配置Pl或者配置P2)目的地址為Hl端口為22的包應(yīng)該被禁止(丟棄)。發(fā)生這種情況的原因是這些包先被配置P2處理然后又被配置Pl處理,也就是說(shuō)包級(jí)別的配置一致性更新沒(méi)有得到保證。
      [0005]同樣地,網(wǎng)絡(luò)中還存在流級(jí)別配置更新的不一致性問(wèn)題,仍以如圖1-1所示的網(wǎng)絡(luò)拓?fù)錇槔僭O(shè)網(wǎng)絡(luò)中H1、H2是服務(wù)器(例如web服務(wù)器),初始化配置為圖1-3中的配置P3,交換機(jī)SI首先將來(lái)自網(wǎng)段U、G的流的目的地址替換為Hl然后轉(zhuǎn)發(fā)到S2,交換機(jī)S2轉(zhuǎn)發(fā)所有的流到服務(wù)器H1,交換機(jī)S3轉(zhuǎn)發(fā)所有的流到服務(wù)器H2。此時(shí)由于終端Hl負(fù)載過(guò)大,SDN網(wǎng)絡(luò)執(zhí)行如圖1-3所示的更新,即由配置P3更新為配置P4,交換機(jī)SI將來(lái)自網(wǎng)絡(luò)U的流的目的地址替換為Hl然后轉(zhuǎn)發(fā)到S2,將來(lái)自網(wǎng)絡(luò)G的流的目的地址替換為H2然后轉(zhuǎn)發(fā)S3。交換機(jī)S2、S3將按照目的地址將這些流轉(zhuǎn)發(fā)到H1、H2。在配置更新發(fā)生之前,來(lái)自網(wǎng)段G的流被轉(zhuǎn)發(fā)到Hl,與Hl建立連接并通信,但是更新之后,這些已經(jīng)存在的流會(huì)被轉(zhuǎn)發(fā)到H2,它們同Hl的連接被中斷,需要同H2建立連接,對(duì)于用戶來(lái)說(shuō),來(lái)自網(wǎng)段G的流與服務(wù)器(Hl與H2對(duì)于用戶來(lái)講,是一個(gè)服務(wù)器整體)斷開(kāi)需重新建立連接,也就是說(shuō)流級(jí)別配置的一致性更新沒(méi)有得到保證。
      [0006]現(xiàn)有的配置一致性解決方案大多是針對(duì)包級(jí)別的,流級(jí)別的配置一致性更新方案主要有以下3種:
      [0007]I)交換機(jī)規(guī)則超時(shí)(Switch rules with timeouts)
      [0008]使用版本控制區(qū)分不同的規(guī)則集合,對(duì)于每個(gè)數(shù)據(jù)包,由入口交換機(jī)決定使用哪一個(gè)規(guī)則集合進(jìn)行網(wǎng)絡(luò)轉(zhuǎn)發(fā)。當(dāng)需要配置更新時(shí),控制器首先更新內(nèi)部網(wǎng)絡(luò)(安裝新版本的配置),然后更新邊界網(wǎng)絡(luò)。為了保證流一致性,在邊界網(wǎng)絡(luò),控制器對(duì)舊的配置進(jìn)行周期性的分割,同時(shí)設(shè)置超時(shí)限制時(shí)間。隨著時(shí)間的流逝,舊的配置碎片被刪除,新的配置被激活。
      [0009]2)通配符克隆(Wildcard cloning)
      [0010]擴(kuò)展OpenFlow協(xié)議,使用功能更加強(qiáng)大的交換機(jī)來(lái)保證配置的一致性。當(dāng)需要配置更新時(shí),每當(dāng)一個(gè)現(xiàn)有流經(jīng)過(guò)時(shí),交換機(jī)就對(duì)這個(gè)現(xiàn)有的流建立一個(gè)幾乎精確的規(guī)則(稱(chēng)為克隆規(guī)則,這些規(guī)則具有更高的優(yōu)先級(jí))。一段時(shí)間之后,所有的現(xiàn)有流都被克隆規(guī)則轉(zhuǎn)發(fā)處理,然后刪除舊的配置,添加新的配置。這種方法非常簡(jiǎn)單快捷,對(duì)于控制器和網(wǎng)絡(luò)幾乎沒(méi)有增加額外的負(fù)載,但是對(duì)交換機(jī)的要求比較高。
      [0011]3)終端反饋(End-host feedback)
      [0012]當(dāng)網(wǎng)絡(luò)更新發(fā)送時(shí),終端將已有的連接信息發(fā)送給控制器,然后控制器根據(jù)這些連接信息完成更新過(guò)程。終端反饋機(jī)制需要終端提供已有連接的信息,因此需要在終端上安裝插件,同時(shí)終端需要和控制器通信,將控制器的一些細(xì)節(jié)暴漏了出來(lái)。
      [0013]除了以上3種方案,還有一些學(xué)者將數(shù)據(jù)庫(kù)中的事務(wù)一致性引入到SDN配置一致性更新當(dāng)中,將網(wǎng)絡(luò)更新過(guò)程分割為若干個(gè)事務(wù),對(duì)于每個(gè)事務(wù)根據(jù)更新的結(jié)果,控制器可以確認(rèn)或者回滾。還有一些學(xué)者提出使用有向無(wú)環(huán)圖(DAG)解析規(guī)則,分析規(guī)則之間的依賴(lài)關(guān)系以及一致性特性要求生成配置更新計(jì)劃,然后更新網(wǎng)絡(luò)配置。
      [0014]以上現(xiàn)有方案存在下述一些缺陷:
      [0015]I)規(guī)則超時(shí)方案需要花費(fèi)的時(shí)間過(guò)長(zhǎng)。對(duì)于舊的配置,將分割之后的碎片安裝到交換機(jī)中,如果碎片過(guò)大,那么可能由于一直有流存在而無(wú)法消失;如果碎片過(guò)小,那么會(huì)由于數(shù)目過(guò)多占用大量的空間。
      [0016]2)通配符克隆方案雖然對(duì)于控制器來(lái)說(shuō)比較簡(jiǎn)單,配置更新過(guò)程也比較快捷,但是它不再遵守標(biāo)準(zhǔn)的OpenFlow協(xié)議。同時(shí)還需要性能更加強(qiáng)大的交換機(jī)才能實(shí)現(xiàn),違反了軟件定義網(wǎng)的基本思想(簡(jiǎn)單的轉(zhuǎn)發(fā)設(shè)備,復(fù)雜的控制設(shè)備)。
      [0017]3)終端反饋方案違反了網(wǎng)路設(shè)計(jì)的原則,一方面終端要具體的參與到網(wǎng)絡(luò)配置更新的過(guò)程中,使得網(wǎng)絡(luò)對(duì)于終端不再透明,另一邊面終端與控制器相互通信,給控制器帶來(lái)了許多安全問(wèn)題(例如可以很容易的通過(guò)終端攻擊控制器,從而癱瘓整個(gè)網(wǎng)絡(luò))。
      [0018]4)無(wú)論是事務(wù)機(jī)制還是有向無(wú)環(huán)圖都需要根據(jù)具體的網(wǎng)絡(luò)拓?fù)湟约芭渲脕?lái)決定配置更新安排,要么計(jì)算復(fù)雜性比較高,要么更新的時(shí)間開(kāi)銷(xiāo)比較大。例如,有向無(wú)環(huán)圖方案根據(jù)網(wǎng)絡(luò)拓?fù)湟约皵?shù)據(jù)流轉(zhuǎn)發(fā)路徑生成一個(gè)有向無(wú)環(huán)圖,分析更新路徑上前后等依賴(lài)關(guān)系和一致性級(jí)別要求(例如無(wú)環(huán)、包級(jí)別等)安排配置更新的計(jì)劃,無(wú)論對(duì)于計(jì)算還是存儲(chǔ)的開(kāi)銷(xiāo)都是比較大的。
      [0019]總體來(lái)說(shuō),以上現(xiàn)有技術(shù)的方案要么犧牲了 SDN網(wǎng)絡(luò)的一些特性來(lái)完成流級(jí)別配置一致性更新,要么需要花費(fèi)過(guò)高的時(shí)間、計(jì)算和/或存儲(chǔ)空間代價(jià)。


      【發(fā)明內(nèi)容】

      [0020]本發(fā)明的主要目的在于提出一種解決SDN流級(jí)別配置一致性更新的方法和裝置,以在網(wǎng)絡(luò)動(dòng)態(tài)更新過(guò)程中,快速有效地完成流級(jí)別配置一致性更新,解決上述現(xiàn)有技術(shù)存在的技術(shù)問(wèn)題。
      [0021]本發(fā)明提供以下方法來(lái)解決上述技術(shù)問(wèn)題:
      [0022]一種解決SDN流級(jí)別配置一致性更新的方法,包括:
      [0023]給SDN網(wǎng)絡(luò)中的配置和數(shù)據(jù)包分配版本號(hào),用以標(biāo)記數(shù)據(jù)包的處理規(guī)則集合,使得數(shù)據(jù)包只能由與該數(shù)據(jù)包具有一致版本號(hào)的配置進(jìn)行處理;
      [0024]當(dāng)網(wǎng)絡(luò)配置發(fā)生更新時(shí),先進(jìn)行內(nèi)部網(wǎng)絡(luò)的更新:將具有新版本號(hào)的新配置安裝至IJ SDN的內(nèi)部網(wǎng)絡(luò)中,同時(shí)保留具有舊版本號(hào)的舊配置,使得經(jīng)SDN的邊界網(wǎng)絡(luò)后攜帶舊版本號(hào)的數(shù)據(jù)包進(jìn)入內(nèi)部網(wǎng)絡(luò)時(shí),由舊配置處理;
      [0025]當(dāng)內(nèi)部網(wǎng)絡(luò)更新完成后,進(jìn)行以下步驟:
      [0026]A、以高優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝臨時(shí)配置,所述臨時(shí)配置用于使邊界網(wǎng)絡(luò)的邊界交換機(jī)將配置更新影響到的現(xiàn)有流轉(zhuǎn)發(fā)到控制器,而控制器對(duì)所述現(xiàn)有流按舊配置處理,以使控制器獲取所述現(xiàn)有流的源IP地址以及邊界交換機(jī)的流表統(tǒng)計(jì)信息,而所述現(xiàn)有流仍以舊配置進(jìn)行處理;以低優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝新配置;
      [0027]B、查看邊界交換機(jī)中當(dāng)前的舊配置碎片數(shù)目,并計(jì)算目前邊界交換機(jī)中可以使用的規(guī)則數(shù)目K;
      [0028]C、根據(jù)獲取的所述現(xiàn)有流的源IP地址集合,構(gòu)造最小K前綴覆蓋集合,所述最小K前綴覆蓋集合內(nèi)的K條前綴所占的空間最小、且覆蓋所述現(xiàn)有流的源IP地址集合內(nèi)的所有IP地址;
      [0029]D、基于所述最小K前綴覆蓋集合內(nèi)的K條前綴,構(gòu)造相應(yīng)的K條舊配置碎片,并記錄K條所述舊配置碎片;
      [0030]E、將K條所述舊配置碎片安裝到邊界交換機(jī),設(shè)置為高級(jí)優(yōu)先配置,設(shè)置超時(shí)時(shí)間限制T ;所述現(xiàn)有流以舊配置進(jìn)行處理,而在所述現(xiàn)有流之后到的受配置更新影響的新流,若所述新流的源IP地址落入所述K條前綴,則所述新流由所述舊配置碎片處理,若所述新流的源IP地址未落入所述K條前綴,則所述新流由新配置處理;
      [0031]F、刪除超時(shí)的所述舊配置碎片,并通知控制器修改邊界交換機(jī)中的所述舊配置碎片的數(shù)目;
      [0032]G、若邊界交換機(jī)中仍存在未超時(shí)刪除的碎片,返回執(zhí)行所述步驟A?F,直至所有的所述舊配置碎片都因超時(shí)被刪除,至此完成邊界網(wǎng)絡(luò)的更新。
      [0033]本發(fā)明提出的上述方法,與現(xiàn)有技術(shù)相比,至少具有以下有益效果:
      [0034]I)通過(guò)給配置和數(shù)據(jù)包添加版本號(hào),使得在內(nèi)部網(wǎng)絡(luò)安裝更新時(shí),流過(guò)的數(shù)據(jù)包以舊版本號(hào)與內(nèi)部網(wǎng)絡(luò)中仍存在的舊配置匹配,統(tǒng)一由舊配置處理,不會(huì)受內(nèi)部網(wǎng)絡(luò)的更新影響,保證了內(nèi)部網(wǎng)絡(luò)更新時(shí)現(xiàn)有流的持續(xù)穩(wěn)定和現(xiàn)有流的配置一致性;
      [0035]2)以高優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝臨時(shí)配置,將更新影響到的現(xiàn)有流轉(zhuǎn)發(fā)到控制器,不僅使得控制器獲得現(xiàn)有流的信息(包括流的速率、流的源IP地址等),由于臨時(shí)配置只負(fù)責(zé)將現(xiàn)有流轉(zhuǎn)發(fā)到控制器,而后現(xiàn)有流仍按舊配置轉(zhuǎn)發(fā),因此并不改變現(xiàn)有流的匹配域,現(xiàn)有流仍由舊配置進(jìn)行處理,此種臨時(shí)配置也保證了在進(jìn)行邊界網(wǎng)絡(luò)更新的過(guò)程中,現(xiàn)有流不受內(nèi)部網(wǎng)絡(luò)更新的影響且保證現(xiàn)有流的持續(xù)穩(wěn)定;
      [0036]3)基于SDN控制器的強(qiáng)大處理能力,獲得現(xiàn)有流的源IP地址集合,使用前綴覆蓋算法對(duì)這些IP地址進(jìn)行聚合以構(gòu)造最小K前綴覆蓋集合,剔除那些不存在數(shù)據(jù)流的IP地址,從而節(jié)約IP前綴在邊界交換機(jī)中的占用空間,防止邊界交換機(jī)流表膨脹,基于這K條前綴將舊配置分割成K條舊配置碎片,從而保證現(xiàn)有流仍然按照舊的配置進(jìn)行處理(例如轉(zhuǎn)發(fā)、丟棄等);同時(shí),由于構(gòu)造的是覆蓋空間最小的K條前綴,因此在現(xiàn)有流之后來(lái)的新流,其源IP地址落入此K條前綴的幾率就小,因此各條舊配置碎片因超時(shí)被刪除的速度將加快,即邊界網(wǎng)絡(luò)更新的速度將加快。如此,能夠在保證流級(jí)別一致性的基礎(chǔ)上,合理地使用邊界交換機(jī)中的有限流表空間以及鏈路帶寬,同時(shí)快速高效地完成流級(jí)別配置一致性更新過(guò)程。
      [0037]本發(fā)明還提供一種解決SDN流級(jí)別配置一致性更新的裝置,以在保證配置更新過(guò)程中流級(jí)別一致性的前提下,快速高效地完成配置更新。方案如下:
      [0038]一種解決SDN流級(jí)別配置一致性更新的裝置,包括網(wǎng)絡(luò)分割模塊、版本控制模塊、網(wǎng)絡(luò)狀態(tài)獲取模塊、內(nèi)部更新模塊以及邊界更新模塊;所述網(wǎng)絡(luò)分割模塊用于獲取SDN的數(shù)據(jù)面的網(wǎng)絡(luò)拓?fù)湫畔⒁詤^(qū)分內(nèi)部網(wǎng)絡(luò)和邊界網(wǎng)絡(luò);所述版本控制模塊針對(duì)不同配置生成不同版本號(hào),以保證每次配置更新時(shí),新、舊配置版本號(hào)的唯一性;所述網(wǎng)絡(luò)狀態(tài)獲取模塊與所述網(wǎng)絡(luò)分割模塊連接,以讀取所述邊界網(wǎng)絡(luò)中邊界交換機(jī)端口,進(jìn)而通知控制器獲取邊界交換機(jī)的流表統(tǒng)計(jì)信息,從而從控制器獲取到所述流表統(tǒng)計(jì)信息;所述內(nèi)部更新模塊分別與所述網(wǎng)絡(luò)分割模塊、所述版本控制模塊連接,用于獲取來(lái)自所述版本控制模塊的版本號(hào),以及從所述網(wǎng)絡(luò)分割模塊獲取內(nèi)部網(wǎng)絡(luò)的內(nèi)部交換機(jī)端口,以對(duì)新配置添加新版本號(hào)并將具有新版本號(hào)的新配置安裝到所述內(nèi)部網(wǎng)絡(luò)中,并進(jìn)行更新?tīng)顟B(tài)確認(rèn);所述邊界更新模塊用于在內(nèi)部更新模塊完成內(nèi)部網(wǎng)絡(luò)的更新后對(duì)邊界網(wǎng)絡(luò)進(jìn)行更新,所述邊界更新模塊包括過(guò)渡規(guī)則模塊、聚合模塊、碎片生成模塊和碎片管理模塊,其中所述過(guò)渡規(guī)則模塊用于根據(jù)所述流表統(tǒng)計(jì)信息計(jì)算邊界交換機(jī)在更新過(guò)程中可以使用的規(guī)則數(shù)目上限;所述聚合模塊通過(guò)查看邊界交換機(jī)中當(dāng)前存在的舊配置碎片數(shù)目,并結(jié)合所述規(guī)則數(shù)目上限計(jì)算邊界交換機(jī)當(dāng)前還可使用的規(guī)則數(shù)目,還用于從所述網(wǎng)絡(luò)狀態(tài)獲取模塊獲取現(xiàn)有流的源IP地址并根據(jù)所述源IP地址的集合,構(gòu)造最小K前綴覆蓋集合;所述碎片生成模塊用于根據(jù)所述最小K前綴覆蓋集合以及舊版本號(hào)構(gòu)造相應(yīng)的K條舊配置碎片,生成配置碎片記錄表,并以高優(yōu)先級(jí)將K條舊配置碎片安裝到邊界交換機(jī);所述碎片管理模塊用于根據(jù)控制器反饋的當(dāng)前邊界交換機(jī)中的舊配置碎片信息來(lái)更新所述配置碎片記錄表。

      【專(zhuān)利附圖】

      【附圖說(shuō)明】
      [0039]圖1-1是用以說(shuō)明配置更新過(guò)程的網(wǎng)絡(luò)拓?fù)涫纠?br> [0040]圖1-2和圖1-3是網(wǎng)絡(luò)配置的具體參數(shù)示例圖;
      [0041]圖2是SDN網(wǎng)絡(luò)模型示意圖;
      [0042]圖3是邊界網(wǎng)絡(luò)的更新流程圖;
      [0043]圖4是配置更新過(guò)程示例的示意圖;
      [0044]圖5-1至圖5-4為構(gòu)建二叉樹(shù)的示例過(guò)程;
      [0045]圖5-5為動(dòng)態(tài)規(guī)劃算法中求解圖5-4的二叉樹(shù)中各節(jié)點(diǎn)的三元組序列的示意圖;
      [0046]圖6為本發(fā)明提供的解決流級(jí)別配置一致性更新的裝置框圖;
      [0047]圖7為圖6中所示裝置的工作原理框圖。

      【具體實(shí)施方式】
      [0048]下面對(duì)照附圖并結(jié)合優(yōu)選的實(shí)施方式對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
      [0049]概念定義和定理:
      [0050]定義1:一個(gè)IP地址前綴P的空間大小IpI是它可以匹配(覆蓋)的ip地址數(shù)目,多個(gè)ip地址前綴構(gòu)成的集合Ps的空間大小|ps|是集合中所有前綴匹配的ip地址的數(shù)目,當(dāng)該集合的所有前綴兩兩之間沒(méi)有重疊的IP地址空間時(shí),集合PS空間大小為集合中各前綴空間大小之和。
      [0051]例如,IP地址前綴59.78.45.*(*表示后8位任意)覆蓋了 256個(gè)IP地址,因此59.78.45.* I = 256 ;又如,IP地址前綴59.78.45.1覆蓋了 I個(gè)IP地址,就是它本身,因此 I 59.78.45.11 = I。
      [0052]定義2:對(duì)于一個(gè)IP地址集合IS,覆蓋集合IS的K條占用空間最小的IP地址前綴的組合,稱(chēng)為最小K前綴覆蓋集合PSK[IS],占用的空間大小稱(chēng)為最小K前綴覆蓋空間。很顯然,最小K前綴覆蓋集合內(nèi)的前綴兩兩之間是沒(méi)有公共IP地址的。
      [0053]例如對(duì)于IP 地址 59.78.45.1,59.78.45.2,59.78.44.1,59.78.45.129,使用 3條前綴覆蓋這 4 個(gè) IP 地址可以是{59.78.45.0/30,59.78.44.1/32,59.78.45.129/32}或者{59.78.45.1/32,59.78.45.2/32,59.78.44.0/22}很顯然最小 3 前綴覆蓋集合是{59.78.45.0/30,59.78.44.1/32,59.78.45.129/32},其中前綴 59.78.45.0/30 覆蓋4個(gè) IP地址,而前綴 59.78.44.1/32 和 59.78.45.129/32 各自覆蓋 I 個(gè) IP 地址(即 59.78.44.1和59.78.45.129),因此最小3前綴覆蓋空間是6。
      [0054]定理1:對(duì)于任意兩個(gè)IP地址前綴P、Q,如果P和Q覆蓋一些相同的IP地址(即二者具有一些重疊的地址空間),那么P、Q 一定是包含關(guān)系,即

      【權(quán)利要求】
      1.一種解決SDN流級(jí)別配置一致性更新的方法,其特征在于,包括: 給SDN網(wǎng)絡(luò)中的配置和數(shù)據(jù)包分配版本號(hào),用以標(biāo)記數(shù)據(jù)包的處理規(guī)則集合,使得數(shù)據(jù)包只能由與該數(shù)據(jù)包具有一致版本號(hào)的配置進(jìn)行處理; 當(dāng)網(wǎng)絡(luò)配置發(fā)生更新時(shí),先進(jìn)行內(nèi)部網(wǎng)絡(luò)的更新:將具有新版本號(hào)的新配置安裝到SDN的內(nèi)部網(wǎng)絡(luò)中,同時(shí)保留具有舊版本號(hào)的舊配置,使得經(jīng)SDN的邊界網(wǎng)絡(luò)后攜帶舊版本號(hào)的數(shù)據(jù)包進(jìn)入內(nèi)部網(wǎng)絡(luò)時(shí),由舊配置處理; 當(dāng)內(nèi)部網(wǎng)絡(luò)更新完成后,進(jìn)行以下步驟: A、以高優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝臨時(shí)配置,所述臨時(shí)配置用于使邊界網(wǎng)絡(luò)的邊界交換機(jī)將配置更新影響到的現(xiàn)有流轉(zhuǎn)發(fā)到控制器,而控制器對(duì)所述現(xiàn)有流按舊配置處理,以使控制器獲取所述現(xiàn)有流的源IP地址以及邊界交換機(jī)的流表統(tǒng)計(jì)信息,而所述現(xiàn)有流仍以舊配置進(jìn)行處理;以低優(yōu)先級(jí)給邊界網(wǎng)絡(luò)安裝新配置; B、查看邊界交換機(jī)中當(dāng)前的舊配置碎片數(shù)目,并計(jì)算目前邊界交換機(jī)中可以使用的規(guī)則數(shù)目K; C、根據(jù)獲取的所述現(xiàn)有流的源IP地址集合,構(gòu)造最小K前綴覆蓋集合,所述最小K前綴覆蓋集合內(nèi)的K條前綴所占的空間最小、且覆蓋所述現(xiàn)有流的源IP地址集合內(nèi)的所有IP地址; D、基于所述最小K前綴覆蓋集合內(nèi)的K條前綴,構(gòu)造相應(yīng)的K條舊配置碎片,并記錄K條所述舊配置碎片; EJf K條所述舊配置碎片安裝到邊界交換機(jī),設(shè)置為高級(jí)優(yōu)先配置,設(shè)置超時(shí)時(shí)間限制T ;所述現(xiàn)有流以舊配置進(jìn)行處理,而在所述現(xiàn)有流之后到的受配置更新影響的新流,若所述新流的源IP地址落入所述K條前綴,則所述新流由所述舊配置碎片處理,若所述新流的源IP地址未落入所述K條前綴,則所述新流由新配置處理; F、刪除超時(shí)的所述舊配置碎片,并通知控制器修改邊界交換機(jī)中的所述舊配置碎片的數(shù)目; G、若邊界交換機(jī)中仍存在未超時(shí)刪除的碎片,返回執(zhí)行所述步驟A?F,直至所有的所述舊配置碎片都因超時(shí)被刪除,至此完成邊界網(wǎng)絡(luò)的更新。
      2.如權(quán)利要求1所述的方法,其特征在于:內(nèi)部網(wǎng)絡(luò)的更新過(guò)程具體包括: 給舊配置分配作為匹配域的舊版本號(hào),并且在邊界網(wǎng)絡(luò)給數(shù)據(jù)包添加舊版本號(hào); 當(dāng)配置更新發(fā)生時(shí),給新配置分配作為匹配域的新版本號(hào); 將新配置安裝到內(nèi)部網(wǎng)絡(luò)并且保留舊配置,使得內(nèi)部網(wǎng)絡(luò)更新過(guò)程中,數(shù)據(jù)包在網(wǎng)絡(luò)中由舊配置處理。
      3.如權(quán)利要求1所述的方法,其特征在于:所述步驟B具體包括: B1、所述流表統(tǒng)計(jì)信息包括邊界交換機(jī)的TCAM的總?cè)萘亢彤?dāng)前使用量,用總?cè)萘繙p去當(dāng)前使用量以獲得空閑空間,根據(jù)所述空閑空間的大小來(lái)限制在配置更新過(guò)程中邊界交換機(jī)可以使用的最大規(guī)則數(shù)目MAXK ; B2、獲取邊界交換機(jī)中當(dāng)前的舊配置碎片數(shù)目n,計(jì)算目前邊界交換機(jī)中可以使用的規(guī)則數(shù)目K = MAXK-n,其中η彡O。
      4.如權(quán)利要求3所述的方法,其特征在于:所述步驟F具體包括: F1、對(duì)于K條舊配置碎片中的某條舊配置碎片,若從上一次出現(xiàn)源IP地址落入該條舊配置碎片的數(shù)據(jù)包開(kāi)始,歷經(jīng)T時(shí)間未再次出現(xiàn)源IP地址落入該條舊配置碎片的數(shù)據(jù)包,則該條舊配置碎片屬于超時(shí),予以刪除; F2、刪除超時(shí)的y條舊配置碎片,通知控制器將邊界交換機(jī)中的舊配置碎片數(shù)目修改為n+K-y,從而在步驟BI中,以η+Κ-y去更新η的值,以獲得新的K值。
      5.如權(quán)利要求1所述的方法,其特征在于:所述步驟C中構(gòu)造最小K前綴覆蓋集合具體包括: Cl、將所述現(xiàn)有流的源IP地址集合內(nèi)的所有N個(gè)IP地址進(jìn)行排序,并計(jì)算每個(gè)IP地址與相鄰的下一個(gè)IP地址之間的最長(zhǎng)公共前綴,得到N-1個(gè)有效公共前綴,以所述N個(gè)IP地址為葉子節(jié)點(diǎn),再結(jié)合N-1個(gè)公共前綴,構(gòu)造總共具有2Ν-1個(gè)節(jié)點(diǎn)的二叉樹(shù); C2、通過(guò)動(dòng)態(tài)規(guī)劃法,在所述步驟Cl中構(gòu)造的二叉樹(shù)的2Ν-1個(gè)節(jié)點(diǎn)中,找到覆蓋空間最小的K個(gè)前綴,構(gòu)成所述最小K前綴覆蓋集合。
      6.如權(quán)利要求5所述的方 法,其特征在于:所述步驟Cl具體包括: C11、將32位的IP地址看成一個(gè)整數(shù),采用歸并法對(duì)N個(gè)IP地址進(jìn)行升序排列; C12、建立一個(gè)雙向鏈表,并用步驟Cll中排序后的N個(gè)IP地址初始化雙向鏈表; C13、對(duì)于每個(gè)IP地址,計(jì)算它和下一個(gè)相鄰IP地址之間的最長(zhǎng)公共前綴,雙向鏈表中每個(gè)節(jié)點(diǎn)具有值、節(jié)點(diǎn)前綴和節(jié)點(diǎn)前綴長(zhǎng)度,設(shè)置節(jié)點(diǎn)前綴為該節(jié)點(diǎn)與下一個(gè)相鄰節(jié)點(diǎn)的最長(zhǎng)公共前綴,節(jié)點(diǎn)前綴長(zhǎng)度為該節(jié)點(diǎn)與下一個(gè)相鄰節(jié)點(diǎn)的最長(zhǎng)公共前綴的長(zhǎng)度; C14、遍歷雙向鏈表,對(duì)于每個(gè)節(jié)點(diǎn),比較該節(jié)點(diǎn)的節(jié)點(diǎn)前綴長(zhǎng)度和下一個(gè)相鄰節(jié)點(diǎn)的節(jié)點(diǎn)前綴長(zhǎng)度,當(dāng)出現(xiàn)節(jié)點(diǎn)前綴長(zhǎng)度非遞增時(shí),將該節(jié)點(diǎn)標(biāo)記長(zhǎng)度非遞增位置,并在所述長(zhǎng)度非遞增位置生成一個(gè)新節(jié)點(diǎn),并將所述新節(jié)點(diǎn)的節(jié)點(diǎn)前綴、節(jié)點(diǎn)前綴長(zhǎng)度分別賦值為被標(biāo)記長(zhǎng)度非遞增位置的相鄰下一個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)前綴、節(jié)點(diǎn)前綴長(zhǎng)度; C15、所述新節(jié)點(diǎn)替代被標(biāo)記長(zhǎng)度非遞增位置的節(jié)點(diǎn)及其相鄰下一個(gè)節(jié)點(diǎn)以進(jìn)行聚合,并且被標(biāo)記長(zhǎng)度非遞增位置的節(jié)點(diǎn)及其相鄰下一個(gè)節(jié)點(diǎn)分別為所述新節(jié)點(diǎn)的左右子節(jié)點(diǎn);再回退一步繼續(xù)進(jìn)行遍歷; C16、重復(fù)步驟C14及C15,聚合至雙向鏈表中只剩一個(gè)節(jié)點(diǎn),所剩的節(jié)點(diǎn)即為所述二叉樹(shù)的根節(jié)點(diǎn)。
      7.如權(quán)利要求6所述的方法,其特征在于:所述步驟C2具體包括: C21、對(duì)于所述二叉樹(shù)中的每個(gè)節(jié)點(diǎn),定義一個(gè)三元組序列{〈s,ls,rs>,...}用以標(biāo)記該節(jié)點(diǎn)的前綴分配方案,序列中的每個(gè)三元組〈s,ls,rs>表示一種前綴分配方案,其中s為該種分配方案下所占的空間,Is表示給左子樹(shù)分配的前綴數(shù)目,rs表示給右子樹(shù)分配的前綴數(shù)目; C22、對(duì)所述二叉樹(shù)中的葉子節(jié)點(diǎn)進(jìn)行初始化,每個(gè)葉子節(jié)點(diǎn)的三元組序列只含有一個(gè)三元組均為〈1,0,0> ; C23、對(duì)所述二叉樹(shù)中的非葉子節(jié)點(diǎn)進(jìn)行自底向上的遍歷,對(duì)于每個(gè)非葉子節(jié)點(diǎn),通過(guò)以下公式計(jì)算三元組序列:
      其中,S[i]表示當(dāng)前非葉子節(jié)點(diǎn)的三元組序列中的第i個(gè)三元組,其中L.S[j].s表示當(dāng)前非葉子節(jié)點(diǎn)的左子節(jié)點(diǎn)的三元組序列中的第j個(gè)三元組的空間大小,R.S[m].s表示當(dāng)前非葉子節(jié)點(diǎn)的右子節(jié)點(diǎn)的三元組序列中的第m個(gè)三元組的空間大小,min(L.S[j].s+R.S[m], s)表示分別在左子節(jié)點(diǎn)取第j個(gè)三元組,在右子節(jié)點(diǎn)取第m個(gè)三元組,使得這兩個(gè)三元組具有最小空間和,所述最小空間和min(L.S[j], s+R.S[m], s)即為三元組S[i]的空間大小,且當(dāng)前非葉子節(jié)點(diǎn)為左子節(jié)點(diǎn)分配j個(gè)前綴,為右子節(jié)點(diǎn)分配m個(gè)前綴;length表示當(dāng)前非葉子節(jié)點(diǎn)作為一個(gè)IP地址前綴本身的長(zhǎng)度; C24、通過(guò)步驟C23求出各非葉子節(jié)點(diǎn)的三元組序列所包含的三元組后,從所述二叉樹(shù)的根節(jié)點(diǎn)進(jìn)行自上而下的遍歷,先訪問(wèn)根節(jié)點(diǎn)的第K個(gè)三元組〈s, ls,rs> ; C25、在訪問(wèn)某一節(jié)點(diǎn)時(shí),若該節(jié)點(diǎn)的三元組中Is和rs為O,則不再繼續(xù)訪問(wèn)該節(jié)點(diǎn)的左右子樹(shù),該節(jié)點(diǎn)屬于最小K前綴覆蓋集合中的前綴,若該節(jié)點(diǎn)的三元組中Is和rs不為O,則訪問(wèn)該節(jié)點(diǎn)的左子樹(shù)中第Is個(gè)三元組以及右子樹(shù)中第rs個(gè)三元組以繼續(xù)尋找出屬于最小K前綴覆蓋集合的其他前綴,最終找出K個(gè)覆蓋空間最小的前綴,構(gòu)成所述最小K前綴覆蘭隹Aγτπ.^κ 口 ο
      8.一種解決SDN流級(jí)別配置一致性更新的裝置,其特征在于:包括網(wǎng)絡(luò)分割模塊、版本控制模塊、網(wǎng)絡(luò)狀態(tài)獲取模塊、內(nèi)部更新模塊以及邊界更新模塊; 所述網(wǎng)絡(luò)分割模塊用于獲取SDN的數(shù)據(jù)面的網(wǎng)絡(luò)拓?fù)湫畔⒁詤^(qū)分內(nèi)部網(wǎng)絡(luò)和邊界網(wǎng)絡(luò); 所述版本控制模塊針對(duì)不同配置生成不同版本號(hào),以保證每次配置更新時(shí),新、舊配置版本號(hào)的唯一'I"生; 所述網(wǎng)絡(luò)狀態(tài)獲取模塊與所述網(wǎng)絡(luò)分割模塊連接,以讀取所述邊界網(wǎng)絡(luò)中邊界交換機(jī)端口,進(jìn)而通知控制器獲取邊界交換機(jī)的流表統(tǒng)計(jì)信息,從而從控制器獲取到所述流表統(tǒng)計(jì)信息; 所述內(nèi)部更新模塊分別與所述網(wǎng)絡(luò)分割模塊、所述版本控制模塊連接,用于獲取來(lái)自所述版本控制模塊的版本號(hào),以及從所述網(wǎng)絡(luò)分割模塊獲取內(nèi)部網(wǎng)絡(luò)的內(nèi)部交換機(jī)端口,以對(duì)新配置添加新版本號(hào)并將具有新版本號(hào)的新配置安裝到所述內(nèi)部網(wǎng)絡(luò)中,并進(jìn)行更新?tīng)顟B(tài)確認(rèn); 所述邊界更新模塊用于在內(nèi)部更新模塊完成內(nèi)部網(wǎng)絡(luò)的更新后對(duì)邊界網(wǎng)絡(luò)進(jìn)行更新,所述邊界更新模塊包括過(guò)渡規(guī)則模塊、聚合模塊、碎片生成模塊和碎片管理模塊,其中所述過(guò)渡規(guī)則模塊用于根據(jù)所述流表統(tǒng)計(jì)信息計(jì)算邊界交換機(jī)在更新過(guò)程中可以使用的規(guī)則數(shù)目上限;所述聚合模塊通過(guò)查看邊界交換機(jī)中當(dāng)前存在的舊配置碎片數(shù)目,并結(jié)合所述規(guī)則數(shù)目上限計(jì)算邊界交換機(jī)當(dāng)前還可使用的規(guī)則數(shù)目,還用于從所述網(wǎng)絡(luò)狀態(tài)獲取模塊獲取現(xiàn)有流的源IP地址并根據(jù)所述源IP地址的集合,構(gòu)造最小K前綴覆蓋集合;所述碎片生成模塊用于根據(jù)所述最小K前綴覆蓋集合以及舊版本號(hào)構(gòu)造相應(yīng)的K條舊配置碎片,生成配置碎片記錄表,并以高優(yōu)先級(jí)將K條舊配置碎片安裝到邊界交換機(jī);所述碎片管理模塊用于根據(jù)控制器反饋的當(dāng)前邊界交換機(jī)中的舊配置碎片信息來(lái)更新所述配置碎片記錄表。
      9.如權(quán)利要求8所述的裝置,其特征在于:所述聚合模塊包括二叉樹(shù)構(gòu)建模塊和動(dòng)態(tài)規(guī)劃模塊,所述二叉樹(shù)構(gòu)建模塊用于構(gòu)建節(jié)點(diǎn)個(gè)數(shù)為2N-1的二叉樹(shù),所述二叉樹(shù)的N個(gè)葉子節(jié)點(diǎn)來(lái)源于更新過(guò)程中影響到的現(xiàn)有流的N個(gè)IP地址,N-1個(gè)非葉子節(jié)點(diǎn)為N-1個(gè)公共前綴,所述公共前綴為各IP地址與相鄰下一個(gè)IP地址的最長(zhǎng)公共前綴;所述動(dòng)態(tài)規(guī)劃模塊用于在所述二叉樹(shù)中尋找到覆蓋空間最小的K個(gè)前綴,以形成所述最小K前綴覆蓋集合。
      10.如權(quán)利要求8所述的裝置,其特征在于:所述流表統(tǒng)計(jì)信息包括邊界交換機(jī)的總?cè)萘亢彤?dāng)前使用量,所述過(guò)渡規(guī)則模塊與所述網(wǎng)絡(luò)狀態(tài)獲取模塊連接,用于根據(jù)所述流表統(tǒng)計(jì)信息,獲得當(dāng)前邊界交換機(jī)中的空閑空間,并根據(jù)所述空閑空間的大小來(lái)限制在配置更新過(guò)程中邊界交換機(jī)可以使用的最大規(guī)則數(shù)目MAXK,再根據(jù)當(dāng)前邊界交換機(jī)中存在的舊配置碎片n,獲得當(dāng)前邊界交換機(jī)中還可以使用的規(guī)則數(shù)目K = MAXK-n,其中η彡O。
      【文檔編號(hào)】H04L29/12GK104202183SQ201410416521
      【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
      【發(fā)明者】李清, 江勇, 趙坤 申請(qǐng)人:清華大學(xué)深圳研究生院
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1