心網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬的消耗的增加等)。
[0048]控制器127生成用于第一網(wǎng)絡(luò)單元122的流轉(zhuǎn)發(fā)規(guī)則,其中流轉(zhuǎn)發(fā)規(guī)則被配置以指令第一網(wǎng)絡(luò)單元122向由控制器127選擇的第二網(wǎng)絡(luò)單元122 (而不是向控制器127)傳播新的流請(qǐng)求,使得第二網(wǎng)絡(luò)單元122將向?yàn)榈谝痪W(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)在第一網(wǎng)絡(luò)單元122處接收的新的流請(qǐng)求至控制器127。
[0049]在至少一些實(shí)施例中,當(dāng)使用完全流偏轉(zhuǎn)時(shí),流轉(zhuǎn)發(fā)規(guī)則指示在第一網(wǎng)絡(luò)單元122處接收的所有新的流請(qǐng)求將從第一網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)到第二網(wǎng)絡(luò)單元122。
[0050]在至少一些實(shí)施例中,當(dāng)使用選擇性流偏轉(zhuǎn)時(shí),流轉(zhuǎn)發(fā)規(guī)則指示在第一網(wǎng)絡(luò)單元122處接收的新的流請(qǐng)求的一小部分將從第一網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)到第二網(wǎng)絡(luò)單元122 (同時(shí)在第一網(wǎng)絡(luò)單元122處接收的新的流請(qǐng)求的剩余部分將由第一網(wǎng)絡(luò)單元122在本地處理)。被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122的在第一網(wǎng)絡(luò)單元122處接收的新數(shù)據(jù)流的所述一小部分可以以任何合適的方式來(lái)選擇(例如基于在第一網(wǎng)絡(luò)單元122處檢測(cè)到的利用狀況的資源類型、基于在第一網(wǎng)絡(luò)單元122處感興趣的資源的利用水平等等)。例如,當(dāng)資源利用率為70 %時(shí)所述一小部分可以為30 %、當(dāng)資源利用率為90 %時(shí)所述一小部分可以為40 %等等。被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122的在第一網(wǎng)絡(luò)單元122處接收的新的數(shù)據(jù)流的一小部分上的控制(例如以便實(shí)現(xiàn)數(shù)據(jù)流希望或需要部分的偏轉(zhuǎn))可以以任何合適的方式(例如,基于數(shù)據(jù)流的流定義)實(shí)現(xiàn)。在至少一些實(shí)施例中,來(lái)自流報(bào)頭(header)的隨機(jī)位(例如,流報(bào)頭的源前綴或其它部分)可以被選擇作為用于確定哪些流從第一網(wǎng)絡(luò)單元122被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122以及哪些流在第一網(wǎng)絡(luò)單元122處被本地處理的基礎(chǔ)。在至少一些實(shí)施例中,用于偏轉(zhuǎn)部分的位的選擇可以是動(dòng)態(tài)的,以便使?jié)撛诘墓粽吒与y以確定選擇性流偏轉(zhuǎn)的基礎(chǔ)。在至少一些實(shí)施例中,被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122的在第一網(wǎng)絡(luò)單元122處接收的新的數(shù)據(jù)流的一小部分上的控制可以基于數(shù)據(jù)流地址的前綴(例如,因特網(wǎng)協(xié)議(IP)尋址、媒體訪問(wèn)控制(MAC)地址等)、數(shù)據(jù)流的協(xié)議(例如,超文本傳輸協(xié)議(HTTP)、HTTP安全(HTTPS)、文件傳輸協(xié)議(FTP)等)、數(shù)據(jù)流的端口數(shù)等,以及它們的各種組合。
[0051]控制器127向第一網(wǎng)絡(luò)單元122傳播流轉(zhuǎn)發(fā)規(guī)則。第一網(wǎng)絡(luò)單元122接收由控制器127生成的流轉(zhuǎn)發(fā)規(guī)則并存儲(chǔ)該流轉(zhuǎn)發(fā)規(guī)則。第一網(wǎng)絡(luò)單元122使用流轉(zhuǎn)發(fā)規(guī)則以向由控制器127選擇的第二網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)新的流請(qǐng)求。應(yīng)當(dāng)指出,新的流請(qǐng)求是第一網(wǎng)絡(luò)單元122是接收所述新的流請(qǐng)求的SDN的第一網(wǎng)絡(luò)單元的新的流請(qǐng)求。例如,對(duì)于源自數(shù)據(jù)中心102的主機(jī)服務(wù)器110中的一個(gè)主機(jī)服務(wù)器的VM 112中的一個(gè)VM的數(shù)據(jù)流,所述主機(jī)服務(wù)器110中的一個(gè)主機(jī)服務(wù)器相關(guān)聯(lián)的ToR交換機(jī)12\是SDN的第一網(wǎng)絡(luò)單元以接收用于數(shù)據(jù)流的新的流請(qǐng)求。例如,對(duì)于源自數(shù)據(jù)中心102外部的設(shè)備并且旨在用于數(shù)據(jù)中心102的主機(jī)服務(wù)器110中的一個(gè)主機(jī)服務(wù)器的VM 110中的一個(gè)VM的數(shù)據(jù)流,作為到數(shù)據(jù)中心網(wǎng)絡(luò)120的入口點(diǎn)的路由器122κ是SDN的第一網(wǎng)絡(luò)單元以接收用于該數(shù)據(jù)流的新的流請(qǐng)求。該新的流請(qǐng)求可以是以數(shù)據(jù)流的第一數(shù)據(jù)分組、數(shù)據(jù)流請(qǐng)求消息等的形式。
[0052]在至少一些實(shí)施例中,當(dāng)流轉(zhuǎn)發(fā)規(guī)則是用于完全流偏轉(zhuǎn)的時(shí),基于在第一網(wǎng)絡(luò)單元122處對(duì)新的數(shù)據(jù)流的請(qǐng)求的接受,第一網(wǎng)絡(luò)單元122根據(jù)由控制器127在第一網(wǎng)絡(luò)單元122上安裝的所述流轉(zhuǎn)發(fā)規(guī)則向第二網(wǎng)絡(luò)單元122 (而不是控制器127)轉(zhuǎn)發(fā)對(duì)新的數(shù)據(jù)流的新的流請(qǐng)求。
[0053]在至少一些實(shí)施例中,當(dāng)流量轉(zhuǎn)發(fā)規(guī)則是用于選擇性流偏轉(zhuǎn)的時(shí),基于在第一網(wǎng)絡(luò)單元122處對(duì)新的數(shù)據(jù)流的請(qǐng)求的接受,第一網(wǎng)絡(luò)單元122確定該新的流請(qǐng)求的新的數(shù)據(jù)流是被本地處理還是被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122。如以上所指出的,關(guān)于該新的流請(qǐng)求的新的數(shù)據(jù)流是被本地處理還是被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122的確定可基于該數(shù)據(jù)流的流定義(例如來(lái)自流報(bào)頭的隨機(jī)位、地址信息、協(xié)議、端口號(hào)信息等)來(lái)做出?;谠撔碌牧髡?qǐng)求將被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122的確定,第一網(wǎng)絡(luò)單元122根據(jù)由控制器127在第一網(wǎng)絡(luò)單元122上安裝的流轉(zhuǎn)發(fā)規(guī)則向第二網(wǎng)絡(luò)單元122 (而不是控制器127)轉(zhuǎn)發(fā)用于該新的流的新的流請(qǐng)求。基于該新的流請(qǐng)求沒(méi)有被偏轉(zhuǎn)到第二網(wǎng)絡(luò)單元122的確定,第一網(wǎng)絡(luò)單元122向控制器127 (而不是第二網(wǎng)絡(luò)單元122)轉(zhuǎn)發(fā)用于該新的流的新的流請(qǐng)求。
[0054]基于由第二網(wǎng)絡(luò)單元122確定的與當(dāng)前不由第二網(wǎng)絡(luò)單元122支持的新的數(shù)據(jù)流相關(guān)聯(lián)的新的流請(qǐng)求(例如,基于在第二網(wǎng)絡(luò)單元122的轉(zhuǎn)發(fā)表中的查找),第二網(wǎng)絡(luò)單元122從第一網(wǎng)絡(luò)單元122接收新的流請(qǐng)求,并將該新的流請(qǐng)求轉(zhuǎn)發(fā)至控制器127。
[0055]控制器127從第二網(wǎng)絡(luò)單元122接收第一網(wǎng)絡(luò)單元122的新的流請(qǐng)求,并處理該第一網(wǎng)絡(luò)單元122的新的流請(qǐng)求,如同該第一交換機(jī)的新的流請(qǐng)求是第二網(wǎng)絡(luò)單元122的新的流請(qǐng)求(例如,通過(guò)確定用于該新的數(shù)據(jù)流的路徑,并且在由控制器127選擇出的包含在用于該新的數(shù)據(jù)流的數(shù)據(jù)路徑中的每一個(gè)網(wǎng)絡(luò)單元122上安裝用于該新的數(shù)據(jù)流的數(shù)據(jù)路徑的轉(zhuǎn)發(fā)規(guī)則)。
[0056]在至少一些實(shí)施例中,流標(biāo)識(shí)符可以與從第一網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)到第二網(wǎng)絡(luò)單元122的新的流請(qǐng)求相關(guān)聯(lián)。通過(guò)第一網(wǎng)絡(luò)單元122,流標(biāo)識(shí)符可被添加至從第一網(wǎng)絡(luò)單元122被發(fā)送給第二網(wǎng)絡(luò)單元122的新的流請(qǐng)求。流標(biāo)識(shí)符可通過(guò)第二網(wǎng)絡(luò)單元122與新的流相關(guān)聯(lián)(例如通過(guò)分配用于數(shù)據(jù)流的流標(biāo)識(shí)符并將流標(biāo)識(shí)符與在第二網(wǎng)絡(luò)單元122處存儲(chǔ)的用于該數(shù)據(jù)流的數(shù)據(jù)流信息相關(guān)聯(lián))。第二網(wǎng)絡(luò)單元122使用流標(biāo)識(shí)符來(lái)區(qū)分作為流偏轉(zhuǎn)的一部分從第一網(wǎng)絡(luò)單元122接收的新的流請(qǐng)求和第二網(wǎng)絡(luò)單元的本地?cái)?shù)據(jù)流(例如在沒(méi)有使用流偏轉(zhuǎn)的情況下在第二交換機(jī)處接收的用于數(shù)據(jù)流請(qǐng)求的數(shù)據(jù)流)。第二網(wǎng)絡(luò)單元122可被配置以給出較某些狀況下的被偏轉(zhuǎn)數(shù)據(jù)流更高優(yōu)先級(jí)的本地?cái)?shù)據(jù)流(例如當(dāng)?shù)诙W(wǎng)絡(luò)單元122經(jīng)歷TCAM利用狀況時(shí)、當(dāng)?shù)诙W(wǎng)絡(luò)單元122經(jīng)歷CPU利用狀況時(shí)等)。流標(biāo)識(shí)符可使用多協(xié)議標(biāo)簽交換(MPLS)標(biāo)簽(例如由自O(shè)penFlowl.1以來(lái)的OpenFlow支持的MPLS標(biāo)簽處理)、虛擬局域網(wǎng)(VLAN)標(biāo)識(shí)符、或任何其它合適類型的標(biāo)識(shí)符來(lái)實(shí)現(xiàn)。
[0057]應(yīng)當(dāng)理解,新的流請(qǐng)求可以是新的流的第一分組(例如如關(guān)于在OpenFlow網(wǎng)絡(luò)中的數(shù)據(jù)流的建立所描述的),或任何其它合適類型的新的流請(qǐng)求消息。
[0058]應(yīng)當(dāng)理解,為清楚起見(jiàn),前面的描述假定第二網(wǎng)絡(luò)單元122是第一網(wǎng)絡(luò)單元122的一跳鄰居。當(dāng)?shù)诙W(wǎng)絡(luò)單元122不是第一網(wǎng)絡(luò)單元122的一跳鄰居而是相反通過(guò)一個(gè)或多個(gè)中間網(wǎng)絡(luò)單元122與第一網(wǎng)絡(luò)單元122分離時(shí),控制器127生成用于每一個(gè)中間網(wǎng)絡(luò)單元122的流轉(zhuǎn)發(fā)規(guī)則并向中間網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)該流轉(zhuǎn)發(fā)規(guī)則,以使得第一網(wǎng)絡(luò)單元122的新的流請(qǐng)求可經(jīng)由中間網(wǎng)絡(luò)單元122傳播到第二網(wǎng)絡(luò)單元122。例如,在第二網(wǎng)絡(luò)單元122是第一網(wǎng)絡(luò)單元122的兩跳鄰居并且中間網(wǎng)絡(luò)單元122被選擇以支持從第一網(wǎng)絡(luò)單元122到第二網(wǎng)絡(luò)單元122的流偏轉(zhuǎn)時(shí),控制器127向第一網(wǎng)絡(luò)單元122發(fā)送第一流轉(zhuǎn)發(fā)規(guī)則(例如,指示第一網(wǎng)絡(luò)單元122以向中間網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)在第一網(wǎng)絡(luò)單元122處接收的新的流請(qǐng)求),并且向中間網(wǎng)絡(luò)單元122發(fā)送第二流轉(zhuǎn)發(fā)規(guī)則(例如,指示中間網(wǎng)絡(luò)單元122以向第二網(wǎng)絡(luò)單元122轉(zhuǎn)發(fā)在中間網(wǎng)絡(luò)單元122處從第一網(wǎng)絡(luò)單元122接收的新的流請(qǐng)求)。
[0059]應(yīng)當(dāng)理解,選擇性流偏轉(zhuǎn)的使用使的新的數(shù)據(jù)流能夠被偏轉(zhuǎn)到多個(gè)網(wǎng)絡(luò)單元122??刂破?27可以選擇多個(gè)鄰居網(wǎng)絡(luò)單元122,生成用于多個(gè)鄰居網(wǎng)絡(luò)單元122的多個(gè)偏轉(zhuǎn)規(guī)貝1J,并且在第一網(wǎng)絡(luò)單元122上安裝所述多個(gè)偏轉(zhuǎn)規(guī)則。多個(gè)鄰居網(wǎng)絡(luò)單元122的選擇可以以任何合適的方式來(lái)執(zhí)行(例如生成候選鄰居網(wǎng)絡(luò)單元122的單個(gè)列表并從該候選鄰居網(wǎng)絡(luò)單元122的列表選擇多個(gè)鄰居網(wǎng)絡(luò)單元122、生成候選鄰居網(wǎng)絡(luò)單元122的多個(gè)列表并從該候選鄰居網(wǎng)絡(luò)單元122的多個(gè)列表選擇多個(gè)鄰居網(wǎng)絡(luò)單元122,等等)。
[0060]應(yīng)當(dāng)理解,由控制器127計(jì)算的用于新的數(shù)據(jù)流的數(shù)據(jù)路徑可以或可以不包括第一網(wǎng)絡(luò)單元122??梢灶A(yù)期的是,在良好連接的網(wǎng)絡(luò)中,控制器127將能夠識(shí)別用于不包括第一網(wǎng)絡(luò)單元122 (或可能經(jīng)歷資源利用狀況的任何其它網(wǎng)絡(luò)單元122)的新的數(shù)據(jù)流的路徑。然而,在沒(méi)有很好連接的網(wǎng)絡(luò)中或者甚至在連接良好的網(wǎng)絡(luò)中的某些情況下,控制器127可確定數(shù)據(jù)路徑必須或者應(yīng)當(dāng)穿過(guò)第一網(wǎng)絡(luò)單元122(或者,如上述所指出的,可能經(jīng)歷資源利用狀況的任何其它網(wǎng)絡(luò)單元122)。在至少一些實(shí)施例中,其中計(jì)算出的用于新的數(shù)據(jù)流的數(shù)據(jù)路徑包括經(jīng)歷資源利用狀況的網(wǎng)絡(luò)單元122、一個(gè)隧道或多個(gè)隧道(例如,一個(gè)或多個(gè)MPLS隧道或任何其它合適類型的隧道)可被配置以便使數(shù)據(jù)流的流量能夠通過(guò)經(jīng)歷資源利用狀況的網(wǎng)絡(luò)單元122。
[0061]應(yīng)當(dāng)理解,雖然流偏轉(zhuǎn)擴(kuò)展了可用于共享的用于處理額外負(fù)載的資源的量,但是該可用資源量的擴(kuò)展的達(dá)成可能以為偏轉(zhuǎn)的流而計(jì)算和使用的數(shù)據(jù)路徑的路徑長(zhǎng)度的增加為代價(jià)。在至少一些實(shí)施例中,控制器127可被配置以平衡這樣的利益沖突。
[0062]控制器127被配置以持續(xù)監(jiān)視用于當(dāng)在第一網(wǎng)絡(luò)單元122處的流偏轉(zhuǎn)可被移除時(shí)進(jìn)行確定的第一網(wǎng)絡(luò)單元122,并且基于在第一網(wǎng)絡(luò)單元122處的流偏轉(zhuǎn)可被移除的確定,啟動(dòng)第一網(wǎng)絡(luò)單元122處的流偏轉(zhuǎn)的移除。
[0063]在第一網(wǎng)絡(luò)單元122處的流偏轉(zhuǎn)可被移除的確定可以基于在第一網(wǎng)絡(luò)單元122上不再存在資源利用狀況的確定(例如在第一網(wǎng)絡(luò)單元122上的TCAM利用率下降到低于用來(lái)啟動(dòng)流偏轉(zhuǎn)的閾值、在第一網(wǎng)絡(luò)單元122上的CPU利用率下降到低于用來(lái)啟動(dòng)流偏轉(zhuǎn)的閾值等)。
[0064]在第一網(wǎng)絡(luò)單元122處的流偏轉(zhuǎn)可被移除的確定可以基于在第一網(wǎng)絡(luò)單元122處不同的資源利用狀況被滿足的確定。例如,基于在第一網(wǎng)絡(luò)單元122處的TCAM利用率超過(guò)85%的確定,在第一網(wǎng)絡(luò)單元122處啟動(dòng)流偏轉(zhuǎn),基于在第一網(wǎng)絡(luò)單元122處的TCAM利用率下降到低于80%,可在第一網(wǎng)絡(luò)單元122處移除流偏轉(zhuǎn)。例如,基于在第一網(wǎng)絡(luò)單元122處的CPU利用率超過(guò)92%的確定,在第一網(wǎng)絡(luò)單元122處啟動(dòng)流偏轉(zhuǎn),基于在第一網(wǎng)絡(luò)單元122處的CPU利用率下降到低于88%,可在第一網(wǎng)絡(luò)單元122