本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,尤其涉及一種基于SDN的數(shù)據(jù)傳輸方法、SDN控制器和SDN系統(tǒng)。
背景技術(shù):
隨著虛擬化技術(shù)的廣泛應(yīng)用,IT資源將成為像水電一樣可運營的基礎(chǔ)設(shè)施,云數(shù)據(jù)中心作為重要的云基礎(chǔ)設(shè)施的承載體,其資源管理成為重要的研究課題。混合云融合了公有云和私有云,是近年來云計算的主要模式和發(fā)展方向。出于安全考慮,大部分企業(yè)更愿意將數(shù)據(jù)存放在私有云中,但是同時又希望可以獲得公有云的豐富廉價的IT資源,在這種情況下混合云被越來越多的采用,它將公有云和私有云進行混合和匹配,以獲得最佳的效果,這種個性化的解決方案,達到了既省錢又安全的目的。它既可以利用私有云的安全,將內(nèi)部重要數(shù)據(jù)保存在本地數(shù)據(jù)中心;同時也可以使用公有云的計算資源,更高效快捷地完成工作,相比私有云或是公有云都更完美。
然而,私有云和公有云之間的連接和數(shù)據(jù)傳輸,成了業(yè)界研究的新熱點。如果在數(shù)據(jù)中心之間進行傳輸之前,將所有數(shù)據(jù)通過各類加密算法進行加密,通過隧道等方式進行安全傳輸,如亞馬遜云服務(wù)主要基于VPN實現(xiàn)跨數(shù)據(jù)中心互聯(lián);思科提出的互聯(lián)云(InterCloud)在云兩端分別將所有傳輸數(shù)據(jù)進行加密,這些解決方案對不需要加密的數(shù)據(jù)的加密,浪費了相關(guān)的資源。隨著云數(shù)據(jù)的規(guī)模增長,不加區(qū)分的數(shù)據(jù)加密方式,給加密設(shè)備帶來了極大的負擔(dān),成為系統(tǒng)的擴展瓶頸點。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明要解決的一個技術(shù)問題是提供一種基于SDN的 數(shù)據(jù)傳輸方法、SDN控制器和SDN系統(tǒng),能夠?qū)π枰M行加密的數(shù)據(jù)進行加密傳輸。
一種基于SDN的數(shù)據(jù)傳輸方法,包括:軟件定義網(wǎng)絡(luò)SDN控制器接收到管理平臺發(fā)送的加密數(shù)據(jù)通知消息;SDN基于所述加密數(shù)據(jù)通知消息判斷傳輸?shù)臄?shù)據(jù)是否需要加密,如果是,則計算出需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使所述轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備。
根據(jù)本發(fā)明的一個實施例,進一步的,如果判斷傳輸?shù)臄?shù)據(jù)不需要加密,則計算出不需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使此轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。
根據(jù)本發(fā)明的一個實施例,進一步的,所述加密數(shù)據(jù)通知消息攜帶的信息包括:發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息;其中,所述發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口。
根據(jù)本發(fā)明的一個實施例,進一步的,所述SDN基于所述加密數(shù)據(jù)通知消息判斷傳輸?shù)臄?shù)據(jù)是否需要加密包括:根據(jù)所述加密數(shù)據(jù)通知消息,所述SDN控制器對發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息進行加密標簽標注;所述SDN控制器在進行路由計算時基于所述加密標簽判斷傳輸?shù)臄?shù)據(jù)是否需要加密。
根據(jù)本發(fā)明的一個實施例,進一步的,所述計算出需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使所述轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備包括:所述SDN控制器從接收到的所述數(shù)據(jù)包中解析出發(fā)送所述數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息;所述發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口;所述SDN控制器判斷發(fā)送所述數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息是否標注有加密標簽,如果是,則所述SDN控制器進行路由選擇,使所述數(shù)據(jù)包的轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備,并將路由信息發(fā)送到所述發(fā)送設(shè)備;當所述數(shù)據(jù)包經(jīng)過所述加密設(shè)備時進行加密處理。
根據(jù)本發(fā)明的一個實施例,進一步的,包括:所述SDN控制器判斷所述數(shù)據(jù)包的發(fā)送設(shè)備信息沒有標注加密標簽,則所述SDN控制器 進行路由選擇,使所述數(shù)據(jù)包的轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。
根據(jù)本發(fā)明的一個實施例,進一步的,所述數(shù)據(jù)包的發(fā)送設(shè)備、vlan或vxlan屬于第一云數(shù)據(jù)中心或第一云服務(wù)提供商,接收所述數(shù)據(jù)包的目標設(shè)備、目標vlan或vxlan屬于第二云數(shù)據(jù)中心或第二云服務(wù)提供商。
根據(jù)本發(fā)明的一個實施例,進一步的,所述SDN控制器進行路由選擇包括:所述SDN采用距離矢量路由選擇算法或鏈路狀態(tài)路由選擇算法進行路徑計算。
一種軟件定義網(wǎng)絡(luò)SDN控制器,包括:加密信息接收單元,用于接收管理平臺發(fā)送的加密數(shù)據(jù)通知消息;路由規(guī)劃單元,用于基于所述加密數(shù)據(jù)通知消息判斷傳輸?shù)臄?shù)據(jù)是否需要加密,如果是,則計算出需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使所述轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備。
根據(jù)本發(fā)明的一個實施例,進一步的,所述路由規(guī)劃單元,還用于如果判斷傳輸?shù)臄?shù)據(jù)不需要加密,則計算出不需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使此轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。
根據(jù)本發(fā)明的一個實施例,進一步的,所述加密數(shù)據(jù)通知消息攜帶的信息包括:發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息;其中,所述發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口。
根據(jù)本發(fā)明的一個實施例,進一步的,包括:加密標簽標注單元,用于根據(jù)所述加密數(shù)據(jù)通知消息,對發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息進行加密標簽標注;所述路由規(guī)劃單元,還用于在進行路由計算時基于所述加密標簽判斷傳輸?shù)臄?shù)據(jù)是否需要加密。
根據(jù)本發(fā)明的一個實施例,進一步的,所述路由規(guī)劃單元,包括:信息提取模塊,用于從接收到的所述數(shù)據(jù)包中解析出發(fā)送所述數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息;所述發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口;路由選擇模塊,用于判斷發(fā)送所述數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息是否標注有加密標簽,如果是,則進行路由選擇,使所述數(shù)據(jù)包的轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備,并將路 由信息發(fā)送到所述發(fā)送設(shè)備;其中,當所述數(shù)據(jù)包經(jīng)過所述加密設(shè)備時進行加密處理。
根據(jù)本發(fā)明的一個實施例,進一步的,所述路由選擇模塊,還用于判斷所述數(shù)據(jù)包的發(fā)送設(shè)備信息沒有標注加密標簽,則所述SDN控制器進行路由選擇,使所述數(shù)據(jù)包的轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。
根據(jù)本發(fā)明的一個實施例,進一步的,所述數(shù)據(jù)包的發(fā)送設(shè)備、vlan或vxlan屬于第一云數(shù)據(jù)中心或第一云服務(wù)提供商,接收所述數(shù)據(jù)包的目標設(shè)備、目標vlan或vxlan屬于第二云數(shù)據(jù)中心或第一云服務(wù)提供商。
根據(jù)本發(fā)明的一個實施例,進一步的,所述路由選擇模塊,還用于采用距離矢量路由選擇算法或鏈路狀態(tài)路由選擇算法進行路徑計算。
一種SDN系統(tǒng),包括:管理平臺、如上所述的SDN控制器。
本發(fā)明的基于SDN的數(shù)據(jù)傳輸方法、SDN控制器和SDN系統(tǒng),能夠只對需要進行加密的重要數(shù)據(jù)進行加密傳輸,而無需加密的非重要數(shù)據(jù)則可以不經(jīng)過加密設(shè)備處理,降低了數(shù)據(jù)的處理成本和處理造成的時延,提升了網(wǎng)絡(luò)的利用率,通過集中的SDN網(wǎng)絡(luò)控制器,基于網(wǎng)絡(luò)路徑對數(shù)據(jù)進行分類處理,減少了復(fù)雜的數(shù)據(jù)分類分析,提升資源的利用率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的基于SDN的數(shù)據(jù)傳輸方法的一個實施例的流程示意圖;
圖2為本發(fā)明的基于SDN的數(shù)據(jù)傳輸方法的應(yīng)用場景示意圖;
圖3為根據(jù)本發(fā)明的SDN控制器的一個實施例的模塊示意圖;
圖4為根據(jù)本發(fā)明的SDN控制器的一個實施例中的路由規(guī)劃單元的模塊示意圖。
具體實施方式
下面參照附圖對本發(fā)明進行更全面的描述,其中說明本發(fā)明的示例性實施例。下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。下面結(jié)合各個圖和實施例對本發(fā)明的技術(shù)方案進行多方面的描述。
軟件定義網(wǎng)絡(luò)SDN(Software Defined Network)是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),具有控制轉(zhuǎn)發(fā)分離、集中控制、開放可編程等特性,能夠?qū)崿F(xiàn)數(shù)據(jù)中心網(wǎng)絡(luò)虛擬化,承載多租戶。下文中的“第一”、“第二”等為描述上相區(qū)別,并沒有其它特殊的含義。
圖1為本發(fā)明的基于SDN的數(shù)據(jù)傳輸方法的一個實施例的流程示意圖,如圖1所示:
步驟101,SDN控制器接收到管理平臺發(fā)送的加密數(shù)據(jù)通知消息。
步驟102,SDN基于加密數(shù)據(jù)通知消息判斷傳輸?shù)臄?shù)據(jù)是否需要加密。
步驟103,如果是,則計算出需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備。
如果判斷傳輸?shù)臄?shù)據(jù)不需要加密,則計算出不需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使此轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。本發(fā)明中的管理平臺可以為數(shù)據(jù)中心的管理平臺,可以是云管理平臺或者數(shù)據(jù)管理平臺等。
在數(shù)據(jù)中心之間進行傳輸之前,為了保護私有云中的數(shù)據(jù)安全,大部分系統(tǒng)會將所有數(shù)據(jù)通過各類加密算法進行加密,通過隧道等方式進行安全傳輸,這種傳輸對不需要加密的數(shù)據(jù)的加密,浪費了相關(guān)的資源。隨著云數(shù)據(jù)的規(guī)模增長,不加區(qū)分的數(shù)據(jù)加密方式,給加密設(shè)備帶 來了極大的負擔(dān),成為系統(tǒng)的擴展瓶頸點。
本發(fā)明的基于SDN的數(shù)據(jù)傳輸方法,通過SDN網(wǎng)絡(luò)集中控制器,按照配置策略,將需要加密和不需要加密的數(shù)據(jù)經(jīng)過不同的轉(zhuǎn)發(fā)路徑進行傳輸,并在數(shù)據(jù)中心傳輸始末端分別進行加解密的方法,能有效提升傳輸效率,降低災(zāi)備成本。
在一個實施例中,加密數(shù)據(jù)通知消息攜帶的信息包括:發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息等。發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口等。根據(jù)加密數(shù)據(jù)通知消息,SDN控制器對發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息進行加密標簽標注,SDN控制器在進行路由計算時基于加密標簽判斷傳輸?shù)臄?shù)據(jù)是否需要加密。
在一個實施例中,SDN控制器從接收到的數(shù)據(jù)包中解析出發(fā)送數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息。發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口。
SDN控制器判斷發(fā)送數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息是否標注有加密標簽,如果是,則SDN控制器進行路由選擇,使數(shù)據(jù)包的轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備,并將路由信息發(fā)送到發(fā)送設(shè)備。當數(shù)據(jù)包經(jīng)過加密設(shè)備時進行加密處理。加密標簽可以由管理平臺通知SDN控制器,例如,哪些vlan、vxlan需要加密或不加密。
當SDN控制器判斷數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息沒有標注加密標簽時,則SDN控制器進行路由選擇,使數(shù)據(jù)包的轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。
數(shù)據(jù)包的發(fā)送設(shè)備、vlan或vxlan可以屬于第一云數(shù)據(jù)中心或第一云服務(wù)提供商,注:如亞馬遜和微軟、百度和騰訊等。接收數(shù)據(jù)包的目標設(shè)備、目標vlan或vxlan可以屬于第二云數(shù)據(jù)中心或第二云服務(wù)提供商,可以實現(xiàn)數(shù)據(jù)中心之間的傳輸。SDN采用距離矢量路由選擇算法或鏈路狀態(tài)路由選擇算法等進行路徑計算。
上述實施例中的基于SDN的數(shù)據(jù)傳輸方法,在跨數(shù)據(jù)中心傳輸過程中,通過SDN控制器配置路由來實現(xiàn)數(shù)據(jù)的分類加密,在數(shù)據(jù)是否 加密的分類中,可以按照加密需求,選擇端口、IP、甚至vlan集群等一臺或多臺服務(wù)器(虛擬機)節(jié)點,管理平臺和SDN控制器可以協(xié)同工作,完成數(shù)據(jù)的按需分類加密。
在數(shù)據(jù)搬遷過程中,將傳輸數(shù)據(jù)按照需要加密和不需要加密分別進行路徑選擇,路徑選擇由SDN控制器實現(xiàn),從而可以借助集中的網(wǎng)絡(luò)控制平臺,更加高效地將數(shù)據(jù)中心之間的數(shù)據(jù)傳輸按照加密需求進行分類處理。
如圖2所示,在原數(shù)據(jù)中心(可以是生產(chǎn)數(shù)據(jù)中心或者企業(yè)私有云數(shù)據(jù)中心)中,使用集中控制的SDN網(wǎng)絡(luò),該SDN網(wǎng)絡(luò)的控制器可以有效控制數(shù)據(jù)中心內(nèi)節(jié)點的傳輸路徑。管理平臺或系統(tǒng)(可以是云管理平臺或者數(shù)據(jù)管理平臺)和SDN網(wǎng)絡(luò)控制器可以直接通信。
對跨數(shù)據(jù)中心之間傳輸?shù)臄?shù)據(jù),數(shù)據(jù)中心管理平臺可以按照實際業(yè)務(wù)的需要設(shè)定相應(yīng)的策略,規(guī)定哪些數(shù)據(jù)需要進行加密,哪些數(shù)據(jù)可以不經(jīng)過加密處理。加密策略的實施則由SDN控制器來執(zhí)行,對于帶有加密要求的數(shù)據(jù),SDN控制器會將相關(guān)的數(shù)據(jù)轉(zhuǎn)發(fā)路徑設(shè)定到加密設(shè)備上,反之,對于沒有加密要求的數(shù)據(jù)傳輸,則在轉(zhuǎn)發(fā)路徑上設(shè)定到直接轉(zhuǎn)發(fā)設(shè)備上。
SDN控制器在執(zhí)行數(shù)據(jù)分類時,通常以數(shù)據(jù)流為基本單位,可以選擇從一個物理服務(wù)器或者一個虛擬機在跨數(shù)據(jù)中心備份時,將所有數(shù)據(jù)都經(jīng)過加密設(shè)備,這個通??梢园盐锢矸?wù)器或者虛擬機的IP作為分類標簽。
也可以選擇該物理服務(wù)器或者虛擬機的一部分業(yè)務(wù)數(shù)據(jù)進行加密,則通??梢詫⒉糠侄丝跀?shù)據(jù)進行分類加密。在大規(guī)模的數(shù)據(jù)中心應(yīng)用場景下,還可以以一個vlan,或者一個vxlan為分類標簽,即將某一個vlan或vxlan內(nèi)的所有節(jié)點的備份數(shù)據(jù)都進行加密或者不加密。
加密標簽為一種標識,可以為設(shè)置的字符或數(shù)值等等。加密標簽的設(shè)定主要取決于系統(tǒng)的規(guī)模,大規(guī)模場景下,通常會使用較大的顆粒度,如vlan或vxlan等,而需要精細化管理的應(yīng)用場景下,則可能會使用到以端口為顆粒度的加密傳輸管理。
在跨數(shù)據(jù)中心的分類加密傳輸中,現(xiàn)有的云資源池大多使用全部數(shù)據(jù)加密的方式,包括對備份的數(shù)據(jù)或者業(yè)務(wù)之間的橫向通信數(shù)據(jù),例如某個大型業(yè)務(wù)系統(tǒng)中的核心數(shù)據(jù)、日志數(shù)據(jù)等;以及大型業(yè)務(wù)平臺的各個模塊可能部署在不同的數(shù)據(jù)中心內(nèi),在網(wǎng)絡(luò)側(cè),這些數(shù)據(jù)通常都不加區(qū)分的進行相同的處理,即全部加密或者全部不加密。
采用本發(fā)明的基于SDN的數(shù)據(jù)傳輸方法,按照加密標簽設(shè)定,在跨數(shù)據(jù)中心數(shù)據(jù)傳輸中,根據(jù)加密需求進行傳輸?shù)穆窂揭?guī)劃。首先,管理平臺通知SDN控制器某個需要進行傳輸?shù)牧髁繑?shù)據(jù)是否需要進行加密,SDN控制器接到通知后,對相應(yīng)的數(shù)據(jù)進行標識,例如標識該虛擬機的某個端口的傳輸數(shù)據(jù)需要進行經(jīng)過某個加密設(shè)備。
接著,SDN控制器在返回給虛擬機的傳輸流表中,流量數(shù)據(jù)的路由必須經(jīng)過某個加密設(shè)備,選擇相應(yīng)的加密設(shè)備。當虛擬機需要經(jīng)過某個端口發(fā)起相關(guān)的數(shù)據(jù)傳輸時,按照正常的網(wǎng)絡(luò)通信流程,該虛擬機的網(wǎng)絡(luò)代理模塊先向SDN控制器請求轉(zhuǎn)發(fā)路由,SDN控制器在收到路由請求后,查詢該虛擬機的這個端口是否有相關(guān)的加密要求,如果有,則按照對應(yīng)的加密設(shè)備作為網(wǎng)關(guān)節(jié)點策略,返回經(jīng)過加密設(shè)備的路由選擇結(jié)果。如果沒有,則按照直接進行轉(zhuǎn)發(fā)的路由選擇,返回給虛擬機的網(wǎng)絡(luò)代理模塊。
在一個實施例中,假設(shè)系統(tǒng)中有三個不同的服務(wù)器集群,分別對虛擬機A和虛擬機B,物理機C、D、E共三臺的數(shù)據(jù)進行分類加密傳輸,從數(shù)據(jù)中心X加密備份到數(shù)據(jù)中心Y,另外有加密設(shè)備a、加密設(shè)備b、加密設(shè)備c。節(jié)點A、B、C、D、E均在一個SDN網(wǎng)絡(luò)控制器的管理下。
假設(shè)系統(tǒng)管理員通過數(shù)據(jù)中心管理平臺,要求對虛擬機A的所有數(shù)據(jù)進行a類型的加密,即要求數(shù)據(jù)中心X中的虛擬機A的所有數(shù)據(jù)都經(jīng)過加密設(shè)備a后,才能將密文傳輸?shù)綌?shù)據(jù)中心Y。因此,數(shù)據(jù)中心管理平臺通知SDN控制器,SDN控制器則通知其路由選擇模塊,要求將虛擬機A的所有數(shù)據(jù)都經(jīng)過加密設(shè)備a,簡單的,可以將虛擬機A的出口網(wǎng)關(guān)設(shè)置為設(shè)備a的IP地址。
在一種情況下,假設(shè)系統(tǒng)管理員通過數(shù)據(jù)中心管理平臺,要求對虛 擬機B出來的500端口的數(shù)據(jù)進行b類型的加密,即要求數(shù)據(jù)中心X中的虛擬機B的所有數(shù)據(jù)都經(jīng)過加密設(shè)備b后,才能將密文傳輸?shù)綌?shù)據(jù)中心Y。因此,數(shù)據(jù)中心管理平臺通知SDN控制器,SDN控制器則通知其路由選擇模塊,要求將虛擬機B出來的500端口的數(shù)據(jù)都經(jīng)過加密設(shè)備b,簡單的,可以將虛擬機B在500端口的數(shù)據(jù)路由請求設(shè)置必須經(jīng)過設(shè)備b的IP地址。
在另一種情況下,假設(shè)系統(tǒng)管理員通過數(shù)據(jù)中心管理平臺,要求對物理機C、D、E出來的所有數(shù)據(jù)進行c類型的加密,即要求數(shù)據(jù)中心X中的物理機C、D、E的所有數(shù)據(jù)都經(jīng)過加密設(shè)備c后,才能將密文傳輸?shù)綌?shù)據(jù)中心Y。假設(shè)物理機C、D、E都在一個vlan 100內(nèi),因此,數(shù)據(jù)中心管理平臺通知SDN控制器,SDN控制器則通知其路由選擇模塊,要求將vlan 100出來的所有數(shù)據(jù)都經(jīng)過加密設(shè)備c,簡單的,可以將vlan 100的網(wǎng)關(guān)設(shè)置為設(shè)備c的IP地址。
如圖3所示,本發(fā)明提供一種軟件定義網(wǎng)絡(luò)SDN控制器。加密信息接收單元31接收管理平臺發(fā)送的加密數(shù)據(jù)通知消息。路由規(guī)劃單元32基于加密數(shù)據(jù)通知消息判斷傳輸?shù)臄?shù)據(jù)是否需要加密,如果是,則計算出需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備。如果路由規(guī)劃單元32判斷傳輸?shù)臄?shù)據(jù)不需要加密,則計算出不需要加密傳輸?shù)臄?shù)據(jù)的轉(zhuǎn)發(fā)路由,并使此轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。
加密標簽標注單元33根據(jù)加密數(shù)據(jù)通知消息,對發(fā)送需要加密數(shù)據(jù)的發(fā)送設(shè)備信息、vlan或vxlan信息進行加密標簽標注;路由規(guī)劃單元32在進行路由計算時基于加密標簽判斷傳輸?shù)臄?shù)據(jù)是否需要加密。
如圖4所示,路由規(guī)劃單元包括:信息提取模塊41和路由選擇模塊42。信息提取模塊41從接收到的數(shù)據(jù)包中解析出發(fā)送數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息。發(fā)送設(shè)備信息包括:物理服務(wù)器或者虛擬機的IP地址或端口。
路由選擇模塊42判斷發(fā)送數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息是否標注有加密標簽,如果是,則進行路由選擇,使數(shù)據(jù)包的轉(zhuǎn)發(fā)路由經(jīng)過加密設(shè)備,并將路由信息發(fā)送到發(fā)送設(shè)備。當數(shù)據(jù)包經(jīng)過加密 設(shè)備時進行加密處理。
路由選擇模塊42判斷數(shù)據(jù)包的發(fā)送設(shè)備信息、vlan或vxlan信息沒有標注加密標簽,則SDN控制器進行路由選擇,使數(shù)據(jù)包的轉(zhuǎn)發(fā)路由不經(jīng)過加密設(shè)備。路由選擇模塊42采用距離矢量路由選擇算法或鏈路狀態(tài)路由選擇算法等進行路徑計算。
在一個實施例中,本發(fā)明提供一種SDN系統(tǒng),包括:管理平臺、如上的SDN控制器。
上述實施例提供的基于SDN的數(shù)據(jù)傳輸方法、SDN控制器和SDN系統(tǒng),可以對數(shù)據(jù)是否加密進行分類,能夠只對需要進行加密的重要數(shù)據(jù)進行加密傳輸,而無需加密的非重要數(shù)據(jù)則可以不經(jīng)過加密設(shè)備處理,降低了數(shù)據(jù)的處理成本和處理造成的時延,提升了網(wǎng)絡(luò)的利用率;通過集中的SDN控制器,基于網(wǎng)絡(luò)路徑對數(shù)據(jù)進行分類處理,減少了復(fù)雜的數(shù)據(jù)分類分析,提升資源的利用率。
可能以許多方式來實現(xiàn)本發(fā)明的方法和系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實現(xiàn)本發(fā)明的方法和系統(tǒng)。用于方法的步驟的上述順序僅是為了進行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實現(xiàn)根據(jù)本發(fā)明的方法的機器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。