過程中,源主機上的虛擬機內存、硬盤以及其它配置都會被拷貝到目的主機,從而形成遷移后的虛擬機。當遷移成功后,源主機上的虛擬機將被移除。
[0064]在指定虛擬機發(fā)生遷移的時候,SDN控制器會下發(fā)相關流表,以靈活控制遷移后虛擬機的安全策略檢查。
[0065]具體地,在指定虛擬機發(fā)生遷移時,基于用戶配置或網絡環(huán)境需求等多種因素,SDN控制器可以將指定虛擬機的虛擬防火墻仍然保留為遷移前虛擬交換機下掛的虛擬防火墻,或將指定虛擬機的虛擬防火墻更新為遷移后虛擬交換機下掛的虛擬防火墻。
[0066]比如,當遷移后虛擬交換機沒有下掛虛擬防火墻或遷移后虛擬交換機下掛的虛擬防火墻負載過重時,SDN控制器可以將指定虛擬機的虛擬防火墻仍然保留為遷移前虛擬交換機下掛的虛擬防火墻。
[0067]再比如:當遷移后虛擬交換機下掛有虛擬防火墻或遷移前虛擬交換機下掛的虛擬防火墻負載過重時,SDN控制器可以將指定虛擬機的虛擬防火墻更新為遷移后虛擬交換機下掛的虛擬防火墻。
[0068]在一個實施方式中,該方法還包括:
[0069]當指定虛擬機發(fā)生遷移時,第一虛擬交換機從SDN控制器接收用于指示刪除第一流表的第二流表。而且,SDN控制器向遷移后虛擬交換機下發(fā)第八流表,該第八流表用于指示將遷移后虛擬交換機通過非下掛在遷移后虛擬交換機的虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到下掛在遷移后虛擬交換機的虛擬防火墻的端口,以由下掛在遷移后虛擬交換機的虛擬防火墻執(zhí)行安全審核。
[0070]類似地,下掛在遷移后虛擬交換機的虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到遷移后虛擬交換機,遷移后虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量最終轉發(fā)到目的端口。
[0071]可見,在指定虛擬機發(fā)生遷移時,通過SDN控制器向第一虛擬交換機和遷移后虛擬交換機分別下發(fā)流表,可以將指定虛擬機的虛擬防火墻更新為遷移后虛擬交換機下掛的虛擬防火墻。
[0072]在一個實施方式中,該方法還包括:
[0073]當指定虛擬機發(fā)生遷移時,SDN控制器向遷移后虛擬交換機發(fā)送第七流表,第七流表用于指示將遷移后虛擬交換機接收到的、源地址為指定虛擬機的流量發(fā)送到下一跳端口,以將遷移后虛擬交換機接收到的、源地址為指定虛擬機的流量發(fā)送到第一虛擬交換機。
[0074]因此,第一虛擬交換機可以基于第一流表將遷移后虛擬交換機轉發(fā)來的、源地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口,以由第一虛擬防火墻執(zhí)行安全審核。
[0075]類似地,第一虛擬防火墻執(zhí)行完安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量最終轉發(fā)到目的端口。
[0076]可見,在指定虛擬機發(fā)生遷移時,SDN控制器向遷移后虛擬交換機發(fā)送流表,可以將指定虛擬機的虛擬防火墻仍然保留為遷移前虛擬交換機下掛的虛擬防火墻。
[0077]本發(fā)明實施方式還提出了一種在SDN控制器側實現(xiàn)SDN虛擬防火墻的方法,該方法適用于SDN控制器。
[0078]圖2為根據本發(fā)明一實施方式在SDN控制器側實現(xiàn)SDN虛擬防火墻的方法流程圖。
[0079]如圖2所示,該方法包括:
[0080]步驟201:從第一虛擬交換機接收第一虛擬防火墻的端口,其中第一虛擬防火墻下掛在第一虛擬交換機上。
[0081]在這里,SDN控制器可以通過優(yōu)選為OpenFlow協(xié)議的SDN管理通道,從第一虛擬交換機接收第一虛擬防火墻的端口。
[0082]步驟202:向第一虛擬交換機下發(fā)第一流表,第一流表用于指示將第一虛擬交換機通過非第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口以由第一虛擬防火墻執(zhí)行安全審核。
[0083]在這里,第一虛擬交換機構建在第一主機上。而且,指定虛擬機可以下掛在第一虛擬交換機上,也可以下掛在第二虛擬交換機上,其中第二虛擬交換機構建在第二主機上。
[0084]SDN控制器可以通過優(yōu)選為OpenFlow協(xié)議的SDN管理通道向第一虛擬交換機下發(fā)第一流表。第一虛擬交換機基于第一流表,將通過非第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口以由第一虛擬防火墻執(zhí)行安全審核。
[0085]而且,第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量轉發(fā)到目的端口。
[0086]在一個實施方式中:
[0087]當指定虛擬機下掛在不同于第一虛擬交換機的第二虛擬交換機時,其中第二虛擬交換機構建在第二主機上,SDN控制器從第二虛擬交換機接收指定虛擬機在第二虛擬交換機上的端口,而且SDN控制器向第二虛擬交換機下發(fā)第三流表,該第三流表用于指示將通過指定虛擬機的端口接收到的流量發(fā)送到下一跳端口,以將通過指定虛擬機的端口接收到的流量發(fā)送到第一虛擬交換機。
[0088]因此,第一虛擬交換機可以基于第一流表,將第二虛擬交換機轉發(fā)來的、通過指定虛擬機的端口接收到的流量發(fā)送到第一虛擬防火墻的端口,以由第一虛擬防火墻執(zhí)行安全審核。
[0089]類似地,第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量轉發(fā)到目的端口。
[0090]當指定虛擬機下掛在不同于第一虛擬交換機的第二虛擬交換機上時,如果指定虛擬機發(fā)生遷移,SDN控制器還向第二虛擬交換機發(fā)送用于指示刪除第三流表的第五流表,或者第二虛擬交換機自行老化第三流表。
[0091]在一個實施方式中:
[0092]當發(fā)送目的地址為指定虛擬機的流量的源虛擬機下掛在第二虛擬交換機時,SDN控制器向第二虛擬交換機下發(fā)第四流表,該第四流表用于指示將通過源虛擬機的端口接收到的、目的地址為指定虛擬機的流量發(fā)送到下一跳端口,以將通過源虛擬機的端口接收到的、目的地址為指定虛擬機的流量發(fā)送到第一虛擬交換機。
[0093]因此,第一虛擬交換機可以基于第一流表將第二虛擬交換機轉發(fā)來的、通過源虛擬機的端口接收到且目的地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口,以由第一虛擬防火墻執(zhí)行安全審核。
[0094]類似地,第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量轉發(fā)到目的端口。
[0095]當發(fā)送目的地址為指定虛擬機的流量的源虛擬機下掛在第二虛擬交換機時,如果指定虛擬機發(fā)生遷移,而且指定虛擬機的虛擬防火墻發(fā)生更新,SDN控制器向第二虛擬交換機發(fā)送用于指示刪除第四流表的第六流表。
[0096]在指定虛擬機發(fā)生遷移時,基于用戶配置或網絡環(huán)境需求等多種因素,SDN控制器可以將指定虛擬機的虛擬防火墻仍然保留為遷移前虛擬交換機下掛的虛擬防火墻,或將指定虛擬機的虛擬防火墻更新為遷移后虛擬交換機下掛的虛擬防火墻。
[0097]在一個實施方式中:
[0098]當指定虛擬機發(fā)生遷移時,SDN控制器向第一虛擬交換機發(fā)送用于指示刪除第一流表的第二流表。而且,SDN控制器向遷移后虛擬交換機下發(fā)第八流表,該第八流表用于指示將遷移后虛擬交換機通過非下掛在遷移后虛擬交換機的虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量,發(fā)送到下掛在遷移后虛擬交換機的虛擬防火墻端口以由下掛在遷移后虛擬交換機的虛擬防火墻執(zhí)行安全審核。
[0099]類似地,下掛在遷移后虛擬交換機的虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到遷移后虛擬交換機,遷移后虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量最終轉發(fā)到目的端口。
[0100]可見,在指定虛擬機發(fā)生遷移時,SDN控制器向第一虛擬交換機和遷移后虛擬交換機分別發(fā)送流表,可以將指定虛擬機的虛擬防火墻更新為遷移后虛擬交換機下掛的虛擬防火墻。
[0101]在一個實施方式中:
[0102]當指定虛擬機發(fā)生遷移時,SDN控制器向遷移后虛擬交換機發(fā)送第七流表,該第七流表用于指示將遷移后虛擬交換機接收到的、源地址為指定虛擬機的流量發(fā)送到下一跳端口,以將遷移后虛擬交換機接收到的、源地址為指定虛擬機的流量發(fā)送到第一虛擬交換機。
[0103]因此,第一虛擬交換機可以基于第一流表,將遷移后虛擬交換機轉發(fā)來的、源地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口,以由第一虛擬防火墻執(zhí)行安全審核。第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量最終轉發(fā)到目的端口。
[0104]可見,在指定虛擬機發(fā)生遷移時,通過SDN控制器向第一虛擬交換機和遷移后虛擬交換機分別發(fā)送流表,可以將指定虛擬機的虛擬防火墻保留為遷移前虛擬交換機下掛的虛擬防火墻。
[0105]類似地,遷移前虛擬交換機下掛的虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到遷移前虛擬交換機,遷移前虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量最終轉發(fā)到目的端口。
[0106]在一個實施方式中,SDN控制器發(fā)送安全策略到第一虛擬交換機,從而由虛擬交換機將安全策略發(fā)送到第一虛擬防火墻,第一虛擬防火墻根據該安全策略執(zhí)行安全審核。
[0107]當安全策略發(fā)生更新時,SDN控制器向第一虛擬交換機發(fā)送更新后安全策略,第一虛擬交換機將更新后安全策略發(fā)送到第一虛擬防火墻,從而第一虛擬防火墻可以基于更新后安全策略更新保存在本地的安全策略。
[0108]下面結合實例對本發(fā)明實施方式進行示范性描述。
[0109]圖3為根據本發(fā)明一實施方式SDN中實現(xiàn)虛擬防火墻的示意圖。
[0110]如圖3所示,該SDN架構包括SDN控制器、CVM和三臺主機,分別為主機1、主機2和主機3。在SDN控制器上配置整個SDN架構的網絡環(huán)境,主機1、主機2和主機3分別從虛擬化管理系統(tǒng)(CVM)接收虛擬化配置信息,并根據虛擬化配置信息構建各自的虛擬化開放流交換機(OVS),
[0111]在OVS上可以下掛單個或多個的虛擬機(VM),而且在OVS上可以下掛單個或多個虛擬防火墻(VFW)。
[0112]其中:主機I上構建有0VS1,主機2上構建有0VS2,主機3上構建有0VS3。主機
1、主機2和主機3分別從CVM接收各自的虛擬機配置信息和虛擬防火墻配置信息,并根據虛擬機配置信息在各自所構建的OVS下掛虛擬機,根據虛擬防火墻配置信息在各自所構建的OVS下掛虛擬防火墻。
[0113]由圖3可見,主機I的OVSl下掛有VMl、VM2和VFWl ;主機2的0VS2下掛有VM3、VM4和VFW2 ;主機3的0VS3下掛有VM5和VFW3。
[0114]主機1、主機2和主機3的OVS分別將部署在自身的VFW端口和VM端口上報到SDN控制器。也就是,OVSl將VMl、VM2和VFffl的端口上報到SDN控制器;0VS2將VM3、VM4和VFW2的端口上報到SDN控制器;0VS3將VM5和VFW3的端口上報到SDN控制器。
[0115]OVS將配置在自身的VFW端口和VM端口上報到SDN控制器時,可以在上報報文中針對VFW端口設置特定字段,從而SDN控制器可以基于特定字段判定端口是否為VFW端口。
[0116]SDN控制器通過OVSl向VFWl下發(fā)VFWl的安全策略,通過0VS2向VFW2下發(fā)VFW2的安全策略,通過0VS3向VFW3下發(fā)VFW3的安全策略。
[0117]由于主機硬件維護、虛擬機系統(tǒng)資源規(guī)劃調整等原因,虛擬機可能從一臺物理主機遷移到另一臺物理主機,即發(fā)生虛擬機遷移。
[0118]SDN控制器發(fā)揮全局總管功能,可以針對VM實現(xiàn)多種靈活形式的安全策略檢查。SDN控制器通過向OVS下發(fā)流表,可以將需要被執(zhí)行流量安全策略檢查的VM(即指定VM)的流量發(fā)送到指定的VFW執(zhí)行安全策略檢查。
[0119]基于圖3所示的網絡架構,下面分別說明當指定VM和針對指定VM執(zhí)行