通信系統(tǒng)、控制裝置、處理規(guī)則設(shè)置方法、分組傳輸方法
【專利說明】通信系統(tǒng)、控制裝置、處理規(guī)則設(shè)置方法、分組傳輸方法
[0001]本申請(qǐng)是基于申請(qǐng)?zhí)枮?01180005536.7、申請(qǐng)日為2011年1月4日、申請(qǐng)人為日本電氣株式會(huì)社、發(fā)明名稱為“通信系統(tǒng)、控制裝置、處理規(guī)則設(shè)置方法和分組傳輸方法”的發(fā)明提出的分案申請(qǐng)。
技術(shù)領(lǐng)域
[0002](相關(guān)申請(qǐng)的參考)
[0003]本申請(qǐng)基于下述專利申請(qǐng)并要求其優(yōu)先權(quán)并通過引用將該申請(qǐng)公開整體結(jié)合于此:2010年1月5日提交的日本專利申請(qǐng)N0.2010-000740。
[0004]本發(fā)明涉及一種通信系統(tǒng)、控制裝置、處理規(guī)則設(shè)置方法、分組傳輸方法和程序,具體而言涉及通過設(shè)置在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)分組來實(shí)現(xiàn)通信的一種通信系統(tǒng)、控制裝置、處理規(guī)則設(shè)置方法、分組傳輸方法和程序。
【背景技術(shù)】
[0005]近年來,人們已提出了一項(xiàng)被稱為“OpenFlow”(開放流)的技術(shù)(參見非專利文獻(xiàn)1)。在OpenFlow技術(shù)中,通信被看成一個(gè)點(diǎn)到點(diǎn)的流,其中路徑控制、故障恢復(fù)、負(fù)載均衡以及優(yōu)化均在流單元中完成。充當(dāng)轉(zhuǎn)發(fā)節(jié)點(diǎn)的OpenFlow交換機(jī)配有一個(gè)安全通道,該安全通道用于與被視為控制裝置的OpenFlow控制器進(jìn)行通信。OpenFlow交換機(jī)基于流表運(yùn)行,可通過OpenF 1 ow控制器的指示對(duì)該流表適當(dāng)?shù)靥砑踊蚋膶憽T诹鞅碇?,?duì)于每一個(gè)流(參見圖10)具有用于與分組頭部進(jìn)行校對(duì)的多組規(guī)則的定義、定義處理內(nèi)容的動(dòng)作(Act1ns)、以及流統(tǒng)計(jì)信息(Stats)。
[0006]圖23示出了非專利文獻(xiàn)2中定義的動(dòng)作名稱和動(dòng)作內(nèi)容的一個(gè)示例?!癘UTPUT”(輸出)是一個(gè)向特定端口(接口)進(jìn)行輸出的動(dòng)作。從SET_VLAN_VID到SET_TP_DST是校正分組頭部字段的動(dòng)作。
[0007]例如,當(dāng)OpenFlow交換機(jī)接收到分組時(shí),就會(huì)在流表中搜索一個(gè)條目,該條目具有與接收到的分組頭部信息相匹配的規(guī)則(流密鑰)。作為搜索結(jié)果,在找到了與接收到的分組相匹配的條目的情況下,OpenFlow交換機(jī)就對(duì)接收到的分組執(zhí)行所關(guān)注的條目的動(dòng)作字段中描述的處理內(nèi)容。另一方面,作為搜索結(jié)果,在未找到與接收到的分組相匹配的條目的情況下,OpenFlow交換機(jī)就通過安全通道將其接收到的分組轉(zhuǎn)發(fā)到OpenFlow控制器,并基于接收到的分組的來源地和目的地請(qǐng)求確定分組路徑,然后接收實(shí)現(xiàn)上述目的的流條目,并更新流表。通過這種方式,OpenFlow交換機(jī)將流表中包含的表?xiàng)l目用作處理規(guī)則進(jìn)行分組轉(zhuǎn)發(fā)。
[0008]【非專利文獻(xiàn)1】
[0009]Nick McKeown 和 7 個(gè)其他人的"OpenFlow:Enabling Innovat1n in CampusNetworks, " [online],[search conducted December 14,2009] (2009 年 12 月 14 日進(jìn)行檢索)
[0010]因特網(wǎng)URL:
[0011]http://www.0penflowswitch.0rg//documents/openflow-wp-latest.pdf
[0012]【非專利文獻(xiàn)2】
[0013]" OpenFlow:Switch Specificat1n" Vers1n 0.9.0.(Wire Protocol 0x98)(版本 0.9.0,有線協(xié)議 0x98),[search conducted December 14,2009] (2009 年 12 月 14日進(jìn)行檢索)
[0014]因特網(wǎng)URL:
[0015]http://www.0penflowswitch.0rg/documents/openflow-spec-v0.9.0.pdf
【發(fā)明內(nèi)容】
[0016]本發(fā)明要解決的問題
[0017]上述非專利文獻(xiàn)1和2的公開通過引用整體結(jié)合于此。本發(fā)明給出如下分析。然而,在多個(gè)OpenFlow交換機(jī)與一個(gè)網(wǎng)絡(luò)連接的情況下,就會(huì)出現(xiàn)一個(gè)問題:由于在一個(gè)OpenFlow控制器內(nèi)進(jìn)行的路徑計(jì)算以及在一個(gè)基于計(jì)算結(jié)果的流表中條目分配的處理量增加,導(dǎo)致從接收到OpenFlow交換機(jī)發(fā)來的創(chuàng)建路徑的請(qǐng)求到給出響應(yīng)的時(shí)間變長(zhǎng)。
[0018]對(duì)于這一點(diǎn),非專利文獻(xiàn)1對(duì)其圖2的解釋描述為“所有的流表都由同一個(gè)控制器管理”,其僅僅描述了在OpenFlow協(xié)議中,一個(gè)特定的OpenFlow交換機(jī)可以由兩個(gè)或更多個(gè)控制器控制以便改進(jìn)性能和穩(wěn)健性。另外,在非專利文獻(xiàn)2的4.3節(jié)“Connect1nInterrupt1n”中,僅僅描述了在某個(gè)OpenFlow交換機(jī)錯(cuò)過一個(gè)控制器的情況下會(huì)嘗試連接到備用控制器。
[0019]針對(duì)上述情況提出了本發(fā)明,其目的之一就是要提供一個(gè)配置來確保在有多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)存在的情況下(正如上述存在多個(gè)OpenFlow交換機(jī)的例子),也能保證其性能不低于預(yù)定的水平。
[0020]解決問題的手段
[0021]根據(jù)本發(fā)明的第一方面,提供了一種通信系統(tǒng),其包括多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)和多個(gè)控制裝置,其中
[0022]多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)均包括一個(gè)分組處理單元,該分組處理單元基于預(yù)先設(shè)置的處理規(guī)則或從與自身轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置接收到的處理規(guī)則對(duì)接收到的分組進(jìn)行處理,以及
[0023]所述多個(gè)控制裝置包括第一控制裝置,該第一控制裝置包括:
[0024]對(duì)應(yīng)關(guān)系管理單元,其存儲(chǔ)所述多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與所述多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系;以及
[0025]路徑傳輸單元,響應(yīng)于預(yù)先設(shè)定的觸發(fā),其參考所述多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與多數(shù)多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系,將轉(zhuǎn)發(fā)路徑信息中包含至少一個(gè)與自身第一控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn)的轉(zhuǎn)發(fā)路徑信息傳輸?shù)降诙刂蒲b置,第二控制裝置與接收到的分組的轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)中和自身第一控制裝置不相關(guān)聯(lián)的一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)。
[0026]根據(jù)本發(fā)明的第二方面,提供了與多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)連接的第一控制裝置,
[0027]多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)均包括分組處理單元,該分組處理單元基于預(yù)先設(shè)置的處理規(guī)則或從與轉(zhuǎn)發(fā)節(jié)點(diǎn)關(guān)聯(lián)的控制裝置接收到的處理規(guī)則對(duì)接收到的分組進(jìn)行處理,其中
[0028]第一控制裝置包括:
[0029]對(duì)應(yīng)關(guān)系管理單元,其存儲(chǔ)包括多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn)組中的每一個(gè)與多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系;以及
[0030]路徑傳輸單元,響應(yīng)于預(yù)先設(shè)定的觸發(fā),其參考所述多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與多數(shù)多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系,將轉(zhuǎn)發(fā)路徑信息中包含至少一個(gè)與自身第一控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn)的轉(zhuǎn)發(fā)路徑信息傳輸?shù)降诙刂蒲b置,第二控制裝置與位于接收到的分組的轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)中和第一控制裝置不相關(guān)聯(lián)的一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)。
[0031]根據(jù)本發(fā)明的第三方面,提供了第二控制裝置,包括:
[0032]數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)存儲(chǔ)著描述轉(zhuǎn)發(fā)節(jié)點(diǎn)間連接關(guān)系的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),所述轉(zhuǎn)發(fā)節(jié)點(diǎn)包括至少一個(gè)與自身第二控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn);
[0033]處理規(guī)則生成單元,其基于從第一控制單元的路徑傳輸單元接收到的轉(zhuǎn)發(fā)路徑信息,參考所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并為與自身第二控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn)中位于接收到的分組的轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)生成處理規(guī)則;以及
[0034]傳輸單元,將生成的處理規(guī)則傳輸至與第二控制裝置的多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中位于接收到的分組的轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn),其中
[0035]基于從上述第一控制裝置接收到的轉(zhuǎn)發(fā)路徑信息,處理規(guī)則被生成并被傳輸至多個(gè)與所述自身第二控制裝置連接的轉(zhuǎn)發(fā)節(jié)點(diǎn)中位于轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)。
[0036]根據(jù)本發(fā)明的第四方面,提供了一種通信系統(tǒng)中的處理規(guī)則設(shè)置方法,該通信系統(tǒng)包括多個(gè)控制裝置和多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)包括一個(gè)分組處理單元,該分組處理單元基于預(yù)先設(shè)置的處理規(guī)則或從與自身轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置接收到的處理規(guī)則對(duì)分組進(jìn)行處理,其中:
[0037]通過多個(gè)控制裝置中的第一控制裝置,響應(yīng)于預(yù)先設(shè)定的觸發(fā),參考多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系,將轉(zhuǎn)發(fā)路徑信息中包含至少一個(gè)與自身第一控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn)的轉(zhuǎn)發(fā)路徑信息傳輸?shù)降诙刂蒲b置,第二控制裝置與接收到的分組的轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)中和第一控制裝置不相關(guān)聯(lián)的一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián);以及
[0038]通過接收轉(zhuǎn)發(fā)路徑信息的第二控制裝置,通過參考網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成處理規(guī)則,該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)描述了轉(zhuǎn)發(fā)節(jié)點(diǎn)間的連接關(guān)系,所述轉(zhuǎn)發(fā)節(jié)點(diǎn)包含至少一個(gè)與第二控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn);將處理規(guī)則傳輸?shù)脚c自身第二控制裝置相關(guān)聯(lián)的轉(zhuǎn)發(fā)節(jié)點(diǎn)中、位于接收到的分組轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)。此方法與特定的裝置相關(guān),這些設(shè)備被稱為上文所述的轉(zhuǎn)發(fā)節(jié)點(diǎn)和控制裝置。
[0039]根據(jù)本發(fā)明的第五方面,提供了一種在用于構(gòu)成上述第一和第二控制裝置的計(jì)算機(jī)上執(zhí)行的程序。需要指出的是,這個(gè)程序可以被記錄到計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)上。也就是說,本發(fā)明可以體現(xiàn)為計(jì)算機(jī)程序產(chǎn)品。
[0040]根據(jù)本發(fā)明的第六方面,提供了一種包括多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)和多個(gè)控制裝置的通信系統(tǒng),其中
[0041]多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)均包括分組處理單元,該分組處理單元基于預(yù)先設(shè)置的處理規(guī)則或從與自身轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置接收到的處理規(guī)則對(duì)接收的分組進(jìn)行處理,
[0042]所述多個(gè)控制裝置的每一個(gè)均包括對(duì)應(yīng)關(guān)系管理單元,其存儲(chǔ)所述多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與所述多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系;
[0043]當(dāng)從某個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)接收到的分組時(shí),與轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置參考多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與多個(gè)控制裝置的每一個(gè)之間的對(duì)應(yīng)關(guān)系來傳輸接收到的分組;以及
[0044]與位于轉(zhuǎn)發(fā)路徑終點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置將接收的分組傳輸?shù)轿挥诮K點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn),并指示所述位于終點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn)從一個(gè)指定端口輸出接收的分組。
[0045]根據(jù)本發(fā)明的第七方面,提供了一種通信方法,該通信方法是在一個(gè)包括多個(gè)控制裝置和多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的通信系統(tǒng)中傳輸分組的方法,所述多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)均包括一個(gè)分組處理單元,該分組處理單元基于預(yù)先設(shè)置的處理規(guī)則或從與自身轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置接收到的處理規(guī)則對(duì)接收到的分組進(jìn)行處理,該通信方法包括:
[0046]通過與轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置,在從一個(gè)特定的轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)接收到的分組時(shí),參考多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)中的每一個(gè)與多個(gè)控制裝置中的每一個(gè)之間的對(duì)應(yīng)關(guān)系,來依次傳輸接收到的分組,以及
[0047]通過與轉(zhuǎn)發(fā)路徑終點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn)相關(guān)聯(lián)的控制裝置,將接收的分組傳輸?shù)轿挥诮K點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn),并指示所述位于終點(diǎn)的轉(zhuǎn)發(fā)節(jié)點(diǎn)從一個(gè)指定端口輸出接收的分組。此方法與特定的工具相關(guān),這些工具被稱為上文所述的轉(zhuǎn)發(fā)節(jié)點(diǎn)和控制裝置。
[0048]根據(jù)本發(fā)明,可以在大量(多個(gè))OpenFlow交換機(jī)存在的情況下確保性能不低于預(yù)定水平。這主要依賴于本發(fā)明使用的一個(gè)配置,在該配置中使用了多個(gè)控制裝置,處理工作被分配給了多個(gè)控制裝置。
【附圖說明】
[0049]圖1是概括描述本發(fā)明的的圖;
[0050]圖2是描述了圖1所示控制裝置(第一控制裝置)的大概配置的圖;
[0051]圖3是描述了圖1所示控制裝置(第二控制裝置)的大概配置的圖;
[0052]圖4是另一個(gè)概括描述本發(fā)明的圖;
[0053]圖5是示出了本發(fā)明的第一示例性實(shí)施例配置的圖;
[0054]圖6是示出了本發(fā)明的第一示例性實(shí)施列中的OpenFlow控制器配置的圖;
[0055]圖7是表示圖5中的節(jié)點(diǎn)與OpenFlow交換機(jī)的連接關(guān)系的表格;
[0056]圖8是表示圖5中的OpenFlow交換機(jī)與OpenFlow控制器之間對(duì)應(yīng)關(guān)系