新四季網

利用mac限制來控制動態未知l2泛濫的製作方法

2023-05-08 10:34:06 2

專利名稱:利用mac限制來控制動態未知l2泛濫的製作方法
技術領域:
本發明涉及數據聯網,更具體地說,本發明涉及對包含在數據網絡中的VLAN上的分組泛濫進行控制。
背景技術:
數據網絡是用於在諸如計算機等節點之間傳輸數據的互連的通信鏈路和網段在地理上的分布式集合。節點一般根據諸如傳輸控制協議/網際網路協議(TCP/IP)或者電氣電子工程師學會(IEEE)802.3協議等預定義的協議,通過交換包含數據的離散幀或分組來通過網絡傳輸數據。在本上下文中,協議由一組定義了節點如何彼此交互來在它們之間傳輸數據的規則組成。
存在從區域網(LAN)到廣域網(WAN)的很多種網絡。LAN一般通過位於大體相同的物理位置(例如建築物或園區)中的專用私有通信鏈路來連接多個節點(例如,個人計算機和工作站)來形成專用網絡。另一方面,WAN一般通過長距離通信鏈路(例如,公共載波電話線路)來連接大量地理上分散的節點。網際網路就是WAN的一個例子,其連接遍及全世界的不同的網絡,從而提供包含在各種網絡中的節點之間的全球通信。WAN通常包括中間網絡節點的複雜網絡,例如路由器或交換機,這些中間網絡節點互連形成該WAN,並且通常配置為執行與將流量發送過WAN相關聯的各種功能。
一些組織在他們的專用網絡中實現虛擬LAN(VLAN)來對該組織內的例如用戶、伺服器和其他資源等實體進行分組。VLAN是諸如末端節點和伺服器之類的實體的邏輯群組,即使這些實體分布在包括許多不同物理網段的大網絡上,它們彼此看起來也象在同一個物理LAN網段上。VLAN工作在作為開放系統互連(OSI)參考模型的第2層(L2)的在數據鏈路層。
一個組織可以利用一個或多個中間節點,例如,L2交換機,來耦合屬於特定VLAN的網絡中的各種實體。這些中間節點可以採用特定的硬體或軟體,該硬體或軟體配置為「獲知」關於屬於該VLAN的實體的各種信息,並且將該信息置於轉發資料庫中,轉發資料庫由中間節點用來將該節點獲取的分組轉發到各個實體。所獲知的信息可能包括與實體相關的VLAN和媒體訪問控制(MAC)地址、以及中間節點上的埠的埠標識符(ID),其中該埠是通過其可以到達該實體的埠。
通常中間節點採用內容可尋址存儲器(CAM)來存儲轉發資料庫信息。CAM通常作為專用存儲器器件實現在硬體中,其允許在單個時鐘周期內對其全部內容進行搜索。兩種常用類型的CAM包括二元CAM和三元CAM(TCAM)。二元CAM執行精確匹配搜索,而TCAM則允許在搜索中使用「不關心」作為通配符來實現模式匹配。因此,在一定程度上TCAM比二元CAM更通用,中間節點通常採用一個或多個TCAM器件來實現中間節點的轉發資料庫。
TCAM器件的存儲容量通常有限。例如,一般的TCAM器件可能至多包含32,768(32K)個條目。在一般的轉發資料庫布置中,TCAM配置為每個條目保存與中間節點可訪問的一個特定實體相關聯的轉發資料庫信息。因此,利用TCAM器件實現轉發資料庫通常被限制為僅包含至多32K個條目的信息。
轉發資料庫中的條目一般利用一種稱作「獲知」的技術來填充。獲知包括識別出關於網絡中的實體的信息,例如,與實體相關聯的MAC地址、VLAN和目的地埠,然後將該信息放置到轉發資料庫條目中。例如,假設中間節點在源埠「C」上獲得一個分組,該分組包含源MAC地址「A」。還假設該埠與VLAN「B」相關聯。中間節點就將MAC地址「A」應用到它的轉發資料庫,來確定在該資料庫中是否已存在與實體「A」相關聯的條目。假定不存在這樣的條目,則中間節點通過將該實體的地址、與該實體相關聯的源埠信息和VLAN放置到它的轉發資料庫中的一個條目中,從而「獲知」該實體。因此,在上述示例中,中間節點在轉發資料庫中創建了與該實體相關聯的條目,該條目包含分別代表與該實體相關聯的地址、VLAN和源埠的「A」、「B」和「C」。稍後中間節點可以使用該信息來轉發去往該實體的分組。
除了獲知之外,中間節點還可以通過執行「查找」操作來識別出與分組相關聯的目的地埠並且將該分組轉發往該目的地埠,從而處理分組。查找操作可能包括將分組中包含的目的地地址應用到轉發資料庫,來確定該資料庫是否包含具有與目的地地址匹配的地址的條目。如果發現了匹配條目,則中間節點經由在該匹配條目中指定的目的地埠將分組轉發到目的地節點。如果未發現匹配條目,則中間節點可以另行將分組「泛濫」出所有埠,來試圖到達目的地節點。泛濫通常包括在除了中間節點的獲取到分組的源埠之外的每個埠上發送該分組的拷貝。
上述獲知技術的一個問題是屬於一個VLAN的條目可能佔用轉發資料庫中的全部或過多數量的條目,從而可能致使中間節點不斷獲知屬於其他VLAN的實體。例如,如果屬於一個特定VLAN的實體的數量比轉發表中的條目的數量多,則轉發表可能僅包含與該VLAN相關聯的條目。與來自其他VLAN的實體相關聯的條目最終被取代並且因此必須被重獲知。這將導致取代和重獲知連續循環進行,從而可能極大地影響中間節點的分組處理性能。
在一個VLAN的實體佔用轉發表中的全部或過多數量的條目後可能發生的另一個問題是過度的泛濫,尤其是在對去往屬於其他VLAN的實體的分組進行處理時。這種過度泛濫可能致使網絡的性能極大地下降。例如,如上所述,假設第一VLAN具有比轉發資料庫中的條目多的實體,並且這些實體都是活動的,並且整個資料庫都被與這些實體相關聯的條目佔用。則從第二VLAN獲取的分組將必須被泛濫,因為轉發資料庫將不會包含與所獲取的分組的目的地地址相關聯的條目。如果在來自第二VLAN的分組被獲取到並被處理之前第一VLAN繼續佔用轉發資料庫中的所有條目,則第二VLAN的分組不得不繼續被泛濫,從而可能導致在處理第二VLAN的分組時產生過多的流量並且將流量引入到網絡中。這些過多的流量可能進一步導致網絡擁塞和網絡惡化。

