一種分布式交換機的資源ID管理方法及系統與流程
2023-05-26 07:05:56 3

本發明涉及網絡技術領域,具體是涉及一種分布式交換機的資源id管理方法及系統。
背景技術:
交換機上各單盤的子交換機通常獨立轉發業務,每個子交換機的轉發資源表的封裝資源id分配互不相干,不需指定值。為了滿足日益增長的交換容量需求,可以將多個物理子交換機在邏輯上連接形成一個大容量的分布式交換機。分布式交換機上任意兩埠之間的報文通過單跳轉發,該任意兩埠可以屬於不同的子交換機,例如,在入口子交換機通過出口子交換機將報文發送至指定的目的埠之前,出口子交換機需要首先創建對報文進行封裝所需的封裝參數,並將該封裝參數對應的封裝資源id通知入口子交換機,入口子交換機將報文連同指定的目的埠和封裝資源id轉發到出口子交換機。由於一些分布式交換機的各子交換機均有各自獨立的cpu,出口子交換機通常先自動創建分配封裝資源id,將封裝資源id通過cpu之間的通信通知入口子交換機,入口子交換機再用該封裝資源id指定創建業務的封裝。當分布式交換機處理的業務量很大,尤其是涉及點對多點的業務時,造成各子交換機之間通信複雜,報文轉發效率低,交換機的整體運行和維護難度增加。
技術實現要素:
針對現有技術中存在的缺陷,本發明的主要目的在於提供一種分布式交換機的資源id管理方法,本發明的另一目的在於提供一種分布式交換機封裝資源id的管理系統,各子交換機之間無需相互通知本地資源id,減輕了各子交換機的通信負荷,從而提高了報文轉發效率以及分布式交換機的運行效率。
本發明提供一種分布式交換機的資源id管理方法,分布式交換機包括網絡管理設備和若干子交換機,網絡管理設備與所有子交換機分別連接,所述資源id管理方法包括以下步驟:
網絡管理設備為兩個子交換機之間的報文轉發業務創建配置信息,並將所述配置信息發送到報文轉發相關的兩個子交換機,其中,所述配置信息包括報文轉發相關的兩個子交換機的匹配參數、封裝參數以及本地資源id,所述本地資源id由網絡管理設備分配給報文轉發相關的兩個子交換機以標識所述匹配參數和封裝參數;
每一個子交換機根據接收的所述配置信息設置報文轉發業務的匹配參數和/或封裝參數。
在上述技術方案的基礎上,在網絡管理設備為兩個子交換機之間的報文轉發業務創建配置信息之前,所述方法還包括:網絡管理設備為每一個子交換機分配若干所述本地資源id,並創建一用於存儲所述本地資源id的本地資源池。
在上述技術方案的基礎上,所述本地資源id包括標識所述匹配參數的本地匹配id和標識所述封裝參數的本地封裝id。
在上述技術方案的基礎上,當所述兩個子交換機為入口子交換機和出口子交換機時,
網絡管理設備從所述入口子交換機的本地資源池中獲取一未被使用的本地匹配id,從所述出口子交換機的本地資源池中獲取一未被使用的本地封裝id,並在入口子交換機和出口子交換機的的本地資源池中將獲取的所述本地匹配id和本地封裝id分別設置為使用狀態。
在上述技術方案的基礎上,每一個子交換機均包括匹配硬體表和封裝硬體表;
每一個子交換機根據接收的所述配置信息設置報文轉發業務的匹配參數和/或封裝參數包括:
每一個子交換機分析所述配置信息中的匹配參數;
當所述子交換機根據分析結果判定為所述入口子交換機時,將所述匹配參數和本地封裝id寫入所述匹配硬體表的指定條目中,所述匹配硬體表的指定條目的id與所述本地匹配id相同;
當所述子交換機根據分析結果判定為所述出口子交換機時,將所述配置信息中的封裝參數寫入所述封裝硬體表的指定條目中,所述封裝硬體表的指定條目與所述本地封裝id相同。
在上述技術方案的基礎上,網絡管理設備刪除兩個子交換機之間的報文轉發業務時,通知所述兩個子交換機分別清空報文轉發業務的匹配參數和/或封裝參數。
在上述技術方案的基礎上,所述方法還包括:
網絡管理設備為若干子交換機之間的報文轉發業務創建全局配置信息,並將所述全局配置信息發送到報文轉發相關的所有子交換機,所述全局配置信息包括全局匹配參數、全局封裝參數以及全局資源id,所述全局資源id由網絡管理設備分配給報文轉發相關的若干子交換機以標識所述全局匹配參數和全局封裝參數;
報文轉發相關的若干子交換機根據接收的所述全局配置信息設置報文轉發業務的所述全局匹配參數和/或全局封裝參數。
在上述技術方案的基礎上,在網絡管理設備為若干子交換機之間的報文轉發業務創建全局配置信息之前,所述方法還包括:網絡管理設備創建用於存儲所述全局資源id的全局資源池。
本發明還提供一種分布式交換機的資源id管理系統,分布式交換機包括網絡管理設備和若干子交換機,網絡管理設備與所有子交換機分別連接;
所述網絡管理設備包括分配模塊,所述分配模塊用於為兩個子交換機之間的報文轉發業務創建配置信息,並將所述配置信息發送到報文轉發相關的兩個子交換機,其中,所述配置信息包括報文轉發相關的兩個子交換機的匹配參數、封裝參數以及本地資源id,所述本地資源id由網絡管理設備分配給報文轉發相關的兩個子交換機以標識所述匹配參數和封裝參數;
每一個子交換機均包括控制模塊,所述控制模塊用於根據接收的所述配置信息設置報文轉發業務的匹配參數和/或封裝參數。
在上述技術方案的基礎上,所述分配模塊還用於為若干子交換機之間的報文轉發業務創建全局配置信息,並將所述全局配置信息發送到報文轉發相關的所有子交換機,所述全局配置信息包括全局匹配參數、全局封裝參數以及全局資源id,所述全局資源id由網絡管理設備分配給報文轉發相關的若干子交換機以標識所述全局匹配參數和全局封裝參數;
報文轉發相關的若干子交換機根據接收的所述全局配置信息設置報文轉發業務的所述全局匹配參數和/或全局封裝參數。
與現有技術相比,本發明的優點如下:
(1)網絡管理設備將帶有本地資源id的配置信息發送到報文轉發相關的兩個子交換機,因此,兩個子交換機之間無需相互通知本地資源id,減輕了各子交換機的通信負荷,從而提高了報文轉發效率以及分布式交換機的運行效率。
(2)由於分配給各子交換機的本地資源id可以相同,也可以不相同,可用於進行報文轉發的本地資源id的總數大幅增加,並可以高效地利用各子交換機的硬體資源,進而能夠提高分布式交換機的容量和性能。
(3)網絡管理設備分配全局資源id,並且將帶有全局封裝id的全局配置信息發送到報文轉發相關的若干子交換機,各子交換機之間無需相互通知全局封裝id,降低各子交換機之間的通信難度,避免因各子交換機之間的通信故障造成業務無法實現,從而高效地實現點對多點業務,進一步提高分布式交換機的運行性能和效率。
附圖說明
圖1是本發明實施例分布式交換機的資源id管理方法流程圖;
圖2是本發明實施例分布式交換機的資源id管理系統示意圖。
具體實施方式
本發明的原理在於:分布式交換機的資源id包括本地資源id和全局資源id。網絡管理設備cpu對分布式交換機的所有子交換機的本地資源id按本地化分配模式統一管理,每一個子交換機都按網絡管理設備分配的本地資源id值以with_id即指定id的模式定義資源表信息和創建業務,即半邊業務模型,這樣可以高效地利用各子交換機的硬體資源,而且分布式交換機的業務數量是各子交換機容量總和。對於某些特殊業務,例如用於點對多點業務保護倒換的指針因涉及到多個子交換機的同時id同步,從而必須全局化,此時對所有子交換機統一規劃全局資源id,按全局化管理,全局資源id數量按實際應用場景設計。
下面結合附圖及具體實施例對本發明作進一步的詳細描述。
參見圖1所示,本發明實施例提供一種分布式交換機的資源id管理方法,分布式交換機包括網絡管理設備和若干子交換機,網絡管理設備與所有子交換機分別連接,網絡管理設備包括一cpu,每一個子交換機均包括一cpu,每一個子交換機均包括匹配硬體表和封裝硬體表。
本資源id管理方法包括以下步驟:
s1.網絡管理設備為每一個子交換機分配若干本地資源id,並創建一用於存儲本地資源id的本地資源池。
s2.網絡管理設備為兩個子交換機之間的報文轉發業務創建配置信息,並將配置信息發送到報文轉發相關的兩個子交換機,其中,配置信息包括報文轉發相關的兩個子交換機的匹配參數、封裝參數以及本地資源id,本地資源id由網絡管理設備分配給報文轉發相關的兩個子交換機以標識匹配參數和封裝參數。
具體的,本地資源id可以為整數組成的序列號值,本地資源id包括標識匹配參數的本地匹配id和標識封裝參數的本地封裝id,本地匹配id和本地封裝id均可以採用整數組成的序列號值,例如1,2,......,或者11,12,......。
網絡管理設備為每一個子交換機分配若干本地資源id,並存入該子交換機對應的本地資源池,本地資源id分配完成時均為未被使用狀態。當網絡管理設備為兩個子交換機之間的報文轉發業務創建配置信息時,可以直接從子交換機的本地資源池中獲取未被使用的本地資源id,便於網絡管理設備監控每一個子交換機的所有本地資源id的使用情況和狀態,為新的報文轉發業務創建配置信息時效率更高。而且,分配給各子交換機的本地資源id可以完全相同,各子交換機上相同的業務類型可以採用相同的本地匹配id或者本地封裝id,便於對分布式交換機的業務進行管理。
由於分配給各子交換機的本地資源id可以相同,也可以不相同,完全各自獨立,分布式交換機可用於進行報文轉發的業務數量是各子交換機本地資源id的總和,因此提高了分布式交換機的容量和性能。
具體的,當兩個子交換機為入口子交換機和出口子交換機時,在入口子交換機通過出口子交換機將報文發送至指定的目的埠之前,出口子交換機需要首先創建對報文進行封裝所需的封裝參數,並將該封裝參數對應的封裝id通知入口子交換機,即id同步,入口子交換機將報文連同指定的目的埠和封裝id轉發到出口子交換機。因此,網絡管理設備從入口子交換機的本地資源池中獲取一未被使用的本地匹配id,從出口子交換機的本地資源池中獲取一未被使用的本地封裝id,並在兩個子交換機的本地資源池中將獲取的本地匹配id和本地封裝id分別設置為使用狀態。
s3.每一個子交換機根據接收的配置信息設置報文轉發業務的匹配參數和/或封裝參數。
當兩個子交換機為入口子交換機和出口子交換機時,對於點對點雙向業務,入口子交換機只需設置報文轉發業務的匹配參數,出口子交換機只需設置報文轉發業務的封裝參數。對於點對點雙向業務,入口子交換機和出口子交換機均需設置報文轉發業務的匹配參數和封裝參數。
步驟s3具體包括:
每一個子交換機分析配置信息中的匹配參數。
當子交換機根據分析結果判定為入口子交換機時,將匹配參數和本地封裝id寫入匹配硬體表的指定條目中,匹配硬體表的指定條目的id與本地匹配id相同。
當子交換機根據分析結果判定為出口子交換機時,將配置信息中的封裝參數寫入封裝硬體表的指定條目中,封裝硬體表的指定條目與本地封裝id相同。
網絡管理設備將帶有本地資源id的配置信息發送到報文轉發相關的兩個子交換機,因此,兩個子交換機之間無需相互通知本地資源id,減輕了各子交換機的通信負荷,從而提高了報文轉發效率以及分布式交換機的運行效率。
在其他實施例中,步驟s1還可以包括:網絡管理設備創建用於存儲全局資源id的全局資源池。
步驟s2還可以包括:網絡管理設備為若干子交換機之間的報文轉發業務創建全局配置信息,並將全局配置信息發送到報文轉發相關的所有子交換機,全局配置信息包括全局匹配參數、全局封裝參數以及全局資源id,全局資源id由網絡管理設備分配給報文轉發相關的若干子交換機以標識全局匹配參數和全局封裝參數。
全局資源id不同於所有的本地資源id,全局資源id可以為整數組成的序列號值,全局資源id包括標識全局匹配參數的全局匹配id和標識全局封裝參數的全局封裝id,全局匹配id和全局封裝id均可以採用整數組成的序列號值,例如100,200,......。
步驟s3還可以包括:報文轉發相關的若干子交換機根據接收的全局配置信息設置報文轉發業務的全局匹配參數和/或全局封裝參數。
例如點對多點業務中包括一個入口子交換機和多個出口子交換機時,網絡管理設備從全局資源池中獲取一未被使用的全局匹配id和一未被使用的全局封裝id,並在全局資源池中將獲取的全局匹配id和全局封裝id分別設置為使用狀態。
入口子交換機將全局匹配參數和全局封裝id寫入匹配硬體表的指定條目中,匹配硬體表的指定條目的id與全局匹配id相同。多個出口子交換機分別將配置信息中的封裝參數寫入各自的封裝硬體表的指定條目中,封裝硬體表的指定條目與全局封裝id相同。
網絡管理設備分配全局資源id,並且將帶有全局封裝id的全局配置信息發送到報文轉發相關的若干子交換機,各子交換機之間無需相互通知全局封裝id,降低各子交換機之間的通信難度,避免因各子交換機之間的通信故障造成業務無法實現,從而高效地實現點對多點業務,進一步提高分布式交換機的運行性能和效率。
在上述步驟s3之後,本資源id管理方法還可以包括:
s4.網絡管理設備刪除兩個子交換機之間的報文轉發業務時,通知兩個子交換機分別清空報文轉發業務的匹配參數和/或封裝參數,並將本地資源id的狀態從使用重置為未被使用。
具體的,當網絡管理設備刪除兩個子交換機之間的報文轉發業務時,通知兩個子交換機分別清空設置報文轉發業務的參數,即入口子交換機清空匹配硬體表的指定條目中的匹配參數和本地封裝id,出口子交換機清空封裝硬體表的指定條目中的封裝參數,網絡管理設備將兩個子交換機的本地資源池中被刪除的報文轉發業務對應的本地資源id從使用狀態重置為未被使用狀態,實現對本地資源id的回收。
當網絡管理設備刪除若干子交換機之間的報文轉發業務時,通知相關的所有子交換機分別清空設置報文轉發業務的參數,即入口子交換機清空匹配硬體表的指定條目中的匹配參數和全局封裝id,出口子交換機清空封裝硬體表的指定條目中的封裝參數,網絡管理設備將相關的所有子交換機的本地資源池中被刪除的報文轉發業務對應的全局資源id從使用狀態重置為未被使用狀態,實現對全局資源id的回收。
下面以一個點對點雙向業務為例,對上述實施例具體說明:對於3個子交換機a、b、c,網絡管理設備的cpu對於子交換機a、b和c分別創建一個本地資源池,本地資源池用於存儲與其相對應的子交換機的本地資源id,本地資源id包括匹配id和封裝id,匹配id和封裝id分別用於與其相對應的子交換機的兩個硬體資源表(匹配硬體表和封裝硬體表)的管理。
建一條點對點雙向業務以實現:
a.1(子交換機所在單盤a的埠1)進包vlan=50到b.2出包vlan=60,其中,從a.1到b.2為匹配參數,匹配參數包括兩個子交換機之間轉發報文的埠參數,封裝參數為出去的幀打上vlan=60。
反向即b.2進包vlan=61。到a.1出包vlan=51,其中,從b.2到a.1為匹配參數,封裝參數為出去的幀打上vlan=51。
網絡管理設備的cpu從子交換機a的本地資源池中取出匹配id=2,封裝id=2,並置位這些匹配id和封裝id均為使用狀態,從子交換機b的本地資源池中取出匹配id=4,封裝id=5,並置位這些匹配id和封裝id均為使用狀態。
上述子交換機a和b的匹配id和封裝id連同業務配置其他通用參數(即匹配參數和封裝參數)構成配置信息後一起下發到子交換機所在單盤a(子交換機a)和子交換機所在單盤b(子交換機b)。
子交換機a收到配置信息後,在匹配硬體表的條目2上定義:埠1的vlan=50的包目的地為b.2,遠端封裝為5;在封裝硬體表的條目2上定義:出去的幀打上vlan=51。
子交換機b收到配置信息後,在匹配硬體表的條目4上定義:埠2的vlan=61的包目的地為a.1,遠端封裝為2;在封裝硬體表的條目5上定義:出去的幀打上vlan=60。
這樣業務就正常轉發了,先在本子交換機按默認定義將入包vlan刪除,並指定在出口子交換機所完成的封裝id,然後在出口子交換機完成新vlan的最後封裝。在上述整個過程中,網絡管理設備的cpu無需對子交換機c的本地資源池進行操作,子交換機c也無需進行操作。
在刪除業務時,則子交換機a和子交換機b會對匹配硬體表和封裝硬體表上這些匹配id和封裝id清空。網絡管理設備在下完刪除命令後會對這些匹配id和封裝id置位為可用即回收匹配id和封裝id資源。
參見圖2所示,本發明還提供一種分布式交換機的資源id管理系統,分布式交換機包括網絡管理設備和若干子交換機,網絡管理設備與所有子交換機分別連接。網絡管理設備包括一cpu,每一個子交換機均包括一cpu,每一個子交換機均包括匹配硬體表和封裝硬體表。
網絡管理設備包括分配模塊,分配模塊用於為兩個子交換機之間的報文轉發業務創建配置信息,並將配置信息發送到報文轉發相關的兩個子交換機,其中,配置信息包括報文轉發相關的兩個子交換機的匹配參數、封裝參數以及本地資源id,本地資源id由網絡管理設備分配給報文轉發相關的兩個子交換機以標識匹配參數和封裝參數。
每一個子交換機均包括控制模塊,控制模塊用於根據接收的配置信息設置報文轉發業務的匹配參數和/或封裝參數。
在其他實施例中,分配模塊還用於為若干子交換機之間的報文轉發業務創建全局配置信息,並將全局配置信息發送到報文轉發相關的所有子交換機,全局配置信息包括全局匹配參數、全局封裝參數以及全局資源id,全局資源id由網絡管理設備分配給報文轉發相關的若干子交換機以標識全局匹配參數和全局封裝參數。
報文轉發相關的若干子交換機根據接收的全局配置信息設置報文轉發業務的全局匹配參數和/或全局封裝參數。
本發明不局限於上述實施方式,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護範圍之內。本說明書中未作詳細描述的內容屬於本領域專業技術人員公知的現有技術。