分組傳送系統(tǒng)、控制裝置、分組傳送方法及程序的制作方法
【專利摘要】即使多個端口匯聚被配置在OpenFlow所代表的中央控制類型網(wǎng)絡(luò)中的中繼裝置和外部中繼裝置之間,也能夠通過高效使用包括在棧鏈路中的中繼裝置的物理端口來傳送廣播分組。分組傳送系統(tǒng)包括:相互連接的多個第一中繼裝置;多個第二中繼裝置,包括多個端口并連接至多個第一裝置;以及控制裝置,通過使用第一中繼裝置和第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路??刂蒲b置從多個端口匯聚中每個的組成端口之中確定端口匯聚的代表端口。當(dāng)多個第一中繼裝置中的一個從多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,控制裝置使多個第一中繼裝置經(jīng)由包括多個端口匯聚之一的代表端口在內(nèi)的第一中繼裝置發(fā)送預(yù)定控制目標(biāo)分組,其中接收到預(yù)定控制目標(biāo)分組的那個第一中繼裝置的端口屬于所述端口匯聚之一。
【專利說明】分組傳送系統(tǒng)、控制裝置、分組傳送方法及程序
【技術(shù)領(lǐng)域】
[0001](相關(guān)申請的引用)
[0002]本發(fā)明基于2012年5月25日遞交的日本專利申請N0.2012-119534的并要求其優(yōu)先權(quán)權(quán)益,其公開內(nèi)容通過引用全部結(jié)合于此。
[0003]本發(fā)明涉及分組傳送系統(tǒng)、控制裝置、分組傳送方法及程序。具體地,本發(fā)明涉及:分組傳送系統(tǒng),其中使用多個物理鏈路配置用作虛擬邏輯鏈路的端口匯聚(trunk);控制裝置;分組傳送方法;以及程序。
【背景技術(shù)】
[0004]近年,提出了一種稱為開放流(OpenFlow)的技術(shù)(參見專利文獻(xiàn)(PTL) I和非專利文獻(xiàn)(NPL) I和2)。OpenFlow將通信識別為端到端的流,并逐個流地執(zhí)行路徑控制、故障恢復(fù)、負(fù)載平衡和優(yōu)化。根據(jù)非專利文獻(xiàn)2的每個OpenFlow交換機具有和OpenFlow控制器通信的安全信道,并根據(jù)OpenFlow控制器適當(dāng)添加或重寫的流表操作。在流表中為每個流定義以下三者的集合:匹配規(guī)則(首部字段),相對于其來匹配分組首部;流統(tǒng)計信息(計數(shù)器);以及定義處理內(nèi)容的指令(參見圖10)。
[0005]例如,當(dāng)OpenFlow交換機接收到分組時,OpenFlow交換機在流表中搜索具有匹配接收分組首部信息的匹配規(guī)則(參見圖10中首部字段)的條目。如果搜索結(jié)果是OpenFlow交換機找到匹配接收分組的條目,則OpenFlow交換機更新流統(tǒng)計信息(計數(shù)器),并基于寫入該條目的指令字段的處理內(nèi)容(來自代表端口的分組傳輸、洪水、丟棄等)來處理接收分組。如果交換機結(jié)果是OpenFlow交換機沒有找到匹配接收分組的條目,則OpenFlow交換機經(jīng)由安全信道向OpenFlow控制器發(fā)送條目設(shè)置請求。換言之,OpenFlow交換機請求OpenFlow控制器確定針對接收分組的處理內(nèi)容。OpenFlow交換機接收定義了處理內(nèi)容的流條目并更新流表。這樣,通過使用存儲在流表中、作為處理規(guī)則(分組處理指令)的條目,OpenFlow交換機執(zhí)行分組傳送。
[0006]為實現(xiàn)在以上專利文獻(xiàn)I和非專利文獻(xiàn)I和2公開的網(wǎng)絡(luò)中的廣播或組播,在每個有關(guān)的OpenFlow交換機中設(shè)置用于經(jīng)由多個端口傳送分組的流條目。
[0007]并且,專利文獻(xiàn)2公開了 LAN中繼裝置,其在上行鏈路或棧鏈路達(dá)到擁塞狀態(tài)時執(zhí)行流控制,而不停止經(jīng)由輸入和輸出端口的輸入和輸出,并不影響與擁塞狀態(tài)無關(guān)的通信。
[0008]引用列表
[0009]專利文獻(xiàn)
[0010]PTLl:
[0011]國際公開:Νο.2008/095010
[0012]PTL2:
[0013]日本專利特開N0.2000-270002Α
[0014]非專利文獻(xiàn)
[0015]NPLl:
[0016]Nick McKeown,and seven others," OpenFlow:Enabling Innovat1n in CampusNetworks,"[在線],[2012 年 5 月 8 日檢索],互聯(lián)網(wǎng) <URL:http://www.0penflow.0rg/documents/openflow-wp-latest.pdf>
[0017]NPL 2:
[0018]" OpenFlow Switch Specificat1n " Vers1n 1.1.0 Implemented (WireProtocol 0x02),[在線],[2012 年 5 月 8 日檢索],互聯(lián)網(wǎng) <URL:http://www.0penflow.0rg/documents/openflow-spec-vl.1.0.pdf>
【發(fā)明內(nèi)容】
[0019]技術(shù)問題
[0020]以下分析由本發(fā)明發(fā)明人給出。例如,如果在以上專利文獻(xiàn)1、非專利文獻(xiàn)I或非專利文獻(xiàn)2公開的網(wǎng)絡(luò)中添加OpenFlow交換機,會引起網(wǎng)絡(luò)拓?fù)渲械氖潞蟾淖?。如果OpenFlow交換機在它們自身的流表中具有和接收分組匹配的流條目,則不向OpenFlow控制器發(fā)送流條目設(shè)置請求。因此,如果網(wǎng)絡(luò)拓?fù)涓淖?,廣播分組可能不會被傳送至新增的、連接已改變的OpenFlow交換機。
[0021]因而,關(guān)于廣播分組的傳送,希望在網(wǎng)絡(luò)拓?fù)涓淖儠r計算廣播分發(fā)路徑,并在每條路徑的OpenFlow交換機中預(yù)先設(shè)置廣播分組流條目。
[0022]通過使用在以上專利文獻(xiàn)I和非專利文獻(xiàn)I和2中公開的技術(shù),并在一些具有并行鏈路的OpenFlow交換機中設(shè)置正確的流條目(例如,用于向相同目的地傳送指定的分組),能夠聚合這些鏈路以配置用作虛擬邏輯鏈路的端口匯聚。
[0023]然而,存在如下情況:位于以上端口匯聚末端的裝置是不受OpenFlow控制器控制的通信裝置。在這種情況下,由于每個OpenFlow交換機根據(jù)其自身存儲的流條目傳送廣播分組,相同的分組可能被多次發(fā)送至某個目的地。并且,即便沒有設(shè)置廣播分組的流條目,廣播分組也可能在依據(jù)其他流條目的非期望路徑上被傳送。
[0024]圖11示出一種網(wǎng)絡(luò)配置(參考示例),其中,位于以上端口匯聚末端的裝置是不受OpenFlow控制器控制的通信裝置。圖11中示出的配置包括中繼裝置101-105。中繼裝置101-103具有由外部中繼裝置301和中繼裝置101-103配置的端口匯聚Tl的組成端口,并配置成環(huán)形棧鏈路??刂蒲b置200從端口匯聚的組成端口中確定代表端口(例如,中繼裝置101的端口 #1),并控制中繼裝置101-103,使得當(dāng)中繼裝置101-103中任一個接收到預(yù)定控制目標(biāo)分組時,經(jīng)由具有代表端口的中繼裝置發(fā)送接收的控制目標(biāo)分組。這樣,能夠阻止向相同的目的地多次發(fā)送廣播分組。
[0025]然而,如果通過圖11示出配置中的多個外部中繼裝置配置多個端口匯聚,則需要圖12示出的多個棧鏈路,棧鏈路的數(shù)量依賴于第一中繼裝置和外部中繼裝置之間配置的端口匯聚的數(shù)量。在這種情況下,配置棧鏈路的每個中繼裝置需要使用兩倍于棧鏈路數(shù)量的物理端口。換言之,每個中繼裝置的物理端口可能沒有被有效使用。例如,在圖12中,一共兩個端口匯聚Tl、T2被配置在中繼裝置101-103和外部中繼裝置301之間,以及中繼裝置101-103和外部中繼裝置302之間。用于配置在中繼裝置101-103和外部中繼裝置301之間的Tl的棧鏈路使用每個中繼裝置101-103的端口 #3和#4,用于配置在中繼裝置101-103和外部中繼裝置302之間的T2的棧鏈路使用每個中繼裝置101-103的端口 #5和#6。如果添加更多的外部中繼裝置并配置更多的端口匯聚,則對每個添加的棧鏈路,需要為每個中繼裝置101-103布置兩個額外的物理端口。
[0026]本發(fā)明的目的在于提供一種分組傳送系統(tǒng)、控制裝置、分組傳送方法和程序,即使多個端口匯聚被配置在OpenFlow所代表的中央控制類型網(wǎng)絡(luò)中的中繼裝置和外部中繼裝置之間,也能夠通過高效使用包括在棧鏈路中的中繼裝置的物理端口來傳送廣播分組。
[0027]解決問題的方案
[0028]根據(jù)第一方面,提供了一種分組傳送系統(tǒng),包括:相互連接的多個第一中繼裝置;多個第二中繼裝置,包括多個端口并連接至所述多個第一裝置;以及控制裝置,通過使用所述第一中繼裝置和所述第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路。所述控制裝置從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口。當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,控制裝置使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。
[0029]根據(jù)第二方面,提供了一種控制裝置,通過使用相互連接的多個第一中繼裝置與包括多個端口并連接至所述多個第一中繼裝置的多個第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路。所述控制裝置從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口。當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,控制裝置使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。
[0030]根據(jù)第三方面,提供一種由控制裝置執(zhí)行的分組傳送方法,所述控制裝置通過使用相互連接的多個第一中繼裝置與包括多個端口并連接至所述多個第一中繼裝置的多個第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路。所述分組傳送方法包括:從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口 ;以及當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。該方法與某個機器關(guān)聯(lián),即,控制第一中繼裝置的組的控制裝置。
[0031]根據(jù)第四方面,提供一種控制裝置上的程序,所述控制裝置通過使用相互連接的多個第一中繼裝置與包括多個端口并連接至所述多個第一中繼裝置的多個第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路,所述程序引起計算機執(zhí)行:從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口 ;以及當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。該程序能夠存儲在計算機可讀(非瞬態(tài))存儲介質(zhì)中。即,本發(fā)明能夠?qū)崿F(xiàn)為計算機程序產(chǎn)品。
[0032]發(fā)明的有利效果
[0033]根據(jù)本發(fā)明,即使多個端口匯聚被配置在OpenFlow所代表的中央控制類型網(wǎng)絡(luò)中的中繼裝置和外部中繼裝置之間,也能夠通過有效使用包括在棧鏈路中的中繼裝置的物理端口來傳送廣播分組。
【專利附圖】
【附圖說明】
[0034]圖1示出了根據(jù)本發(fā)明第一示例性實施例的配置。
[0035]圖2是示出根據(jù)本發(fā)明第一示例性實施例的控制裝置的詳細(xì)配置的方框圖。
[0036]圖3示出根據(jù)本發(fā)明第一示例性實施例在控制裝置的端口匯聚信息管理單元中存儲的棧鏈路配置信息。
[0037]圖4示出根據(jù)本發(fā)明第一示例性實施例在控制裝置的端口匯聚信息管理單元中存儲的端口匯聚配置信息。
[0038]圖5是示出根據(jù)本發(fā)明第一示例性實施例,控制裝置設(shè)置廣播傳送條目的流程的流程圖。
[0039]圖6示出具有確定為代表端口的端口(成員端口)的中繼裝置中設(shè)置的傳送表的內(nèi)容。
[0040]圖7示出具有未被確定為代表端口的端口(成員端口 )的中繼裝置中設(shè)置的傳送表的內(nèi)容。
[0041 ] 圖8示出廣播分組傳送路徑。
[0042]圖9示出廣播分組傳送路徑。
[0043]圖10示出非專利文獻(xiàn)2中流條目的配置。
[0044]圖11示出作為參考示例的分組傳送系統(tǒng)的配置。
[0045]圖12示出向圖11示出的配置添加端口匯聚而得到的配置。
【具體實施方式】
[0046]首先參考附圖描述本發(fā)明示例性實施例的概覽。為方便起見,以下概覽中各組件用附圖標(biāo)記表示。換言之,以下附圖標(biāo)記僅用作幫助理解本發(fā)明的示例,而不限制本發(fā)明為所示方式。
[0047]本發(fā)明的示例性實施例可通過分組傳送系統(tǒng)來實現(xiàn),包括:多個第一中繼裝置(圖1中101-103),其相互連接并可以配置棧鏈路;多個第二中繼裝置(圖1中301和302),其包括多個端口并連接至多個第一中繼裝置(圖1中101-103);以及控制裝置(圖1中200),其通過使用多個第一中繼裝置和多個第二中繼裝置之間的多個物理鏈路,配置用作虛擬邏輯鏈路的多個端口匯聚(圖1中Tl和T2)。更具體地,控制裝置(圖1中200)從多個端口匯聚中每一個的組成端口中為相應(yīng)端口匯聚預(yù)先確定代表端口。當(dāng)多個第一中繼裝置(圖1中101-103)中一個從多個第二中繼裝置中一個(即經(jīng)由配置了端口匯聚的鏈路)接收到預(yù)定控制目標(biāo)分組時,控制裝置使多個第一中繼裝置經(jīng)由包括多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送預(yù)定控制目標(biāo)分組,其中接收到預(yù)定控制目標(biāo)分組的那個第一中繼裝置的端口屬于所述一個端口匯聚(參加圖8和9)。
[0048]第一示例性實施例
[0049]以下參考附圖詳細(xì)描述本發(fā)明第一示例性實施例。圖1示出根據(jù)本發(fā)明第一示例性實施例的配置。如圖1所示,網(wǎng)絡(luò)包括一組相互連接的中繼裝置101-105,以集中方式控制中繼裝置組101-105的控制裝置200,以及在控制裝置200控制之外的外部中繼裝置301和302。圖1中分給每個中繼裝置101-103的附圖標(biāo)記#1至#4表示各中繼裝置的端口號。
[0050]終端401和402分別連接至外部中繼裝置301和302,并能夠與連接至中繼裝置105的終端403通信。
[0051]外部中繼裝置301和302具有使用多個物理端口配置LAG(鏈路匯聚)的功能。圖1中,通過匯聚中繼裝置11-103端口 # I和外部中繼裝置301之間的物理鏈路,以及中繼裝置101-103端口 #2和外部中繼裝置302之間的物理鏈路,分別配置用作虛擬邏輯鏈路的兩個端口匯聚Tl和T2。并且,通過使用中繼裝置101-103端口 #3和#4,配置連接成環(huán)的棧鏈路。該棧鏈路用于在每個端口匯聚中傳送廣播分組。
[0052]圖2是示出根據(jù)本發(fā)明第一示例性實施例的控制裝置200的詳細(xì)配置的方框圖。如圖2所示,控制裝置200包括中繼裝置通信單元201、拓?fù)湫畔@得單元202、拓?fù)湫畔⒐芾韱卧?03、單播路徑控制命令生成單元204、單播路徑搜索單元205、廣播路徑控制命令生成單元(BC路徑控制命令生成單元)206、廣播路徑搜索單元(BC路徑搜索單元)207、端口匯聚控制命令生成單元208、端口匯聚信息管理單元209、以及端口匯聚信息獲得單元210。
[0053]中繼裝置通信單元201經(jīng)由圖1中虛線指示的各安全信道,建立與中繼裝置101-105的控制會話以及向其發(fā)送并從其接收控制命令。更具體地,中繼裝置通信單元201向中繼裝置101-105發(fā)送在拓?fù)湫畔@得單元202、單播路徑控制命令生成單元204、BC路徑控制命令生成單元206、端口匯聚控制命令生成單元208中生成的控制命令。并且,中繼裝置通信單元201向拓?fù)湫畔@得單元202、單播路徑控制命令生成單元204、BC路徑控制命令生成單元206、端口匯聚控制命令生成單元208傳送來自中繼裝置101-105的響應(yīng)。
[0054]拓?fù)湫畔@得單元202經(jīng)由中繼裝置通信單元201與中繼裝置101-105通信,收集有關(guān)中繼裝置101-105之間連接關(guān)系的拓?fù)湫畔?,并向拓?fù)湫畔⒐芾韱卧?03發(fā)送收集的拓?fù)湫畔?。為了收集拓?fù)湫畔?,可以使用L2協(xié)議,例如LLDP(鏈路層發(fā)現(xiàn)協(xié)議),以周期性地檢測相鄰中繼裝置之間的接口信息。
[0055]拓?fù)湫畔⒐芾韱卧?03存儲并管理從拓?fù)湫畔@得單元202接收的拓?fù)湫畔?,并在需要時將拓?fù)湫畔⑻峁┙o單播路徑搜索單元205、BC路徑控制搜索單元207和端口匯聚信息管理單元209、
[0056]基于單播路徑搜索單元205提供的路徑信息,單播路徑控制命令生成單元204經(jīng)由中繼裝置通信單元201向路徑上的每個中繼裝置發(fā)送控制命令,并在路徑上每個中繼裝置中的傳送表中設(shè)置分組傳送條目(對應(yīng)于非專利文獻(xiàn)2中的流條目)
[0057]單播路徑搜索單元205參考在拓?fù)湫畔⒐芾韱卧?03中存儲的拓?fù)湫畔?,計算布置在終端之間的中繼裝置形成的路徑,并向單播路徑控制命令生成單元204通知所計算的路徑信息。單播路徑搜索單元205能夠計算某些終端之間的單一路徑。備選地,單播路徑搜索單元205可以為每個通信計算不同的路徑。備選地,單播路徑搜索單元205可以通過參考例如經(jīng)用戶認(rèn)證而得到的終端用戶合約或接入策略,來計算路徑。
[0058]基于BC路徑搜索單元207提供的廣播路徑信息,BC路徑控制命令生成單元206經(jīng)由中繼裝置通信單元201向路徑上的每個中繼裝置發(fā)送控制命令,并在路徑上每個中繼裝置中的傳送表中設(shè)置廣播分組傳送條目(參見圖6和7)。
[0059]BC路徑搜索單元207參考在拓?fù)湫畔⒐芾韱卧?03中存儲的拓?fù)湫畔?,計算分發(fā)樹路徑,使得可以從直接連接至終端的中繼裝置分發(fā)廣播分組至全部其他中繼裝置,并向BC路徑控制命令生成單元206通知廣播路徑信息。如果廣播路徑中包括端口匯聚,則基于從端口匯聚控制命令生成單元208接收的代表端口選擇結(jié)果以及端口匯聚信息管理單元209管理的棧鏈路配置信息,BC路徑搜索單元207再次執(zhí)行計算以確定使用棧鏈路的路徑,使得將代表端口包括在廣播分發(fā)樹中。然后,BC路徑搜索單元207向BC路徑控制命令生成單元206通知計算結(jié)果,并請求BC路徑控制命令生成單元206設(shè)置廣播分組傳送條目。
[0060]端口控制命令生成單元208執(zhí)行代表端口選擇處理和棧鏈路控制處理。在代表端口選擇處理中,端口控制命令生成單元208從存儲在端口匯聚信息管理單元209中的端口匯聚組中每一個的成員端口中選擇代表端口,向BC路徑搜索單元207通知選擇的代表端口,并請求重新計算廣播路徑。并且,從成員端口中選擇代表端口時,端口控制命令生成單元208可以通過參考拓?fù)湫畔⒐芾韱卧?03,檢查是否每個候選的成員端口能夠與包括在目標(biāo)端口匯聚中的外部中繼裝置通信。
[0061]例如,當(dāng)從端口匯聚信息獲得單元210輸入新的端口匯聚配置信息時,或者當(dāng)代表端口發(fā)生故障且拓?fù)湫畔⒐芾韱卧?03提供包括代表端口的物理拓?fù)涞母淖儠r,執(zhí)行以上代表端口選擇處理。
[0062]在棧鏈路控制處理中,基于每個中繼裝置代表端口以及棧鏈路端口的故障的存在與否,端口控制命令生成單元208設(shè)置流條目,以指定經(jīng)由中繼裝置通信單元201從配置了端口匯聚的中繼裝置101-103的成員端口和棧鏈路端口接收的廣播分組的傳送目的地。
[0063]基于存儲在拓?fù)湫畔⒐芾韱卧?03中的拓?fù)湫畔⒑投丝趨R聚信息獲得單元210提供的端口匯聚信息,端口匯聚信息管理單元209以每個組為基礎(chǔ)管理端口匯聚(端口匯聚配置信息)。并且,端口匯聚信息管理單元209保存和管理與中繼裝置101-103配置的棧鏈路有關(guān)的端口信息(EAST棧鏈路端口和WEST棧鏈路端口)的關(guān)系,每一個中繼裝置具有配置了端口匯聚的端口(棧鏈路配置信息)。
[0064]端口匯聚信息獲得單元210獲得與中繼裝置和外部中繼裝置之間配置的端口匯聚有關(guān)的信息,并向端口匯聚信息管理單元209通知獲得的信息。要獲得的端口匯聚信息是與連接至外部中繼裝置的每個中繼裝置有關(guān)的信息、端口信息(成員端口)、與每個組成中繼裝置所配置的棧鏈路有關(guān)的信息的集合。并且,端口匯聚信息獲得單元210向端口匯聚信息管理單元209通知與用于棧鏈路的每個中繼裝置有關(guān)的信息和端口信息,作為棧鏈路配置信息。棧鏈路端口信息表示環(huán)形的棧鏈路,其中EAST棧鏈路端口和WEST棧鏈路端口在中繼裝置之中相連。
[0065]通過引起構(gòu)成控制裝置200的計算機使用其硬件并執(zhí)行每個上述處理的計算機程序,可以實現(xiàn)圖2中示出的控制裝置200的每個單元(處理裝置)。
[0066]以下描述本發(fā)明的示例實施例,假設(shè)在端口匯聚信息管理單元209中設(shè)置圖3示出的棧鏈路配置信息和圖4示出的端口匯聚配置信息。并假設(shè),端口匯聚信息管理單元209通過分別向圖1中配置在中繼裝置101-103和外部中繼裝置301之間的端口匯聚、以及配置在中繼裝置101-103和外部中繼裝置302之間的端口匯聚(圖1)添加端口匯聚ID“TOOI”
和“T002 ”,來管理端口匯聚組。
[0067]并且以下說明中,如圖4所示,配置在圖1中繼裝置101-103和外部中繼裝置301之間的端口匯聚Tl中,中繼裝置101-103的端口 #1用作成員端口。配置在中繼裝置101-103和外部中繼裝置302之間的端口匯聚T2中,中繼裝置101-103的端口 #2用作成員端口。圖4中,端口匯聚TOOl和T002共享棧鏈路ID = SOOl的棧鏈路,該棧鏈路是通過將中繼裝置101-103的端口 #3和#4連接為環(huán)形而配置的。
[0068]并且,如圖3所示,以下說明假設(shè)棧鏈路端口信息指示中繼裝置101-103的端口 #3用作EAST棧鏈路端口,中繼裝置101-103的端口 #4用作WEST棧鏈路端口。還假設(shè),通過將中繼裝置101的端口 #3與中繼裝置102的#4連接,中繼裝置102的端口 #3與中繼裝置103的#4連接,中繼裝置103的端口 #3與中繼裝置101的#4連接,來配置環(huán)形鏈路。并且,可以通過為控制裝置200提供用于登記端口匯聚信息的專用UI (用戶接口)作為端口匯聚信息獲得單元210,并允許用戶輸入設(shè)置信息,來獲得這種端口匯聚信息。備選地,可以在控制裝置200中布置數(shù)據(jù)庫并可從數(shù)據(jù)庫中讀出所登記的端口匯聚信息。
[0069]以下,參考附圖詳細(xì)描述根據(jù)本示例性實施例的操作。圖5是示出根據(jù)本發(fā)明第一示例性實施例,控制裝置設(shè)置廣播傳送條目的流程的流程圖。首先,配置兩個端口匯聚,一個端口匯聚在被控制裝置200控制的中繼裝置101-103和不被控制裝置200控制的外部中繼裝置301之間,另一個端口匯聚在被控制裝置200控制的中繼裝置101-103和不被控制裝置200控制的外部中繼裝置302之間(圖5步驟S001)。當(dāng)端口匯聚信息獲得單元210向端口匯聚信息管理單元209通知關(guān)于端口匯聚的配置信息時,端口匯聚信息管理單元209對每個端口匯聚執(zhí)行分組并為每個端口匯聚分配端口匯聚ID (圖5步驟S002)。
[0070]當(dāng)端口匯聚信息管理單元209向端口控制命令生成單元208通知端口匯聚組信息時,端口控制命令生成單元208為每個端口匯聚組選擇代表端口(圖5步驟S003),并向BC路徑搜索單元207通知選擇結(jié)果。在這種情況下,端口控制命令生成單元208選擇中繼裝置101的端口 #1作為具有端口匯聚ID TOOl的端口匯聚的代表端口,以及中繼裝置103的端口 #2作為具有端口匯聚ID T002的端口匯聚的代表端口。
[0071]在接收到代表端口的選擇結(jié)果時,BC路徑搜索單元207參考存儲在拓?fù)湫畔⒐芾韱卧?03中的拓?fù)湫畔?,使用棧鏈路計算路徑,使得代表端口分別包括在廣播分發(fā)樹中,并向BC路徑控制命令生成單元206通知計算的路徑(圖5步驟S004)。
[0072]BC路徑控制命令生成單元206根據(jù)BC路徑搜索單元207計算的路徑生成用于實現(xiàn)廣播分組傳送的傳送條目,并在相關(guān)中繼裝置中設(shè)置傳送條目(圖5步驟S005)
[0073]圖6和圖7示出在相關(guān)中繼裝置中設(shè)置的傳送表的內(nèi)容。圖6示出在具有被選為代表端口的成員端口的中繼裝置中設(shè)置的傳送表的內(nèi)容(除“輸入端口 ”和“MPLS (多協(xié)議標(biāo)簽交換)標(biāo)簽”外的匹配條件已省略,例如,設(shè)置其他條件,如用于確定廣播分組的廣播地址)。圖6包括定義了用于傳送由代表端口接收的廣播分組的處理內(nèi)容的傳送條目,其中,廣播分組從連接至BC傳送路徑上的下一個中繼裝置的端口傳送。并且,圖6包括定義了用于傳送由EAST棧鏈路和WEST棧鏈路接收的廣播分組的處理內(nèi)容的傳送條目。根據(jù)這些條目,如果廣播分組中MPLS標(biāo)簽包括的端口匯聚ID和與接收廣播分組的中繼裝置代表端口關(guān)聯(lián)的端口匯聚ID相同,中繼裝置移除(解封裝)MPLS標(biāo)簽并從連接至BC傳送路徑上的下一個中繼裝置的端口傳送廣播分組。相反,如果廣播分組中MPLS標(biāo)簽包括的端口匯聚ID和與中繼裝置代表端口關(guān)聯(lián)的端口匯聚ID不同,中繼裝置從與已接收到廣播分組的棧鏈路端口相反的端口傳送廣播分組。
[0074]圖7示出在不具有代表端口的中繼裝置中設(shè)置的傳送表的內(nèi)容(除“輸入端口”夕卜的匹配條件已省略,例如,設(shè)置其他條件,如用于確定廣播分組的廣播地址)。圖7包括定義了當(dāng)從不是代表端口的端口(即,成員端口)接收廣播分組時,用于傳送廣播分組的處理內(nèi)容的傳送條目。根據(jù)該傳送條目,中繼裝置在接收的廣播分組中添加MPLS填充(shim)首部,在MPLS標(biāo)簽中寫入(封裝)該成員端口所屬的端口匯聚的端口匯聚ID,以及從EAST棧鏈路端口傳送接收的廣播分組。并且,圖7包括定義了用于傳送由EAST棧鏈路端口和WEST棧鏈路端口接收的廣播分組的處理內(nèi)容的傳送條目。根據(jù)這些傳送條目,中繼裝置從與已接收到廣播分組的棧鏈路端口相反的棧鏈路端口傳送廣播分組。
[0075]換言之,設(shè)置傳送條目,使得如果端口匯聚的代表端口接收廣播分組,則從連接至對應(yīng)廣播傳送路徑上的下一個中繼裝置(即,控制裝置200指定的中繼裝置)的端口傳送廣播分組。相反,設(shè)置傳送條目,使得如果端口匯聚的任一成員端口接收廣播分組,則添加棧鏈路傳送標(biāo)識符(MPLS標(biāo)簽)并在棧鏈路的正方向或反方向上傳送廣播分組,直到廣播分組被傳送至具有端口匯聚的代表端口的中繼裝置為止。
[0076]通過這種方式完成基于端口匯聚配置輸入了對廣播傳送條目的設(shè)置。
[0077]接下來參考附圖描述當(dāng)構(gòu)成端口匯聚Tl和T2的中繼裝置102端口 #1和#2 (圖1)接收廣播分組時分別執(zhí)行的操作。
[0078]首先,參考圖8描述當(dāng)中繼裝置102的端口 #1接收廣播分組時執(zhí)行的操作。當(dāng)中繼裝置102的端口 #1接收廣播分組時,由于中繼裝置102沒有代表端口,根據(jù)圖7中具有“成員端口 ”作為匹配條件的傳送條目,中繼裝置102用MPLS封裝接收的廣播分組,并在MPLS標(biāo)簽中設(shè)置作為中繼裝置102端口 #1所屬端口匯聚的端口匯聚ID“T001”,并傳送廣播分組至中繼裝置102的端口 #3,即EAST棧鏈路端口。
[0079]中繼裝置103的端口 #4 (即WEST棧鏈路端口)接收被傳送至中繼裝置102的端口 #3的廣播分組。中繼裝置103具有代表端口,且中繼裝置103的端口 #4是WEST棧鏈路端口,如圖3所示。圖6中的傳送條目具有“WEST棧鏈路端口”作為匹配條件,并指出作為匹配條件,用作中繼裝置103代表端口的端口 #2所屬的端口匯聚的端口匯聚ID ( = T002)與被傳送分組中MPLS標(biāo)簽包括的端口匯聚ID不同,根據(jù)圖6中的傳送條目,中繼裝置103傳送廣播分組至中繼裝置103的端口 #3,即其EAST棧鏈路端口。
[0080]中繼裝置101的端口 #4 (即WEST棧鏈路端口)接收被傳送至中繼裝置103的端口 #3的廣播分組。中繼裝置101具有代表端口,且中繼裝置101的端口 #4是WEST棧鏈路端口,如圖3所示。圖6中的傳送條目具有“WEST棧鏈路端口 ”作為匹配條件,并指出作為匹配條件,用作中繼裝置101代表端口的端口 #1所屬的端口匯聚的端口匯聚ID ( = T001)與被傳送分組中MPLS標(biāo)簽包括的端口匯聚ID相同,因而,根據(jù)圖6中的傳送條目,中繼裝置101移除MPLS標(biāo)簽(執(zhí)行解封裝)并傳送廣播分組至連接至對應(yīng)廣播傳送路徑上的下一個中繼裝置(中繼裝置104)的端口。
[0081]由于BC路徑控制命令生成單元206預(yù)先在每個中繼裝置104和105中設(shè)置用于根據(jù)廣播分組傳送路徑執(zhí)行傳送的傳送條目,廣播分組在圖8中箭頭指示的路徑上被傳送。
[0082]以下參考圖9描述當(dāng)中繼裝置102的端口 #2接收廣播分組時執(zhí)行的操作。當(dāng)中繼裝置102的端口 #2接收廣播分組時,由于中繼裝置102沒有代表端口,根據(jù)圖7中具有“成員端口 ”作為匹配條件的傳送條目,中繼裝置102用MPLS封裝接收的廣播分組,并在MPLS標(biāo)簽中設(shè)置“T002”作為中繼裝置102端口 #2所屬端口匯聚的端口匯聚ID,并傳送廣播分組至端口 #3,即中繼裝置102的EAST棧鏈路端口。
[0083]中繼裝置103的端口 #4 (即WEST棧鏈路端口)接收被傳送至中繼裝置102的端口 #3的廣播分組。中繼裝置103具有代表端口,且中繼裝置103的端口 #4是WEST棧鏈路端口,如圖3所示。圖6中的傳送條目具有“WEST棧鏈路端口”作為匹配條件,并指出作為匹配條件,用作中繼裝置103代表端口的端口 #2所屬的端口匯聚的端口匯聚ID ( = T002)與被傳送分組中MPLS標(biāo)簽包括的端口匯聚ID相同,因而,根據(jù)圖6中的傳送條目,中繼裝置103移除MPLS標(biāo)簽(執(zhí)行解封裝)并傳送廣播分組至連接至對應(yīng)廣播傳送路徑上的下一個中繼裝置(中繼裝置105)的端口。
[0084]由于BC路徑控制命令生成單元206預(yù)先在中繼裝置105中設(shè)置用于根據(jù)廣播分組傳送路徑執(zhí)行傳送的傳送條目,廣播分組在圖8中箭頭指示的路徑上被傳送。
[0085]如上描述的,如果中繼裝置101-103的端口 #3和#4配置了環(huán)形棧鏈路,并且如果中繼裝置102的成員端口(端口 #1和#2)接收廣播分組,則根據(jù)使用端口匯聚ID來確定廣播分組端口匯聚的傳送條目作為匹配條件,傳送廣播分組。與在圖12中示出的參考示例不同,多個端口匯聚(端口匯聚Tl和T2)能夠共享棧鏈路。因此,能夠?qū)崿F(xiàn)廣播分組傳送而不添加必要的配置棧鏈路的中繼裝置101-103物理端口的數(shù)量。
[0086]基于其中布置有兩個端口匯聚Tl和T2的示例,描述了以上示例性實施例。然而根據(jù)以上說明和圖6、圖7示出的傳送條目,可以理解,即使配置三個或更多的端口匯聚,也能夠通過共享棧鏈路執(zhí)行分組傳送。
[0087]并且,以上示例性實施例中共享單個棧鏈路。然而,本發(fā)明可以采用通過共享兩個或更多的棧鏈路執(zhí)行分組傳送的配置。這時,在棧鏈路配置信息中添加具有不同棧鏈路ID的條目,并在圖4端口匯聚配置信息中設(shè)置具有與對應(yīng)端口匯聚ID關(guān)聯(lián)的棧鏈路ID的條目。并且,控制裝置200的BC路徑控制命令生成單元206參考棧鏈路配置信息和端口匯聚配置信息,并設(shè)置包括至少一個用于確定要傳送至第二棧鏈路的廣播分組的匹配條件在內(nèi)的至少一個傳送條目。
[0088]并且,在以上示例性實施例中,添加用于確定與經(jīng)由棧鏈路被傳送的廣播分組的端口匯聚ID對應(yīng)的MPLS填充首部,并且在MPLS標(biāo)簽中寫入端口匯聚ID。然而,可以添加不同格式的首部。備選地,不是添加首部,而是可以在已有字段中嵌入端口匯聚ID,用作圖10中示出的匹配條件。
[0089]并且,基于執(zhí)行廣播分組傳送控制的示例,描述了以上示例性實施例。然而,廣播分組外的其他分組可用作控制目標(biāo)分組。例如,本發(fā)明可應(yīng)用于傳送從外部中繼裝置傳送的組播分組。
[0090]并且,在以上示例性實施例中,中繼裝置101-103連接成環(huán)形。然而,不同的網(wǎng)絡(luò)配置也是可用的,只要分組能夠被傳送至代表端口。
[0091]通過引用將以上每個專利文獻(xiàn)和非專利文獻(xiàn)的公開結(jié)合于此。示例性實施例和示例的修改和調(diào)整都可在本發(fā)明全部公開(包括權(quán)利要求)的范圍內(nèi)并基于本發(fā)明的基本技術(shù)構(gòu)思。各種公開單元(包括權(quán)利要求、示例性實施例、示例、附圖等中的每一個要素)的各種組合和選擇都在本發(fā)明權(quán)利要求的范圍內(nèi)。換言之,本發(fā)明確定包括本領(lǐng)域技術(shù)人員根據(jù)包括權(quán)利要求和技術(shù)構(gòu)思能夠做出各種變化和修改。
[0092]附圖標(biāo)記列表
[0093]101-105 中繼裝置
[0094]200控制裝置
[0095]201中繼裝置通信單元
[0096]202拓?fù)湫畔@得單元
[0097]203拓?fù)湫畔⒐芾韱卧?br>
[0098]204單播路徑控制命令生成單元
[0099]205單播路徑搜索單元
[0100]206廣播路徑控制命令生成單元(BC路徑控制命令生成單元)
[0101]207廣播路徑搜索單元(BC路徑搜索單元)
[0102]208端口匯聚控制命令生成單元
[0103]209端口匯聚信息管理單元
[0104]210端口匯聚信息獲得單元
[0105]301,302外部中繼裝置
[0106]401-403 終端
【權(quán)利要求】
1.一種分組傳送系統(tǒng),包括: 相互連接的多個第一中繼裝置; 多個第二中繼裝置,包括多個端口并連接至所述多個第一裝置;以及控制裝置,通過使用所述第一中繼裝置和所述第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路,其中 所述控制裝置從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口,以及 當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,控制裝置使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。
2.根據(jù)權(quán)利要求1的分組傳送系統(tǒng),其中 基于添加至所述預(yù)定控制目標(biāo)分組的、用于標(biāo)識所述多個端口匯聚中一個的端口匯聚ID (標(biāo)識符),所述多個第一中繼裝置在所述多個第一中繼裝置之中傳送所述預(yù)定控制目標(biāo)分組。
3.根據(jù)權(quán)利要求1或2的分組傳送系統(tǒng),其中 所述多個第一中繼裝置通過環(huán)形鏈路連接, 如果所述多個第一中繼裝置中的一個第一中繼裝置經(jīng)由所述多個端口匯聚中一個的代表端口之外的端口接收到所述預(yù)定控制目標(biāo)分組,則所述控制裝置使所述一個第一中繼裝置向所述預(yù)定控制目標(biāo)分組添加端口匯聚ID,并在環(huán)形鏈路的正方向或反方向上傳送具有所述端口匯聚ID的所述預(yù)定控制目標(biāo)分組, 通過在環(huán)形鏈路的正方向或反方向上傳送所述預(yù)定控制目標(biāo)分組,所述控制裝置使具有所述端口匯聚ID的所述預(yù)定控制目標(biāo)分組到達(dá)包括與所述端口匯聚ID對應(yīng)的端口匯聚的代表端口在內(nèi)的第一中繼裝置,以及 所述控制裝置使包括與所述端口匯聚ID對應(yīng)的端口匯聚的代表端口在內(nèi)的第一中繼裝置從所述預(yù)定控制目標(biāo)分組中移除所述端口匯聚ID,并傳送所述預(yù)定控制目標(biāo)分組至指定裝置。
4.根據(jù)權(quán)利要求1到3中任一項的分組傳送系統(tǒng),其中 所述端口匯聚ID存儲為MPLS (多協(xié)議標(biāo)簽交換)標(biāo)簽。
5.一種控制裝置,通過使用相互連接的多個第一中繼裝置與包括多個端口并連接至所述多個第一中繼裝置的多個第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路,其中 所述控制裝置從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口,以及 當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,控制裝置使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。
6.根據(jù)權(quán)利要求5的控制裝置,其中 所述控制裝置使所述多個第一中繼裝置向所述預(yù)定控制目標(biāo)分組添加端口匯聚10(標(biāo)識符)以用于確定所述多個端口匯聚中的一個,并基于所添加的端口匯聚10執(zhí)行所述預(yù)定控制目標(biāo)分組的傳送。
7.根據(jù)權(quán)利要求5或6的控制裝置,其中 所述多個第一中繼裝置通過環(huán)形鏈路連接, 如果所述多個第一中繼裝置中的一個第一中繼裝置經(jīng)由所述多個端口匯聚中一個的代表端口之外的端口接收到所述預(yù)定控制目標(biāo)分組,則所述控制裝置使所述一個第一中繼裝置向所述預(yù)定控制目標(biāo)分組添加端口匯聚10,并在環(huán)形鏈路的正方向或反方向上傳送具有所述端口匯聚10的所述預(yù)定控制目標(biāo)分組, 通過在環(huán)形鏈路的正方向或反方向上傳送所述預(yù)定控制目標(biāo)分組,所述控制裝置使具有所述端口匯聚10的所述預(yù)定控制目標(biāo)分組到達(dá)包括與所述端口匯聚10對應(yīng)的端口匯聚的代表端口在內(nèi)的第一中繼裝置,以及 所述控制裝置使包括與所述端口匯聚10對應(yīng)的端口匯聚的代表端口在內(nèi)的第一中繼裝置從所述預(yù)定控制目標(biāo)分組中移除所述端口匯聚10,并傳送所述預(yù)定控制目標(biāo)分組至指定裝置。
8.根據(jù)權(quán)利要求5到7中任一項的控制裝置,其中, 所述控制裝置使所述多個第一中繼裝置添加1?舊(多協(xié)議標(biāo)簽交換)首部并存儲所述端口匯聚10為腿^3標(biāo)簽。
9.一種由控制裝置執(zhí)行的分組傳送方法,所述控制裝置通過使用相互連接的多個第一中繼裝置與包括多個端口并連接至所述多個第一中繼裝置的多個第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路,所述分組傳送方法包括: 從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口 ;以及 當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。
10.一種控制裝置上的程序,所述控制裝置通過使用相互連接的多個第一中繼裝置與包括多個端口并連接至所述多個第一中繼裝置的多個第二中繼裝置之間的多個物理鏈路,配置多個端口匯聚,每個端口匯聚用作虛擬邏輯鏈路,所述程序使計算機執(zhí)行: 從所述多個端口匯聚中每個端口匯聚的組成端口之中確定該端口匯聚的代表端口 ;以及 當(dāng)所述多個第一中繼裝置中的一個第一中繼裝置從所述多個第二中繼裝置中的一個接收到預(yù)定控制目標(biāo)分組時,使所述多個第一中繼裝置經(jīng)由包括所述多個端口匯聚中的一個端口匯聚的代表端口在內(nèi)的第一中繼裝置發(fā)送所述預(yù)定控制目標(biāo)分組,其中接收到所述預(yù)定控制目標(biāo)分組的所述一個第一中繼裝置的端口屬于所述一個端口匯聚。
【文檔編號】H04L12/717GK104335536SQ201380026154
【公開日】2015年2月4日 申請日期:2013年5月24日 優(yōu)先權(quán)日:2012年5月25日
【發(fā)明者】石塚英一 申請人:日本電氣株式會社