發明內容
本發明通過提供下述技術克服了現有技術的缺點該技術可由中間節點用來對泛濫數據網絡中包含的虛擬區域網(VLAN)上的分組進行控制。根據該技術,針對每個VLAN建立限制,其中該限制指示可與VLAN相關聯的轉發資料庫條目的數目。生成指示轉發資料庫中與VLAN相關聯的條目的的計數。將該計數與該限制相比較,以確定該計數是否與該限制匹配。如果匹配,則執行動作來對泛濫該VLAN上的分組進行控制。
在所示實施例中,中間節點包含一個或多個編碼地址識別邏輯(EARL)器件,每個EARL器件配置為獲知和轉發由中間節點從數據網絡獲取的分組。另外,每個EARL器件包含轉發資料庫和媒體訪問控制(MAC)限制資料庫。轉發資料庫配置為保存VLAN、MAC地址和由中間節點處理的分組的埠關係。MAC限制資料庫配置為保存關於網絡中包含的VLAN的各種信息,包括每個VLAN的MAC限制和MAC計數。MAC限制是一個預定義的值,指示轉發資料庫中可以與一個特定的VLAN相關聯的條目數目的「天花板」。MAC計數是指示轉發資料庫中與VLAN相關聯的條目的實際數目的值。
每個EARL執行MAC限制過程,即,對轉發資料庫進行監控並且確定VLAN的MAC計數的軟體過程。此外,MAC限制過程確定VLAN的MAC計數是否與該VLAN的MAC限制匹配,並且如果匹配,則採取預定義的動作。該動作可以包括發布警告到系統日誌、限制獲知該VLAN的條目、限制泛濫該VLAN的分組、或者關閉該VLAN。
有益地,本發明提供了一種技術,該技術限制轉發資料庫中可以與VLAN相關聯的條目的數目,從而避免單個或一小組VLAN使用全部或大部分轉發資料庫條目。通過以此方式限制條目的數目,該創造性技術限制了可能由於處理下述VLAN的分組而生成的泛濫流量的數量,所述VLAN是由例如與佔轉發資料庫全部或大部分的條目相關聯的VLAN替換掉的VLAN。


