一種刀片服務器及一種刀片服務器的數據交換方法
【技術領域】
[0001]本發明涉及通信技術領域,特別涉及一種刀片服務器及一種刀片服務器的數據交換方法。
【背景技術】
[0002]刀片服務器是指在標準高度的機架式機箱內可插裝多個卡式的服務器單元,是一種實現HAHD(High Availability High Density,高可用高密度)的低成本服務器平臺,刀片服務器就像“刀片”一樣,每一塊“刀片”實際上就是一塊系統主板。刀片服務器的主要結構為一大型主體機箱,內部可插上許多“刀片”,其中每一塊〃刀片〃實際上就是一塊系統主板。
[0003]現有技術中,傳統的刀片服務器中的網絡設備的固件是由設備制造商鎖定和控制,每種網絡設備的功能都是固定的,是由設備制造商在生產時預先設置的。
[0004]通過上述描述可見,現有技術中的刀片服務器中的網絡設備的功能都是固定的,如果刀片服務器需要實現一項新的功能,則需要對網絡設備物理調整,操作復雜。
【發明內容】
[0005]有鑒于此,本發明提供了一種刀片服務器及一種刀片服務器的數據交換方法,操作簡單。
[0006]第一方面,本發明提供了一種刀片服務器,包括:
[0007]安裝有軟件定義網絡SDN的控制器controller的計算單元;
[0008]用于數據交換的交換單元;
[0009]所述計算單元包括:應用程序編程接口 API ;
[0010]所述計算單元,用于通過所述controller安裝外部發來的應用程序,所述controller根據所述應用程序通過API發來的控制命令,管理和控制所述交換單元進行數據交換。
[0011]進一步地,所述計算單元,用于根據待交換的數據的源地址和目標地址生成轉發路徑,將所述轉發路徑發送給所述交換單元;
[0012]所述交換單元,用于根據所述轉發路徑轉發待交換的數據。
[0013]進一步地,所述計算單元與所述交換單元通過OpenFlow協議通信。
[0014]進一步地,所述計算單元,用于根據待交換的數據包的源地址和目標地址生成包含轉發路徑的流表,將所述流表發送給所述交換單元;
[0015]所述交換單元,用于根據所述流表轉發數據。
[0016]進一步地,所述交換單元,包括:編程接口;
[0017]所述交換單元,還用于通過所述編程接口與所述計算單元通信。
[0018]第二方面,本發明提供了基于第一方面的任一所述的刀片服務器的數據交換方法,包括:
[0019]Al:所述計算單元接收外部發來的應用程序;
[0020]A2:所述計算單元通過所述controller安裝所述應用程序;
[0021]A3:所述計算單元中的所述controller根據所述應用程序通過API發來的控制命令,管理和控制所述交換單元進行數據交換。
[0022]進一步地,所述A3,包括:
[0023]所述計算單元根據待交換的數據的源地址和目標地址生成轉發路徑,將所述轉發路徑發送給所述交換單元,以使所述交換單元根據所述轉發路徑轉發待交換的數據。
[0024]進一步地,包括:所述計算單元與所述交換單元通過OpenFlow協議通信;
[0025]所述A3,包括:所述計算單元根據待交換的數據包的源地址和目標地址生成包含轉發路徑的流表,將所述流表發送給所述交換單元,以使所述交換單元根據所述流表轉發數據。
[0026]本發明提供了一種刀片服務器及一種刀片服務器的數據交換方法,在刀片服務器的計算單元中安裝SDN的controller,通過controller安裝外部發來的應用程序,根據所述應用程序通過API發來的控制命令,管理和控制所述交換單元進行數據交換,實現了管理控制與數據交換的分離,通過controller能夠根據需要添加應用程序,實現相應的功能,無需對網絡設備進行物理調整,操作簡單。
【附圖說明】
[0027]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0028]圖1是本發明一實施例提供的一種刀片服務器的示意圖;
[0029]圖2是本發明一實施例提供的一種刀片服務器的數據交換方法流程圖;
[0030]圖3是本發明一實施例提供的另一種刀片服務器的數據交換方法流程圖。
【具體實施方式】
[0031]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0032]如圖1所示,本發明實施例提供了一種刀片服務器,該刀片服務器包括:
[0033]安裝有SDN的controller (控制器)的計算單元101 ;
[0034]用于數據交換的交換單元102 ;
[0035]所述計算單元101 包括:API (Applicat1n Programming Interface,應用程序編程接口);
[0036]所述計算單元101,用于通過所述controller安裝外部發來的應用程序,所述controller根據所述應用程序通過API發來的控制命令,管理和控制所述交換單元進行數據交換。
[0037]通過本發明實施例提供的一種刀片服務器,在刀片服務器的計算單元中安裝SDN的controller,通過controller安裝外部發來的應用程序,根據所述應用程序通過API發來的控制命令,管理和控制所述交換單元進行數據交換,實現了管理控制與數據交換的分離,通過controller能夠根據需要添加應用程序,實現相應的功能,無需對網絡設備進行物理調整,操作簡單。
[0038]為了使待交換的數據通過較優的路徑進行傳輸,所述計算單元101,用于根據待交換的數據的源地址和目標地址生成轉發路徑,將所述轉發路徑發送給所述交換單元;
[0039]所述交換單元102,用于根據所述轉發路徑轉發待交換的數據。
[0040]在該實現方式中,計算單元可以為待交換的數據制定轉發路徑,能夠根據當前網絡狀況、網絡設備負載狀況等靈活生成轉發路徑。
[0041]為了提高網絡性能和數據交換的效率,所述計算單元與所述交換單元通過OpenFlow協議通信。其中,所述交換單元102,包括:編程接口 ;所述交換單元,還用于通過所述編程接口與所述計算單元進行OpenFlow協議通信。
[0042]在該實現方式中,所述計算單元101,用于根據待交換的數據包的源地址和目標地址生成包含轉發路徑的流表,將所述流表發送給所述交換單元;
[0043]所述交換單元102,用于根據所述流表轉發數據。
[0044]另外,通過計算單元中的controller可以實現對交換單元的流量監控、負荷監控等管理功能。
[0045]在一種可能的實現方式中,所述交換單元包括:編程接口、硬件驅動子單元、芯片SDK (軟件開發工具包,Software Development Kit)、交換芯片,所述硬件驅動子單元驅動交換芯片工作,芯片SDK