本發(fā)明涉及通信領(lǐng)域,具體涉及一種處理流表的方法及裝置。
背景技術(shù):
SDN(software-defined networking,軟件定義網(wǎng)絡(luò))是一種控制與轉(zhuǎn)發(fā)相分離的網(wǎng)絡(luò)架構(gòu)。在SDN架構(gòu)中,網(wǎng)絡(luò)設(shè)備的控制功能會被抽象到一臺控制器上,并由該控制器向各個網(wǎng)絡(luò)設(shè)備下發(fā)流表項(xiàng)。網(wǎng)絡(luò)設(shè)備接收并保存控制器下發(fā)的流表項(xiàng),并依據(jù)此流表項(xiàng)對數(shù)據(jù)流進(jìn)行操作,例如數(shù)據(jù)流的轉(zhuǎn)發(fā)、丟棄、修改等操作。
SDN基于流的控制使得交換機(jī)流表消耗極快,而SDN交換機(jī)的硬件流表一般由TCAM(Ternary Content-Addressable Memory,三重內(nèi)容尋址內(nèi)存)實(shí)現(xiàn),但是TCAM容量有限,因此攻擊者可通過偽造大量數(shù)據(jù)流以使得控制器向交換機(jī)流表中添加大量流表項(xiàng),甚至充滿交換機(jī)流表,當(dāng)該交換機(jī)流表無法再繼續(xù)添加流表項(xiàng)時,交換機(jī)需要刪除已有的流表項(xiàng),以添加新的流表項(xiàng)。
從上可知,當(dāng)交換機(jī)受到攻擊時,交換機(jī)會在短時間內(nèi)接收到大量的攻擊數(shù)據(jù)流,而這些攻擊數(shù)據(jù)流未能匹配到交換機(jī)中存儲的流表項(xiàng),那么交換機(jī)就需要向控制器發(fā)送Packet_in數(shù)據(jù)包以便獲取與攻擊數(shù)據(jù)流匹配的流表項(xiàng),但是由于交換機(jī)流表容量有限,從而正常數(shù)據(jù)流的流表項(xiàng)將被攻擊數(shù)據(jù)流的流表項(xiàng)替換出交換機(jī),導(dǎo)致正常的數(shù)據(jù)流無法命中,造成處理正常的數(shù)據(jù)流的時延增加。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種處理流表的方法及裝置,該方法使得交換機(jī)能夠快速處理數(shù)據(jù)流,縮短正常數(shù)據(jù)流處理的時延。
本發(fā)明實(shí)施例的第一方面公開了一種處理流表的方法,所述方法應(yīng)用于 軟件定義網(wǎng)絡(luò)SDN中,所述SDN包括控制器和交換機(jī),所述方法包括:
所述交換機(jī)監(jiān)測所述交換機(jī)的流表的負(fù)載;
當(dāng)所述交換機(jī)的流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,其中,所述目標(biāo)數(shù)據(jù)流是指匹配所述交換機(jī)流表失敗的數(shù)據(jù)流,所述擴(kuò)散流表是所述控制器下發(fā)的;
當(dāng)確定的所述擴(kuò)散對象為與所述交換機(jī)的相鄰交換機(jī)時,所述交換機(jī)向所述相鄰交換機(jī)轉(zhuǎn)發(fā)所述目標(biāo)數(shù)據(jù)流。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述匹配規(guī)則包括所述交換機(jī)的端口號和所述擴(kuò)散對象的對應(yīng)關(guān)系;
在所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之前,所述方法還包括:
所述交換機(jī)確定入端口的端口號,其中,所述入端口是指所述交換機(jī)接收到所述目標(biāo)數(shù)據(jù)流的端口;
所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,包括:
所述交換機(jī)根據(jù)所述入端口的端口號和所述匹配規(guī)則確定所述目標(biāo)數(shù)據(jù)流的擴(kuò)散對象。
結(jié)合第一方面,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述匹配規(guī)則包括數(shù)字區(qū)間與所述擴(kuò)散對象的對應(yīng)關(guān)系,其中,一個數(shù)字區(qū)間對應(yīng)一個擴(kuò)散對象,并且所述匹配規(guī)則中有至少兩個數(shù)字區(qū)間;
所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之前,所述方法還包括:
所述交換機(jī)對所述目標(biāo)數(shù)據(jù)流的包頭域進(jìn)行哈希計(jì)算,獲得數(shù)值;
所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象具體包括:
所述交換機(jī)確定所述數(shù)值所在的數(shù)字區(qū)間;
所述交換機(jī)根據(jù)所述數(shù)字區(qū)間和所述匹配規(guī)則確定所述擴(kuò)散對象。
結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之后,所述方法還包括:
當(dāng)確定所述擴(kuò)散對象為所述控制器時,所述交換機(jī)向所述控制器請求與所述目標(biāo)數(shù)據(jù)流匹配的流表項(xiàng)。
在本發(fā)明的第二方面,公開了另一種處理流表的方法,所述方法應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,所述SDN包括控制器和多個交換機(jī),所述方法包括:
所述控制器根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與所述第一交換機(jī)直接連接的第二交換機(jī),其中,所述第一交換機(jī)是所述多個交換機(jī)中的任意一個交換機(jī),所述第二交換機(jī)是所述多個交換機(jī)中除第一交換機(jī)外的其他交換機(jī),所述第二交換機(jī)的數(shù)量為至少一個;
所述控制器獲取所述第二交換機(jī)的流表的負(fù)載;
所述控制器根據(jù)所述第二交換機(jī)的流表的負(fù)載確定所述第一交換機(jī)的擴(kuò)散流表;
所述控制器向所述第一交換機(jī)發(fā)送所述擴(kuò)散流表。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器根據(jù)所述交換機(jī)的連接關(guān)系以及所述交換機(jī)的流表的負(fù)載確定所述交換機(jī)中每個交換機(jī)的擴(kuò)散流表,具體包括:
所述控制器根據(jù)所述第一交換機(jī)與所述第二交換機(jī)的連接關(guān)系確定所述第一交換機(jī)的轉(zhuǎn)發(fā)路徑,其中,所述轉(zhuǎn)發(fā)路徑是指所述第一交換機(jī)與所述第二交換機(jī)之間的路徑;
所述控制器根據(jù)每條轉(zhuǎn)發(fā)路徑中第二交換機(jī)的流表的負(fù)載確定所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率;
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定所述第一交換機(jī)的擴(kuò)散流表。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式中,在第二方面的第二種可能的 實(shí)現(xiàn)方式中,所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定所述第一交換機(jī)的擴(kuò)散流表,包括:
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的所述第一交換機(jī)的出端口的數(shù)量,所述第一交換機(jī)的出端口用于轉(zhuǎn)發(fā)數(shù)據(jù)流;
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑以及所述每條轉(zhuǎn)發(fā)路徑所對應(yīng)的所述第一交換機(jī)的出端口的數(shù)量確定所述第一交換機(jī)的擴(kuò)散流表。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式中,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定所述第一交換機(jī)的擴(kuò)散流表,包括:
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間;
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑以及所述每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間確定所述第一交換機(jī)的擴(kuò)散流表。
本發(fā)明的第三方面,公開了另一種處理流表的方法,所述方法應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,所述方法包括:
交換機(jī)監(jiān)測所述交換機(jī)流表的狀態(tài),所述交換機(jī)流表的狀態(tài)用于指示所述流表的負(fù)載;
當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)目標(biāo)數(shù)據(jù)流,其中,所述目標(biāo)數(shù)據(jù)流是指匹配所述交換機(jī)流表失敗的數(shù)據(jù)流。
結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)擴(kuò)散目標(biāo)數(shù)據(jù)流之前,所述方法還包括:
所述交換機(jī)按照下列公式計(jì)算所述擴(kuò)散概率;
其中,PS是指擴(kuò)散概率,Pmax是指預(yù)設(shè)最大擴(kuò)散概率,Pmin是指預(yù)設(shè)最小概率,avg是所述流表使用率,maxthresh是指第一閾值,minthresh是指第二閾值,其中所述第一閾值大于所述第二閾值。
結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,當(dāng)所述交換機(jī)流表的使用率大于第一閾值時,所述方法還包括:
所述交換機(jī)按照所述預(yù)設(shè)最大擴(kuò)散概率向所述相鄰交換機(jī)轉(zhuǎn)發(fā)所述目標(biāo)數(shù)據(jù)流。
本發(fā)明的第四方面,公開了另一種處理流表的方法,所述方法應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,所述SDN包括控制器和多個交換機(jī),所述方法包括:
所述控制器獲取所述多個交換機(jī)的流表的負(fù)載;
所述控制器根據(jù)網(wǎng)絡(luò)拓?fù)浯_定所述多個交換機(jī)的連接關(guān)系;
所述控制器根據(jù)所述多個交換機(jī)的連接關(guān)系以及所述多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,所述轉(zhuǎn)發(fā)路徑為兩個直接連接的交換機(jī)之間的路徑;
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的權(quán)重確定所述SDN中數(shù)據(jù)流的傳輸路徑以使得所述SDN處于負(fù)載均衡狀態(tài)。
結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器根據(jù)所述多個交換機(jī)的連接關(guān)系以及所述多個交換機(jī)中每個交換機(jī)的流表使用率確定每條轉(zhuǎn)發(fā)路徑的權(quán)重,包括:
所述控制器根據(jù)所述多個交換機(jī)的連接關(guān)系確定每條轉(zhuǎn)發(fā)路徑;
所述控制器確定所述每條轉(zhuǎn)發(fā)路徑中包含的交換機(jī);
所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表的負(fù)載確定所述每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,所述目標(biāo)交換機(jī)是指接收到數(shù)據(jù)流的交換機(jī)。
結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表使用率確定所述每條轉(zhuǎn)發(fā)路徑的權(quán)重,具體包括:
所述控制器根據(jù)以下計(jì)算公式進(jìn)行計(jì)算所述每條轉(zhuǎn)發(fā)路徑的權(quán)重:
其中,所述TH是預(yù)設(shè)的流表使用率閾值,Max是預(yù)設(shè)的常數(shù),f(ij)表示交換機(jī)i到交換機(jī)j的權(quán)重,t表示交換機(jī)j的流表使用率,所述交換機(jī)i屬于所述多個交換機(jī),所述交換機(jī)j屬于所述多個交換機(jī)。
本發(fā)明的第五方面,公開了一種交換機(jī),所述交換機(jī)應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,其特征在于,所述交換機(jī)包括獲取單元,第一確定單元和擴(kuò)撒單元;
所述監(jiān)測單元,用于監(jiān)測所述交換機(jī)的流表的負(fù)載;
所述第一確定單元,用于當(dāng)所述交換機(jī)的流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,其中,所述目標(biāo)數(shù)據(jù)流是指匹配所述交換機(jī)流表失敗的數(shù)據(jù)流,所述擴(kuò)散流表是所述控制器下發(fā)的;
所述擴(kuò)散單元,用于當(dāng)確定的所述擴(kuò)散對象為與所述交換機(jī)的相鄰交換機(jī)時,所述交換機(jī)向所述相鄰交換機(jī)轉(zhuǎn)發(fā)所述目標(biāo)數(shù)據(jù)流。
結(jié)合第五方面,在第五方面的第一種可能的實(shí)現(xiàn)方式中,所述匹配規(guī)則包括所述交換機(jī)的端口號和所述擴(kuò)散對象的對應(yīng)關(guān)系;所述交換機(jī)還包括第二確定單元;
所述第二確定單元,用于確定入端口的端口號,其中,所述入端口是指所述交換機(jī)接收到所述目標(biāo)數(shù)據(jù)流的端口;
所述第一確定單元,用于根據(jù)所述入端口的端口號和所述匹配規(guī)則確定所述目標(biāo)數(shù)據(jù)流的擴(kuò)散對象。
結(jié)合第五方面,在第五方面的第二種可能的實(shí)現(xiàn)方式中,
所述匹配規(guī)則包括數(shù)字區(qū)間與所述擴(kuò)散對象的對應(yīng)關(guān)系,其中,一個數(shù)字區(qū)間對應(yīng)一個擴(kuò)散對象,并且所述匹配規(guī)則中有至少兩個數(shù)字區(qū)間;所述交換機(jī)還包括哈希單元;
所述哈希單元,用于對目標(biāo)數(shù)據(jù)流的包頭域進(jìn)行哈希計(jì)算,獲得數(shù)值;
所述第一確定單元,具體用于確定所述數(shù)值所在的數(shù)字區(qū)間,并根據(jù)所述數(shù)字區(qū)間和所述匹配規(guī)則確定所述擴(kuò)散對象。
結(jié)合第五方面或第五方面的第一種可能的實(shí)現(xiàn)方式或第五方面的第二種可能的實(shí)現(xiàn)方式,在第五方面的第三種可能的實(shí)現(xiàn)方式中,
所述第一確定單元,還用于當(dāng)確定所述擴(kuò)散對象為所述控制器時,向所述控制器請求與所述目標(biāo)數(shù)據(jù)流匹配的流表項(xiàng)。
本發(fā)明的第六方面公開了一種控制器,所述控制器應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,所述SDN包括所述控制器和多個交換機(jī),其特征在于,所述控制器包括確定單元、獲取單元以及發(fā)送單元;
所述確定單元,用于根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與第一交換機(jī)直接連接的第二交換機(jī),其中,所述第一交換機(jī)是所述多個交換機(jī)中的任意一個交換機(jī),所述第二交換機(jī)是所述多個交換機(jī)中除第一交換機(jī)外的其他交換機(jī),所述第二交換機(jī)的數(shù)量為至少一個;
所述獲取單元,用于獲取所述第二交換機(jī)的流表的負(fù)載;
所述確定單元,還用于根據(jù)所述第二交換機(jī)的流表的負(fù)載確定所述第一交換機(jī)的擴(kuò)散流表;
所述發(fā)送單元,用于向所述第一交換機(jī)發(fā)送所述擴(kuò)散流表。
結(jié)合第六方面,在第六方面的第一種可能的實(shí)現(xiàn)方式中,
所述確定單元具體包括第一確定子單元、第二確定子單元以及第三確定子單元;
所述第一確定子單元,用于根據(jù)所述第一交換機(jī)與所述第二交換機(jī)的連 接關(guān)系確定所述第一交換機(jī)的轉(zhuǎn)發(fā)路徑,其中,所述轉(zhuǎn)發(fā)路徑是指所述第一交換機(jī)與所述第二交換機(jī)之間的路徑;
所述第二確定子單元,用于根據(jù)每條轉(zhuǎn)發(fā)路徑中第二交換機(jī)的流表的負(fù)載確定所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率;
所述第三確定子單元,用于根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定所述第一交換機(jī)的擴(kuò)散流表。
結(jié)合第六方面的第一種可能的實(shí)現(xiàn)方式,在第六方面的第二種可能的實(shí)現(xiàn)方式中,
所述第三確定子單元,具體用于據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的所述第一交換機(jī)的出端口的數(shù)量,所述第一交換機(jī)的出端口用于轉(zhuǎn)發(fā)數(shù)據(jù)流;
所述第三確定子單元,還用于根據(jù)所述每條轉(zhuǎn)發(fā)路徑以及所述每條轉(zhuǎn)發(fā)路徑所對應(yīng)的所述第一交換機(jī)的出端口的數(shù)量確定所述第一交換機(jī)的擴(kuò)散流表。
結(jié)合第六方面的第一種可能的實(shí)現(xiàn)方式,在第六方面的第三種可能的實(shí)現(xiàn)方式中,
所述第三確定子單元,具體用于根據(jù)所述每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間;
所述第三確定子單元,還用于根據(jù)所述每條轉(zhuǎn)發(fā)路徑以及所述每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間確定所述第一交換機(jī)的擴(kuò)散流表。
本發(fā)明的第七方面,公開了另一種交換機(jī),
所述交換機(jī)應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,其特征在于,所述交換機(jī)包括監(jiān)測單元以及擴(kuò)散單元;
所述監(jiān)測單元,用于監(jiān)測所述交換機(jī)的流表的負(fù)載;
所述擴(kuò)散單元,用于當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,所述交 換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)目標(biāo)數(shù)據(jù)流,其中,所述目標(biāo)數(shù)據(jù)流是指匹配所述交換機(jī)流表失敗的數(shù)據(jù)流。
結(jié)合第七方面,在第七方面的第一種可能的實(shí)現(xiàn)方式中,所述交換機(jī)還包括計(jì)算單元,
所述計(jì)算單元,具體用于按照下列公式計(jì)算所述擴(kuò)散概率;
其中,PS是指擴(kuò)散概率,Pmax是指預(yù)設(shè)最大擴(kuò)散概率,Pmin是指預(yù)設(shè)最小概率,avg是所述流表使用率,maxthresh是指第一閾值,minthresh是指第二閾值,其中所述第一閾值大于所述第二閾值;
所述擴(kuò)散單元,用于當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)根據(jù)所述計(jì)算單元計(jì)算的擴(kuò)散概率向相鄰交換機(jī)擴(kuò)散目標(biāo)數(shù)據(jù)流。
結(jié)合第七方面或第七方面的第一種可能的實(shí)現(xiàn)方式,在第七方面的第二種可能的實(shí)現(xiàn)方式中,
所述擴(kuò)散單元,還用于當(dāng)所述交換機(jī)流表的使用率大于第一閾值時,所述交換機(jī)按照所述預(yù)設(shè)最大擴(kuò)散概率向所述相鄰交換機(jī)轉(zhuǎn)發(fā)所述目標(biāo)數(shù)據(jù)流。
本發(fā)明第八方面,公開了另一種控制器,所述控制器應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中,所述SDN包括所述控制器和多個交換機(jī),其特征在于,所述控制器包括獲取單元和確定單元;
所述獲取單元,用于獲取所述多個交換機(jī)流表的負(fù)載;
所述確定單元,用于根據(jù)網(wǎng)絡(luò)拓?fù)浯_定所述多個交換機(jī)的連接關(guān)系;
所述確定單元,還用于根據(jù)所述多個交換機(jī)的連接關(guān)系以及所述多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每個轉(zhuǎn)發(fā)路徑的權(quán)重,其中,所述轉(zhuǎn)發(fā)路徑為兩個直接連接的交換機(jī)之間的路徑;
所述確定單元,還用于根據(jù)所述每條轉(zhuǎn)發(fā)路徑的權(quán)重確定所述SDN中數(shù)據(jù)流的傳輸路徑以使得所述SDN處于負(fù)載均衡狀態(tài)。
結(jié)合第八方面,在第八方面的第一種可能的實(shí)現(xiàn)方式中,所述確定單元包括第一確定子單元、第二確定子單元以及第三確定子單元,具體包括:
所述第一確定子單元,用于所述控制器根據(jù)所述多個交換機(jī)的連接關(guān)系確定每條轉(zhuǎn)發(fā)路徑;
所述第二確定子單元,用于確定所述每條轉(zhuǎn)發(fā)路徑中包含的交換機(jī);
所述第三確定子單元,用于根據(jù)所述每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表的負(fù)載確定所述每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,所述目標(biāo)交換機(jī)是指接收到數(shù)據(jù)流的交換機(jī)。
結(jié)合第八方面的第一種可能的實(shí)現(xiàn)方式,在第八方面的第二種可能的實(shí)現(xiàn)方式中,
所述第三確定子單元,用于根據(jù)以下計(jì)算公式進(jìn)行計(jì)算所述每條轉(zhuǎn)發(fā)路徑的權(quán)重:
其中,用流表使用率表示流表的負(fù)載,所述TH是預(yù)設(shè)的流表使用率閾值,Max是預(yù)設(shè)的常數(shù),f(ij)表示交換機(jī)i到交換機(jī)j的權(quán)重,t表示交換機(jī)j的流表使用率,所述交換機(jī)i屬于所述多個交換機(jī),所述交換機(jī)j屬于所述多個交換機(jī)。
從上可知,結(jié)合第一方面和第五方面提供的處理數(shù)據(jù)流的方法和交換機(jī),當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象;當(dāng)確定的所述擴(kuò)散對象為與所述交換機(jī)相鄰的交換機(jī)時,所述交換機(jī)向所述相鄰的交換機(jī)轉(zhuǎn)發(fā)所述目標(biāo)數(shù)據(jù)流。當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)可能遭到攻擊,將匹配流表項(xiàng)失敗的數(shù)據(jù)流按照擴(kuò)散概率轉(zhuǎn)發(fā)到相鄰的交換機(jī)由相鄰交換機(jī)進(jìn)行處理,從而降低該交換機(jī)更新流表項(xiàng)的頻率,提高正常數(shù)據(jù)流的命中率,降低轉(zhuǎn)發(fā)正常數(shù)據(jù)流的時延。
從上可知,結(jié)合第二方面和第六方面提供的處理數(shù)據(jù)流的方法和控制器,所述控制器確定第一交換機(jī),并根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與所述第一交換機(jī)直接連接的第二交換機(jī);所述控制器獲取所述第二交換機(jī)的流表的負(fù)載;所述控制器根據(jù)所述第二交換機(jī)的流表的負(fù)載確定所述第一交換機(jī)的擴(kuò)散流表;所述控制器向所述第一交換機(jī)發(fā)送所述擴(kuò)散流表,以使得交換機(jī)能夠根據(jù)擴(kuò)散流表將匹配流表項(xiàng)失敗的數(shù)據(jù)流擴(kuò)散到相鄰交換機(jī)中有相鄰交換機(jī)進(jìn)行處理,從而減輕該第一交換機(jī)的負(fù)載。
從上可知,結(jié)合第三方面和第七方面提供的處理數(shù)據(jù)流的方法和交換機(jī),交換機(jī)監(jiān)測所述交換機(jī)流表的狀態(tài);當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,所述交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)匹配所述交換機(jī)流表失敗的數(shù)據(jù)流,當(dāng)所述交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)可能遭到攻擊,將匹配所述交換機(jī)流表失敗的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī),可以減輕該交換機(jī)的負(fù)載,降低該交換機(jī)替換流表項(xiàng)的頻率,提升正常數(shù)據(jù)流的命中率,減少遲延。
從上可知,結(jié)合第四方面和第八方面提供的處理數(shù)據(jù)流的方法和控制器,所述控制器根據(jù)所述多個交換機(jī)的連接關(guān)系以及所述多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每個轉(zhuǎn)發(fā)路徑的權(quán)重,所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的權(quán)重確定所述SDN中數(shù)據(jù)流的傳輸路徑,從而使得網(wǎng)絡(luò)拓?fù)渲薪粨Q機(jī)達(dá)到負(fù)載均衡的狀態(tài),提升交換機(jī)處理數(shù)據(jù)流的效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖2為本發(fā)明另一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖3為本發(fā)明另一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖4為本發(fā)明另一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖5為本發(fā)明另一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖6a為本發(fā)明另一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖6b為本發(fā)明另一實(shí)施例提供的一種處理數(shù)據(jù)流的方法;
圖7為本發(fā)明一實(shí)施例提供的一種交換機(jī);
圖8為本發(fā)明一實(shí)施例提供的一種服務(wù)器;
圖9為本發(fā)明另一實(shí)施例提供的一種交換機(jī);
圖10為本發(fā)明另一實(shí)施例提供的一種服務(wù)器;
圖11為本發(fā)明另一實(shí)施例提供的一種交換機(jī);
圖12為本發(fā)明另一實(shí)施例提供的一種服務(wù)器;
圖13為本發(fā)明另一實(shí)施例提供的一種交換機(jī);
圖14為本發(fā)明另一實(shí)施例提供的一種服務(wù)器。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
SDN(Software-Defined Network,軟件定義網(wǎng)絡(luò))是一種控制與轉(zhuǎn)發(fā)相分離的網(wǎng)絡(luò)架構(gòu)。在該SDN架構(gòu)中,網(wǎng)絡(luò)設(shè)備的控制功能會被抽象到一臺控制器上,并由該控制器向各個網(wǎng)絡(luò)設(shè)備下發(fā)流表項(xiàng)。網(wǎng)絡(luò)設(shè)備接收并保存控制器下發(fā)的流表項(xiàng),并依據(jù)此流表項(xiàng)對數(shù)據(jù)流進(jìn)行的操作,如數(shù)據(jù)流的轉(zhuǎn)發(fā)、丟棄、修改等操作。
SDN基于數(shù)據(jù)流的控制使得交換機(jī)流表消耗極快,而SDN交換機(jī)的硬件流表一般由TCAM(Ternary Content-Addressable Memory,三重內(nèi)容尋址內(nèi)存)實(shí)現(xiàn),但是該TCAM容量有限。因此攻擊者可通過偽造大量數(shù)據(jù)流以使得控制器向交換機(jī)流表中添加大量流表項(xiàng),甚至充滿交換機(jī)流表,由于該交換機(jī)流表容量有限,該交換機(jī)流表無法再繼續(xù)添加流表項(xiàng)時,該交換機(jī)需要刪除 已有的流表項(xiàng)后,再添加新的流表項(xiàng)。
但是,由于正常數(shù)據(jù)流的流表項(xiàng)將被攻擊流的流表項(xiàng)替換出交換機(jī),導(dǎo)致正常的數(shù)據(jù)流無法命中,造成處理正常的數(shù)據(jù)流的時延增加。
針對上述問題,如圖1所示,本發(fā)明實(shí)施例提出一種處理流表的方法,該方法具體如下:
101、交換機(jī)機(jī)監(jiān)測該交換機(jī)的流表的負(fù)載;
其中,交換機(jī)流表中流表項(xiàng)數(shù)量的多少可以指示該流表的負(fù)載;
其中,交換機(jī)流表的負(fù)載也可以通過流表的使用率來反映,流表的使用率是指流表項(xiàng)占用的容量與該流表的總?cè)萘康谋戎担?/p>
其中,監(jiān)測交換機(jī)流表的負(fù)載可以理解為監(jiān)測交換機(jī)流表的使用率。
其中,交換機(jī)流表包括多個流表項(xiàng),每個流表項(xiàng)都有三部分組成。流表項(xiàng)的三部分包括包頭域、計(jì)數(shù)器以及動作。
包頭域用于對交換機(jī)接收到的數(shù)據(jù)包的包頭內(nèi)容進(jìn)行匹配。包頭域包括但不限于以下字段:源MAC(Media Access Control,媒體接入控制)地址、目的MAC地址、以太網(wǎng)類型、vlan id(virtual local area network identification,虛擬局域網(wǎng)標(biāo)識)、IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)類型、源IP地址、目的IP地址、源TCP(Transmission Control Protocol,傳輸控制協(xié)議)端口號、目的TCP端口號、源UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口號、目的UDP端口號等。其中,包頭域也叫做匹配域。
計(jì)數(shù)器用于統(tǒng)計(jì)匹配的數(shù)據(jù)包的個數(shù)。
動作用于指示交換機(jī)在收到匹配的數(shù)據(jù)包后應(yīng)該如何對其進(jìn)行處理,例如轉(zhuǎn)發(fā)或者丟棄處理方式。
102、當(dāng)該交換機(jī)的流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,其中,該目標(biāo)數(shù)據(jù)流是指匹配該交換機(jī)流表失敗的數(shù)據(jù)流,該擴(kuò)散流表是該控制器下發(fā)的;
其中,該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值包括流表的流表項(xiàng)數(shù)量達(dá)到預(yù)設(shè)數(shù)量;例如,該流表一共可容納1000條流表項(xiàng),將預(yù)設(shè)數(shù)量設(shè)置為800條, 那么當(dāng)該流表中的流表項(xiàng)大于或等于800條時,該流表的負(fù)載便達(dá)到預(yù)設(shè)閾值。
其中,該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值還包括流表的使用率達(dá)到預(yù)設(shè)閾值,例如,假設(shè)預(yù)設(shè)閾值為70%,那么當(dāng)流表的使用率大于或等于70%時,流表的負(fù)載狀態(tài)便達(dá)到預(yù)設(shè)閾值。
103、當(dāng)確定的該擴(kuò)散對象為與該交換機(jī)的相鄰交換機(jī)時,該交換機(jī)向該相鄰交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。
其中,當(dāng)確定該擴(kuò)散對象是相鄰交換機(jī)時,該交換機(jī)不用向控制發(fā)送packet_in請求數(shù)據(jù)包去請求該目標(biāo)數(shù)據(jù)流對應(yīng)的流表項(xiàng),而是將該目標(biāo)數(shù)據(jù)流轉(zhuǎn)發(fā)給相鄰的交換機(jī)去處理,從而減輕該交換機(jī)的負(fù)擔(dān)。
從上可知,根據(jù)本發(fā)明實(shí)施例提供的處理數(shù)據(jù)流的方法,當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象;當(dāng)確定的該擴(kuò)散對象為與該交換機(jī)相鄰的交換機(jī)時,該交換機(jī)向該相鄰的交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)有可能遭到攻擊,將匹配流表項(xiàng)失敗的數(shù)據(jù)流按照擴(kuò)散概率轉(zhuǎn)發(fā)到相鄰的交換機(jī)由相鄰交換機(jī)進(jìn)行處理,從而降低該交換機(jī)更新流表項(xiàng)的頻率,提高正常數(shù)據(jù)流的命中率,降低轉(zhuǎn)發(fā)正常數(shù)據(jù)流的時延。
可選的,基于上述實(shí)施例,在本發(fā)明另一實(shí)施例中,該匹配規(guī)則包括該交換機(jī)的端口號和該擴(kuò)散對象的對應(yīng)關(guān)系;
在該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之前,該方法還包括:
該交換機(jī)確定入端口的端口號,其中,該入端口是指該交換機(jī)接收到該目標(biāo)數(shù)據(jù)流的端口;
該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,包括:
該交換機(jī)根據(jù)該入端口的端口號和該匹配規(guī)則確定該目標(biāo)數(shù)據(jù)流的擴(kuò)散對象。
例如,匹配規(guī)則可以是:1號入端口接收到的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī); 2號入端口接收到的數(shù)據(jù)流由該交換機(jī)處理。
可選的,基于上述實(shí)施例,在本發(fā)明另一實(shí)施例中,
該匹配規(guī)則包括數(shù)字區(qū)間與該擴(kuò)散對象的對應(yīng)關(guān)系,其中,一個數(shù)字區(qū)間對應(yīng)一個擴(kuò)散對象,并且該匹配規(guī)則包括至少兩個數(shù)字區(qū)間;
該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之前,該方法還包括:
該交換機(jī)對該目標(biāo)數(shù)據(jù)流的包頭域進(jìn)行哈希計(jì)算,獲得數(shù)值;
該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象具體包括:
該交換機(jī)確定該數(shù)值所在的數(shù)字區(qū)間;
該交換機(jī)根據(jù)該數(shù)字區(qū)間和該匹配規(guī)則確定該擴(kuò)散對象。
例如,匹配規(guī)則可以是將數(shù)值為1至100的數(shù)據(jù)流轉(zhuǎn)發(fā)至相鄰交換機(jī);將數(shù)值為101至200的數(shù)據(jù)流提交控制器處理。
可選的,基于上述實(shí)施例,在本發(fā)明另一實(shí)施例中,該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之后,該方法還包括:
當(dāng)確定的所述擴(kuò)散對象為所述控制器時,所述交換機(jī)向所述控制器請求與所述目標(biāo)數(shù)據(jù)流匹配的流表項(xiàng)。
其中,該交換機(jī)向該控制器發(fā)送消息以便獲取與該目標(biāo)數(shù)據(jù)流匹配的流表項(xiàng)。
在本發(fā)明的另一實(shí)施例中,控制器預(yù)定義擴(kuò)散流表,并將擴(kuò)散流表部署至交換機(jī)。其中,控制器可提前部署交換機(jī)的擴(kuò)散流表,也可動態(tài)監(jiān)控交換機(jī)的流表的負(fù)載,當(dāng)交換機(jī)流表的負(fù)載達(dá)到預(yù)設(shè)閾值時在下發(fā)擴(kuò)散流表。
例如,在交換機(jī)流表的使用率大于預(yù)設(shè)閾值時,對于沒有匹配到流表項(xiàng)的數(shù)據(jù)流,交換機(jī)不向控制器發(fā)送請求處理,而是按照控制器下發(fā)的擴(kuò)散流表,將該數(shù)據(jù)流發(fā)送至相鄰交換機(jī)進(jìn)一步處理。由于相鄰交換機(jī)上也預(yù)先部署了處理策略,相鄰交換機(jī)按照該處理策略完成數(shù)據(jù)流的相應(yīng)操作,保障數(shù) 據(jù)流處理的完整性。其中,相鄰交換機(jī)可以將接收到的數(shù)據(jù)流再次進(jìn)行擴(kuò)散,也可以向控制器發(fā)送請求,獲取與該數(shù)據(jù)流對應(yīng)的流表項(xiàng)。
如圖2所示,本發(fā)明實(shí)施例提出另一種處理流表的方法,該方法應(yīng)用于SDN網(wǎng)絡(luò)中,該SDN包括控制器和多個交換機(jī),方法包括:
201、該控制器網(wǎng)絡(luò)拓?fù)浯_定與第一交換機(jī)直接連接的第二交換機(jī),其中,該第一交換機(jī)是該多個交換機(jī)中的任意一個交換機(jī),該第二交換機(jī)是該多個交換機(jī)中除第一交換機(jī)外的其他交換機(jī),該第二交換機(jī)的數(shù)量為至少一個;
其中,在網(wǎng)絡(luò)拓?fù)渲袝ǘ鄠€交換機(jī),交換機(jī)之間存在連接關(guān)系。
202、該控制器獲取該第二交換機(jī)的流表的負(fù)載;
其中,該第二交換機(jī)的流表負(fù)載是指流表的使用率或者流表中流表項(xiàng)的數(shù)量。例如,流表的使用率超過閾值就表明該第二交換機(jī)的流表超負(fù)載;流表的流表項(xiàng)超過預(yù)設(shè)數(shù)量就表明該第二交換機(jī)的流表超負(fù)載,在此不一一例舉。
203、該控制器根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表;
204、該控制器向該第一交換機(jī)發(fā)送該擴(kuò)散流表。
從上可知,使用本發(fā)明實(shí)施例提供的處理流表的方法,該控制器根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表;該控制器向該第一交換機(jī)發(fā)送該擴(kuò)散流表,以使得第一交換機(jī)能夠根據(jù)擴(kuò)散流表將接收到的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī)中由相鄰交換機(jī)進(jìn)行處理,從而減輕該第一交換機(jī)的負(fù)載。
可選的,基于圖2該描述的實(shí)施例,步驟203:該控制器根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表,包括:
205、該控制器根據(jù)該第一交換機(jī)與該第二交換機(jī)的連接關(guān)系確定該第一交換機(jī)的轉(zhuǎn)發(fā)路徑,其中,該轉(zhuǎn)發(fā)路徑是指該第一交換機(jī)與該第二交換機(jī)之間的路徑;
206、該控制器根據(jù)每條轉(zhuǎn)發(fā)路徑中第二交換機(jī)的流表的負(fù)載確定該每條 轉(zhuǎn)發(fā)路徑的擴(kuò)散概率;
207、該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定該第一交換機(jī)的擴(kuò)散流表。
其中,一個交換機(jī)可以與多個交換機(jī)連接,那么就構(gòu)成多條轉(zhuǎn)發(fā)路徑。例如,有交換機(jī)A、交換機(jī)B、交換機(jī)C以及交換機(jī)D四臺交換機(jī),交換機(jī)A與其他三臺交換機(jī)分別連接,其中,交換機(jī)A為源交換機(jī),其他三臺交換機(jī)為目標(biāo)交換機(jī),那么就構(gòu)成三條轉(zhuǎn)發(fā)路徑,交換機(jī)A至交換機(jī)B為第一條轉(zhuǎn)發(fā)路徑,交換機(jī)A至交換機(jī)C為第二條路徑,交換機(jī)A至交換機(jī)D為第三條路徑。交換機(jī)A同時位于3條轉(zhuǎn)發(fā)路徑中,交換機(jī)B、交換機(jī)C以及交換機(jī)D為交換機(jī)A所在轉(zhuǎn)發(fā)路徑中的目標(biāo)交換機(jī)。
其中,流表的狀態(tài)是指流表的流表項(xiàng)的數(shù)量或者流表的使用率。
其中,目標(biāo)交換機(jī)的流表使用率越低,該目標(biāo)交換機(jī)所在的轉(zhuǎn)發(fā)路徑的擴(kuò)散概率越高,目的是為了使得每個交換機(jī)的負(fù)載均衡。
例如,交換機(jī)B的流表使用率是30%,交換機(jī)C的流表使用率是40%,交換機(jī)C的流表使用率是40%,那么,交換機(jī)A就可以將交換機(jī)A至交換機(jī)B的轉(zhuǎn)發(fā)路徑的擴(kuò)散概率設(shè)置為30%,將交換機(jī)A至交換機(jī)C的轉(zhuǎn)發(fā)路徑的擴(kuò)散概率設(shè)置為20%,將交換機(jī)A至交換機(jī)D的轉(zhuǎn)發(fā)路徑的擴(kuò)散概率設(shè)置為20%,將交換機(jī)A至控制器的轉(zhuǎn)發(fā)路徑的擴(kuò)散概率設(shè)置為30%。
可選的,基于上述實(shí)施例,在本發(fā)明的另一實(shí)施例中,步驟207:該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定該第一交換機(jī)的擴(kuò)散流表,包括:
2071、該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的該第一交換機(jī)的出端口的數(shù)量,該第一交換機(jī)的出端口用于轉(zhuǎn)發(fā)數(shù)據(jù)流;
其中,擴(kuò)散概率越高的轉(zhuǎn)發(fā)路徑對應(yīng)的出端口越多。
例如,交換機(jī)A分別與交換機(jī)B、交換機(jī)C、交換機(jī)D連接。交換機(jī)A為源交換機(jī),交換機(jī)B、交換機(jī)C與交換機(jī)D為目標(biāo)交換機(jī)。
交換機(jī)A至交換機(jī)B為第一轉(zhuǎn)發(fā)路徑,該第一轉(zhuǎn)發(fā)路徑的擴(kuò)散概率為40%;
交換機(jī)A至交換機(jī)C為第二轉(zhuǎn)發(fā)路徑,該第二轉(zhuǎn)發(fā)路徑的擴(kuò)散概率為20%;
交換機(jī)A至交換機(jī)D為第三轉(zhuǎn)發(fā)路徑,該第三轉(zhuǎn)發(fā)路徑的擴(kuò)散概率為20%;
那么交換機(jī)A對應(yīng)兩個出端口,交換機(jī)B對應(yīng)一個出端口,交換機(jī)C對應(yīng)一個出端口。交換機(jī)A就可以設(shè)置第一轉(zhuǎn)發(fā)路徑對應(yīng)交換機(jī)A的第一端口和第二端口,第二轉(zhuǎn)發(fā)路徑對應(yīng)交換機(jī)A的第三端口,第三轉(zhuǎn)發(fā)路徑對應(yīng)交換機(jī)A的第四端口。
2072、該該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑以及該每條轉(zhuǎn)發(fā)路徑所對應(yīng)的該第一交換機(jī)的出端口的數(shù)量確定該第一交換機(jī)的擴(kuò)散流表。
可選的,基于上述實(shí)施例,在本發(fā)明的另一實(shí)施例中,步驟207:該控制器根據(jù)該每個源交換機(jī)所在的轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每個源交換機(jī)的擴(kuò)散流表,具體包括:
2073、該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間;
其中,擴(kuò)散概率越大的轉(zhuǎn)發(fā)路徑對應(yīng)的數(shù)字區(qū)間越寬。
例如,交換機(jī)A分別與交換機(jī)B、交換機(jī)C、交換機(jī)D連接。交換機(jī)A為源交換機(jī),交換機(jī)B、交換機(jī)C與交換機(jī)D為目標(biāo)交換機(jī)。
交換機(jī)A至交換機(jī)B為第一轉(zhuǎn)發(fā)路徑,該第一轉(zhuǎn)發(fā)路徑的擴(kuò)散概率為40%;
交換機(jī)A至交換機(jī)C為第二轉(zhuǎn)發(fā)路徑,該第二轉(zhuǎn)發(fā)路徑的擴(kuò)散概率為20%;
交換機(jī)A至交換機(jī)D為第三轉(zhuǎn)發(fā)路徑,該第三轉(zhuǎn)發(fā)路徑的擴(kuò)散概率為20%;
第一轉(zhuǎn)發(fā)路徑對應(yīng)的數(shù)字區(qū)間可以是0至100,第二轉(zhuǎn)發(fā)路徑對應(yīng)的數(shù)字區(qū)間為101至150,第三轉(zhuǎn)發(fā)路徑對應(yīng)的數(shù)字區(qū)間為150至200。
2074、該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑以及該每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字 區(qū)間確定該第一交換機(jī)的擴(kuò)散流表。
其中,擴(kuò)散流表的格式不做限制,可以與交換機(jī)中的流表格式一致。
在本發(fā)明的另一個實(shí)施例中,當(dāng)交換機(jī)流表使用率超過預(yù)設(shè)閾值時(圖中為70%),依據(jù)擴(kuò)散流表對未匹配成功的數(shù)據(jù)流轉(zhuǎn)發(fā)。擴(kuò)散流表包括兩種擴(kuò)散方式,一是向相鄰交換機(jī)擴(kuò)散(圖中為擴(kuò)散至交換機(jī)B及交換機(jī)C);二是向控制器擴(kuò)散(即圖中Controller)。
如圖3所示,針對未匹配到流表的數(shù)據(jù)流,交換機(jī)對該數(shù)據(jù)流的包頭域進(jìn)行哈希以得到該數(shù)據(jù)流的哈希值,該哈希值是一個數(shù)字。其中,哈希值相等的數(shù)據(jù)流被認(rèn)為是同一條流。
擴(kuò)散流表中包含多條擴(kuò)散規(guī)則,每條擴(kuò)散規(guī)則對應(yīng)一個數(shù)字范圍,如果一條數(shù)據(jù)流的哈希值落在該數(shù)字范圍內(nèi),則按照該數(shù)字范圍對應(yīng)的擴(kuò)散規(guī)則進(jìn)行擴(kuò)散。
擴(kuò)散規(guī)則一對應(yīng)的數(shù)字范圍是0至106,該數(shù)字范圍對應(yīng)的轉(zhuǎn)發(fā)規(guī)則是向相鄰交換機(jī)B進(jìn)行轉(zhuǎn)發(fā)。如果一個數(shù)據(jù)流的哈希值落在0到106的范圍內(nèi),那么該交換機(jī)向相鄰交換機(jī)B擴(kuò)散該數(shù)據(jù)流。擴(kuò)散規(guī)則三對應(yīng)的數(shù)字范圍是160至255,該數(shù)字范圍對應(yīng)的轉(zhuǎn)發(fā)規(guī)則是向控制器進(jìn)行轉(zhuǎn)發(fā)。如果一個數(shù)據(jù)流的哈希值落在160到255的范圍內(nèi),那么該交換機(jī)向控制器擴(kuò)散該數(shù)據(jù)流。
如圖4所示,針對未匹配到流表的數(shù)據(jù)流,交換機(jī)根據(jù)該數(shù)據(jù)流的入端口和擴(kuò)散規(guī)則進(jìn)行轉(zhuǎn)發(fā)。例如,端口1、端口2和端口3流進(jìn)的數(shù)據(jù)流按照擴(kuò)散規(guī)則一會擴(kuò)散到交換機(jī)B,端口4、端口5和端口6流進(jìn)的數(shù)據(jù)流按照擴(kuò)散規(guī)則二會擴(kuò)散至交換機(jī)C,端口7和端口8流進(jìn)的數(shù)據(jù)流按照擴(kuò)散規(guī)則3會擴(kuò)散至控制器。
如圖5所示,本發(fā)明實(shí)施例提出另一種處理流表的方法,該方法應(yīng)用于SDN網(wǎng)絡(luò)中,方法包括:
301、交換機(jī)監(jiān)測該交換機(jī)流表的負(fù)載;
其中,流表的負(fù)載可以是指流表中流表項(xiàng)的數(shù)量,也可以是指流表的使用率。
302、當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)目標(biāo)數(shù)據(jù)流,其中,所述目標(biāo)數(shù)據(jù)流是指匹配該交換機(jī)流表失敗的數(shù)據(jù)流。
其中,流表的狀態(tài)處于預(yù)設(shè)狀態(tài)包括流表的流表項(xiàng)數(shù)量達(dá)到預(yù)設(shè)數(shù)量;例如,該流表一共可容納1000條流表項(xiàng),將預(yù)設(shè)數(shù)量設(shè)置為800條,那么當(dāng)該流表中的流表項(xiàng)大于或等于800條時,該流表的狀態(tài)便達(dá)到預(yù)設(shè)狀態(tài)。
其中,流表的狀態(tài)處于預(yù)設(shè)狀態(tài)還包括流表的使用率達(dá)到預(yù)設(shè)值,例如,假設(shè)預(yù)設(shè)值為70%,那么當(dāng)流表的使用率大于或等于70%時,流表的狀態(tài)便處于預(yù)設(shè)狀態(tài)。
從上可知,結(jié)合第三方面和第七方面提供的處理數(shù)據(jù)流的方法和交換機(jī),交換機(jī)監(jiān)測該交換機(jī)流表的狀態(tài);當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)匹配該交換機(jī)流表失敗的數(shù)據(jù)流,當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)可能遭到攻擊,將匹配該交換機(jī)流表失敗的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī),可以減輕該交換機(jī)的負(fù)載,降低該交換機(jī)替換流表項(xiàng)的頻率,提升正常數(shù)據(jù)流的命中率,減少遲延。
可選的,基于上述實(shí)施例,在本發(fā)明的另一個實(shí)施例中,
該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)擴(kuò)散目標(biāo)數(shù)據(jù)流之前,該方法還包括:
該交換機(jī)按照下列公式計(jì)算該擴(kuò)散概率;
其中,PS是指擴(kuò)散概率,Pmax是指預(yù)設(shè)最大擴(kuò)散概率,Pmin是指預(yù)設(shè)最小概率,avg是該流表使用率,maxthresh是指第一閾值,minthresh是指第二閾值,其中該第一閾值大于該第二閾值。
可選的,基于上述實(shí)施例,在本發(fā)明的另一個實(shí)施例中,該方法還包括:
當(dāng)該交換機(jī)流表的使用率大于第一閾值時,該交換機(jī)按照該預(yù)設(shè)最大擴(kuò)散概率向該相鄰交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。
如圖6a所示,本發(fā)明實(shí)施例提出另一種處理流表的方法,該方法應(yīng)用于 SDN網(wǎng)絡(luò)中,該SDN網(wǎng)絡(luò)包括控制器和多個交換機(jī),該方法包括:
401、該控制器獲取該多個交換機(jī)流表的負(fù)載;
其中,該流表的負(fù)載是指流表的使用率,流表的使用率是指交換機(jī)中流表項(xiàng)占用的空間與流表容量的比值;
其中,該流表的負(fù)載也可以是指流表中流表項(xiàng)的數(shù)量。
例如,如果該流表的使用率超過預(yù)設(shè)值,則表明該交換機(jī)流表超負(fù)載,或者有可能是該交換機(jī)遭到攻擊。
402、該控制器根據(jù)網(wǎng)絡(luò)拓?fù)浯_定該多個交換機(jī)的連接關(guān)系;
其中,在網(wǎng)絡(luò)拓?fù)渲袝ǘ鄠€交換機(jī),交換機(jī)之間存在連接關(guān)系。
403、該控制器根據(jù)該多個交換機(jī)的連接關(guān)系以及該多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,該轉(zhuǎn)發(fā)路徑為兩個直接連接的交換機(jī)之間的路徑;
404、該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的權(quán)重確定該SDN中數(shù)據(jù)流的傳輸路徑以使得該SDN處于負(fù)載均衡狀態(tài)。
從上可知,結(jié)合第四方面和第八方面提供的處理數(shù)據(jù)流的方法和控制器,該控制器根據(jù)該多個交換機(jī)的連接關(guān)系以及該多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每個轉(zhuǎn)發(fā)路徑的權(quán)重,該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的權(quán)重確定該SDN中數(shù)據(jù)流的傳輸路徑,從而使得網(wǎng)絡(luò)拓?fù)渲薪粨Q機(jī)達(dá)到負(fù)載均衡的狀態(tài),提升交換機(jī)處理數(shù)據(jù)流的效率。
可選的,基于上述實(shí)施例,在本發(fā)明的另一個實(shí)施例中,步驟403:該控制器根據(jù)該多個交換機(jī)的連接關(guān)系以及該多個交換機(jī)中每個交換機(jī)的流表使用率確定每個轉(zhuǎn)發(fā)路徑的權(quán)重,包括:
4031、該控制器根據(jù)該多個交換機(jī)的連接關(guān)系確定每條轉(zhuǎn)發(fā)路徑;
其中,一個交換機(jī)可以與多個交換機(jī)連接,那么就構(gòu)成多條轉(zhuǎn)發(fā)路徑。例如,有交換機(jī)、交換機(jī)B、交換機(jī)C以及交換機(jī)D四臺交換機(jī),交換機(jī)A與其他三臺交換機(jī)分別連接,其中,交換機(jī)A為源交換機(jī),其他三臺交換機(jī)為目標(biāo)交換機(jī),那么就構(gòu)成三條轉(zhuǎn)發(fā)路徑,交換機(jī)A至交換機(jī)B為第一條轉(zhuǎn) 發(fā)路徑,交換機(jī)A至交換機(jī)C為第二條路徑,交換機(jī)A至交換機(jī)D為第三條路徑。
4032、該控制器確定該每條轉(zhuǎn)發(fā)路徑中包含的交換機(jī);
交換機(jī)A同時位于3條轉(zhuǎn)發(fā)路徑中,交換機(jī)B、交換機(jī)C以及交換機(jī)D為交換機(jī)A所在轉(zhuǎn)發(fā)路徑中的目標(biāo)交換機(jī)。
4033、該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表的負(fù)載確定該每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,該目標(biāo)交換機(jī)是指接收數(shù)據(jù)流的交換機(jī)。
其中,一般用流表使用率或者流表的流表項(xiàng)數(shù)量表示該流表的狀態(tài)。
其中,目標(biāo)交換機(jī)的流表使用率越高,該目標(biāo)交換機(jī)所在的轉(zhuǎn)發(fā)路徑的權(quán)重就越大。轉(zhuǎn)發(fā)路徑的權(quán)重越大,該轉(zhuǎn)發(fā)路徑的開銷越大,由于控制器會選擇開銷小的路徑作為轉(zhuǎn)發(fā)路徑,控制器可主動規(guī)避數(shù)據(jù)流經(jīng)過該權(quán)重較大的交換機(jī)節(jié)點(diǎn),選擇流表使用率較低的交換機(jī)傳輸數(shù)據(jù)流。
可選的,基于上述實(shí)施例,在本發(fā)明的另一個實(shí)施例中,該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表使用率確定該每條轉(zhuǎn)發(fā)路徑的權(quán)重,具體包括:
該控制器根據(jù)以下計(jì)算公式進(jìn)行計(jì)算所述每條轉(zhuǎn)發(fā)路徑的權(quán)重:
其中,用流表使用率表示流表的負(fù)載,該TH是預(yù)設(shè)的流表使用率閾值,Max是預(yù)設(shè)的常數(shù),f(ij)表示交換機(jī)i到交換機(jī)j的權(quán)重,t表示交換機(jī)j的流表使用率,該交換機(jī)i屬于該多個交換機(jī),該交換機(jī)j屬于該多個交換機(jī)。
其中,Max是一個可根據(jù)環(huán)境需要設(shè)置的常數(shù),表示轉(zhuǎn)發(fā)路徑可到達(dá)的最大開銷。當(dāng)交換機(jī)的流表使用率小于TH時,加權(quán)系數(shù)為1,表示路徑的實(shí)際開銷等于路徑的加權(quán)開銷;當(dāng)交換機(jī)節(jié)點(diǎn)的使用率大于TH時,加權(quán)系數(shù)為Max·e(t-TH),表示占有率越大,權(quán)值越大,最大可到達(dá)Max。
利用上述加權(quán)算法,可以計(jì)算出網(wǎng)絡(luò)中任意轉(zhuǎn)發(fā)路徑的傳輸開銷。計(jì)算網(wǎng)絡(luò)中所有轉(zhuǎn)發(fā)路徑的路徑代價,具體方法如下:
步驟1.把交換機(jī)網(wǎng)絡(luò)拓?fù)渲械亩c(diǎn)集合V分成兩組,其中每個定點(diǎn)代表一個交換機(jī):
(1)S:已確定的定點(diǎn)集合(初始時只有初始點(diǎn)v0)
(2)V-S=T:尚未確定的定點(diǎn)集合
步驟2.將T中頂點(diǎn)按遞增的次序加入到S中,保證:從源點(diǎn)v0到S中其他各頂點(diǎn)的長度都不大于從v0到T中任何頂點(diǎn)的最短路徑長度。在沒有添加到S中的點(diǎn)中找到一個距離點(diǎn)v0最近的點(diǎn)。Dist[]中存儲了現(xiàn)已找到的以v0為出發(fā)點(diǎn)的最短路徑。
步驟3.直到T中沒有元素,即遍歷了所有定點(diǎn)。得到了各個定點(diǎn)之間的最短路徑。
在本發(fā)明的一個實(shí)施例中,如圖6b所示,上述網(wǎng)絡(luò)由六臺交換機(jī)組成,假設(shè)邊距離初始均為1。左圖中交換機(jī)B的流要到達(dá)交換機(jī)E,最優(yōu)路徑是B→D→E,距離長度為2。經(jīng)過一段時間之后,交換機(jī)D的流表占用率達(dá)到TH,并假設(shè)在之前各個邊路徑長度的基礎(chǔ)上計(jì)算出D的鄰居交換機(jī)到達(dá)D的新長度。右圖標(biāo)出了新的長度,發(fā)現(xiàn)原來路徑總長度為4+1=5(B→D→E),從D交換機(jī)向外的距離矢量還是1。然而,路徑(B→C→F→E)的路徑長度是1+1+1=3<5,因而當(dāng)再有新的流量出現(xiàn)時,控制器會及時地調(diào)整路由。
如圖7所示,本發(fā)明實(shí)施例提出一種交換機(jī)50,該交換機(jī)應(yīng)用于SDN網(wǎng)絡(luò)中,該交換機(jī)50包括監(jiān)測單元501、第一確定單元502以及擴(kuò)散單元503:
監(jiān)測單元501,用于監(jiān)測該交換機(jī)流表的的負(fù)載;
其中,交換機(jī)流表的負(fù)載可以是指交換機(jī)流表中流表項(xiàng)數(shù)量的多少;
其中,交換機(jī)流表的負(fù)載也可以是指流表的使用率,流表的使用率是指流表項(xiàng)占用的容量與該流表的總?cè)萘康谋戎担?/p>
第一確定單元502,用于當(dāng)該交換機(jī)的流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,其中,該目標(biāo)數(shù) 據(jù)流是指匹配該交換機(jī)流表失敗的數(shù)據(jù)流,該擴(kuò)散流表是該控制器下發(fā)的;
例如,該流表一共可容納1000條流表項(xiàng),將預(yù)設(shè)數(shù)量設(shè)置為800條,那么當(dāng)該流表中的流表項(xiàng)大于或等于800條時,該流表的負(fù)載就超過預(yù)設(shè)閾值。
例如,假設(shè)預(yù)設(shè)值為70%,那么當(dāng)流表的使用率大于或等于70%時,流表的負(fù)載就超過預(yù)設(shè)閾值。
擴(kuò)散單元503,用于當(dāng)確定的該擴(kuò)散對象為與該交換機(jī)的相鄰交換機(jī)時,該交換機(jī)向該相鄰交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。
從上可知,根據(jù)本發(fā)明實(shí)施例提供的交換機(jī),當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象;當(dāng)確定的該擴(kuò)散對象為與該交換機(jī)相鄰的交換機(jī)時,該交換機(jī)向該相鄰的交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)可能遭到攻擊,將匹配流表項(xiàng)失敗的數(shù)據(jù)流按照擴(kuò)散概率轉(zhuǎn)發(fā)到相鄰的交換機(jī)由相鄰交換機(jī)進(jìn)行處理,從而降低該交換機(jī)更新流表項(xiàng)的頻率,提高正常數(shù)據(jù)流的命中率,降低轉(zhuǎn)發(fā)正常數(shù)據(jù)流的時延??蛇x的,基于上述交換機(jī)50,該匹配規(guī)則包括該交換機(jī)50的端口號和該擴(kuò)散對象的對應(yīng)關(guān)系;該交換機(jī)50還包括第二確定單元504;
第二確定單元504,用于確定入端口的端口號,其中,該入端口是指該交換機(jī)接收到該目標(biāo)數(shù)據(jù)流的端口;
第一確定單元502,用于根據(jù)該入端口的端口號和該匹配規(guī)則確定該目標(biāo)數(shù)據(jù)流的擴(kuò)散對象。
例如,匹配規(guī)則可以是:將1號端口接收到的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī);將2號端口接收到的數(shù)據(jù)流由交換機(jī)自己進(jìn)行處理。
可選的,基于上述交換機(jī)50,該匹配規(guī)則包括數(shù)字區(qū)間與該擴(kuò)散對象的對應(yīng)關(guān)系,其中,一個數(shù)字區(qū)間對應(yīng)一個擴(kuò)散對象,并且該匹配規(guī)則中有至少兩個數(shù)字區(qū)間;該交換機(jī)50還包括哈希單元505;
哈希單元505,用于對目標(biāo)數(shù)據(jù)流的包頭域進(jìn)行哈希計(jì)算,獲得數(shù)值;
第一確定單元502,具體用于確定該數(shù)值所在的數(shù)字區(qū)間,并根據(jù)該數(shù)字 區(qū)間和該匹配規(guī)則確定該擴(kuò)散對象。
例如,匹配規(guī)則可以是將數(shù)值為1至100的數(shù)據(jù)流擴(kuò)散至相鄰交換機(jī);將數(shù)值為101至200的數(shù)據(jù)流提交控制器處理。
可選的,基于上述交換機(jī)50,第一確定單元502,還用于當(dāng)確定的該擴(kuò)散對象為該控制器時,向所述控制器請求與所述目標(biāo)數(shù)據(jù)流匹配的流表項(xiàng)。
如圖8所示,本發(fā)明實(shí)施例提出一種控制器60,該控制器60應(yīng)用于SDN網(wǎng)絡(luò)中,該控制器60包括確定單元601、獲取單元602以及發(fā)送單元603;
確定單元601,用于根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與該第一交換機(jī)直接連接的第二交換機(jī),其中,該第一交換機(jī)是該多個交換機(jī)中的任意一個交換機(jī),該第二交換機(jī)是該多個交換機(jī)中除第一交換機(jī)外的其他交換機(jī),該第二交換機(jī)的數(shù)量為至少一個;
其中,在網(wǎng)絡(luò)拓?fù)渲袝ǘ鄠€交換機(jī),交換機(jī)之間存在連接關(guān)系。
獲取單元602,用于獲取該第二交換機(jī)的流表的負(fù)載;
確定單元601,還用于根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表;
發(fā)送單元603,用于向該第一交換機(jī)發(fā)送該擴(kuò)散流表。
從上可知,使用本發(fā)明實(shí)施例提供的控制器,該控制器確定第一交換機(jī),并根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與該第一交換機(jī)直接連接的第二交換機(jī);該控制器獲取該第二交換機(jī)的流表的負(fù)載;該控制器根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表;該控制器向該第一交換機(jī)發(fā)送該擴(kuò)散流表,以使得交換機(jī)能夠根據(jù)擴(kuò)散流表將匹配流表項(xiàng)失敗的數(shù)據(jù)流擴(kuò)散到相鄰交換機(jī)中有相鄰交換機(jī)進(jìn)行處理,從而減輕該第一交換機(jī)的負(fù)載。
可選的,基于上述控制器60,確定單元602具體包括第一確定子單元6021、第二確定子單元6022、第三確定子單元6023;
第一確定子單元6021,用于根據(jù)該第一交換機(jī)與該第二交換機(jī)的連接關(guān)系確定該第一交換機(jī)的轉(zhuǎn)發(fā)路徑,其中,該轉(zhuǎn)發(fā)路徑是指該第一交換機(jī)與該第二交換機(jī)之間的路徑;
第二確定子單元6022,用于根據(jù)每條轉(zhuǎn)發(fā)路徑中第二交換機(jī)的流表的負(fù)載確定該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率;
第三確定子單元6023,用于根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定該第一交換機(jī)的擴(kuò)散流表。
可選的,基于上述控制器60,第三確定子單元6023,具體用于據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的該第一交換機(jī)的出端口的數(shù)量,該第一交換機(jī)的出端口用于轉(zhuǎn)發(fā)數(shù)據(jù)流;
第三確定子單元6023,還用于根據(jù)該每條轉(zhuǎn)發(fā)路徑以及該每條轉(zhuǎn)發(fā)路徑所對應(yīng)的該第一交換機(jī)的出端口的數(shù)量確定該第一交換機(jī)的擴(kuò)散流表。
可選的,基于上述控制器60,
第三確定子單元6023,具體用于根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間;
第三確定子單元6023,還用于根據(jù)該每條轉(zhuǎn)發(fā)路徑以及該每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間確定該第一交換機(jī)的擴(kuò)散流表。
如圖9所示,本發(fā)明實(shí)施例提出一種交換機(jī)70,交換機(jī)70包括監(jiān)測單元701以及擴(kuò)散單元702;
監(jiān)測單元701,用于監(jiān)測該交換機(jī)的流表的負(fù)載;
其中,交換機(jī)流表的負(fù)載是指交換機(jī)流表的使用率或者交換機(jī)流表的流表項(xiàng)數(shù)量等。
擴(kuò)散單元702,用于當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)目標(biāo)數(shù)據(jù)流,其中,該目標(biāo)數(shù)據(jù)流是指匹配該交換機(jī)流表失敗的數(shù)據(jù)流。
從上可知,使用本發(fā)明實(shí)施例提供的交換機(jī),交換機(jī)監(jiān)測該交換機(jī)流表的狀態(tài);當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)匹配該交換機(jī)流表失敗的數(shù)據(jù)流,當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)可能遭到攻擊,將匹配該交換機(jī)流表失敗的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī),可以減輕該交換機(jī)的負(fù)載,降低該交換機(jī)替換流表項(xiàng)的 頻率,提升正常數(shù)據(jù)流的命中率,減少遲延。
可選的,基于上述交換機(jī)70,確定單元702具體用于按照下列公式計(jì)算該擴(kuò)散概率;
其中,流表使用率用于表示流表的狀態(tài),PS是指擴(kuò)散概率,Pmax是指預(yù)設(shè)最大擴(kuò)散概率,Pmin是指預(yù)設(shè)最小概率,avg是該流表使用率,maxthresh是指第一預(yù)設(shè)閾值,minthresh是指第二預(yù)設(shè)閾值,其中該第一預(yù)設(shè)閾值大于該第二預(yù)設(shè)閾值。
可選的,基于上述交換機(jī)70,擴(kuò)散單元703還用于當(dāng)該流表的使用率大于第一預(yù)設(shè)閾值時,該交換機(jī)按照該預(yù)設(shè)最大擴(kuò)散概率向該相鄰交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。
如圖10所示,本發(fā)明實(shí)施例提出一種控制器80,控制器80包括獲取單元801以及確定單元802;
獲取單元801,用于獲取該多個交換機(jī)的流表的負(fù)載;
其中,交換機(jī)的流表的負(fù)載是指流表的使用率或者流表中流表項(xiàng)的數(shù)量。
確定單元802,用于根據(jù)網(wǎng)絡(luò)拓?fù)浯_定該多個交換機(jī)的連接關(guān)系;
確定單元802,還用于根據(jù)該多個交換機(jī)的連接關(guān)系以及該多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,該轉(zhuǎn)發(fā)路徑為兩個直接連接的交換機(jī)之間的路徑;
確定單元802,還用于根據(jù)該每條轉(zhuǎn)發(fā)路徑的權(quán)重確定該SDN中數(shù)據(jù)流的傳輸路徑以使得該SDN處于負(fù)載均衡狀態(tài)。
從上可知,使用本發(fā)明實(shí)施例提供的控制器,該控制器根據(jù)該多個交換機(jī)的連接關(guān)系以及該多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每條轉(zhuǎn)發(fā)路徑的權(quán)重,該控制器根據(jù)該每條轉(zhuǎn)發(fā)路徑的權(quán)重確定該SDN中數(shù)據(jù)流的傳輸路徑,從而使得網(wǎng)絡(luò)拓?fù)渲薪粨Q機(jī)達(dá)到負(fù)載均衡的狀態(tài),提升交換機(jī)處理數(shù)據(jù)流的效率。
可選的,基于上述控制器80,確定單元802包括第一確定子單元8021、 第二確定子單元8022以及第三確定子單元8023,具體包括:
第一確定子單元8021,用于根據(jù)該多個交換機(jī)的連接關(guān)系確定每條轉(zhuǎn)發(fā)路徑;
第二確定子單元8022,用于確定該每條轉(zhuǎn)發(fā)路徑中包含的交換機(jī);
第三確定子單元8023,用于根據(jù)該每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表的負(fù)載確定該每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,該目標(biāo)交換機(jī)是指接收數(shù)據(jù)流的交換機(jī)。
可選的,基于上述控制器80,第三確定子單元8023,用于根據(jù)以下計(jì)算公式進(jìn)行計(jì)算所述每條轉(zhuǎn)發(fā)路徑的權(quán)重:
其中,該TH是預(yù)設(shè)的流表使用率閾值,Max是預(yù)設(shè)的常數(shù),f(ij)表示交換機(jī)i到交換機(jī)j的權(quán)重,t表示交換機(jī)j的流表使用率,該交換機(jī)i屬于該多個交換機(jī),該交換機(jī)j屬于該多個交換機(jī)。
圖11描述了本發(fā)明另一個實(shí)施例提供的交換機(jī)的結(jié)構(gòu),包括至少一個處理器901(例如CPU),存儲器902,至少一個網(wǎng)絡(luò)接口903,至少一個通信總線904以及至少一個接收器905,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器901用于執(zhí)行存儲器902中存儲的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲器902可能包含高速隨機(jī)存取存儲器(RAM:Random Access Memory),也可能還包括非易失性存儲器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒體卡)存儲器。通過至少一個網(wǎng)絡(luò)接口903(可以是有線或者無線)實(shí)現(xiàn)該網(wǎng)絡(luò)設(shè)備與至少一個其他網(wǎng)元之間的通信連接。
在一些實(shí)施方式中,存儲器902存儲了程序9021,程序9021可以被處理器901執(zhí)行,這個程序包括:
監(jiān)測該交換機(jī)的流表的負(fù)載;
當(dāng)該交換機(jī)的流表的負(fù)載超過預(yù)設(shè)閾值時,根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,其中,該目標(biāo)數(shù)據(jù)流是指匹配該交換機(jī)流表失敗的數(shù)據(jù)流,該擴(kuò)散流表是該控制器下發(fā)的;
當(dāng)確定的該擴(kuò)散對象為與該交換機(jī)的相鄰交換機(jī)時,向該相鄰交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。
可選的,該匹配規(guī)則包括該交換機(jī)的端口號和該擴(kuò)散對象的對應(yīng)關(guān)系;
在根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之前,該方法還包括:
確定入端口的端口號,其中,該入端口是指該交換機(jī)接收到該目標(biāo)數(shù)據(jù)流的端口;
根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象,包括:
根據(jù)該入端口的端口號和該匹配規(guī)則確定該目標(biāo)數(shù)據(jù)流的擴(kuò)散對象。
可選的,該匹配規(guī)則包括數(shù)字區(qū)間與該擴(kuò)散對象的對應(yīng)關(guān)系,其中,一個數(shù)字區(qū)間對應(yīng)一個擴(kuò)散對象,并且該匹配規(guī)則包括至少兩個數(shù)字區(qū)間;
該根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象之前,該方法還包括:
對該目標(biāo)數(shù)據(jù)流的包頭域進(jìn)行哈希計(jì)算,獲得數(shù)值;
根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象具體包括:
確定該數(shù)值所在的數(shù)字區(qū)間;
根據(jù)該數(shù)字區(qū)間和該匹配規(guī)則確定該擴(kuò)散對象。
可選的,該方法還包括:當(dāng)確定的該擴(kuò)散對象為該控制器時,所述交換機(jī)向所述控制器請求與所述目標(biāo)數(shù)據(jù)流匹配的流表項(xiàng)。
具體的實(shí)施步驟與圖1所示的實(shí)施例相同,此處不再贅述。
從上可知,根據(jù)本發(fā)明實(shí)施例提供的交換機(jī),當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散流表的匹配規(guī)則確定目標(biāo)數(shù)據(jù)流的擴(kuò)散對象;當(dāng)確定的該擴(kuò)散對象為與該交換機(jī)相鄰的交換機(jī)時,該交換機(jī)向該相鄰 的交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)可能遭到攻擊,將匹配流表項(xiàng)失敗的數(shù)據(jù)流按照擴(kuò)散概率轉(zhuǎn)發(fā)到相鄰的交換機(jī)由相鄰交換機(jī)進(jìn)行處理,從而降低該交換機(jī)更新流表項(xiàng)的頻率,提高正常數(shù)據(jù)流的命中率,降低轉(zhuǎn)發(fā)正常數(shù)據(jù)流的時延。
圖12描述了本發(fā)明另一個實(shí)施例提供的控制器的結(jié)構(gòu),包括至少一個處理器1001(例如CPU),存儲器1002,至少一個網(wǎng)絡(luò)接口1003,至少一個通信總線1004以及至少一個接收器1005,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器1001用于執(zhí)行存儲器1002中存儲的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲器1002可能包含高速隨機(jī)存取存儲器(RAM:Random Access Memory),也可能還包括非易失性存儲器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒體卡)存儲器。通過至少一個網(wǎng)絡(luò)接口1003(可以是有線或者無線)實(shí)現(xiàn)該網(wǎng)絡(luò)設(shè)備與至少一個其他網(wǎng)元之間的通信連接。
在一些實(shí)施方式中,存儲器1002存儲了程序10021,程序10021可以被處理器1001執(zhí)行,這個程序包括:
根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與該第一交換機(jī)直接連接的第二交換機(jī),其中,該第一交換機(jī)是該多個交換機(jī)中的任意一個交換機(jī),該第二交換機(jī)是該多個交換機(jī)中除第一交換機(jī)外的其他交換機(jī),該第二交換機(jī)的數(shù)量為至少一個;
獲取該第二交換機(jī)的流表的負(fù)載;
根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表;
向該第一交換機(jī)發(fā)送該擴(kuò)散流表。
可選的,該根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表,包括:
根據(jù)該第一交換機(jī)與該第二交換機(jī)的連接關(guān)系確定該第一交換機(jī)的轉(zhuǎn)發(fā)路徑,其中,該轉(zhuǎn)發(fā)路徑是指該第一交換機(jī)與該第二交換機(jī)之間的路徑;
根據(jù)每條轉(zhuǎn)發(fā)路徑中第二交換機(jī)的流表的負(fù)載確定該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率;
根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定該第一交換機(jī)的擴(kuò)散流表。
可選的,該根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定該第一交換機(jī)的擴(kuò)散流表,包括:
根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的該第一交換機(jī)的出端口的數(shù)量,該第一交換機(jī)的出端口用于轉(zhuǎn)發(fā)數(shù)據(jù)流;
根據(jù)該每條轉(zhuǎn)發(fā)路徑以及該每條轉(zhuǎn)發(fā)路徑所對應(yīng)的該第一交換機(jī)的出端口的數(shù)量確定該第一交換機(jī)的擴(kuò)散流表。
可選的,該根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定該第一交換機(jī)的擴(kuò)散流表,包括:
根據(jù)該每條轉(zhuǎn)發(fā)路徑的擴(kuò)散概率確定每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間;
根據(jù)該每條轉(zhuǎn)發(fā)路徑以及該每條轉(zhuǎn)發(fā)路徑所對應(yīng)的數(shù)字區(qū)間確定該第一交換機(jī)的擴(kuò)散流表。
具體的實(shí)施步驟與圖2所示的實(shí)施例相同,此處不再贅述。
從上可知,使用本發(fā)明實(shí)施例提供的控制器,該控制器確定第一交換機(jī),并根據(jù)網(wǎng)絡(luò)拓?fù)浯_定與該第一交換機(jī)直接連接的第二交換機(jī);該控制器獲取該第二交換機(jī)的流表的負(fù)載;該控制器根據(jù)該第二交換機(jī)的流表的負(fù)載確定該第一交換機(jī)的擴(kuò)散流表;該控制器向該第一交換機(jī)發(fā)送該擴(kuò)散流表,以使得交換機(jī)能夠根據(jù)擴(kuò)散流表將匹配流表項(xiàng)失敗的數(shù)據(jù)流擴(kuò)散到相鄰交換機(jī)中有相鄰交換機(jī)進(jìn)行處理,從而減輕該第一交換機(jī)的負(fù)載。
圖13描述了本發(fā)明另一個實(shí)施例提供的交換機(jī)的結(jié)構(gòu),包括至少一個處理器1101(例如CPU),存儲器1102,至少一個網(wǎng)絡(luò)接口1103,至少一個通信總線1104以及至少一個接收器1105,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器1101用于執(zhí)行存儲器1102中存儲的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲器1102可能包含高速隨機(jī)存取存儲器(RAM:Random Access Memory),也可能還包括非易失性存儲器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒體卡)存儲器。通過至少一個網(wǎng)絡(luò)接口1103(可以是有線或者無線)實(shí)現(xiàn)該網(wǎng)絡(luò)設(shè)備與至少一個其他網(wǎng) 元之間的通信連接。
在一些實(shí)施方式中,存儲器1102存儲了程序11021,程序11021可以被處理器1101執(zhí)行,這個程序包括:
監(jiān)測該交換機(jī)的流表的負(fù)載;
當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)目標(biāo)數(shù)據(jù)流,其中,該目標(biāo)數(shù)據(jù)流是指匹配該交換機(jī)流表失敗的數(shù)據(jù)流。
可選的,根據(jù)該流表的狀態(tài)確定擴(kuò)散概率具體包括:
按照下列公式計(jì)算該擴(kuò)散概率;
其中,PS是指擴(kuò)散概率,Pmax是指預(yù)設(shè)最大擴(kuò)散概率,Pmin是指預(yù)設(shè)最小概率,流表使用率用于指示流表的負(fù)載,avg是該流表使用率,maxthresh是指第一閾值,minthresh是指第二閾值,其中該第一閾值大于該第二閾值。
可選的,當(dāng)該交換機(jī)流表的使用率大于第一閾值時,該交換機(jī)按照該預(yù)設(shè)最大擴(kuò)散概率向該相鄰交換機(jī)轉(zhuǎn)發(fā)該目標(biāo)數(shù)據(jù)流。
具體的實(shí)施步驟與圖5所示的實(shí)施例相同,此處不再贅述。
從上可知,使用本發(fā)明實(shí)施例提供的交換機(jī),交換機(jī)監(jiān)測該交換機(jī)流表的狀態(tài);當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)根據(jù)擴(kuò)散概率向相鄰交換機(jī)轉(zhuǎn)發(fā)匹配該交換機(jī)流表失敗的數(shù)據(jù)流,當(dāng)該交換機(jī)流表的負(fù)載超過預(yù)設(shè)閾值時,該交換機(jī)可能遭到攻擊,將匹配該交換機(jī)流表失敗的數(shù)據(jù)流轉(zhuǎn)發(fā)到相鄰交換機(jī),可以減輕該交換機(jī)的負(fù)載,降低該交換機(jī)替換流表項(xiàng)的頻率,提升正常數(shù)據(jù)流的命中率,減少遲延。
圖14描述了本發(fā)明另一個實(shí)施例提供的控制器的結(jié)構(gòu),包括至少一個處理器1201(例如CPU),存儲器1202,至少一個網(wǎng)絡(luò)接口1203,至少一個通信總線1204以及至少一個接收器1205,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器1201用于執(zhí)行存儲器1202中存儲的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲器1202可能包含高速隨機(jī)存取存儲器(RAM:Random Access Memory),也可能還包括非易失性存儲器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒體卡)存儲器。通過至少一個網(wǎng)絡(luò)接口1203(可以是有線或者無線)實(shí)現(xiàn)該網(wǎng)絡(luò)設(shè)備與至少一個其他網(wǎng)元之間的通信連接。
在一些實(shí)施方式中,存儲器1202存儲了程序12021,程序12021可以被處理器1201執(zhí)行,這個程序包括:
獲取該多個交換機(jī)的流表的負(fù)載;
根據(jù)網(wǎng)絡(luò)拓?fù)浯_定該多個交換機(jī)的連接關(guān)系;
根據(jù)該多個交換機(jī)的連接關(guān)系以及該多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,該轉(zhuǎn)發(fā)路徑為兩個直接連接的交換機(jī)之間的路徑;
根據(jù)該每條轉(zhuǎn)發(fā)路徑的權(quán)重確定該SDN中數(shù)據(jù)流的傳輸路徑以使得該SDN處于負(fù)載均衡狀態(tài)。
可選的,該根據(jù)該交換機(jī)的連接關(guān)系以及該交換機(jī)中每個交換機(jī)的流表使用率確定每個轉(zhuǎn)發(fā)路徑的權(quán)重,具體包括:
根據(jù)該多個交換機(jī)的連接關(guān)系確定每條轉(zhuǎn)發(fā)路徑;
確定該每條轉(zhuǎn)發(fā)路徑中包含的交換機(jī);
根據(jù)該每條轉(zhuǎn)發(fā)路徑中目標(biāo)交換機(jī)的流表的負(fù)載確定該每條轉(zhuǎn)發(fā)路徑的權(quán)重,其中,該目標(biāo)交換機(jī)是指接收到數(shù)據(jù)流的交換機(jī)。
可選的,該控制器根據(jù)以下計(jì)算公式進(jìn)行計(jì)算所述每條轉(zhuǎn)發(fā)路徑的權(quán)重:
其中,用流表使用率表示流表的負(fù)載,該TH是預(yù)設(shè)的流表使用率閾值,Max是預(yù)設(shè)的常數(shù),f(ij)表示交換機(jī)i到交換機(jī)j的權(quán)重,t表示交換機(jī)j的流表使用率,該交換機(jī)i屬于該多個交換機(jī),該交換機(jī)j屬于該多個交換機(jī)。
具體的實(shí)施步驟與圖6所示的實(shí)施例相同,此處不再贅述。
從上可知,使用本發(fā)明實(shí)施例提供的控制器,所述控制器根據(jù)所述多個交換機(jī)的連接關(guān)系以及所述多個交換機(jī)中每個交換機(jī)的流表的負(fù)載確定每個轉(zhuǎn)發(fā)路徑的權(quán)重,所述控制器根據(jù)所述每條轉(zhuǎn)發(fā)路徑的權(quán)重確定所述SDN中數(shù)據(jù)流的傳輸路徑,從而使得網(wǎng)絡(luò)拓?fù)渲薪粨Q機(jī)達(dá)到負(fù)載均衡的狀態(tài),提升交換機(jī)處理數(shù)據(jù)流的效率。
需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
上述裝置和系統(tǒng)內(nèi)的各模塊之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,上述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,上述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(ROM:Read-Only Memory)或隨機(jī)存儲記憶體(RAM:Random Access Memory)等。
本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。