本發明通常涉及軟件定義網絡。更具體地說,本發明涉及用于軟件定義網絡“SDN”的網元和用于軟件定義網絡的控制器。此外,本發明涉及用于配置軟件定義網絡的網元的方法、涉及用于軟件定義網絡的網元的計算機程序,以及涉及用于軟件定義網絡的控制器的計算機程序。
背景技術:
軟件定義網絡是用于數據傳送網絡的新興架構。在軟件定義網絡“SDN”中,控制平面和數據平面分離,使得在能夠與網元分離的一個或多個控制器中實現控制平面,而在網元中實現數據平面。網元能夠是例如網際協議“IP”路由器、多協議標簽交換“MPLS”節點、光分組交換機和/或以太網交換機。每一網元可以由單個裝置或多個裝置的組合構成。通常,軟件定義網絡允許快速體驗和優化交換和/或路由策略以及對以前封閉且私有的網元的內部結構進行外部訪問。
基于網際協議“IP”的網絡初始是基于自主系統“AS”的概念構建的。該概念允許網絡通過連接結點來調節和擴展,該連接節點基于部分需要知道的信息將分組轉發到合理的下一跳。AS原理非常象傳統的郵局服務那樣進行工作,其中,為了為手邊的信件選擇合理的下一跳,給定城市的郵政工人無需知道另一城市的所有街道的所有住戶。聯網的該方法簡單,并且已經證明可復原和可擴展。然而,該方法具有一些缺點。只要涉及分組傳輸服務,不允許指定的目的地,或不允許具有家庭郵箱的住戶在沒有改變他們的身份的情況下搬家。作為他們附接所至的網絡接口的目的地的拓撲位置規定與分組傳輸服務有關的他們的身份。此外,僅使用該基本AS原理,難以指定其他性質,諸如邏輯分組、訪問控制、服務質量、中間網絡處理或指定有關形成流的分組的順序的方面。
在下文中,使用類似郵政服務,以簡化的方式,示出軟件定義網絡。對任何指定的街道位置,軟件定義網絡進行工作,使得首先由軟件定義網絡的邊緣上的網元對來自所有住戶的所有信件進行匯總。該網元被配置為使用全局查找機制,檢查信件目的地中的每一個的當前位置。基于全局查找和其他全局定義和全局測量的考慮因素,諸如基于訪問控制或遠程位置負載條件,所述網元將初始信件中的一個或多個放在另外的信封中,該信封被尋址到目的地當前所在的街道位置中的每一個。然后,使用就像傳統的網際協議“IP”那樣進行工作的常見郵政服務來獲得到遠程位置的這些外層信封。這是基于現有和可擴展的逐跳轉發服務來完成的。然后,由遠程網元打開外層信封并且將初始信件分發到目的地。應注意到上述提出的軟件定義網絡和郵政服務之間的類比是一種極端簡化并且僅給出有關由軟件定義網絡提供的通用可能性的有限觀點。
然而,軟件定義網絡并沒有免于挑戰。一些挑戰與配置網元有關。通常,在網元構成配置系統的幫助下,網元被配置為使得控制器將配置數據發送到每一網元。配置系統使網元作為軟件定義網絡的一部分來操作。由此,控制器實際上對網元進行編程,以使其以所需的方式作為軟件定義網絡的一部分來操作。配置系統可以包括例如定義了在不同操作情形中將執行的動作的一個或多個查找表。一個挑戰與需要對網元編程許多應用程序有關和/或與設置兩個或以上控制器來編程同一網元的情形有關。應用程序能夠是諸如互聯網語音“VoIP”、視頻點播“VoD”、在線游戲、內容分發的高速緩存和/或圖片高速緩存等。通常不相互協調應用程序,但盡管如此,必須編程應用程序,使得它們在配置系統中不相互沖突。配置系統的查找表可以確定例如成形器,該成形器將與一個或多個應用程序一起被使用并且定義最大允許數據速率,以及可能還定義用于一個或多個應用程序的最大允許突發大小的。涉及例如VoIP,每微流的最大允許數據速率能夠為例如64kbits/s,而對VoD,每微流的最大允許數據速率例如為4Mbits/s。很顯然,如果配置系統中在這些應用之間存在沖突,則VoD將不能夠適當地工作,使得在一些情況下,VoIP的成形器錯誤地被用于對表示VoD的數據流量進行成形。此外,當設置兩個或以上控制器來編程同一網元時,類似的沖突也會發生。因此,當對網元編程不同應用程序時以及當兩個或以上控制器在同一網元中進行編程時,需要禁止上述類型的沖突的機制。
技術實現要素:
下文提出簡單的概述以便提供不同發明實施例的一些方面的基本理解。概述不是本發明的詳盡綜述。不旨在標識本發明的關鍵或必要元素,也不勾畫本發明的范圍。下述概述僅以簡化的形式提出本發明的一些概念,以作為示例說明本發明的實施例的更詳細描述的序言。
根據本發明,對于軟件定義網絡“SDN”,即,對于應用軟件定義網絡的數據傳輸網絡,提供了一種新的網元。該網元能夠是例如網際協議“IP”路由器、多協議標簽交換“MPLS”交換機、光分組交換機和/或以太網交換機。
根據本發明的一種網元包括數據傳輸接口和處理系統,所述數據傳輸接口用于將數據傳送到軟件定義網絡,以及從軟件定義網絡接收數據,所述處理系統用來:
‐根據從軟件定義網絡的控制器系統接收到的配置數據,構成用于管理待被轉發的數據的配置系統,以便使網元能夠作為軟件定義網絡的一部分來操作,
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,所述配置實體專用標識符識別與接收到的數據有關的配置實體,所述配置實體專用標識符構成與接收到的數據相關聯的元數據的至少一部分,以及
‐對在配置系統的第一部分后使用的配置系統的第二部分進行配置,以當協同接收到的數據確定待執行的動作時,使用包括配置實體專用標識符的元數據。
上述配置實體能夠是例如應用程序,諸如互聯網語音“VoIP”、視頻點播“VoD”、提供游戲服務的在線游戲、內容分發的高速緩存和/或圖片高速緩存。上述配置實體也可以是屬于軟件定義網絡的控制器系統的控制器并且被適配于對所述網元進行編程。
上述配置實體專用標識符使與不同配置實體有關的配置系統的部分可唯一地可尋址。因此,可以避免在由相互不協調的應用程序和/或控制器定義的元數據項剛好相同的情形下,錯誤地使用配置系統的錯誤部分的沖突。
根據本發明,還提供了一種新的控制器,所述控制器用于配置軟件定義網絡“SDN”的網元。所述控制器能夠是由軟件定義網絡的許多控制器構成的控制器系統的一部分。控制器也可以單獨地構成軟件定義網絡的控制器系統。此外,控制器能夠是單一裝置或能夠相互通信的多個裝置的組合。根據本發明的控制器包括:
‐處理系統,所述處理系統被適配成組成用于控制網元構成配置數據,所述配置數據用于管理待由網元轉發的數據的配置系統,使得網元能夠作為軟件定義網絡的一部分來操作,以及
‐數據傳輸接口,所述數據傳輸接口被適配成將配置數據傳送到網元,
控制器的處理系統被適配成組成配置數據,以包括用于控制網元實現下述操作的配置數據部分:
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,所述配置實體專用標識符識別與在網元處接收到的數據有關的配置實體,所述配置實體專用標識符構成與在網元處接收到的數據相關聯的元數據的至少一部分,以及
‐對在配置系統的第一部分后使用的配置系統的第二部分進行配置,以當協同在網元處接收到的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
根據本發明,還提供了一種用于配置軟件定義網絡“SDN”的網元的新方法。根據本發明的方法包括:
‐根據從軟件定義網絡的控制器系統接收到的配置數據,構成用于管理待被轉發的數據的網元的配置系統,以便使網元能夠作為軟件定義網絡的一部分來操作,
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,所述配置實體專用標識符識別與接收到的數據有關的配置實體,所述配置實體專用標識符構成與接收到的數據相關聯的元數據的至少一部分,以及
‐對在配置系統的第一部分后使用的對配置系統的第二部分進行配置,以當協同接收的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
根據本發明,還提供了一種用于提供配置軟件定義網絡“SDN”的網元的配置數據的新方法。根據本發明的方法包括組成配置數據以包括用于控制網元實現下述操作的配置數據部分:
‐構成用于管理將由網元轉發的數據的配置系統,以便使網元能夠作為軟件定義網絡的一部分來操作,
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,所述配置實體專用標識符識別與在網元處接收到的數據有關的配置實體,所述配置實體專用標識符構成與在網元處接收到的數據相關聯的元數據的至少一部分,以及
‐對在該配置系統的第一部分后使用的配置系統的第二部分進行配置,以當協同在網元處接收到的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
根據本發明,還提供了一種用于軟件定義網絡的網元的新計算機程序。根據本發明用于網元的計算機程序包括用于控制網元的可編程處理系統實現下述操作的計算機可執行指令:
‐根據從軟件定義網絡的控制器系統接收到的配置數據,構成用于管理待被轉發的數據的配置系統,以便使網元能夠為軟件定義網絡的一部分來操作,
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,所述配置實體專用標識符識別與接收到的數據有關的配置實體,所述配置實體專用標識符構成與接收到的數據相關聯的元數據的至少一部分,以及
‐對在配置系統的第一部分后使用的配置系統的第二部分進行配置,以當協同接收到的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
根據本發明,還提供了一種用于軟件定義網絡的控制器的新計算機程序。根據本發明用于控制器的計算機程序包括計算機可執行指令,所述計算機可執行指令用于控制控制器的可編程處理系統組成用于控制網元實現下述操作的配置數據:
‐構成用于管理待由網元轉發的數據的配置系統以使網元能夠作為軟件定義網絡的一部分來操作,
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,所述配置實體專用標識符識別與在網元處接收到的數據有關的配置實體,所述配置實體專用標識符構成與在網元處接收到的數據相關聯的元數據的至少一部分,
‐對在配置系統的第一部分后使用的對配置系統的第二部分進行配置,以當協同在網元處接收到的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
用于控制器的計算機程序進一步包括下述計算機可執行指令,該計算機可執行指令用于控制控制器的可編程處理系統控制該控制器的數據傳輸接口來將配置數據傳送到網元。
根據本發明,還提供了一種新的計算機程序產品。計算機程序產品包括非易失性計算機可讀介質,例如壓縮盤“CD”,其編碼有根據本發明用于網元的計算機程序,和/或編碼有根據本發明用于控制器的計算機程序。
在附加從屬權利要求中描述了多個本發明的示例和非限定實施例。
當結合附圖進行閱讀時,從具體示例說明實施例的下述描述中,將更好地理解有關結構和操作方法兩者的各種示例和非限制實施例,以及其另外的目的和優點的本發明。
動詞“由…組成”和“包括”在本文檔中被用作開放限制,既不排除也不要求存在還未引用的特征。在附加的從屬權利要求中引用的特征可相互自由地組合,除非另有明確說明。此外,應理解在整個文檔中使用“一”、“一個”——即使用單數形式,不排除多個。
附圖說明
在下文中,參考附圖,更詳細地說明本發明的示例和非限制實施例以及它們的優點,其中:
圖1示出包括根據本發明的示例和非限制實施例的網元和根據本發明的示例和非限制實施例的控制器的軟件定義網絡的示意性圖示,
圖2示出根據本發明的示例和非限制實施例的網元的示意性圖示,
圖3示出根據本發明的示例和非限制實施例的用于配置軟件定義網絡的網元的控制器的示意性圖示,以及
圖4示出根據本發明的示例和非限制實施例的用于配置軟件定義網絡的網元的方法的流程圖。
具體實施方式
圖1示出示例說明軟件定義網絡“SDN”100的示意性圖示。軟件定義網絡包括網元101,102,103和104。軟件定義網絡100進一步包括能夠被視為構成軟件定義網絡的控制器系統的控制器105和106。如圖1所示,該示例軟件定義網絡的網元101-104與數據傳輸鏈路互連。此外,該示例軟件定義網絡100可以包括圖1中未示出的其他網元。網元的每一個可以例如是網際協議“IP”路由器、多協議標簽交換“MPLS”節點、光分組交換機和/或以太網交換機。每一網元可以由單個裝置或多個裝置的組合構成。同樣地,控制器105和106中的每一個可以由單個裝置或多個裝置的組合構成。在圖1所示的示例情形中,控制器105包括兩個互連的裝置。用戶接口設備107連接到控制器105,相應地,用戶接口設備108連接到控制器106。在圖1所示的示例情形中,網元104充當對于能夠是例如全球互聯網的外部網絡199的網關。應注意到控制器105或其一個或多個部分也能夠充當能夠是例如網際協議“IP”路由器、多協議標簽交換“MPLS”交換機、光分組交換機和/或以太網交換機的網元。相應地,控制器106或其一個或多個部分也能夠充當上述類型的網元。
在不限制普遍性并且僅出于示例目的的情況下,考慮控制器105的操作。控制器106可以以類似的方式進行操作。在考慮到構建使網元能夠以所需方式管理數據的配置系統時,控制器105被適配于將用于控制網元的配置數據發送到網元101-104中的至少一個。配置系統可以包括例如互連查找表的系統,該互連查找表用于選擇將在不同操作情形中執行的軟件定義動作。待被管理的數據能夠以數據幀為形式,諸如以網際協議IP分組、MPLS標簽幀、以太網幀為形式或數據能夠是符合正被使用的一個或多個數據傳輸協議的一些其他形式。控制器105能夠被適配于根據例如OpenFlow協議或適合于軟件定義網絡的一些其他協議,配置所述網元。能夠從由開放網絡基金會“ONF”管理的OpenFlow交換機規范中找到有關OpenFlow的更多細節。
在使用OpenFlow的示例情形中,根據OpenFlow規范,配置系統包括一個或多個流表和一個或多個組表。每一流表包含一組流條目。每一流條目可以由匹配字段、計數器和一組軟件定義動作構成,以應用于匹配數據幀。匹配通常在第一流表處開始并且可以繼續至另外的流表。流條目通常被設置成優先級順序并且每一表中的第一匹配條目是正被使用的條目。如果找到匹配流條目,則執行與該特定流條目相關聯的一個或多個軟件定義動作。如果在流表中未找到匹配,則可以在所述網元和控制器105之間的OpenFlow信道上,將所述的數據幀轉發到控制器105,數據幀可以被丟棄,或數據幀可以繼續到下一流表或組表。與每一流條目相關聯的軟件定義動作可以包括例如數據幀轉發、數據幀變更、組表處理和流水線處理。流水線處理動作允許將數據幀發送到后續流表,以用于進一步處理和允許在流表之間通信以元數據為形式的信息。連同OpenFlow,元數據通常是具有64位的位向量。當與匹配流條目相關聯的一個或多個軟件定義動作未指定下一表時,流水線處理停止。此時,通常變更和轉發所述的數據幀。組表處理動作允許將數據幀發送到組表,以用于進一步處理并且允許將以元數據為形式的信息通信到組表。組表包含組條目,其中,每一組條目可以包含將連同被定義為屬于特定組的數據幀被執行的軟件定義動作的列表。此外,被發送到所述網元的配置數據可以包括一個或多個配置程序,配置程序中的每一個包括一個或多個計算機可執行指令,該計算機可執行指令定義了將連同管理所述網元中的數據待被執行的軟件定義動作或一系列軟件定義動作。由配置程序定義的軟件定義動作或一系列軟件定義動作可以包括例如:將數據記錄在存儲器中、變更數據、選擇網元的一個或多個輸出端口并且將該數據及其可能的副本轉發到所選的一個或多個輸出端口、選擇網元的配置系統的一個或多個查找表并且根據所選的查找表執行一個或多個查找、執行算術運算、分支操作、執行邏輯運算、讀取與被管理的數據相關聯的元數據、寫入與該數據相關聯的元數據、變更與該數據相關聯的元數據、丟棄該數據和/或復制該數據。
在許多情況下,需要對網元101-104或它們中的至少一些進行編程以支持許多不同的應用程序,諸如互聯網語音“VoIP”、視頻點播“VoD”、用于提供游戲服務的在線游戲、用于內容分發的高速緩存和/或圖片高速緩存等。在不限制普遍性并且僅出于示例目的的情況下,假定網元101是需要被編程以支持上述類型的許多不同應用程序的上述網元中的一個。網元101包括用于接收和傳送數據的數據傳輸接口。網元101包括用于根據從控制器105和/或從控制器106接收到的配置數據構成配置系統的裝置。正由配置系統管理的數據通常與允許信息在配置系統的不同部分之間通信的元數據相關聯。能夠由控制器105和106中的一個對網元101進行編程來支持所有應用程序,或能夠由控制器105對網元進行編程來支持一些應用程序,而由控制器106對網元進行編程來支持其他應用程序。單獨的應用程序和/或應用程序組和/或控制器構成控制實體,每一控制實體在網元101的配置系統中,具有其控制實體專用部分。假定上述應用程序組中的每一個包含以協同的方式被對于網元101而編程的應用程序,使得屬于所述組的應用程序能夠被視為單個配置實體。在配置系統包括用于確定待執行的動作的查找表系統的示例情形中,配置系統的控制實體專用部分可以包括例如查找表系統的查找表的給定實體。
在示例情形中,網元101包括用于對該配置系統的第一部分進行配置以將在該網元處接收到的數據與配置實體專用標識符相關聯的裝置,該配置實體專用標識符識別與接收到的數據相關聯的配置實體。配置實體能夠是例如與接收到的數據有關的應用程序或應用程序組。配置實體專用標識符構成元數據的至少一個部分,該元數據與接收到的數據相關聯并且被配置系統用于在配置系統的不同部分之間通信信息。配置系統的第一部分能夠是例如識別接收到的數據的輸入端口“IPORT”的部分、識別虛擬本地接入網絡“VLAN”或與接收到的數據有關的一些其他相應實體的部分,或確定針對接收到的數據的策略操作的部分。網元101包括用于對在該配置系統的第一部分后使用的配置系統的第二部分進行配置的裝置,以當協同接收到的數據確定待執行的動作時,使用包括配置實體專用標識符的元數據。配置實體專用標識符使與不同配置實體有關的配置系統的部分唯一地可尋址。因此,可以避免如下沖突:例如錯誤地使用配置系統的錯誤部分,使得在由相互不協調的應用程序和/或控制器定義的元數據項剛好相同的情形中,錯誤地選擇查找表的錯誤條目。由此,在該示例情形中,網元101被適配于使與不同應用程序和/或應用程序組有關的配置系統的部分唯一地可尋址。
在另一示例情形中,同時由控制器105和106兩者構成網元101。控制器中的每一個包括用于組成配置數據的裝置,該配置數據用于控制網元101來構成與由所述控制器編程的一個或多個應用程序有關的配置系統的部分。每一控制器被適配于組成配置數據部分,所述配置數據部分用于控制網元101來配置網元的配置系統的第一部分,以使在網元處接收到的數據與配置實體專用標識符相關聯,該配置實體專用標識符識別與在該網元處接收到的數據有關的配置實體。配置實體專用標識符構成元數據的至少一部,該元數據與接收到的數據相關聯并且被配置系統用于在配置系統的不同部分之間通信信息分。因此,在該示例情形中,控制器105和106中的每一個被適配于組成相應的配置數據,使得通過該配置數據對網元101進行編程以構成網元的配置系統,因此,可唯一地尋址與由這些控制器編程的應用程序或應用程序組有關的配置系統的部分,使得避免配置系統的這些部分之間的沖突。
圖2a示出根據本發明的示例和非限制實施例的網元201的示例性圖示。網元能夠例如是網際協議“IP”路由器、多協議標簽交換“MPLS”交換機、光分組交換機和/或以太網交換機。在圖2所示的示例性情形中,網元201是單一裝置,但網元也能夠是多個裝置的組合。網元包括用于接收數據和用于傳送數據的數據傳輸接口211。數據傳輸接口211包括用于連接到軟件定義網絡“SDN”的數據傳輸鏈路的輸入端口213和215以及輸出端口214和216。在圖2中,使用云200來描繪除網元201外的軟件定義網絡的元件。網元201包括處理系統212,處理系統212被適配于根據從軟件定義網絡的控制系統接收到的配置數據,構成配置系統,使得網元能夠為軟件定義網絡的一部分來操作。配置系統可以包括例如用于當管理待被轉發的數據時選擇軟件定義動作的查找表。
處理系統212被適配于對該配置系統的第一部分進行配置,以將在網元處接收到的數據與配置實體專用標識符CEID相關聯,該配置實體專用標識符CEID識別與接收到的數據有關的配置實體。配置實體專用標識符CEID能夠被適配于識別由接收到的數據表示的應用程序或一組應用程序。應用程序可以包括例如互聯網語音“VoIP”、視頻點播“VoD”、用于提供游戲服務的在線游戲、用于內容分發的高速緩存和/或圖片高速緩存等。配置系統專用標識符CEID還可以被適配于識別軟件定義網絡的控制器系統中的控制器中的特定控制器或特定協調控制器組,其中,控制器中的特定控制器或特定控制器組是在已經對于網元201的配置系統對與接收到的數據有關的應用程序或應用程序組進行編程的基礎上,已經發送配置數據的控制器或控制器組。配置實體專用標識符CEID構成與接收到的數據相關聯的元數據的至少一部分。處理系統212被適配于對在配置系統的第一部分后使用的配置系統的第二部分進行配置,使得當協同接收到的數據確定待執行的操作時,使用由配置實體專用標識符構成的數據。
在根據本發明的示例和非限制實施例的網元中,處理系統212被適配于變更分別由相互不同配置實體中的一個定義的元數據格式,使得配置實體專用標識符在變更的元數據格式的每一個中處于相同的位置。由配置實體,例如由應用程序或應用程序組定義的元數據格式能夠是諸如塊220,其中,陰影區域221表示適當的元數據,以及整個塊220表示為該元數據分配的數據字段。在該示例情形中,將元數據的最左部分轉移到塊220的最右部分,以便讓位于由塊220a所示的表示示例變更元數據格式的配置實體專用標識符CEID。
在根據本發明的另一示例和非限制實施例的網元中,處理系統212被適配于變更分別由相互不同配置實體中的一個定義的元數據格式,以包含用于配置實體專用標識符的附加數據字段。這由塊220b來圖示,塊220b表示示例變更元數據格式并且包括由塊220表示的初始元數據格式以及用于配置實體專用標識符CEID的附加數據字段。
在根據本發明的示例和非限制實施例的網元中,處理系統212被適配于在下述的至少一個的基礎上,確定用于接收到的數據的配置實體專用標識符:
‐開放系統互連“OSI”模型1級物理層“L1”字段分類,例如輸入端口號,
‐OSI模型2級數據鏈路層“L2”字段分類,例如虛擬本地接入網“VLAN”,
‐OSI模型3級網絡層“L3”字段分類,例如,網際協議“IP”源地址、IP目的地地址或IP差分服務代碼點“DSCP”,
‐OSI模型4級傳輸層“L4”字段分類,例如傳輸控制協議“TCP”端口號或用戶數據報協議“UDP”端口號,
‐OSI模型5級會話層“L5”字段分類,例如,實時傳輸協議“RTTP”報頭或點對點隧道效應協議“PPTP”報頭,
‐OSI模型6級表示層“L6”字段分類,
‐OSI模型級7應用層“L7”字段分類,例如超文本傳輸協議“HTTP”報頭和/或會話發起協議“SIP”報頭,
‐虛擬專用網“VPN”,
‐服務等級“CoS”,
‐多協議標簽交換“MPLS”報頭。
能夠由一個或多個處理電路實現網元201的處理系統212,每一處理電路能夠是具有適當軟件、諸如專用集成電路“ASIC”的專用硬件處理器或諸如現場可編程門陣列“FPGA”的可配置硬件處理器的可編程處理器電路。
圖3示出根據本發明的示例和非限制實施例的用于配置軟件定義網絡的網元的控制器305的示意性圖示。在圖3中未示出待配置的網元。在圖3所示的示例情形中,控制器305是單個裝置,但如在本文檔前面所述,控制器305也可以是多個裝置的組合。控制器包括用于接收數據和傳送數據的數據傳輸接口311。數據傳輸接口311包括用于經由數據傳輸鏈路連接到軟件定義網絡的其他元件的輸入端口313和315和輸出端口314和316。在圖3中,使用云300圖示除控制器305外的軟件定義網絡的元件。數據傳輸接口311可以進一步包括用于連接到用戶接口設備307和/或其他外圍設備的一個或多個數據端口。控制器305包括用于組成配置數據的處理系統312,該配置數據使網元的每一個構成配置系統,以使得所述網元能夠作為軟件定義網絡的一部分來操作。
處理系統312被適配成組成配置數據,該配置數據包括用于控制所述網元、對網元的配置系統的第一部分進行配置的配置數據部分,以使在網元處接收到的數據與配置實體專用標識符相關聯,該配置實體專用標識符識別與在網元處接收到的數據有關的配置實體并且構成與在網元處接收到的數據相關聯的元數據的至少一部分。配置數據部分還控制網元以對在該配置系統的第一部分后使用的配置系統的第二部分進行配置,使得當結合在網元處接收到的數據確定待由網元執行的動作時,使用包括該配置實體專用標識符的元數據。配置實體專用標識符可以識別由在網元處接收到的數據表示的應用程序或應用程序組。此外,配置實體專用標識符可以從軟件定義網絡的所有控制器中,識別控制器305以及由在網元處接收到的數據表示的并且由控制器305對于網元進行編程的應用程序或應用程序組。
在根據本發明的示例和非限制實施例的控制器中,處理系統312被適配于變更分別由相互不同配置實體中的一個定義的元數據格式,使得配置實體專用標識符在變更的元數據格式的每一個中處于相同的位置。此外,處理系統312被適配于組成配置數據以包括用于控制網元來使用變更的元數據格式的配置數據部分。
在根據本發明的另一示例和非限制實施例的控制器中,處理系統312被適配于變更分別由相同不同配置實體中的一個定義的元數據格式,以包含用于配置實體專用標識符的附加數據字段。此外,處理系統312被適配于組成配置數據以包括用于控制網元使用變更的元數據格式的配置數據部分。
能夠由一個或多個處理電路實現控制器305的處理系統312,每一處理電路能夠是具有適當軟件、諸如專用集成電路“ASIC”的專用硬件處理器、或諸如現場可編程門陣列“FPGA”的可配置硬件處理器的可編程處理器電路。
圖4示出根據本發明的示例和非限制實施例的方法的用于配置軟件定義網絡的網元的流程圖。該方法包括下述動作:
‐動作401:根據從軟件定義網絡的控制器系統接收到的配置數據,構成用于管理待被轉發的數據的網元的配置系統,以便使網元能夠作為軟件定義網絡的一部分來操作,
‐動作402:對該配置系統的第一部分進行配置,使在網元處接收到的數據與配置實體專用標識符相關聯,該配置實體專用標識符識別與接收的數據有關的配置實體,配置實體專用標識符構成與接收到的數據相關聯的元數據的至少一部分,以及
‐動作403:對在該配置系統的第一部分后使用的該配置系統的第二部分進行配置,使得當協同接收到的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
根據本發明的示例和非限制實施例的方法包括變更分別由相互不同的配置實體中的一個定義的元數據格式,使得配置實體專用標識符在變更的元數據格式的每一個中處于相同的位置。
根據本發明的另一示例和非限制實施例的方法包括變更分別由相互不同的配置實體中的一個定義的元數據格式,以包含用于配置實體專用標識符的附加數據字段。
在根據本發明的示例和非限制實施例的方法中,配置實體專用標識符識別由接收到的數據表示的應用程序或應用程序組。
在根據本發明的示例和非限制實施例的方法中,配置實體專用標識符識別控制器系統中的一個或多個控制器,其中一個或多個控制器已經發送一部分配置數據,使得在配置數據的該部分的基礎上,已經對于配置系統對由接收到的數據表示的應用程序或應用程序組進行編程。
在根據本發明的示例和非限制實施例的方法中,每一應用程序是下述的一種:互聯網語音“VoIP”、視頻點播“VoD”、用于提供游戲服務的在線游戲、用于內容分發的高速緩存和/或圖片高速緩存等。
在根據本發明的示例和非限制實施例的方法中,在下述的至少一個的基礎上,對接收到的數據,確定配置實體專用標識符:
‐OSI模型級1級物理層“L1”字段分類,例如輸入端口號,
‐OSI模型2級數據鏈路層“L2”字段分類,例如虛擬本地接入網“VLAN”,
‐OSI模型3級網絡層“L3”字段分類,例如,網際協議“IP”源地址、IP目的地地址或IP差分服務代碼點“DSCP”,
‐OSI模型4級傳輸層“L4”字段分類,例如傳輸控制協議“TCP”端口號或用戶數據報協議“UDP”端口號,
‐OSI模型5級會話層“L5”字段分類,例如,實時傳輸協議“RTTP”報頭或點對點隧道效應協議“PPTP”報頭,
‐OSI模型6級表示層“L6”字段分類,
‐OSI模型7級應用層“L7”字段分類,例如超文本傳輸協議“HTTP”報頭和/或會話發起協議“SIP”報頭,
‐虛擬專用網“VPN”,
‐服務等級“CoS”,
‐多協議標簽交換“MPLS”頭。
根據本發明的示例和非限制實施例的計算機程序包括計算機可執行指令,該計算機可執行指令用于控制可編程處理系統來執行與根據本發明的上述示例實施例的任何一個的方法有關的動作。
根據本發明的示例和非限制實施例的計算機程序包括用于軟件定義網絡的網元的軟件模塊。軟件模塊包括用于控制網元的可編程處理系統實現下述操作的計算機可執行指令:
‐根據從軟件定義網絡的控制器系統接收到的配置數據,構成用于管理待被轉發的數據的配置系統,以便使網元能夠作為軟件定義網絡的一部分來操作,
‐對配置系統的第一部分進行配置,以使在網元處接收到的數據與配置實體專用標識符相關聯,該配置實體專用標識符識別與接收到的數據有關的配置實體,配置實體專用標識符構成與接收到的數據相關聯的元數據的至少一部分,以及
‐對在配置系統的第一部分后使用的配置系統的第二部分進行配置,以當協同接收的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
根據本發明的示例和非限制實施例的計算機程序包括用于軟件定義網絡的控制器的軟件模塊。軟件模塊包括用于控制控制器的可編程處理系統實現下述操作的計算機可執行指令:
‐組成配置數據,該配置數據用于控制網元構成用于管理待由該網元轉發的數據的配置系統,使得使網元能夠作為軟件定義網絡的一部分來操作,以及
‐對控制器的數據傳輸接口進行控制以將配置數據傳送到網元。
用于控制器的計算機程序的軟件模塊進一步包括計算機可執行指令,該計算機可執行指令用于控制該控制器的可編程處理系統組成用于控制網元的配置數據以實現下述操作:
‐的配置系統的第一部分進行配置,以使在網元處接收到的數據與的配置實體專用標識符相關聯,該配置實體專用標識符識別與在網元處接收的數據有關的配置實體,配置實體專用標識符構成與在網元處接收的數據相關聯的元數據的至少一部分,
‐對在配置系統的第一部分后使用的配置系統的第二部分進行配置,以當協同在網元處接收到的數據確定待由網元執行的動作時,使用包括配置實體專用標識符的元數據。
軟件模塊能夠是例如使用適當的編程語言和適合于該編程語言的編譯器以及所述的可編程處理系統實現的子例程或功能。值得注意的是,對應于適當的編程語言的源代碼也表示計算機可執行軟件模塊,因為源代碼包含控制可編程處理系統來執行上述動作和僅編譯信息的格式的變化所需的信息。此外,用于運行根據本發明的示例實施例的計算機程序的可編程處理系統也可以具有解釋器,使得使用適當編程語言實現的源代碼不需要在運行前被編譯。
根據本發明的示例和非限制實施例的計算機程序產品包括計算機可讀介質,例如壓縮盤“CD”,編碼有根據本發明的示例實施例的用于網元的計算機程序和/或編碼有根據本發明的示例實施例的用于控制器的計算機程序。
對根據本發明的示例和非限制實施例的信號進行編碼以攜帶定義根據本發明的示例實施例的計算機程序的信息。
在上述說明書中提供的具體實例不應當被解釋為限制附加權利要求書的范圍和/或適用性。