通過結合附圖參考下面的描述可以更好地理解本發明的上述和其他優點,在附圖中,相似的標號指示相同或功能上類似的元素圖1是可以有益地與本發明一起使用的示例性網絡的示意框圖;圖2是可以有益地與本發明一起使用的中間節點的高層部分示意框圖;圖3是可以有益地與本發明一起使用的監督引擎的高層部分示意框圖;圖4是可以有益地與本發明一起使用的線路卡的高層部分示意框圖;圖5是可以有益地與本發明一起使用的編碼地址識別邏輯(EARL)的高層部分示意框圖;圖6是可以有益地與本發明一起使用的轉發資料庫的示意框圖;圖7是可以有益地與本發明一起使用的媒體訪問控制(MAC)限制資料庫的示意框圖;圖8A~B是根據本創造性技術用於處理分組的步驟序列的流程圖;以及圖9A~B是根據本創造性技術用於處理MAC限制資料庫的步驟序列的流程圖。
具體實施例方式
圖1是可以有益地與本發明一起使用的計算機網絡100的示意框圖。計算機網絡100包括連接到多個節點(例如,末端節點110和中間節點200)的通信鏈路和網段的集合。網絡鏈路和網段可以包括由中間節點200互連來形成計算機節點的互連網絡的區域網(LAN)120。這些互連的節點通過根據預定義的協議集合交換數據分組來通信,所述協議例如是傳輸控制協議/網際網路協議(TCP/IP)、以及電氣電子工程師學會(IEEE)802.3協議。
圖2是可以有益地與本發明一起使用的中間節點200的高層部分示意框圖。可以與本發明一起使用的合適的中間節點包括可從Cisco SystemsIncorporated,San Jose,CA獲得的Cisco 6500系列路由器和Cisco 7600系列路由器。中間節點200包括由數據總線220互連的一個或多個線路卡400、交換結構卡230、以及監督引擎卡300。節點200配置為執行各種傳統的第2層(L2)和第3層(L3)交換和路由功能等,包括交換和路由數據分組。此外,節點200還配置為對通信協議的各種組合提供支持,所述通信協議例如是TCP/IP、乙太網、異步傳輸模式(ATM)和多信道T3。
數據總線220包括點到點互連總線,該總線互連各種卡,並且允許數據和信號從一個卡被傳送到另一個。交換結構230是傳統的交換結構設備,配置為結合線路卡400和監督引擎300工作來提高系統的帶寬。就此而言,交換結構230包含以下邏輯該邏輯配置為從監督引擎300和線路卡400獲取分組,確定該分組的目的地(例如,線路卡400),並且將該分組傳送到該目的地。
線路卡400將中間節點200與網絡100相連(相接口)。線路卡400利用各種協議(例如,ATM、乙太網、T3),分別經由輸出埠217和輸入埠215,將數據分組傳遞到網絡和獲取來自網絡的數據分組。在功能上,線路卡400經由輸入埠215獲取來自網絡100的數據分組,然後將數據分組轉發到數據總線220上;並且經由輸出埠217將從數據總線220接收到的數據分組傳送到網絡100。埠215、217可以例如包括ATM、乙太網、快速乙太網(FE)、千兆比特乙太網(GE)和幀中繼(FR)埠。
監督引擎300包括配置為執行管理節點200、並且對其分發給線路卡400的集中的轉發資料庫進行維護等功能的邏輯。圖3是可以有益地與本發明一起使用的監督引擎的高層部分示意框圖。監督引擎300包括處理器320、系統控制器330、接口邏輯360和存儲器340。存儲器340包括可由系統控制器330尋址的隨機訪問存儲器(RAM)位置,用於存儲數據結構和軟體程序等。作業系統342的多個部分一般駐留在存儲器340中並由處理器320執行,作業系統342在功能上通過對在監督引擎300上執行的軟體過程所支持的網絡操作進行調用等來組織中間節點200。這些過程可以包括實現由中間節點200支持的各種路由和交換協議的軟體功能,以及實現由監督引擎執行的各種功能(例如,管理中間節點)的過程。接口邏輯360耦合到數據總線220,並且配置為在數據總線220和處理器320之間傳送數據。
存儲器340例如是利用動態隨機訪問存儲器(DRAM)器件實現的128M(Mb)存儲器,其包含由處理器320使用的各種軟體和數據結構。這些數據結構包括轉發資料庫344,轉發資料庫344包含各種轉發信息,例如,網絡中的節點的媒體訪問控制(MAC)地址、以及與這些節點相關聯的虛擬區域網(VLAN)標識符(ID)和目的地埠ID。系統控制器330耦合到處理器320和存儲器340,並且包括配置為使處理器320能夠訪問(例如,讀、寫)存儲器340中包含的存儲器位置的電路。
處理器320是傳統的路由處理器,配置為執行存儲器340中包含的指令來維護和分發轉發資料庫344等。具體而言,處理器320執行獲取關於由各個線路卡400處理的分組的信息(例如,與分組相關聯的MAC地址、埠和VLAN ID)的指令,然後利用該信息來維護轉發資料庫344。此外,處理器320執行指令來將其轉發資料庫344分發給各個線路卡400,如下面將描述的那樣,線路卡400可以處理該信息來更新並維護它們的轉發資料庫版本。
圖4是可以有益地與本發明一起使用的線路卡400的高層部分示意框圖。線路卡400包括輸入接口邏輯420、編碼地址識別邏輯(EARL)500、數據總線接口邏輯460、輸出接口邏輯430和輸出排隊邏輯440。每個線路卡可以包含耦合到網絡100的多個輸入215和輸出217埠。輸入接口邏輯420和輸出接口邏輯430分別經由輸入215和輸出217埠將線路卡接口到網絡100,並且使線路卡能夠將數據傳送到網絡和獲取來自網絡的數據。就此而言,邏輯420和430包括傳統的接口電路,該接口電路可以結合用於將線路卡400與網絡的物理介質和在該介質上運行的協議相接口所需的信號、電氣和機械特性、以及交換電路。
數據總線接口邏輯460包含接口電路,該接口電路將線路卡接口到數據總線220,並且使線路卡400能夠發送數據到耦合到總線220的其他卡和獲取來自耦合到總線220的其他卡的數據。輸出排隊邏輯440包含諸如輸出隊列和調度控制邏輯之類的電路,並被配置為控制經由輸出接口430到網絡100的數據傳送。
EARL 500例如實現在專用集成電路(ASIC)中,其包括配置為根據本創造性技術獲取數據分組並且處理它們的電路。圖5是可以有益地與本發明一起使用的EARL 500的高層部分示意框圖。EARL 500包括輸入接口邏輯510、數據總線接口邏輯550、程序存儲器530和動態存儲器540,它們都耦合到處理引擎520。輸入接口邏輯510包含這樣的電路,該電路配置為獲取來自輸入接口420的數據分組,並且使處理引擎520能夠訪問這些分組。類似地,數據總線接口邏輯550包含使處理引擎520能夠將所獲取的分組傳送到數據總線接口460的電路。另外,輸入接口邏輯510和數據總線接口邏輯550可以包含可由引擎520訪問的緩衝器,這些緩衝器配置為保存所獲取的分組。
處理引擎520是傳統的處理器,包含各種邏輯,例如,算術邏輯單元(ALU)和執行單元(EU),其被配置為執行計算機可執行指令,並且操縱程序存儲器530和動態存儲器540中包含的數據。另外,引擎520包含這樣的邏輯,該邏輯配置為訪問由輸入接口邏輯510從輸入接口420獲取的分組,並且經由數據總線接口邏輯550將這些分組傳送到數據總線接口460。此外,引擎520還包含傳統的定時器電路522,說明性地,定時器電路522是可編程間隔定時器,可由引擎520配置為在預定間隔處期滿。
程序存儲器530和動態存儲器540說明性地是包含隨機訪問存儲器位置的傳統計算機可讀介質,這些隨機訪問存儲器位置配置為保存可由處理引擎520訪問的數據和計算機可執行指令。存儲器530包含多任務作業系統532,多任務作業系統532在功能上以使引擎520能夠執行各種傳統的作業系統功能的方式組織處理引擎520,所述作業系統功能例如是提供系統服務、定時器服務、以及調度各種用於執行的軟體過程。程序存儲器530還包含MAC限制過程534和計算機可執行指令,MAC限制過程534是在作業系統532控制下執行的一種軟體過程,並且所述計算機可執行指令可由引擎520執行並將引擎520配置為執行各種功能,這些功能包括結合了本創造性技術的各個方面的功能。
類似地,動態存儲器540也是包含可由處理引擎520訪問的隨機訪問存儲器位置的計算機可讀介質。存儲器540包含各種數據結構,例如,轉發資料庫600和MAC限制資料庫700,這些數據結構例如由引擎520用來根據本創造性技術處理分組。應當注意,存儲器540可以是利用可由引擎520訪問的CAM器件實現的內容可尋址存儲器(CAM)。
圖6是轉發資料庫600的示意框圖,其被示作包括一個或多個條目610的表,其中每個條目610代表可由中間節點200經由數據網絡訪問的一個節點。條目610包含有效欄位620、MAC地址欄位630、VLAN欄位640、埠欄位650和線路卡欄位660。有效欄位620例如是1位的欄位,其保存指示條目610中的剩餘欄位是否包含有效信息的指示符。例如,如果條目610包含有效信息則該欄位保存值1。
MAC地址欄位630例如是48位的欄位,其保存由條目610代表的節點的MAC地址。VLAN欄位640保存標識與條目610相關聯的VLAN的標識符。類似地,埠欄位650和線路卡欄位660保存標識與由條目610代表的節點相關聯的埠和線路卡400的標識符。例如,線路卡欄位660和埠欄位650中包含的標識符分別代表線路卡400和線路卡400上的輸出埠217,通過該埠217可以到達由條目610代表的節點。應當注意,資料庫600中的各個條目610可能不與VLAN相關聯。對於這種條目,VLAN欄位640包含指示該條目不與VLAN相關聯的值。
在功能上,處理器320將監督引擎300中包含的轉發資料庫信息344經由數據總線220分發到每個線路卡400。在每個線路卡處,信息被數據總線接口邏輯460獲取到,並且被傳送到EARL 500,EARL 500對該信息進行處理,該處理包括利用該信息來配置其轉發資料庫600。線路卡400在輸入埠215處獲取的分組被傳送到輸入接口420,輸入接口420然後將該分組傳送到EARL 500。EARL 500將分組中包含的目的地地址應用到轉發資料庫600,來確定轉發資料庫600中的條目610是否包含與該分組中的目的地地址匹配的MAC地址630。如果包含,則EARL 500檢查線路卡欄位660的內容,並且確定是將該分組交換到線路卡400上的輸出埠217,還是該分組是去往耦合到數據總線220的另一塊卡。如果該分組是去往另一塊卡(例如,其他線路卡400),則EARL 500將該分組與埠信息650一起經由數據總線接口460傳送到去往交換結構卡230的數據總線220上。交換結構230然後將分組和埠欄位650傳送到卡以進一步處理。
如果分組不是去往另一塊卡,即,該分組是去往線路卡400自身包含的輸出埠217,則EARL 500指示數據總線接口邏輯460將該分組傳送到輸出排隊邏輯440。輸出排隊邏輯440將分組放置到適當的輸出隊列上,以經由輸出埠217傳送到網絡上。
本發明結合了這樣的技術,該技術可以用來限制針對數據網絡中的特定虛擬區域網(VLAN)發生的泛濫的數量。根據該技術,針對由網絡中包含的中間節點處理的每個VLAN建立限制。該限制指示可以與VLAN相關聯的轉發表條目的數量。中間節點確定轉發表中與VLAN相關聯的條目的實際數目,並且將該數目與限制相比較來確定該數目是否與限制匹配。如果匹配,則採取包括限制針對該VLAN發生的泛濫的數量在內的動作。
MAC限制資料庫數據結構700例如是包括一個或多個條目710的表,其中每個條目保存與特定VLAN相關聯的信息。圖7是可以有益地與本發明一起使用的MAC限制資料庫700的高層示意框圖。MAC限制資料庫700例如是包括一個或多個條目710的表,其中每個條目710與一個VLAN相關聯,並且包含VLAN欄位730、MAC計數欄位740、MAC限制欄位750、動作欄位760和狀態欄位770。VLAN欄位730保存標識與該條目相關聯的VLAN的標識符。MAC計數欄位保存表示轉發資料庫600中與該VLAN相關聯的轉發表條目610的數目的值。MAC限制欄位750保存例如代表轉發表資料庫600中可以與該VLAN相關聯的條目610的最大數目的值。動作欄位760包含標識在MAC計數740與MAC限制750匹配時採取的動作的標識符。例如,該動作可以包括在日誌中記錄警告、終止對該VLAN的「獲知」(例如,停止將新的條目610關聯到該VLAN)、終止為該VLAN泛濫分組和/或關閉該VLAN(例如,終止為該VLAN轉發的流量)。
狀態欄位770保存與VLAN相關聯的狀態,該狀態代表VLAN的狀態。例如,該狀態包括「關閉」狀態、「不獲知」狀態、「不泛濫」狀態和「活動」狀態。「關閉」狀態指示中間節點已關閉該VLAN,並且不為該VLAN轉發流量。「不獲知」狀態指示中間節點不添加用於該VLAN的新的條目到轉發資料庫600。「不泛濫」狀態指示中間節點不將流量泛濫到該VLAN上,「活動」狀態指示中間節點正為該VLAN轉發流量。
MAC限制過程534監控轉發資料庫600,維護在MAC限制資料庫700中表示的每個VLAN的MAC計數740,並且如果一個VLAN的MAC計數740與針對該VLAN建立的MAC限制750匹配則採取動作。圖8A~B是如果必要的話,可以根據本創造性技術用於監控轉發資料庫600、更新MAC限制資料庫700和採取動作的步驟序列的流程圖。該序列開始於步驟805,然後前進到步驟180,在該步驟中處理引擎520初始化定時器522,使其在預定間隔處期滿,所述間隔例如為3分鐘的間隔。接下來,在步驟815處,引擎520利用由中間節點200處理的各個VLAN的信息來初始化MAC限制資料庫700中的條目710。例如,條目710中MAC計數欄位740的內容被設置為零,並且利用從例如由網絡管理員在節點200中配置的預定數據生成的信息來初始化條目710的VLAN欄位730、MAC限制欄位750和動作欄位760。
在步驟820處,引擎520執行檢查來確定定時器522是否已期滿。如果未期滿,則該序列返回步驟820。否則,該序列前進到步驟825,在該步驟中,引擎520訪問轉發資料庫600中的第一條目610。在步驟830處,引擎520通過檢查條目610的有效欄位620來確定該欄位是否包含例如1,從而確定條目610是否有效。如果無效,則該序列前進到步驟850。否則,在步驟832和835處,引擎520在MAC限制資料庫700中定位與該轉發資料庫條目610的VLAN 640相關聯的條目710,並且例如通過將該條目的MAC計數欄位740的內容與該條目的MAC限制欄位750的內容相比較,來確定與轉發資料庫條目610相關聯的VLAN的MAC計數740是否與該VLAN的MAC限制750匹配。如果不存在匹配,則該序列前進到步驟840,在該步驟中,例如通過將MAC計數欄位740的內容加1並且用該結果替換該內容,從而更新該欄位的內容。該序列然後前進到步驟850。
但是,如果VLAN條目的MAC計數740與該條目的MAC限制750匹配,則該序列前進到步驟845,在該步驟中,引擎520執行由該條目的動作欄位760指示的動作。例如,如上所述,該動作可以包括將該狀況記錄為在可由中間節點200訪問的系統日誌中的消息、禁止對該VLAN的獲知、禁止為該VLAN泛濫數據分組和/或通過將該VLAN關閉來暫停針對該VLAN的全部流量。此外,引擎520更新與該VLAN相關聯的狀態欄位770的內容來指示所採取的動作。例如,如果所採取的動作包括關閉VLAN,則引擎520更新狀態770來指示「關閉」。類似地,如果所採取的動作包括禁止泛濫和/或禁止獲知,則引擎更新狀態770來分別指示「不泛濫」和/或「不獲知」。
在步驟850處(圖8B),引擎520訪問下一個轉發資料庫條目610,然後在步驟855處,檢查條目610來確定該條目610是否是資料庫600中的最後一個條目。如果是,則該序列前進到步驟895,在該步驟中,該序列結束;否則,該序列返回步驟830。
圖9A~B是根據本創造性技術可用於配置EARL 500來獲取和處理分組的步驟序列的流程圖。該序列開始於步驟905,然後前進到步驟910,在該步驟中,分組被輸入埠215獲取,並且最終被傳送到輸入接口邏輯510。接下來,在步驟915中,引擎520確定與該分組相關聯的VLAN的狀態770是否指示該VLAN已被關閉。例如,「與分組相關聯的VLAN」是與在其上獲取該VLAN的輸出埠217相關聯的VLAN。或者,分組可以與這樣的VLAN相關聯,該VLAN與分組中包含的VLAN標籤或與分組中包含的源地址相關聯。如果與分組相關聯的VLAN已被關閉,則該序列前進到步驟965(圖9B),在該步驟中該分組被丟棄(拋棄)。然後該序列在步驟995中結束。
如果VLAN的狀態770未指示該VLAN被關閉,則該序列前進到步驟920,在該步驟中,定位與該分組相關聯的VLAN的MAC限制條目710。接下來,在步驟925和930中,引擎520將分組中包含的源地址和轉發資料庫600中包含的MAC地址630相比較,以確定條目610是否包含與該分組中包含的源地址匹配的MAC地址630。如果包含,則該序列前進到步驟945(圖9B)。否則,該序列前進到步驟935,在該步驟中,引擎520通過檢查與VLAN相關聯的狀態欄位770來確定該欄位是否指示「不獲知」,從而確定對該分組的VLAN的獲知是否被禁止。如果是,則該序列前進到步驟945。如果不是,則該序列前進到步驟940,在該步驟中,引擎520生成包含分組的源地址、VLAN、埠和線路卡信息的轉發資料庫條目610。具體而言,引擎520將分組的源地址和標識與該分組相關聯的VLAN的標識符分別放置到轉發資料庫600中的可用(無效)條目610的MAC地址欄位630和VLAN欄位640中。另外,引擎520例如將標識線路卡和該線路卡上的獲取分組的埠的標識符分別放置到條目610的線路卡欄位660和埠欄位650中。然後,引擎520設置該條目的有效欄位620的內容來指示該條目610是有效的(例如,將該欄位的內容設置為1)。
在步驟945和950處,將目的地地址與轉發資料庫600中包含的MAC地址630相比較,來確定該目的地地址是否與資料庫600中包含的條目610的MAC地址630匹配。如果匹配,則該序列前進到步驟955,在該步驟中,利用匹配條目610中包含的信息以傳統方式轉發該分組;例如,該分組被轉發到由匹配條目610的埠欄位650和線路卡欄位660指示的埠和線路卡400。該序列然後在步驟995處結束。
如果未發現匹配條目610,則該序列前進到步驟960,在該步驟中,引擎520通過檢查與VLAN相關聯的狀態770來確定該狀態是否指示「不泛濫」,從而確定針對該分組的VLAN的泛濫是否被禁止。如果被禁止,則該序列前進到步驟965,在該步驟中分組被丟棄(拋棄)。否則,該序列前進到步驟970,在該步驟中,分組被泛濫。然後該序列在步驟995處結束。
應當注意,儘管在這裡描述的說明性實施例中所描述的各種數據結構都被說明為表,但是,也可以使用其他類型的數據結構來實現這些數據結構,例如,鍊表或數組。
還應當注意,本創造性技術可以實現在硬體、軟體(固件)或硬體和軟體的組合中。例如,硬體實現可以實現數據結構(例如,硬體CAM中的轉發資料庫600和MAC限制資料庫700)、以及在一個或多個硬體狀態機中的由處理引擎520執行的函數。此外,軟體實現可以實現作為軟體定義的數據結構的資料庫和由硬體執行的作為軟體函數或例程的各種函數。
前面的描述集中於本發明的特定實施例。很清楚,可以對所述實施例作出其他變動和修改,同時保留它們的一些或全部優點。因此,所附權利要求書的一個目的是只要這種變動和修改在本發明的真實精神和範圍內,就要覆蓋所有這種變動和修改。
權利要求
1.一種在包括一個或多個虛擬區域網(VLAN)的數據網絡的中間節點中用於對泛濫VLAN上的分組進行控制的方法,所述中間節點包含轉發資料庫並且所述轉發資料庫包括一個或多個轉發資料庫條目,該方法包括以下步驟建立指示可與所述VLAN相關聯的轉發資料庫條目的數目的限制;確定與所述VLAN相關聯的轉發資料庫條目的數目是否與針對所述VLAN建立的限制匹配;以及如果匹配則執行動作來對泛濫所述VLAN上的分組進行控制。
2.如權利要求1所述的方法,其中,所述中間節點包含媒體訪問控制(MAC)限制資料庫,所述MAC限制資料庫包括一個或多個MAC限制資料庫條目,其中每個條目與一個VLAN相關聯,並且包含指示與所述VLAN相關聯的轉發資料庫條目的數目的MAC限制和指示與所述VLAN相關聯的轉發資料庫條目的數目的MAC計數。
3.如權利要求2所述的方法,包括以下步驟定位與所述VLAN相關聯的MAC限制資料庫條目;以及將所述MAC限制資料庫條目的MAC計數與所述MAC限制資料庫條目的MAC限制相比較來確定與所述VLAN相關聯的轉發資料庫條目的數目是否與針對所述VLAN建立的所述限制匹配。
4.如權利要求2所述的方法,包括以下步驟訪問與所述VLAN相關聯的轉發資料庫條目;定位與所述VLAN相關聯的MAC限制資料庫條目;將所述MAC限制資料庫條目的MAC計數與所述MAC限制資料庫條目的MAC限制相比較,以確定所述MAC計數是否與所述MAC限制匹配;以及如果不匹配,則更新所述MAC計數。
5.如權利要求1所述的方法,其中,所述動作包括將消息記錄到所述中間節點可訪問的日誌。
6.如權利要求1所述的方法,其中,所述動作包括禁止為所述VLAN進行泛濫。
7.如權利要求1所述的方法,其中,所述動作包括禁止為所述VLAN轉發分組。
8.如權利要求1所述的方法,其中,所述動作包括禁止獲知所述VLAN。
9.如權利要求1所述的方法,包括以下步驟獲取分組,其中所述分組與所述VLAN相關聯;確定所述VLAN是否被關閉;以及如果被關閉則丟棄所述分組。
10.如權利要求1所述的方法,包括以下步驟獲取分組,其中所述分組與所述VLAN相關聯;確定所述轉發資料庫是否包含以下條目所述條目包含與所述分組中包含的源地址匹配的MAC地址;如果不包含,則確定是否禁止獲知所述VLAN;以及如果不包含,則生成包含所述分組的源地址的轉發資料庫條目。
11.如權利要求1所述的方法,包括以下步驟獲取分組,其中所述分組與所述VLAN相關聯;確定所述轉發資料庫是否包含以下條目所述條目包含與所述分組中包含的目的地地址匹配的MAC地址;如果不包含,則確定為所述VLAN進行的泛濫是否被使能;以及如果包含,則泛濫所述分組。
12.一種耦合到包含一個或多個VLAN的數據網絡的中間節點,所述中間節點包括轉發資料庫,其包含一個或多個條目,其中每個條目與可由所述中間節點訪問的節點相關聯,並且其中每個條目與一個虛擬區域網(VLAN)相關聯;以及處理器,其配置為針對每個VLAN,(i)建立對所述VLAN的限制,其中所述限制指示可以與所述VLAN相關聯的轉發資料庫條目的數目,(ii)確定所述轉發資料庫中與所述VLAN相關聯的條目的數目是否與針對所述VLAN建立的限制匹配,以及(iii)如果匹配,則執行動作來對泛濫所述VLAN上的分組進行控制。
13.如權利要求12所述的中間節點,還包括媒體訪問控制(MAC)限制資料庫,其具有一個或多個MAC限制資料庫條目,其中每個條目與一個VLAN相關聯,並且包含指示與所述VLAN相關聯的轉發資料庫條目的數目的MAC限制,以及指示所述轉發資料庫中與所述VLAN相關聯的條目的數目的MAC計數。
14.如權利要求13所述的中間節點,其中,所述處理器針對所述轉發資料庫中的每個條目被配置為將所述MAC計數和與所述轉發資料庫條目相關聯的VLAN的MAC限制相比較,以確定所述MAC計數是否與所述MAC限制匹配。
15.如權利要求13所述的中間節點,其中,所述處理器配置為如果所述MAC計數與所述MAC限制不匹配,則更新所述MAC計數。
16.如權利要求12所述的中間節點,其中,所述動作包括將消息記錄到所述中間節點可訪問的日誌。
17.如權利要求12所述的中間節點,其中,所述動作包括禁止為所述VLAN進行泛濫。
18.如權利要求12所述的中間節點,其中,所述動作包括禁止為所述VLAN轉發分組。
19.如權利要求12所述的中間節點,其中,所述動作包括禁止獲知所述VLAN。
20.一種系統,包括轉發資料庫,其包括與VLAN相關聯的一個或多個轉發資料庫條目;用於建立限制的裝置,其中所述限制指示所述轉發資料庫中包含的與所述VLAN相關聯的條目的數目;用於確定所述轉發資料庫中與所述VLAN相關聯的條目的數目是否與針對所述VLAN建立的限制匹配的裝置;以及用於如果所述轉發資料庫中與所述VLAN相關聯的條目的數目與針對所述VLAN建立的限制匹配,則執行動作來對泛濫所述VLAN上的分組進行控制的裝置。
21.如權利要求20所述的系統,包括媒體訪問控制(MAC)限制資料庫,其包括一個或多個MAC限制資料庫條目,其中每個條目與一個VLAN相關聯,並且包含指示與所述VLAN相關聯的轉發資料庫條目的數目的MAC限制,以及指示所述轉發資料庫中與所述VLAN相關聯的條目的數目的MAC計數。
22.如權利要求20所述的系統,包括用於訪問所述轉發資料庫中與所述VLAN相關聯的條目的裝置;用於將MAC計數和與所述VLAN相關聯的MAC限制相比較來確定所述MAC計數是否與所述MAC限制匹配的裝置;以及用於如果所述MAC計數與所述MAC限制不匹配則更新所述MAC計數的裝置。
23.一種包含用於對泛濫VLAN上的分組進行控制的計算機可執行指令的計算機可讀介質,所述計算機可讀介質包含用於以下操作的計算機可執行指令建立對與所述VLAN相關聯的轉發資料庫條目的數目的限制;確定所述轉發資料庫中與所述VLAN相關聯的條目的數目是否與針對所述VLAN建立的限制匹配;以及如果匹配則執行動作來對泛濫所述VLAN上的分組進行控制。
全文摘要
一種技術可以用來對針對數據網絡中的特定虛擬區域網(VLAN)發生的泛濫的數量進行限制。針對由中間節點處理的VLAN建立限制。每個限制指示可以與一個特定VLAN相關聯的轉發資料庫條目的數量。如果轉發資料庫中條目數量達到針對特定VLAN建立的限制,則採取動作,所述動作可以包括限制針對該VLAN發生的泛濫的數量。
文檔編號H04L12/56GK1875585SQ200480032156
公開日2006年12月6日 申請日期2004年10月18日 優先權日2003年11月4日
發明者麥可·T·吳, 阿努薩卡·埃蘭戈萬, 拉梅什·M·桑塔納克瑞斯南, 錢戈拉派特·V·拉梅什, 韋福·L·登格 申請人:思科技術公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