專利名稱:利用mac限制來(lái)控制動(dòng)態(tài)未知l2泛濫的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)聯(lián)網(wǎng),更具體地說(shuō),本發(fā)明涉及對(duì)包含在數(shù)據(jù)網(wǎng)絡(luò)中的VLAN上的分組泛濫進(jìn)行控制。
背景技術(shù):
數(shù)據(jù)網(wǎng)絡(luò)是用于在諸如計(jì)算機(jī)等節(jié)點(diǎn)之間傳輸數(shù)據(jù)的互連的通信鏈路和網(wǎng)段在地理上的分布式集合。節(jié)點(diǎn)一般根據(jù)諸如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)或者電氣電子工程師學(xué)會(huì)(IEEE)802.3協(xié)議等預(yù)定義的協(xié)議,通過(guò)交換包含數(shù)據(jù)的離散幀或分組來(lái)通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù)。在本上下文中,協(xié)議由一組定義了節(jié)點(diǎn)如何彼此交互來(lái)在它們之間傳輸數(shù)據(jù)的規(guī)則組成。
存在從局域網(wǎng)(LAN)到廣域網(wǎng)(WAN)的很多種網(wǎng)絡(luò)。LAN一般通過(guò)位于大體相同的物理位置(例如建筑物或園區(qū))中的專用私有通信鏈路來(lái)連接多個(gè)節(jié)點(diǎn)(例如,個(gè)人計(jì)算機(jī)和工作站)來(lái)形成專用網(wǎng)絡(luò)。另一方面,WAN一般通過(guò)長(zhǎng)距離通信鏈路(例如,公共載波電話線路)來(lái)連接大量地理上分散的節(jié)點(diǎn)?;ヂ?lián)網(wǎng)就是WAN的一個(gè)例子,其連接遍及全世界的不同的網(wǎng)絡(luò),從而提供包含在各種網(wǎng)絡(luò)中的節(jié)點(diǎn)之間的全球通信。WAN通常包括中間網(wǎng)絡(luò)節(jié)點(diǎn)的復(fù)雜網(wǎng)絡(luò),例如路由器或交換機(jī),這些中間網(wǎng)絡(luò)節(jié)點(diǎn)互連形成該WAN,并且通常配置為執(zhí)行與將流量發(fā)送過(guò)WAN相關(guān)聯(lián)的各種功能。
一些組織在他們的專用網(wǎng)絡(luò)中實(shí)現(xiàn)虛擬LAN(VLAN)來(lái)對(duì)該組織內(nèi)的例如用戶、服務(wù)器和其他資源等實(shí)體進(jìn)行分組。VLAN是諸如末端節(jié)點(diǎn)和服務(wù)器之類的實(shí)體的邏輯群組,即使這些實(shí)體分布在包括許多不同物理網(wǎng)段的大網(wǎng)絡(luò)上,它們彼此看起來(lái)也象在同一個(gè)物理LAN網(wǎng)段上。VLAN工作在作為開放系統(tǒng)互連(OSI)參考模型的第2層(L2)的在數(shù)據(jù)鏈路層。
一個(gè)組織可以利用一個(gè)或多個(gè)中間節(jié)點(diǎn),例如,L2交換機(jī),來(lái)耦合屬于特定VLAN的網(wǎng)絡(luò)中的各種實(shí)體。這些中間節(jié)點(diǎn)可以采用特定的硬件或軟件,該硬件或軟件配置為“獲知”關(guān)于屬于該VLAN的實(shí)體的各種信息,并且將該信息置于轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中,轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)由中間節(jié)點(diǎn)用來(lái)將該節(jié)點(diǎn)獲取的分組轉(zhuǎn)發(fā)到各個(gè)實(shí)體。所獲知的信息可能包括與實(shí)體相關(guān)的VLAN和媒體訪問控制(MAC)地址、以及中間節(jié)點(diǎn)上的端口的端口標(biāo)識(shí)符(ID),其中該端口是通過(guò)其可以到達(dá)該實(shí)體的端口。
通常中間節(jié)點(diǎn)采用內(nèi)容可尋址存儲(chǔ)器(CAM)來(lái)存儲(chǔ)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)信息。CAM通常作為專用存儲(chǔ)器器件實(shí)現(xiàn)在硬件中,其允許在單個(gè)時(shí)鐘周期內(nèi)對(duì)其全部?jī)?nèi)容進(jìn)行搜索。兩種常用類型的CAM包括二元CAM和三元CAM(TCAM)。二元CAM執(zhí)行精確匹配搜索,而TCAM則允許在搜索中使用“不關(guān)心”作為通配符來(lái)實(shí)現(xiàn)模式匹配。因此,在一定程度上TCAM比二元CAM更通用,中間節(jié)點(diǎn)通常采用一個(gè)或多個(gè)TCAM器件來(lái)實(shí)現(xiàn)中間節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)。
TCAM器件的存儲(chǔ)容量通常有限。例如,一般的TCAM器件可能至多包含32,768(32K)個(gè)條目。在一般的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)布置中,TCAM配置為每個(gè)條目保存與中間節(jié)點(diǎn)可訪問的一個(gè)特定實(shí)體相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)信息。因此,利用TCAM器件實(shí)現(xiàn)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)通常被限制為僅包含至多32K個(gè)條目的信息。
轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中的條目一般利用一種稱作“獲知”的技術(shù)來(lái)填充。獲知包括識(shí)別出關(guān)于網(wǎng)絡(luò)中的實(shí)體的信息,例如,與實(shí)體相關(guān)聯(lián)的MAC地址、VLAN和目的地端口,然后將該信息放置到轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目中。例如,假設(shè)中間節(jié)點(diǎn)在源端口“C”上獲得一個(gè)分組,該分組包含源MAC地址“A”。還假設(shè)該端口與VLAN“B”相關(guān)聯(lián)。中間節(jié)點(diǎn)就將MAC地址“A”應(yīng)用到它的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù),來(lái)確定在該數(shù)據(jù)庫(kù)中是否已存在與實(shí)體“A”相關(guān)聯(lián)的條目。假定不存在這樣的條目,則中間節(jié)點(diǎn)通過(guò)將該實(shí)體的地址、與該實(shí)體相關(guān)聯(lián)的源端口信息和VLAN放置到它的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中的一個(gè)條目中,從而“獲知”該實(shí)體。因此,在上述示例中,中間節(jié)點(diǎn)在轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中創(chuàng)建了與該實(shí)體相關(guān)聯(lián)的條目,該條目包含分別代表與該實(shí)體相關(guān)聯(lián)的地址、VLAN和源端口的“A”、“B”和“C”。稍后中間節(jié)點(diǎn)可以使用該信息來(lái)轉(zhuǎn)發(fā)去往該實(shí)體的分組。
除了獲知之外,中間節(jié)點(diǎn)還可以通過(guò)執(zhí)行“查找”操作來(lái)識(shí)別出與分組相關(guān)聯(lián)的目的地端口并且將該分組轉(zhuǎn)發(fā)往該目的地端口,從而處理分組。查找操作可能包括將分組中包含的目的地地址應(yīng)用到轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù),來(lái)確定該數(shù)據(jù)庫(kù)是否包含具有與目的地地址匹配的地址的條目。如果發(fā)現(xiàn)了匹配條目,則中間節(jié)點(diǎn)經(jīng)由在該匹配條目中指定的目的地端口將分組轉(zhuǎn)發(fā)到目的地節(jié)點(diǎn)。如果未發(fā)現(xiàn)匹配條目,則中間節(jié)點(diǎn)可以另行將分組“泛濫”出所有端口,來(lái)試圖到達(dá)目的地節(jié)點(diǎn)。泛濫通常包括在除了中間節(jié)點(diǎn)的獲取到分組的源端口之外的每個(gè)端口上發(fā)送該分組的拷貝。
上述獲知技術(shù)的一個(gè)問題是屬于一個(gè)VLAN的條目可能占用轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中的全部或過(guò)多數(shù)量的條目,從而可能致使中間節(jié)點(diǎn)不斷獲知屬于其他VLAN的實(shí)體。例如,如果屬于一個(gè)特定VLAN的實(shí)體的數(shù)量比轉(zhuǎn)發(fā)表中的條目的數(shù)量多,則轉(zhuǎn)發(fā)表可能僅包含與該VLAN相關(guān)聯(lián)的條目。與來(lái)自其他VLAN的實(shí)體相關(guān)聯(lián)的條目最終被取代并且因此必須被重獲知。這將導(dǎo)致取代和重獲知連續(xù)循環(huán)進(jìn)行,從而可能極大地影響中間節(jié)點(diǎn)的分組處理性能。
在一個(gè)VLAN的實(shí)體占用轉(zhuǎn)發(fā)表中的全部或過(guò)多數(shù)量的條目后可能發(fā)生的另一個(gè)問題是過(guò)度的泛濫,尤其是在對(duì)去往屬于其他VLAN的實(shí)體的分組進(jìn)行處理時(shí)。這種過(guò)度泛濫可能致使網(wǎng)絡(luò)的性能極大地下降。例如,如上所述,假設(shè)第一VLAN具有比轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中的條目多的實(shí)體,并且這些實(shí)體都是活動(dòng)的,并且整個(gè)數(shù)據(jù)庫(kù)都被與這些實(shí)體相關(guān)聯(lián)的條目占用。則從第二VLAN獲取的分組將必須被泛濫,因?yàn)檗D(zhuǎn)發(fā)數(shù)據(jù)庫(kù)將不會(huì)包含與所獲取的分組的目的地地址相關(guān)聯(lián)的條目。如果在來(lái)自第二VLAN的分組被獲取到并被處理之前第一VLAN繼續(xù)占用轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中的所有條目,則第二VLAN的分組不得不繼續(xù)被泛濫,從而可能導(dǎo)致在處理第二VLAN的分組時(shí)產(chǎn)生過(guò)多的流量并且將流量引入到網(wǎng)絡(luò)中。這些過(guò)多的流量可能進(jìn)一步導(dǎo)致網(wǎng)絡(luò)擁塞和網(wǎng)絡(luò)惡化。
發(fā)明內(nèi)容
本發(fā)明通過(guò)提供下述技術(shù)克服了現(xiàn)有技術(shù)的缺點(diǎn)該技術(shù)可由中間節(jié)點(diǎn)用來(lái)對(duì)泛濫數(shù)據(jù)網(wǎng)絡(luò)中包含的虛擬局域網(wǎng)(VLAN)上的分組進(jìn)行控制。根據(jù)該技術(shù),針對(duì)每個(gè)VLAN建立限制,其中該限制指示可與VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目。生成指示轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與VLAN相關(guān)聯(lián)的條目的的計(jì)數(shù)。將該計(jì)數(shù)與該限制相比較,以確定該計(jì)數(shù)是否與該限制匹配。如果匹配,則執(zhí)行動(dòng)作來(lái)對(duì)泛濫該VLAN上的分組進(jìn)行控制。
在所示實(shí)施例中,中間節(jié)點(diǎn)包含一個(gè)或多個(gè)編碼地址識(shí)別邏輯(EARL)器件,每個(gè)EARL器件配置為獲知和轉(zhuǎn)發(fā)由中間節(jié)點(diǎn)從數(shù)據(jù)網(wǎng)絡(luò)獲取的分組。另外,每個(gè)EARL器件包含轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)和媒體訪問控制(MAC)限制數(shù)據(jù)庫(kù)。轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)配置為保存VLAN、MAC地址和由中間節(jié)點(diǎn)處理的分組的端口關(guān)系。MAC限制數(shù)據(jù)庫(kù)配置為保存關(guān)于網(wǎng)絡(luò)中包含的VLAN的各種信息,包括每個(gè)VLAN的MAC限制和MAC計(jì)數(shù)。MAC限制是一個(gè)預(yù)定義的值,指示轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中可以與一個(gè)特定的VLAN相關(guān)聯(lián)的條目數(shù)目的“天花板”。MAC計(jì)數(shù)是指示轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與VLAN相關(guān)聯(lián)的條目的實(shí)際數(shù)目的值。
每個(gè)EARL執(zhí)行MAC限制過(guò)程,即,對(duì)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)進(jìn)行監(jiān)控并且確定VLAN的MAC計(jì)數(shù)的軟件過(guò)程。此外,MAC限制過(guò)程確定VLAN的MAC計(jì)數(shù)是否與該VLAN的MAC限制匹配,并且如果匹配,則采取預(yù)定義的動(dòng)作。該動(dòng)作可以包括發(fā)布警告到系統(tǒng)日志、限制獲知該VLAN的條目、限制泛濫該VLAN的分組、或者關(guān)閉該VLAN。
有益地,本發(fā)明提供了一種技術(shù),該技術(shù)限制轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中可以與VLAN相關(guān)聯(lián)的條目的數(shù)目,從而避免單個(gè)或一小組VLAN使用全部或大部分轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目。通過(guò)以此方式限制條目的數(shù)目,該創(chuàng)造性技術(shù)限制了可能由于處理下述VLAN的分組而生成的泛濫流量的數(shù)量,所述VLAN是由例如與占轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)全部或大部分的條目相關(guān)聯(lián)的VLAN替換掉的VLAN。
通過(guò)結(jié)合附圖參考下面的描述可以更好地理解本發(fā)明的上述和其他優(yōu)點(diǎn),在附圖中,相似的標(biāo)號(hào)指示相同或功能上類似的元素圖1是可以有益地與本發(fā)明一起使用的示例性網(wǎng)絡(luò)的示意框圖;圖2是可以有益地與本發(fā)明一起使用的中間節(jié)點(diǎn)的高層部分示意框圖;圖3是可以有益地與本發(fā)明一起使用的監(jiān)督引擎的高層部分示意框圖;圖4是可以有益地與本發(fā)明一起使用的線路卡的高層部分示意框圖;圖5是可以有益地與本發(fā)明一起使用的編碼地址識(shí)別邏輯(EARL)的高層部分示意框圖;圖6是可以有益地與本發(fā)明一起使用的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)的示意框圖;圖7是可以有益地與本發(fā)明一起使用的媒體訪問控制(MAC)限制數(shù)據(jù)庫(kù)的示意框圖;圖8A~B是根據(jù)本創(chuàng)造性技術(shù)用于處理分組的步驟序列的流程圖;以及圖9A~B是根據(jù)本創(chuàng)造性技術(shù)用于處理MAC限制數(shù)據(jù)庫(kù)的步驟序列的流程圖。
具體實(shí)施例方式
圖1是可以有益地與本發(fā)明一起使用的計(jì)算機(jī)網(wǎng)絡(luò)100的示意框圖。計(jì)算機(jī)網(wǎng)絡(luò)100包括連接到多個(gè)節(jié)點(diǎn)(例如,末端節(jié)點(diǎn)110和中間節(jié)點(diǎn)200)的通信鏈路和網(wǎng)段的集合。網(wǎng)絡(luò)鏈路和網(wǎng)段可以包括由中間節(jié)點(diǎn)200互連來(lái)形成計(jì)算機(jī)節(jié)點(diǎn)的互連網(wǎng)絡(luò)的局域網(wǎng)(LAN)120。這些互連的節(jié)點(diǎn)通過(guò)根據(jù)預(yù)定義的協(xié)議集合交換數(shù)據(jù)分組來(lái)通信,所述協(xié)議例如是傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、以及電氣電子工程師學(xué)會(huì)(IEEE)802.3協(xié)議。
圖2是可以有益地與本發(fā)明一起使用的中間節(jié)點(diǎn)200的高層部分示意框圖??梢耘c本發(fā)明一起使用的合適的中間節(jié)點(diǎn)包括可從Cisco SystemsIncorporated,San Jose,CA獲得的Cisco 6500系列路由器和Cisco 7600系列路由器。中間節(jié)點(diǎn)200包括由數(shù)據(jù)總線220互連的一個(gè)或多個(gè)線路卡400、交換結(jié)構(gòu)卡230、以及監(jiān)督引擎卡300。節(jié)點(diǎn)200配置為執(zhí)行各種傳統(tǒng)的第2層(L2)和第3層(L3)交換和路由功能等,包括交換和路由數(shù)據(jù)分組。此外,節(jié)點(diǎn)200還配置為對(duì)通信協(xié)議的各種組合提供支持,所述通信協(xié)議例如是TCP/IP、以太網(wǎng)、異步傳輸模式(ATM)和多信道T3。
數(shù)據(jù)總線220包括點(diǎn)到點(diǎn)互連總線,該總線互連各種卡,并且允許數(shù)據(jù)和信號(hào)從一個(gè)卡被傳送到另一個(gè)。交換結(jié)構(gòu)230是傳統(tǒng)的交換結(jié)構(gòu)設(shè)備,配置為結(jié)合線路卡400和監(jiān)督引擎300工作來(lái)提高系統(tǒng)的帶寬。就此而言,交換結(jié)構(gòu)230包含以下邏輯該邏輯配置為從監(jiān)督引擎300和線路卡400獲取分組,確定該分組的目的地(例如,線路卡400),并且將該分組傳送到該目的地。
線路卡400將中間節(jié)點(diǎn)200與網(wǎng)絡(luò)100相連(相接口)。線路卡400利用各種協(xié)議(例如,ATM、以太網(wǎng)、T3),分別經(jīng)由輸出端口217和輸入端口215,將數(shù)據(jù)分組傳遞到網(wǎng)絡(luò)和獲取來(lái)自網(wǎng)絡(luò)的數(shù)據(jù)分組。在功能上,線路卡400經(jīng)由輸入端口215獲取來(lái)自網(wǎng)絡(luò)100的數(shù)據(jù)分組,然后將數(shù)據(jù)分組轉(zhuǎn)發(fā)到數(shù)據(jù)總線220上;并且經(jīng)由輸出端口217將從數(shù)據(jù)總線220接收到的數(shù)據(jù)分組傳送到網(wǎng)絡(luò)100。端口215、217可以例如包括ATM、以太網(wǎng)、快速以太網(wǎng)(FE)、千兆比特以太網(wǎng)(GE)和幀中繼(FR)端口。
監(jiān)督引擎300包括配置為執(zhí)行管理節(jié)點(diǎn)200、并且對(duì)其分發(fā)給線路卡400的集中的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)等功能的邏輯。圖3是可以有益地與本發(fā)明一起使用的監(jiān)督引擎的高層部分示意框圖。監(jiān)督引擎300包括處理器320、系統(tǒng)控制器330、接口邏輯360和存儲(chǔ)器340。存儲(chǔ)器340包括可由系統(tǒng)控制器330尋址的隨機(jī)訪問存儲(chǔ)器(RAM)位置,用于存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)和軟件程序等。操作系統(tǒng)342的多個(gè)部分一般駐留在存儲(chǔ)器340中并由處理器320執(zhí)行,操作系統(tǒng)342在功能上通過(guò)對(duì)在監(jiān)督引擎300上執(zhí)行的軟件過(guò)程所支持的網(wǎng)絡(luò)操作進(jìn)行調(diào)用等來(lái)組織中間節(jié)點(diǎn)200。這些過(guò)程可以包括實(shí)現(xiàn)由中間節(jié)點(diǎn)200支持的各種路由和交換協(xié)議的軟件功能,以及實(shí)現(xiàn)由監(jiān)督引擎執(zhí)行的各種功能(例如,管理中間節(jié)點(diǎn))的過(guò)程。接口邏輯360耦合到數(shù)據(jù)總線220,并且配置為在數(shù)據(jù)總線220和處理器320之間傳送數(shù)據(jù)。
存儲(chǔ)器340例如是利用動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)器件實(shí)現(xiàn)的128M(Mb)存儲(chǔ)器,其包含由處理器320使用的各種軟件和數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)包括轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)344,轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)344包含各種轉(zhuǎn)發(fā)信息,例如,網(wǎng)絡(luò)中的節(jié)點(diǎn)的媒體訪問控制(MAC)地址、以及與這些節(jié)點(diǎn)相關(guān)聯(lián)的虛擬局域網(wǎng)(VLAN)標(biāo)識(shí)符(ID)和目的地端口ID。系統(tǒng)控制器330耦合到處理器320和存儲(chǔ)器340,并且包括配置為使處理器320能夠訪問(例如,讀、寫)存儲(chǔ)器340中包含的存儲(chǔ)器位置的電路。
處理器320是傳統(tǒng)的路由處理器,配置為執(zhí)行存儲(chǔ)器340中包含的指令來(lái)維護(hù)和分發(fā)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)344等。具體而言,處理器320執(zhí)行獲取關(guān)于由各個(gè)線路卡400處理的分組的信息(例如,與分組相關(guān)聯(lián)的MAC地址、端口和VLAN ID)的指令,然后利用該信息來(lái)維護(hù)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)344。此外,處理器320執(zhí)行指令來(lái)將其轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)344分發(fā)給各個(gè)線路卡400,如下面將描述的那樣,線路卡400可以處理該信息來(lái)更新并維護(hù)它們的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)版本。
圖4是可以有益地與本發(fā)明一起使用的線路卡400的高層部分示意框圖。線路卡400包括輸入接口邏輯420、編碼地址識(shí)別邏輯(EARL)500、數(shù)據(jù)總線接口邏輯460、輸出接口邏輯430和輸出排隊(duì)邏輯440。每個(gè)線路卡可以包含耦合到網(wǎng)絡(luò)100的多個(gè)輸入215和輸出217端口。輸入接口邏輯420和輸出接口邏輯430分別經(jīng)由輸入215和輸出217端口將線路卡接口到網(wǎng)絡(luò)100,并且使線路卡能夠?qū)?shù)據(jù)傳送到網(wǎng)絡(luò)和獲取來(lái)自網(wǎng)絡(luò)的數(shù)據(jù)。就此而言,邏輯420和430包括傳統(tǒng)的接口電路,該接口電路可以結(jié)合用于將線路卡400與網(wǎng)絡(luò)的物理介質(zhì)和在該介質(zhì)上運(yùn)行的協(xié)議相接口所需的信號(hào)、電氣和機(jī)械特性、以及交換電路。
數(shù)據(jù)總線接口邏輯460包含接口電路,該接口電路將線路卡接口到數(shù)據(jù)總線220,并且使線路卡400能夠發(fā)送數(shù)據(jù)到耦合到總線220的其他卡和獲取來(lái)自耦合到總線220的其他卡的數(shù)據(jù)。輸出排隊(duì)邏輯440包含諸如輸出隊(duì)列和調(diào)度控制邏輯之類的電路,并被配置為控制經(jīng)由輸出接口430到網(wǎng)絡(luò)100的數(shù)據(jù)傳送。
EARL 500例如實(shí)現(xiàn)在專用集成電路(ASIC)中,其包括配置為根據(jù)本創(chuàng)造性技術(shù)獲取數(shù)據(jù)分組并且處理它們的電路。圖5是可以有益地與本發(fā)明一起使用的EARL 500的高層部分示意框圖。EARL 500包括輸入接口邏輯510、數(shù)據(jù)總線接口邏輯550、程序存儲(chǔ)器530和動(dòng)態(tài)存儲(chǔ)器540,它們都耦合到處理引擎520。輸入接口邏輯510包含這樣的電路,該電路配置為獲取來(lái)自輸入接口420的數(shù)據(jù)分組,并且使處理引擎520能夠訪問這些分組。類似地,數(shù)據(jù)總線接口邏輯550包含使處理引擎520能夠?qū)⑺@取的分組傳送到數(shù)據(jù)總線接口460的電路。另外,輸入接口邏輯510和數(shù)據(jù)總線接口邏輯550可以包含可由引擎520訪問的緩沖器,這些緩沖器配置為保存所獲取的分組。
處理引擎520是傳統(tǒng)的處理器,包含各種邏輯,例如,算術(shù)邏輯單元(ALU)和執(zhí)行單元(EU),其被配置為執(zhí)行計(jì)算機(jī)可執(zhí)行指令,并且操縱程序存儲(chǔ)器530和動(dòng)態(tài)存儲(chǔ)器540中包含的數(shù)據(jù)。另外,引擎520包含這樣的邏輯,該邏輯配置為訪問由輸入接口邏輯510從輸入接口420獲取的分組,并且經(jīng)由數(shù)據(jù)總線接口邏輯550將這些分組傳送到數(shù)據(jù)總線接口460。此外,引擎520還包含傳統(tǒng)的定時(shí)器電路522,說(shuō)明性地,定時(shí)器電路522是可編程間隔定時(shí)器,可由引擎520配置為在預(yù)定間隔處期滿。
程序存儲(chǔ)器530和動(dòng)態(tài)存儲(chǔ)器540說(shuō)明性地是包含隨機(jī)訪問存儲(chǔ)器位置的傳統(tǒng)計(jì)算機(jī)可讀介質(zhì),這些隨機(jī)訪問存儲(chǔ)器位置配置為保存可由處理引擎520訪問的數(shù)據(jù)和計(jì)算機(jī)可執(zhí)行指令。存儲(chǔ)器530包含多任務(wù)操作系統(tǒng)532,多任務(wù)操作系統(tǒng)532在功能上以使引擎520能夠執(zhí)行各種傳統(tǒng)的操作系統(tǒng)功能的方式組織處理引擎520,所述操作系統(tǒng)功能例如是提供系統(tǒng)服務(wù)、定時(shí)器服務(wù)、以及調(diào)度各種用于執(zhí)行的軟件過(guò)程。程序存儲(chǔ)器530還包含MAC限制過(guò)程534和計(jì)算機(jī)可執(zhí)行指令,MAC限制過(guò)程534是在操作系統(tǒng)532控制下執(zhí)行的一種軟件過(guò)程,并且所述計(jì)算機(jī)可執(zhí)行指令可由引擎520執(zhí)行并將引擎520配置為執(zhí)行各種功能,這些功能包括結(jié)合了本創(chuàng)造性技術(shù)的各個(gè)方面的功能。
類似地,動(dòng)態(tài)存儲(chǔ)器540也是包含可由處理引擎520訪問的隨機(jī)訪問存儲(chǔ)器位置的計(jì)算機(jī)可讀介質(zhì)。存儲(chǔ)器540包含各種數(shù)據(jù)結(jié)構(gòu),例如,轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600和MAC限制數(shù)據(jù)庫(kù)700,這些數(shù)據(jù)結(jié)構(gòu)例如由引擎520用來(lái)根據(jù)本創(chuàng)造性技術(shù)處理分組。應(yīng)當(dāng)注意,存儲(chǔ)器540可以是利用可由引擎520訪問的CAM器件實(shí)現(xiàn)的內(nèi)容可尋址存儲(chǔ)器(CAM)。
圖6是轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600的示意框圖,其被示作包括一個(gè)或多個(gè)條目610的表,其中每個(gè)條目610代表可由中間節(jié)點(diǎn)200經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)訪問的一個(gè)節(jié)點(diǎn)。條目610包含有效字段620、MAC地址字段630、VLAN字段640、端口字段650和線路卡字段660。有效字段620例如是1位的字段,其保存指示條目610中的剩余字段是否包含有效信息的指示符。例如,如果條目610包含有效信息則該字段保存值1。
MAC地址字段630例如是48位的字段,其保存由條目610代表的節(jié)點(diǎn)的MAC地址。VLAN字段640保存標(biāo)識(shí)與條目610相關(guān)聯(lián)的VLAN的標(biāo)識(shí)符。類似地,端口字段650和線路卡字段660保存標(biāo)識(shí)與由條目610代表的節(jié)點(diǎn)相關(guān)聯(lián)的端口和線路卡400的標(biāo)識(shí)符。例如,線路卡字段660和端口字段650中包含的標(biāo)識(shí)符分別代表線路卡400和線路卡400上的輸出端口217,通過(guò)該端口217可以到達(dá)由條目610代表的節(jié)點(diǎn)。應(yīng)當(dāng)注意,數(shù)據(jù)庫(kù)600中的各個(gè)條目610可能不與VLAN相關(guān)聯(lián)。對(duì)于這種條目,VLAN字段640包含指示該條目不與VLAN相關(guān)聯(lián)的值。
在功能上,處理器320將監(jiān)督引擎300中包含的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)信息344經(jīng)由數(shù)據(jù)總線220分發(fā)到每個(gè)線路卡400。在每個(gè)線路卡處,信息被數(shù)據(jù)總線接口邏輯460獲取到,并且被傳送到EARL 500,EARL 500對(duì)該信息進(jìn)行處理,該處理包括利用該信息來(lái)配置其轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600。線路卡400在輸入端口215處獲取的分組被傳送到輸入接口420,輸入接口420然后將該分組傳送到EARL 500。EARL 500將分組中包含的目的地地址應(yīng)用到轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600,來(lái)確定轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600中的條目610是否包含與該分組中的目的地地址匹配的MAC地址630。如果包含,則EARL 500檢查線路卡字段660的內(nèi)容,并且確定是將該分組交換到線路卡400上的輸出端口217,還是該分組是去往耦合到數(shù)據(jù)總線220的另一塊卡。如果該分組是去往另一塊卡(例如,其他線路卡400),則EARL 500將該分組與端口信息650一起經(jīng)由數(shù)據(jù)總線接口460傳送到去往交換結(jié)構(gòu)卡230的數(shù)據(jù)總線220上。交換結(jié)構(gòu)230然后將分組和端口字段650傳送到卡以進(jìn)一步處理。
如果分組不是去往另一塊卡,即,該分組是去往線路卡400自身包含的輸出端口217,則EARL 500指示數(shù)據(jù)總線接口邏輯460將該分組傳送到輸出排隊(duì)邏輯440。輸出排隊(duì)邏輯440將分組放置到適當(dāng)?shù)妮敵鲫?duì)列上,以經(jīng)由輸出端口217傳送到網(wǎng)絡(luò)上。
本發(fā)明結(jié)合了這樣的技術(shù),該技術(shù)可以用來(lái)限制針對(duì)數(shù)據(jù)網(wǎng)絡(luò)中的特定虛擬局域網(wǎng)(VLAN)發(fā)生的泛濫的數(shù)量。根據(jù)該技術(shù),針對(duì)由網(wǎng)絡(luò)中包含的中間節(jié)點(diǎn)處理的每個(gè)VLAN建立限制。該限制指示可以與VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)表?xiàng)l目的數(shù)量。中間節(jié)點(diǎn)確定轉(zhuǎn)發(fā)表中與VLAN相關(guān)聯(lián)的條目的實(shí)際數(shù)目,并且將該數(shù)目與限制相比較來(lái)確定該數(shù)目是否與限制匹配。如果匹配,則采取包括限制針對(duì)該VLAN發(fā)生的泛濫的數(shù)量在內(nèi)的動(dòng)作。
MAC限制數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)700例如是包括一個(gè)或多個(gè)條目710的表,其中每個(gè)條目保存與特定VLAN相關(guān)聯(lián)的信息。圖7是可以有益地與本發(fā)明一起使用的MAC限制數(shù)據(jù)庫(kù)700的高層示意框圖。MAC限制數(shù)據(jù)庫(kù)700例如是包括一個(gè)或多個(gè)條目710的表,其中每個(gè)條目710與一個(gè)VLAN相關(guān)聯(lián),并且包含VLAN字段730、MAC計(jì)數(shù)字段740、MAC限制字段750、動(dòng)作字段760和狀態(tài)字段770。VLAN字段730保存標(biāo)識(shí)與該條目相關(guān)聯(lián)的VLAN的標(biāo)識(shí)符。MAC計(jì)數(shù)字段保存表示轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600中與該VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)表?xiàng)l目610的數(shù)目的值。MAC限制字段750保存例如代表轉(zhuǎn)發(fā)表數(shù)據(jù)庫(kù)600中可以與該VLAN相關(guān)聯(lián)的條目610的最大數(shù)目的值。動(dòng)作字段760包含標(biāo)識(shí)在MAC計(jì)數(shù)740與MAC限制750匹配時(shí)采取的動(dòng)作的標(biāo)識(shí)符。例如,該動(dòng)作可以包括在日志中記錄警告、終止對(duì)該VLAN的“獲知”(例如,停止將新的條目610關(guān)聯(lián)到該VLAN)、終止為該VLAN泛濫分組和/或關(guān)閉該VLAN(例如,終止為該VLAN轉(zhuǎn)發(fā)的流量)。
狀態(tài)字段770保存與VLAN相關(guān)聯(lián)的狀態(tài),該狀態(tài)代表VLAN的狀態(tài)。例如,該狀態(tài)包括“關(guān)閉”狀態(tài)、“不獲知”狀態(tài)、“不泛濫”狀態(tài)和“活動(dòng)”狀態(tài)。“關(guān)閉”狀態(tài)指示中間節(jié)點(diǎn)已關(guān)閉該VLAN,并且不為該VLAN轉(zhuǎn)發(fā)流量?!安猾@知”狀態(tài)指示中間節(jié)點(diǎn)不添加用于該VLAN的新的條目到轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600?!安环簽E”狀態(tài)指示中間節(jié)點(diǎn)不將流量泛濫到該VLAN上,“活動(dòng)”狀態(tài)指示中間節(jié)點(diǎn)正為該VLAN轉(zhuǎn)發(fā)流量。
MAC限制過(guò)程534監(jiān)控轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600,維護(hù)在MAC限制數(shù)據(jù)庫(kù)700中表示的每個(gè)VLAN的MAC計(jì)數(shù)740,并且如果一個(gè)VLAN的MAC計(jì)數(shù)740與針對(duì)該VLAN建立的MAC限制750匹配則采取動(dòng)作。圖8A~B是如果必要的話,可以根據(jù)本創(chuàng)造性技術(shù)用于監(jiān)控轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600、更新MAC限制數(shù)據(jù)庫(kù)700和采取動(dòng)作的步驟序列的流程圖。該序列開始于步驟805,然后前進(jìn)到步驟180,在該步驟中處理引擎520初始化定時(shí)器522,使其在預(yù)定間隔處期滿,所述間隔例如為3分鐘的間隔。接下來(lái),在步驟815處,引擎520利用由中間節(jié)點(diǎn)200處理的各個(gè)VLAN的信息來(lái)初始化MAC限制數(shù)據(jù)庫(kù)700中的條目710。例如,條目710中MAC計(jì)數(shù)字段740的內(nèi)容被設(shè)置為零,并且利用從例如由網(wǎng)絡(luò)管理員在節(jié)點(diǎn)200中配置的預(yù)定數(shù)據(jù)生成的信息來(lái)初始化條目710的VLAN字段730、MAC限制字段750和動(dòng)作字段760。
在步驟820處,引擎520執(zhí)行檢查來(lái)確定定時(shí)器522是否已期滿。如果未期滿,則該序列返回步驟820。否則,該序列前進(jìn)到步驟825,在該步驟中,引擎520訪問轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600中的第一條目610。在步驟830處,引擎520通過(guò)檢查條目610的有效字段620來(lái)確定該字段是否包含例如1,從而確定條目610是否有效。如果無(wú)效,則該序列前進(jìn)到步驟850。否則,在步驟832和835處,引擎520在MAC限制數(shù)據(jù)庫(kù)700中定位與該轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目610的VLAN 640相關(guān)聯(lián)的條目710,并且例如通過(guò)將該條目的MAC計(jì)數(shù)字段740的內(nèi)容與該條目的MAC限制字段750的內(nèi)容相比較,來(lái)確定與轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目610相關(guān)聯(lián)的VLAN的MAC計(jì)數(shù)740是否與該VLAN的MAC限制750匹配。如果不存在匹配,則該序列前進(jìn)到步驟840,在該步驟中,例如通過(guò)將MAC計(jì)數(shù)字段740的內(nèi)容加1并且用該結(jié)果替換該內(nèi)容,從而更新該字段的內(nèi)容。該序列然后前進(jìn)到步驟850。
但是,如果VLAN條目的MAC計(jì)數(shù)740與該條目的MAC限制750匹配,則該序列前進(jìn)到步驟845,在該步驟中,引擎520執(zhí)行由該條目的動(dòng)作字段760指示的動(dòng)作。例如,如上所述,該動(dòng)作可以包括將該狀況記錄為在可由中間節(jié)點(diǎn)200訪問的系統(tǒng)日志中的消息、禁止對(duì)該VLAN的獲知、禁止為該VLAN泛濫數(shù)據(jù)分組和/或通過(guò)將該VLAN關(guān)閉來(lái)暫停針對(duì)該VLAN的全部流量。此外,引擎520更新與該VLAN相關(guān)聯(lián)的狀態(tài)字段770的內(nèi)容來(lái)指示所采取的動(dòng)作。例如,如果所采取的動(dòng)作包括關(guān)閉VLAN,則引擎520更新狀態(tài)770來(lái)指示“關(guān)閉”。類似地,如果所采取的動(dòng)作包括禁止泛濫和/或禁止獲知,則引擎更新狀態(tài)770來(lái)分別指示“不泛濫”和/或“不獲知”。
在步驟850處(圖8B),引擎520訪問下一個(gè)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目610,然后在步驟855處,檢查條目610來(lái)確定該條目610是否是數(shù)據(jù)庫(kù)600中的最后一個(gè)條目。如果是,則該序列前進(jìn)到步驟895,在該步驟中,該序列結(jié)束;否則,該序列返回步驟830。
圖9A~B是根據(jù)本創(chuàng)造性技術(shù)可用于配置EARL 500來(lái)獲取和處理分組的步驟序列的流程圖。該序列開始于步驟905,然后前進(jìn)到步驟910,在該步驟中,分組被輸入端口215獲取,并且最終被傳送到輸入接口邏輯510。接下來(lái),在步驟915中,引擎520確定與該分組相關(guān)聯(lián)的VLAN的狀態(tài)770是否指示該VLAN已被關(guān)閉。例如,“與分組相關(guān)聯(lián)的VLAN”是與在其上獲取該VLAN的輸出端口217相關(guān)聯(lián)的VLAN?;蛘?,分組可以與這樣的VLAN相關(guān)聯(lián),該VLAN與分組中包含的VLAN標(biāo)簽或與分組中包含的源地址相關(guān)聯(lián)。如果與分組相關(guān)聯(lián)的VLAN已被關(guān)閉,則該序列前進(jìn)到步驟965(圖9B),在該步驟中該分組被丟棄(拋棄)。然后該序列在步驟995中結(jié)束。
如果VLAN的狀態(tài)770未指示該VLAN被關(guān)閉,則該序列前進(jìn)到步驟920,在該步驟中,定位與該分組相關(guān)聯(lián)的VLAN的MAC限制條目710。接下來(lái),在步驟925和930中,引擎520將分組中包含的源地址和轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600中包含的MAC地址630相比較,以確定條目610是否包含與該分組中包含的源地址匹配的MAC地址630。如果包含,則該序列前進(jìn)到步驟945(圖9B)。否則,該序列前進(jìn)到步驟935,在該步驟中,引擎520通過(guò)檢查與VLAN相關(guān)聯(lián)的狀態(tài)字段770來(lái)確定該字段是否指示“不獲知”,從而確定對(duì)該分組的VLAN的獲知是否被禁止。如果是,則該序列前進(jìn)到步驟945。如果不是,則該序列前進(jìn)到步驟940,在該步驟中,引擎520生成包含分組的源地址、VLAN、端口和線路卡信息的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目610。具體而言,引擎520將分組的源地址和標(biāo)識(shí)與該分組相關(guān)聯(lián)的VLAN的標(biāo)識(shí)符分別放置到轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600中的可用(無(wú)效)條目610的MAC地址字段630和VLAN字段640中。另外,引擎520例如將標(biāo)識(shí)線路卡和該線路卡上的獲取分組的端口的標(biāo)識(shí)符分別放置到條目610的線路卡字段660和端口字段650中。然后,引擎520設(shè)置該條目的有效字段620的內(nèi)容來(lái)指示該條目610是有效的(例如,將該字段的內(nèi)容設(shè)置為1)。
在步驟945和950處,將目的地地址與轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600中包含的MAC地址630相比較,來(lái)確定該目的地地址是否與數(shù)據(jù)庫(kù)600中包含的條目610的MAC地址630匹配。如果匹配,則該序列前進(jìn)到步驟955,在該步驟中,利用匹配條目610中包含的信息以傳統(tǒng)方式轉(zhuǎn)發(fā)該分組;例如,該分組被轉(zhuǎn)發(fā)到由匹配條目610的端口字段650和線路卡字段660指示的端口和線路卡400。該序列然后在步驟995處結(jié)束。
如果未發(fā)現(xiàn)匹配條目610,則該序列前進(jìn)到步驟960,在該步驟中,引擎520通過(guò)檢查與VLAN相關(guān)聯(lián)的狀態(tài)770來(lái)確定該狀態(tài)是否指示“不泛濫”,從而確定針對(duì)該分組的VLAN的泛濫是否被禁止。如果被禁止,則該序列前進(jìn)到步驟965,在該步驟中分組被丟棄(拋棄)。否則,該序列前進(jìn)到步驟970,在該步驟中,分組被泛濫。然后該序列在步驟995處結(jié)束。
應(yīng)當(dāng)注意,盡管在這里描述的說(shuō)明性實(shí)施例中所描述的各種數(shù)據(jù)結(jié)構(gòu)都被說(shuō)明為表,但是,也可以使用其他類型的數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)這些數(shù)據(jù)結(jié)構(gòu),例如,鏈表或數(shù)組。
還應(yīng)當(dāng)注意,本創(chuàng)造性技術(shù)可以實(shí)現(xiàn)在硬件、軟件(固件)或硬件和軟件的組合中。例如,硬件實(shí)現(xiàn)可以實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)(例如,硬件CAM中的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)600和MAC限制數(shù)據(jù)庫(kù)700)、以及在一個(gè)或多個(gè)硬件狀態(tài)機(jī)中的由處理引擎520執(zhí)行的函數(shù)。此外,軟件實(shí)現(xiàn)可以實(shí)現(xiàn)作為軟件定義的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)庫(kù)和由硬件執(zhí)行的作為軟件函數(shù)或例程的各種函數(shù)。
前面的描述集中于本發(fā)明的特定實(shí)施例。很清楚,可以對(duì)所述實(shí)施例作出其他變動(dòng)和修改,同時(shí)保留它們的一些或全部?jī)?yōu)點(diǎn)。因此,所附權(quán)利要求書的一個(gè)目的是只要這種變動(dòng)和修改在本發(fā)明的真實(shí)精神和范圍內(nèi),就要覆蓋所有這種變動(dòng)和修改。
權(quán)利要求
1.一種在包括一個(gè)或多個(gè)虛擬局域網(wǎng)(VLAN)的數(shù)據(jù)網(wǎng)絡(luò)的中間節(jié)點(diǎn)中用于對(duì)泛濫VLAN上的分組進(jìn)行控制的方法,所述中間節(jié)點(diǎn)包含轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)并且所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)包括一個(gè)或多個(gè)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目,該方法包括以下步驟建立指示可與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目的限制;確定與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目是否與針對(duì)所述VLAN建立的限制匹配;以及如果匹配則執(zhí)行動(dòng)作來(lái)對(duì)泛濫所述VLAN上的分組進(jìn)行控制。
2.如權(quán)利要求1所述的方法,其中,所述中間節(jié)點(diǎn)包含媒體訪問控制(MAC)限制數(shù)據(jù)庫(kù),所述MAC限制數(shù)據(jù)庫(kù)包括一個(gè)或多個(gè)MAC限制數(shù)據(jù)庫(kù)條目,其中每個(gè)條目與一個(gè)VLAN相關(guān)聯(lián),并且包含指示與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目的MAC限制和指示與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目的MAC計(jì)數(shù)。
3.如權(quán)利要求2所述的方法,包括以下步驟定位與所述VLAN相關(guān)聯(lián)的MAC限制數(shù)據(jù)庫(kù)條目;以及將所述MAC限制數(shù)據(jù)庫(kù)條目的MAC計(jì)數(shù)與所述MAC限制數(shù)據(jù)庫(kù)條目的MAC限制相比較來(lái)確定與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目是否與針對(duì)所述VLAN建立的所述限制匹配。
4.如權(quán)利要求2所述的方法,包括以下步驟訪問與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目;定位與所述VLAN相關(guān)聯(lián)的MAC限制數(shù)據(jù)庫(kù)條目;將所述MAC限制數(shù)據(jù)庫(kù)條目的MAC計(jì)數(shù)與所述MAC限制數(shù)據(jù)庫(kù)條目的MAC限制相比較,以確定所述MAC計(jì)數(shù)是否與所述MAC限制匹配;以及如果不匹配,則更新所述MAC計(jì)數(shù)。
5.如權(quán)利要求1所述的方法,其中,所述動(dòng)作包括將消息記錄到所述中間節(jié)點(diǎn)可訪問的日志。
6.如權(quán)利要求1所述的方法,其中,所述動(dòng)作包括禁止為所述VLAN進(jìn)行泛濫。
7.如權(quán)利要求1所述的方法,其中,所述動(dòng)作包括禁止為所述VLAN轉(zhuǎn)發(fā)分組。
8.如權(quán)利要求1所述的方法,其中,所述動(dòng)作包括禁止獲知所述VLAN。
9.如權(quán)利要求1所述的方法,包括以下步驟獲取分組,其中所述分組與所述VLAN相關(guān)聯(lián);確定所述VLAN是否被關(guān)閉;以及如果被關(guān)閉則丟棄所述分組。
10.如權(quán)利要求1所述的方法,包括以下步驟獲取分組,其中所述分組與所述VLAN相關(guān)聯(lián);確定所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)是否包含以下條目所述條目包含與所述分組中包含的源地址匹配的MAC地址;如果不包含,則確定是否禁止獲知所述VLAN;以及如果不包含,則生成包含所述分組的源地址的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目。
11.如權(quán)利要求1所述的方法,包括以下步驟獲取分組,其中所述分組與所述VLAN相關(guān)聯(lián);確定所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)是否包含以下條目所述條目包含與所述分組中包含的目的地地址匹配的MAC地址;如果不包含,則確定為所述VLAN進(jìn)行的泛濫是否被使能;以及如果包含,則泛濫所述分組。
12.一種耦合到包含一個(gè)或多個(gè)VLAN的數(shù)據(jù)網(wǎng)絡(luò)的中間節(jié)點(diǎn),所述中間節(jié)點(diǎn)包括轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù),其包含一個(gè)或多個(gè)條目,其中每個(gè)條目與可由所述中間節(jié)點(diǎn)訪問的節(jié)點(diǎn)相關(guān)聯(lián),并且其中每個(gè)條目與一個(gè)虛擬局域網(wǎng)(VLAN)相關(guān)聯(lián);以及處理器,其配置為針對(duì)每個(gè)VLAN,(i)建立對(duì)所述VLAN的限制,其中所述限制指示可以與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目,(ii)確定所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的數(shù)目是否與針對(duì)所述VLAN建立的限制匹配,以及(iii)如果匹配,則執(zhí)行動(dòng)作來(lái)對(duì)泛濫所述VLAN上的分組進(jìn)行控制。
13.如權(quán)利要求12所述的中間節(jié)點(diǎn),還包括媒體訪問控制(MAC)限制數(shù)據(jù)庫(kù),其具有一個(gè)或多個(gè)MAC限制數(shù)據(jù)庫(kù)條目,其中每個(gè)條目與一個(gè)VLAN相關(guān)聯(lián),并且包含指示與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目的MAC限制,以及指示所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的數(shù)目的MAC計(jì)數(shù)。
14.如權(quán)利要求13所述的中間節(jié)點(diǎn),其中,所述處理器針對(duì)所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中的每個(gè)條目被配置為將所述MAC計(jì)數(shù)和與所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目相關(guān)聯(lián)的VLAN的MAC限制相比較,以確定所述MAC計(jì)數(shù)是否與所述MAC限制匹配。
15.如權(quán)利要求13所述的中間節(jié)點(diǎn),其中,所述處理器配置為如果所述MAC計(jì)數(shù)與所述MAC限制不匹配,則更新所述MAC計(jì)數(shù)。
16.如權(quán)利要求12所述的中間節(jié)點(diǎn),其中,所述動(dòng)作包括將消息記錄到所述中間節(jié)點(diǎn)可訪問的日志。
17.如權(quán)利要求12所述的中間節(jié)點(diǎn),其中,所述動(dòng)作包括禁止為所述VLAN進(jìn)行泛濫。
18.如權(quán)利要求12所述的中間節(jié)點(diǎn),其中,所述動(dòng)作包括禁止為所述VLAN轉(zhuǎn)發(fā)分組。
19.如權(quán)利要求12所述的中間節(jié)點(diǎn),其中,所述動(dòng)作包括禁止獲知所述VLAN。
20.一種系統(tǒng),包括轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù),其包括與VLAN相關(guān)聯(lián)的一個(gè)或多個(gè)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目;用于建立限制的裝置,其中所述限制指示所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中包含的與所述VLAN相關(guān)聯(lián)的條目的數(shù)目;用于確定所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的數(shù)目是否與針對(duì)所述VLAN建立的限制匹配的裝置;以及用于如果所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的數(shù)目與針對(duì)所述VLAN建立的限制匹配,則執(zhí)行動(dòng)作來(lái)對(duì)泛濫所述VLAN上的分組進(jìn)行控制的裝置。
21.如權(quán)利要求20所述的系統(tǒng),包括媒體訪問控制(MAC)限制數(shù)據(jù)庫(kù),其包括一個(gè)或多個(gè)MAC限制數(shù)據(jù)庫(kù)條目,其中每個(gè)條目與一個(gè)VLAN相關(guān)聯(lián),并且包含指示與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目的MAC限制,以及指示所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的數(shù)目的MAC計(jì)數(shù)。
22.如權(quán)利要求20所述的系統(tǒng),包括用于訪問所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的裝置;用于將MAC計(jì)數(shù)和與所述VLAN相關(guān)聯(lián)的MAC限制相比較來(lái)確定所述MAC計(jì)數(shù)是否與所述MAC限制匹配的裝置;以及用于如果所述MAC計(jì)數(shù)與所述MAC限制不匹配則更新所述MAC計(jì)數(shù)的裝置。
23.一種包含用于對(duì)泛濫VLAN上的分組進(jìn)行控制的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)包含用于以下操作的計(jì)算機(jī)可執(zhí)行指令建立對(duì)與所述VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)目的限制;確定所述轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中與所述VLAN相關(guān)聯(lián)的條目的數(shù)目是否與針對(duì)所述VLAN建立的限制匹配;以及如果匹配則執(zhí)行動(dòng)作來(lái)對(duì)泛濫所述VLAN上的分組進(jìn)行控制。
全文摘要
一種技術(shù)可以用來(lái)對(duì)針對(duì)數(shù)據(jù)網(wǎng)絡(luò)中的特定虛擬局域網(wǎng)(VLAN)發(fā)生的泛濫的數(shù)量進(jìn)行限制。針對(duì)由中間節(jié)點(diǎn)處理的VLAN建立限制。每個(gè)限制指示可以與一個(gè)特定VLAN相關(guān)聯(lián)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)條目的數(shù)量。如果轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)中條目數(shù)量達(dá)到針對(duì)特定VLAN建立的限制,則采取動(dòng)作,所述動(dòng)作可以包括限制針對(duì)該VLAN發(fā)生的泛濫的數(shù)量。
文檔編號(hào)H04L12/56GK1875585SQ200480032156
公開日2006年12月6日 申請(qǐng)日期2004年10月18日 優(yōu)先權(quán)日2003年11月4日
發(fā)明者邁克爾·T·吳, 阿努薩卡·埃蘭戈萬(wàn), 拉梅什·M·桑塔納克瑞斯南, 錢戈拉派特·V·拉梅什, 韋?!·登格 申請(qǐng)人:思科技術(shù)公司