3] 在實(shí)施例中,SAL364可被配置成用于例如響應(yīng)于來(lái)自IDE422的請(qǐng)求生成物理 網(wǎng)絡(luò)367的模擬表示。該請(qǐng)求可包括物理網(wǎng)絡(luò)104的配置改變。對(duì)控制參數(shù)(例如,網(wǎng)絡(luò) 設(shè)備設(shè)置)和/或與所請(qǐng)求的配置改變相關(guān)的定制模塊372a,…,37化的修改可由代理252 推送到第一NIC316。SAL364然后可被配置成用于使用物理網(wǎng)絡(luò)367的模擬表示執(zhí)行測(cè) 試。SAL364可被配置成用于將物理網(wǎng)絡(luò)367的模擬表示暴露給主機(jī)205W及由此暴露給 IDE422。SAL364可被配置成用于替代和/或附加于SBAPI368使用產(chǎn)生成功的模擬結(jié) 果的一個(gè)或多個(gè)定制模塊372a,…,372n。
[0044] 因此,可使用SAL364和物理網(wǎng)絡(luò)367的模擬表示在第一NIC316中模擬對(duì)數(shù)據(jù) 面的元件的修改(例如,一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備108a,…,108n的路由行為)。物理網(wǎng)絡(luò)367 的模擬表示然后可對(duì)于主機(jī)205和/或IDE422而言表現(xiàn)為物理網(wǎng)絡(luò)的實(shí)際表示。換言之, 物理網(wǎng)絡(luò)的表示駐留在主機(jī)205中還是駐留在第一NIC316中對(duì)于主機(jī)205而言可W是透 明的。
[0045] 在某些實(shí)施例中,取決于第一NIC316的能力,物理網(wǎng)絡(luò)的多個(gè)模擬表示可駐留 在第一NIC316上。在該些實(shí)施例中,處理器318可與能夠進(jìn)行虛擬化的處理器相對(duì)應(yīng)。 NIC存儲(chǔ)器324然后可包括虛擬機(jī)監(jiān)視器("管理程序")并且物理網(wǎng)絡(luò)的每個(gè)模擬表示可 被包括在與對(duì)應(yīng)的虛擬機(jī)相關(guān)聯(lián)的對(duì)應(yīng)SAL中。物理網(wǎng)絡(luò)的該多個(gè)模擬表示中的物理網(wǎng)絡(luò) 的每個(gè)模擬表示可由對(duì)應(yīng)的IDE和相關(guān)聯(lián)的網(wǎng)絡(luò)管理員使用。
[0046] 因此,IDE422、代理252W及SAL364被配置成用于根據(jù)本公開(kāi)的各實(shí)施例提供 混合SDN控制器的定制、模擬化及測(cè)試能力。物理網(wǎng)絡(luò)367的模擬表示可由駐留在第一NIC 316中的SAL364暴露給主機(jī)205??缮刹y(cè)試定制模塊372a,…,372n,和/或可在將 控制設(shè)置推送到實(shí)際物理網(wǎng)絡(luò)104之前對(duì)其進(jìn)行修改并測(cè)試。
[0047] 在實(shí)施例中,OS360可被配置成用于維護(hù)與第一NIC316的操作相關(guān)的網(wǎng)絡(luò)堆找 361。網(wǎng)絡(luò)堆找361可包括路由表和/或相關(guān)的網(wǎng)絡(luò)信息。OS360和/或SAL364然后可 被配置成用于至少部分地基于由NICOS360維護(hù)的網(wǎng)絡(luò)堆找361將網(wǎng)絡(luò)數(shù)據(jù)暴露給例如 主機(jī)205。網(wǎng)絡(luò)數(shù)據(jù)對(duì)應(yīng)于與物理網(wǎng)絡(luò)366的表示相關(guān)的網(wǎng)絡(luò)抽象信息。例如,網(wǎng)絡(luò)數(shù)據(jù)可 包括物理網(wǎng)絡(luò)104的與節(jié)點(diǎn)106a,…,106n和/或網(wǎng)絡(luò)設(shè)備108a,…,108n相關(guān)的網(wǎng)絡(luò)拓?fù)?的細(xì)節(jié),例如,網(wǎng)絡(luò)配置數(shù)據(jù)(例如,編號(hào)、類(lèi)型、位置、設(shè)置等等)。
[0048] 因此,OS360可被配置成用于維護(hù)與物理網(wǎng)絡(luò)366和物理網(wǎng)絡(luò)104的表示相關(guān)的 網(wǎng)絡(luò)堆找361。SAL364可使用NIC網(wǎng)絡(luò)堆找361來(lái)建立物理網(wǎng)絡(luò)364的表示。換言之,SAL 364可被配置成用于將網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換成適合SDN控制器功能的形式。物理網(wǎng)絡(luò)366的表示可 包括例如數(shù)據(jù)庫(kù)中的與節(jié)點(diǎn)106a,…,106和/或網(wǎng)絡(luò)設(shè)備108a,…,108n及其配置(例如, 控制設(shè)置)相關(guān)的一組對(duì)象和/或條目。SAL364可被進(jìn)一步配置成用于將數(shù)據(jù)庫(kù)中的該組 對(duì)象和/或條目轉(zhuǎn)換成目標(biāo)格式W及將經(jīng)轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳遞給例如主機(jī)205和SDN模塊 236。例如,目標(biāo)格式可包括由網(wǎng)絡(luò)服務(wù)(即,被設(shè)計(jì)成支持網(wǎng)絡(luò)上的互操作機(jī)器到機(jī)器交 互的軟件系統(tǒng))使用的數(shù)據(jù)格式。數(shù)據(jù)格式可包括XML(擴(kuò)展標(biāo)記語(yǔ)言)、JSON(JavaScript 對(duì)象標(biāo)注)和/或SOAP(簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議)。XML是定義用于W人類(lèi)可讀和機(jī)器可讀的 格式對(duì)文檔進(jìn)行編碼的一組規(guī)則。XML可符合或兼容于2008年11月26日發(fā)布的標(biāo)題為 "可擴(kuò)展標(biāo)記語(yǔ)言狂ML) 1. 0 (第五版)"的萬(wàn)維網(wǎng)聯(lián)盟("W3C")推薦和/或該推薦的稍后 版本。JS0N是基于于1999年12月發(fā)布的化vaScript編程語(yǔ)言(標(biāo)準(zhǔn)ECMA-262第S版) 的子集的數(shù)據(jù)交換格式。SOAP是旨在用于在非集中式、分布式環(huán)境中交換結(jié)構(gòu)信息的協(xié)議。 SOAP使用XML技術(shù)來(lái)定義被配置成提供可通過(guò)多種底層協(xié)議交換的消息構(gòu)造的可擴(kuò)展消 息傳送框架。SOAP可符合或兼容于2007年4月27日發(fā)布的標(biāo)題為"SOAP版本1. 2部分 1 ;消息傳送框架(第二版)"的W3C推薦和/或該推薦的稍后版本。在另一個(gè)示例中,目標(biāo) 格式可與同SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)相關(guān)聯(lián)的MIBS(管理信息庫(kù))相對(duì)應(yīng)。在另一個(gè)示 例中,目標(biāo)格式可與由例如網(wǎng)絡(luò)管理員選擇的并且由例如IDE422定義的定制格式(例如, 接口)相對(duì)應(yīng)。經(jīng)轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)總體上可包括每個(gè)網(wǎng)絡(luò)設(shè)備108a,…,108n的能力并且 可進(jìn)一步包括與每個(gè)網(wǎng)絡(luò)設(shè)備108a,…,108n相關(guān)聯(lián)的配置設(shè)置。在某些實(shí)施例中,經(jīng)轉(zhuǎn)換 的網(wǎng)絡(luò)數(shù)據(jù)可包括與節(jié)點(diǎn)106a,…,106n相關(guān)的網(wǎng)絡(luò)拓?fù)涓淖儭?br>[0049] 在實(shí)施例中,第一NIC316可被配置成用于處理所接收的包括例如消息和/或數(shù) 據(jù)的網(wǎng)絡(luò)分組和/或帖。所接收的網(wǎng)絡(luò)分組和/或帖可被轉(zhuǎn)發(fā)到主機(jī)(例如,主機(jī)205)而 不進(jìn)行修改,可被修改然后轉(zhuǎn)發(fā)到主機(jī)205,或者可不被轉(zhuǎn)發(fā)到主機(jī)205。例如,MAC322可 被配置成用于從物理網(wǎng)絡(luò)104接收包括任何分組(即,所有分組)的網(wǎng)絡(luò)通信量。SAL364 然后可被配置成用于至少部分地基于所接收到的分組(即,網(wǎng)絡(luò)通信量)的檢查確定物理 網(wǎng)絡(luò)104的狀態(tài)和/或物理網(wǎng)絡(luò)拓?fù)涫欠褚呀?jīng)改變。網(wǎng)絡(luò)拓?fù)涓淖兛砂ㄒ粋€(gè)或多個(gè)節(jié)點(diǎn) (例如,節(jié)點(diǎn)106a,…,106n)禪合到物理網(wǎng)絡(luò)104或從其解禪合、節(jié)點(diǎn)位置改變、鏈路狀態(tài) 改變和/或新的服務(wù)被部署在節(jié)點(diǎn)內(nèi)。網(wǎng)絡(luò)狀態(tài)可包括服務(wù)質(zhì)量、錯(cuò)誤率、狀態(tài)信息和/或 總體上與網(wǎng)絡(luò)設(shè)備108a,…,108n有關(guān)的資源的任何改變。SAL364可被配置成用于將與 物理網(wǎng)絡(luò)104狀態(tài)和/或拓?fù)涓淖冇嘘P(guān)的信息轉(zhuǎn)發(fā)到主機(jī)205并且到SDN模塊236。因此, 物理網(wǎng)絡(luò)104狀態(tài)和/或拓?fù)涓淖兇_定可由第一NIC316執(zhí)行。
[0化日]在另一個(gè)實(shí)施例中,主機(jī)接口 320 (W及MAC321)可被配置成用于將從主機(jī)205 接收的任何分組轉(zhuǎn)發(fā)到MAC322W便傳輸?shù)轿锢砭W(wǎng)絡(luò)104。包括在來(lái)自主機(jī)205的分組中 的任何有用信息然后可由例如SAL364提取。有用信息包括任何SDN相關(guān)的信息,例如,至U SBAPI368的消息。有用信息然后可被截獲并且用于操縱例如物理網(wǎng)絡(luò)366的表示。 [0化1] 因此,SAL364可被配置成用于通過(guò)將MAC322配置成用于接收所有網(wǎng)絡(luò)通信量 (即,"混雜模式")和/或監(jiān)控從主機(jī)205到例如SBAPI368的分組(例如,消息)監(jiān)控網(wǎng) 絡(luò)操作。SAL364可被進(jìn)一步配置成用于至少部分地基于所監(jiān)控的分組選擇性地將與網(wǎng)絡(luò) 狀態(tài)和/或配置有關(guān)的信息轉(zhuǎn)發(fā)到主機(jī)205和/或更新網(wǎng)絡(luò)366的物理表示。因此,第一 NIC316的能力可被開(kāi)發(fā)W便支持包括主機(jī)SDN模塊236和NICSDN模塊362的混合SDN 控制器的SDN功能。
[0化2] 在實(shí)施例中,主機(jī)205可包括完整網(wǎng)絡(luò)堆找231。網(wǎng)絡(luò)堆找231可包括路由表和/ 或相關(guān)的網(wǎng)絡(luò)信息。在本實(shí)施例中,網(wǎng)絡(luò)數(shù)據(jù)可由主機(jī)205維護(hù)。網(wǎng)絡(luò)接口(例如第一NIC316W及例如SAL364)可被配置成用于將網(wǎng)絡(luò)狀態(tài)和/或配置改變傳遞到主機(jī)205 (例如, 0S230和/或SDN模塊236)。傳遞到主機(jī)205的對(duì)物理網(wǎng)絡(luò)104的修改然后可導(dǎo)致網(wǎng)絡(luò) 堆找231的更新。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆找231可與相對(duì)有限的堆找相對(duì)應(yīng)。在本實(shí) 施例中,OS230可包括被配置成用于高效w及相對(duì)快速的分組處理的軟件框架。例如,軟件 框架可符合或兼容被配置成用于優(yōu)化英特爾愈架構(gòu)處理器上的分組處理的數(shù)據(jù)面開(kāi)發(fā)套 件值PDK)。當(dāng)然,英特爾⑥架構(gòu)僅僅是示例實(shí)現(xiàn)方式,并且在其他實(shí)施例中,在此展現(xiàn)的教 導(dǎo)可用于如可由例如摩托羅拉?、蘋(píng)果@等等提供的其他內(nèi)核架構(gòu)技術(shù)。在該兩個(gè)實(shí)施例 中,主機(jī)處理器210上的與分組處理有關(guān)的處理負(fù)荷可總體上受限,因?yàn)榈谝籒IC316 (W 及SAL364)可被配置成用于僅傳遞對(duì)物理網(wǎng)絡(luò)104的修改(即,改變)。還可通過(guò)將例如 MAC322配置成用于監(jiān)控所有網(wǎng)絡(luò)通信量(即,混雜模式)來(lái)促進(jìn)錯(cuò)誤調(diào)試,如在此所描述 的。
[0化3] 因此,根據(jù)本公開(kāi)的各實(shí)施例的混合SDN控制器的第一部分可在計(jì)算設(shè)備的主機(jī) (例如,主機(jī)205)上實(shí)現(xiàn),并且混合SDN控制器的第二部分可在包括在計(jì)算設(shè)備內(nèi)的網(wǎng)絡(luò)接 口控制器(例如,第一NIC316)上實(shí)現(xiàn)。第一部分可包括主機(jī)SDN模塊236 (例如,NBAPI 240、網(wǎng)絡(luò)服務(wù)功能242、網(wǎng)絡(luò)編制功能244W及網(wǎng)絡(luò)管理功能246)。第二部分可包括SAL 364 (包括物理網(wǎng)絡(luò)366的表示)、SBAPI368和/或一個(gè)或多個(gè)被配置成用于與包括在物 理網(wǎng)絡(luò)104中的網(wǎng)絡(luò)設(shè)備108a,…108n通信(例如,控制)的定制模塊372a,…,372n。使 用例如MAC322和/或主機(jī)接口 320 (化及MAC321)的第一NIC316可被配置成用于監(jiān)控 有待傳輸?shù)木W(wǎng)絡(luò)通信量和/或分組W及檢測(cè)物理網(wǎng)絡(luò)104狀態(tài)和/或?qū)ξ锢砭W(wǎng)絡(luò)104拓 撲的修改。SAL364然后可更新網(wǎng)絡(luò)366的物理表示并且可將狀態(tài)和/或修改傳遞到主機(jī) 205。SAL364和/或SBAPI368可由或代表例如第一NIC316CEM被高效地編碼。主機(jī)處 理器210上的處理負(fù)荷可因此被降低。
[0054]圖5示出根據(jù)本公開(kāi)的一個(gè)實(shí)施例的另一個(gè)示例網(wǎng)絡(luò)接口控制器(例如,標(biāo)準(zhǔn)網(wǎng) 絡(luò)接口控制器516)。與第一NIC316相比,標(biāo)準(zhǔn)網(wǎng)絡(luò)