用于在網(wǎng)絡(luò)控制協(xié)議中動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的方法
【專利說(shuō)明】
[0001]相關(guān)申請(qǐng)交叉參考
[0002] 本專利申請(qǐng)要求2013年5月7日遞交的發(fā)明名稱為"用于在網(wǎng)絡(luò)控制協(xié)議中動(dòng)態(tài)地 綁定頭字段標(biāo)識(shí)符的方法"的第61/820,331號(hào)美國(guó)臨時(shí)申請(qǐng)的優(yōu)先權(quán),以及2014年5月5日 遞交的發(fā)明名稱為"用于在網(wǎng)絡(luò)控制協(xié)議中動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的方法"的第14/269, 704號(hào)美國(guó)專利申請(qǐng)的優(yōu)先權(quán),在先申請(qǐng)的內(nèi)容如同全文復(fù)制一般以引入的方式并入本文 本中。
技術(shù)領(lǐng)域
[0003] 本發(fā)明大體上涉及基于包的通信,以及在特定實(shí)施例中,涉及用于在網(wǎng)絡(luò)控制協(xié) 議中動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的方法。
【背景技術(shù)】
[0004] 控制網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)行為的例如OpenFlow的協(xié)議,通常是指識(shí)別可能受特定轉(zhuǎn)發(fā)處 理的信息流的特定信息(頭字段、時(shí)隙等)。在OpenF 1 〇w中,例如,f 1 〇w_mod消息通過(guò)使用分 配給特定預(yù)定義頭字段的標(biāo)識(shí)符值來(lái)識(shí)別在包中匹配的信息。當(dāng)協(xié)議被指定時(shí),這些標(biāo)識(shí) 符值是綁定的(例如,經(jīng)定義以表示)頭字段。該方法是不靈活的,因?yàn)樗枰薷膮f(xié)議規(guī)范 以引入對(duì)新的頭字段或先前未被分配標(biāo)識(shí)符值的現(xiàn)有頭字段的支持。這阻礙了創(chuàng)新,并且 因此需要支持新的頭字段的更靈活的技術(shù)。
【發(fā)明內(nèi)容】
[0005] 通過(guò)描述用于在網(wǎng)絡(luò)控制協(xié)議中動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的方法的本發(fā)明的實(shí) 施例,大體上實(shí)現(xiàn)了技術(shù)優(yōu)勢(shì)。
[0006] 根據(jù)一個(gè)實(shí)施例,提供一種用于動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的方法。在此實(shí)例中,所 述方法包括將綁定請(qǐng)求發(fā)送到SDN域的SDN交換機(jī)。所述綁定請(qǐng)求請(qǐng)求建立動(dòng)態(tài)地使頭字段 與第一頭字段標(biāo)識(shí)符相關(guān)聯(lián)的動(dòng)態(tài)頭定義。所述方法進(jìn)一步包括判定SDN交換機(jī)是否確認(rèn) 動(dòng)態(tài)頭定義的建立。當(dāng)SDN交換機(jī)確認(rèn)動(dòng)態(tài)頭定義的建立時(shí),第一頭字段標(biāo)識(shí)符被配置為識(shí) 別傳輸?shù)絊DN交換機(jī)的消息中的頭字段。還提供用于執(zhí)行此方法的裝置。
[0007] 根據(jù)另一實(shí)施例,用于動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的另一方法。在此實(shí)例中,所述方 法包括接收來(lái)自SDN控制器的綁定請(qǐng)求。所述綁定請(qǐng)求請(qǐng)求建立動(dòng)態(tài)地使頭字段與第一頭 字段標(biāo)識(shí)符相關(guān)聯(lián)的動(dòng)態(tài)頭定義。所述方法進(jìn)一步包括將或者確認(rèn)或者拒絕動(dòng)態(tài)頭定義的 建立的綁定響應(yīng)發(fā)送到SDN控制器,并且當(dāng)綁定響應(yīng)確認(rèn)動(dòng)態(tài)頭定義的建立時(shí),使用第一頭 字段標(biāo)識(shí)符來(lái)識(shí)別通過(guò)SDN交換機(jī)接收到的消息中的頭字段。還提供用于執(zhí)行此方法的裝 置。
【附圖說(shuō)明】
[0008] 為了更完整地理解本發(fā)明及其優(yōu)點(diǎn),現(xiàn)在參考下文結(jié)合附圖進(jìn)行的描述,其中:
[0009] 圖1示出一個(gè)實(shí)施例的SDN架構(gòu)的圖;
[0010] 圖2示出一個(gè)實(shí)施例的用于動(dòng)態(tài)地將頭字段標(biāo)識(shí)符綁定到頭字段類型的通信序列 的協(xié)議圖;
[0011] 圖3示出一個(gè)實(shí)施例的用于動(dòng)態(tài)地將頭字段標(biāo)識(shí)符綁定到頭字段類型的方法的流 程圖;
[0012] 圖4示出另一實(shí)施例的用于動(dòng)態(tài)地將頭字段標(biāo)識(shí)符綁定到頭字段類型的方法的流 程圖;
[0013] 圖5示出展示用于動(dòng)態(tài)地將頭字段標(biāo)識(shí)符綁定到頭字段類型的實(shí)施例的技術(shù)的優(yōu) 勢(shì)的圖表;
[0014] 圖6示出實(shí)施例的頭字段/類型ID綁定信息格式的圖;
[0015] 圖7示出一個(gè)實(shí)施例的通信設(shè)備的圖;以及
[0016] 圖8示出一個(gè)實(shí)施例的計(jì)算平臺(tái)的圖。
[0017] 除非另有說(shuō)明,否則不同圖中的對(duì)應(yīng)標(biāo)號(hào)和符號(hào)通常指代對(duì)應(yīng)的部分。繪制各圖 是為了清楚地說(shuō)明實(shí)施例的相關(guān)方面,因此未必是按比例繪制的。
【具體實(shí)施方式】
[0018] 下文將詳細(xì)論述本發(fā)明實(shí)施例的制作和使用。但應(yīng)了解,本發(fā)明提供的許多可適 用的發(fā)明構(gòu)思可實(shí)施在多種具體環(huán)境中。所論述的具體實(shí)施例僅僅說(shuō)明用于實(shí)施和使用本 發(fā)明的具體方式,而不限制本發(fā)明的范圍。
[0019] 本發(fā)明的各方面提供一種在SDN架構(gòu)中用于動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符使得頭字段 能夠由SDN交換機(jī)識(shí)別并操縱(例如,匹配、修改等)的方法。在一個(gè)實(shí)施例中,SDN控制器將 綁定請(qǐng)求發(fā)送到SDN交換機(jī)以請(qǐng)求頭字段標(biāo)識(shí)符動(dòng)態(tài)地與頭字段類型相關(guān)聯(lián)。如果SDN交換 機(jī)確認(rèn)綁定請(qǐng)求,那么頭字段標(biāo)識(shí)符用于識(shí)別被傳輸?shù)絊DN交換機(jī)的消息(例如,控制消息 等)中的頭字段類型。例如,在OpenFlow網(wǎng)絡(luò)中,綁定請(qǐng)求可以包括請(qǐng)求對(duì)應(yīng)頭字段動(dòng)態(tài)地 與第一 OpenFlow可擴(kuò)展匹配(0XM)類的第一 0XM字段相關(guān)聯(lián)的碼點(diǎn)綁定指示。如果已通過(guò) SDN交換機(jī)確認(rèn)碼點(diǎn)綁定指示,那么將在將第一 0XM字段和第一 0XM類承載于0XM類型長(zhǎng)度值 (TLV)中的消息中識(shí)別頭字段。在一些實(shí)施例中,SDN交換機(jī)和SDN控制器可以協(xié)商不同的頭 字段綁定關(guān)聯(lián)。例如,SDN交換機(jī)可以返回請(qǐng)求(或指示)不同的頭字段標(biāo)識(shí)符與所述頭字段 類型相關(guān)聯(lián)的綁定響應(yīng)。為了支持傳統(tǒng)的SDN交換機(jī)(例如,并不識(shí)別動(dòng)態(tài)綁定請(qǐng)求的交換 機(jī))后向兼容,在SDN交換機(jī)在超時(shí)期間內(nèi)未返回綁定響應(yīng)時(shí),SDN控制器可以判定所述SDN 交換機(jī)被配置為理解一組默認(rèn)頭綁定關(guān)聯(lián)。所述默認(rèn)組綁定可以由通信標(biāo)準(zhǔn)出版物定義。 例如,在OpenFlow網(wǎng)絡(luò)中,所述默認(rèn)組綁定可以對(duì)應(yīng)于在OpenFlow交換機(jī)規(guī)范(第1 ? 3 ? 3版, 協(xié)議版本0x04)的第7.2.3.7章節(jié)中所列的那些,所述章節(jié)如同全文復(fù)制一般以引入的方式 并入本文本中。下文更詳細(xì)地解釋本發(fā)明的這些以及其它方面。
[0020] 圖1示出被配置為支持頭字段標(biāo)識(shí)符到頭字段類型的動(dòng)態(tài)綁定的實(shí)施例的SDN架 構(gòu)100。如圖所示,SDN架構(gòu)100包括SDN控制器101和SDN交換機(jī)102。如本文中所使用,術(shù)語(yǔ) "SDN交換機(jī)"是指在軟件定義網(wǎng)絡(luò)中被配置為執(zhí)行數(shù)據(jù)面處理任務(wù)的任何數(shù)據(jù)面實(shí)體,所 述任務(wù)例如包轉(zhuǎn)發(fā)、濾波、計(jì)算、壓縮處理等。例如,在實(shí)施例SDN架構(gòu)100中,SDN交換機(jī)102 可以是被配置為執(zhí)行數(shù)據(jù)面處理的任何實(shí)體(硬件、在主機(jī)設(shè)備上實(shí)例化的虛擬機(jī)等)。在 本發(fā)明中,術(shù)語(yǔ)"SDN控制器"是指被配置為控制(例如,指導(dǎo)、配置等)SDN交換機(jī)的數(shù)據(jù)面處 理操作的任何設(shè)備(或設(shè)備的集合)。因此,SDN控制器101可以是被配置為驅(qū)動(dòng)SDN交換機(jī) 102的數(shù)據(jù)面處理的任何實(shí)體。
[0021] 本發(fā)明的各方面提供使用綁定請(qǐng)求/響應(yīng)動(dòng)態(tài)地綁定頭字段標(biāo)識(shí)符的技術(shù)。圖2示 出用于動(dòng)態(tài)地將頭字段標(biāo)識(shí)符綁定到頭字段類型的實(shí)施例的通信序列200的協(xié)議圖。如圖 所示,SDN控制器201將綁定請(qǐng)求消息210發(fā)送到SDN交換機(jī)202。綁定請(qǐng)求消息210可以請(qǐng)求 在SDN交換機(jī)的運(yùn)行操作期間頭字段動(dòng)態(tài)地與頭字段標(biāo)識(shí)符相關(guān)聯(lián)。在一些實(shí)施例中,單個(gè) 綁定請(qǐng)求消息可以請(qǐng)求多個(gè)動(dòng)態(tài)的頭字段綁定。在接收到綁定請(qǐng)求消息210后,SDN交換機(jī) 202可以將綁定響應(yīng)消息220返回給SDN控制器201。綁定響應(yīng)消息220可以確認(rèn)綁定請(qǐng)求消 息210所請(qǐng)求的動(dòng)態(tài)綁定關(guān)聯(lián)。在此類情況下,SDN控制器201可以將適當(dāng)?shù)臈l目寫入數(shù)據(jù)表 以反映頭字段標(biāo)識(shí)符將在SDN交換機(jī)202處的數(shù)據(jù)面處理期間用于識(shí)別頭字段。替代地,綁 定響應(yīng)消息220可以請(qǐng)求(或以其它方式指示)頭字段動(dòng)態(tài)地與不同頭字段標(biāo)識(shí)符相關(guān)聯(lián)。 在此類情況下,SDN控制器201可以確認(rèn)替代的綁定,或請(qǐng)求另一個(gè)綁定。在一些實(shí)施例中, 承載于綁定響應(yīng)220中的替代綁定指示可以由SDN控制器201接受而無(wú)需肯定確認(rèn)傳輸?shù)?SDN交換機(jī)202。
[0022] 在一些實(shí)施例中,頭字段由頭類型、偏移和長(zhǎng)度定義。偏移可以是位于頭字段與頭 的開(kāi)始之間的多個(gè)比特位。長(zhǎng)度可以是包括在頭字段中的多個(gè)比特位。SDN控制器和交換機(jī) 可以通過(guò)通用名(例如,"以太網(wǎng)"或"IPv4"的字符串)或特定頭字段值(例如,以太類型值、 IP頭協(xié)議字段值等)知曉頭類型。在一些實(shí)施例中,對(duì)于SDN控制器和SDN交換機(jī),頭字段定 義是先驗(yàn)信息。在其它實(shí)施例中,SDN控制器將頭字段定義發(fā)送到SDN交換機(jī)作為頭字段標(biāo) 識(shí)符綁定協(xié)議的一部分。在一些實(shí)施例中,綁定請(qǐng)求/響應(yīng)消息用于形成新的頭綁定定義 和/或修改現(xiàn)有頭綁定定義。
[0023] 本發(fā)明的各方面也可以用于綁定元數(shù)據(jù)的標(biāo)識(shí)符。元數(shù)據(jù)可以包括存儲(chǔ)于SDN交 換機(jī)中的數(shù)據(jù)。元數(shù)據(jù)可以描述SDN網(wǎng)絡(luò)中的對(duì)象。例如,元數(shù)據(jù)可以描述軟件定義網(wǎng)絡(luò)中 的包或包序列、目的地、源或業(yè)務(wù)流。在一些實(shí)施例中,元數(shù)據(jù)不包括在包凈荷中(或完全不 包括在包中)。例如,元數(shù)據(jù)可以經(jīng)由消