專利名稱::用于使用第二層源地址的選擇性的第二層端口阻塞的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
:本文所述主題包括用于實(shí)現(xiàn)第二層端口阻塞的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。更具體地,本文所述主題包括用于使用第二層源地址來實(shí)現(xiàn)第二層端口阻塞的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
:在第二層交換設(shè)備中,例如以太網(wǎng)交換機(jī),當(dāng)在端口接收分組或幀時(shí),典型地在第二層轉(zhuǎn)發(fā)表中執(zhí)行査找。基于幀中的第二層目的地址執(zhí)行該查找。如果在表中出現(xiàn)用于目的地址的條目,則可以將幀轉(zhuǎn)發(fā)到輸出端口或?qū)?yīng)于該條目的端口。如果在表中沒有出現(xiàn)用于該幀的條目,則幀可以泛洪到除了用于接收該幀的端口之外的所有輸出端口??梢允褂锰摂M局域網(wǎng)(VLAN)來限制幀的第二層泛洪域。例如,如果第二層幀包括VLAN標(biāo)簽,并且在轉(zhuǎn)發(fā)表查找期間,未針對(duì)幀的第二層目的地址定位條目,則該幀僅泛洪到與該幀中所識(shí)別的VLAN標(biāo)簽相同的VLAN的成員端口。另一種査找被稱為學(xué)習(xí)階段查找,該査找典型地發(fā)生在當(dāng)幀到達(dá)第二層分組轉(zhuǎn)發(fā)設(shè)備時(shí)。在該學(xué)習(xí)階段期間,當(dāng)幀到達(dá)第二層交換設(shè)備的端口處時(shí),則讀取幀中的第二層源地址。可以使用第二層源地址在第二層轉(zhuǎn)發(fā)表中執(zhí)行查找,以確定是否存在用于第二層源地址的轉(zhuǎn)發(fā)表?xiàng)l目。如果在轉(zhuǎn)發(fā)表中沒有出現(xiàn)對(duì)應(yīng)于第二層源地址的轉(zhuǎn)發(fā)表?xiàng)l目,則通過將第二層源地址添加到轉(zhuǎn)發(fā)表來對(duì)該地址進(jìn)行學(xué)習(xí),其中將條目的轉(zhuǎn)發(fā)信息設(shè)置到用于接收該幀的端口。該信息可以傳遞到交換中的其它端口,以便可以將具有與學(xué)習(xí)的源地址相對(duì)應(yīng)的第二層目的地址的分組轉(zhuǎn)發(fā)到正確的端口。如果第二層源地址已經(jīng)出現(xiàn)在轉(zhuǎn)發(fā)表中,則它己被學(xué)習(xí),并且學(xué)習(xí)階段結(jié)束。在一些實(shí)例中,期望執(zhí)行第二層端口阻塞。例如,期望允許端口A和B互相通信,但不與端口C通信,即便端口A-C都是同一VLAN的成員。用于執(zhí)行這樣的端口阻塞的一種方法是硬連線第二層交換設(shè)備,以便來自一個(gè)端口的幀僅去向允許與該端口通信的端口。這樣的解決方案的精細(xì)度不夠,并且缺乏彈性。例如,可能期望允許將來自端口A的一些分組轉(zhuǎn)發(fā)到端口C,并且阻止其它分組從端口A轉(zhuǎn)發(fā)到端口C。本文所述主題的受讓人將用于提供第二層端口阻塞的兩個(gè)其它方法稱為限制學(xué)習(xí)和MAC鎖定。根據(jù)限制學(xué)習(xí),一個(gè)VLAN接個(gè)VLAN地配置預(yù)定數(shù)量的可學(xué)習(xí)的MAC地址。一旦已經(jīng)學(xué)習(xí)了該數(shù)量的MAC地址,如果新的MAC源地址的幀到達(dá)了,則將黑洞條目添加到用于該MAC源地址的轉(zhuǎn)發(fā)表,以便丟棄所具有與該黑洞條目對(duì)應(yīng)的MAC目的地址的任意接收分組。在MAC鎖定特征中,操作者向第二層交換發(fā)出運(yùn)行時(shí)間的命令以鎖定第二層轉(zhuǎn)發(fā)表,從而在命令之后不能學(xué)習(xí)額外的條目。將要嘗試學(xué)習(xí)的后續(xù)MAC地址作為黑洞條目添加到該表,以便丟棄具有與該黑洞條目對(duì)應(yīng)的MAC目的地址的分組。盡管這些安全特征中的每一個(gè)都適合它們的預(yù)期目的,一直以來都需要一種用于使用第二層源地址來執(zhí)行選擇性的第二層端口阻塞的改進(jìn)的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。
發(fā)明內(nèi)容根據(jù)一個(gè)方面,本文所述主題包括用于使用第二層源地址執(zhí)行選擇性的第二層端口阻塞的方法。該方法包括接收第二層幀,以及基于第二層幀中的第二層源地址來識(shí)別I/O端口阻塞列表。執(zhí)行轉(zhuǎn)發(fā)階段查找,以識(shí)別該第二層幀所應(yīng)該轉(zhuǎn)發(fā)到的端口的集合。阻止將第二層幀轉(zhuǎn)發(fā)到既在子集合中又在阻塞列表中的端口。本文使用了可互換的術(shù)語"分組"和"幀",并且其指的是在網(wǎng)絡(luò)上發(fā)送的協(xié)議數(shù)據(jù)單元,其具有至少一個(gè)頭部和有效載荷。術(shù)語"第二層"指的是網(wǎng)絡(luò)通信協(xié)議棧的媒體訪問控制(MAC)層。適用于本文所述主題的第二層實(shí)現(xiàn)的實(shí)例是以太網(wǎng)層。術(shù)語"第三層"指的是網(wǎng)絡(luò)通信協(xié)議棧的網(wǎng)絡(luò)層。適用于本文所述主題的第三層實(shí)現(xiàn)的實(shí)例是因特網(wǎng)協(xié)議層??梢允褂冒税谟?jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn)本文所述的基于第二層源地址來實(shí)現(xiàn)的選擇性的第二層端口阻塞的主題。適合實(shí)現(xiàn)本文所述主題的示例性計(jì)算機(jī)可讀介質(zhì)包括盤片存儲(chǔ)設(shè)備、芯片存儲(chǔ)設(shè)備、可編程的邏輯設(shè)備、專用集合成電路和可下載的電氣信號(hào)。另外,可以將用于實(shí)現(xiàn)本文所述主題的計(jì)算機(jī)可讀介質(zhì)置于單個(gè)設(shè)備或者計(jì)算機(jī)平臺(tái)上,或者交叉分布在多個(gè)物理設(shè)備和/或者計(jì)算機(jī)平臺(tái)中?,F(xiàn)在參考附圖來解釋本文所述主題的優(yōu)選實(shí)施例,其中圖1是根據(jù)本文所述主題的實(shí)施例,示出了用于基于第二層源地址來實(shí)現(xiàn)選擇性的第二層端口阻塞的第二層/第三層分組轉(zhuǎn)發(fā)設(shè)備的方框圖2是根據(jù)本文所述主題的實(shí)施例,示出了使用第二層源地址來實(shí)現(xiàn)選擇性的第二層端口阻塞的示例性步驟的流程圖;以及圖3是根據(jù)本文所述主題的實(shí)施例,示出了用于實(shí)現(xiàn)第二層和第三層分組的選擇性的第二層端口阻塞的示例性步驟的流程圖。具體實(shí)施例方式可以在包括第二層交換能力的任意合適的處理平臺(tái)上實(shí)現(xiàn)本文所述的使用第二層源地址來實(shí)現(xiàn)選擇性的第二層端口阻塞的主題。這種平臺(tái)的實(shí)例包括以太網(wǎng)交換機(jī),以及包括了以太網(wǎng)交換能力的IP路由器。圖l是示出了可用于實(shí)現(xiàn)本文所述主題的平臺(tái)的實(shí)例的方框圖。在圖1中,第二層交換機(jī)/第三層路由器100執(zhí)行第二層交換和第三層路由。在示出的實(shí)例中,交換機(jī)/路由器100包括多個(gè)輸入/輸出(I/O)模塊102、交換結(jié)構(gòu)104和交換管理模塊106。每個(gè)I/0模塊102包括一個(gè)或多個(gè)I/0端口108A-114B,用于將每個(gè)I/O模塊102連接到外部網(wǎng)絡(luò),以將分組發(fā)送到網(wǎng)絡(luò)以及從網(wǎng)絡(luò)接收分組。為了執(zhí)行第二層和第三層分組轉(zhuǎn)發(fā),每個(gè)I/O模塊102包括査找引擎116、第二層轉(zhuǎn)發(fā)數(shù)據(jù)庫118和第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫120。查找引擎116基于第二層和第三層目的地址,在數(shù)據(jù)庫118和120中執(zhí)行査找,以確定將每個(gè)接收的分組轉(zhuǎn)發(fā)到哪里。第二層轉(zhuǎn)發(fā)數(shù)據(jù)庫118包括第二層地址和對(duì)應(yīng)的轉(zhuǎn)發(fā)信息的表。第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫120包括第三層地址和對(duì)應(yīng)的轉(zhuǎn)發(fā)信息的表。如下文將更詳細(xì)的描述的,對(duì)于一些條目,第二層轉(zhuǎn)發(fā)數(shù)據(jù)庫118可以包括1/0端口阻塞列表。雖然在圖1中,單個(gè)査找引擎116執(zhí)行第二層和第三層轉(zhuǎn)發(fā)階段査找兩者,但是本文所述主題不限于這種實(shí)現(xiàn)。在可替換的實(shí)現(xiàn)中,可以使用分離的硬件、軟件或者固件組件來實(shí)現(xiàn)第二層和第三層查找引擎。另夕卜,雖然在圖1中顯示了分離的第二層和第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫,但是本文所述主題不限于這種實(shí)施例。在不脫離本文所述主題的范圍的前提下,可以將第二層和第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫實(shí)現(xiàn)為作為同一數(shù)據(jù)庫的一部分的分離的表。交換結(jié)構(gòu)104在I/O模塊102和交換管理模塊106之間交換分組。交換管理模塊106包括主第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫122、軟件査找引擎124和第三層路由協(xié)議軟件126。主第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫122包括第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫120中的所有條目的拷貝,加上使用第三層路由協(xié)議來學(xué)習(xí)的任意額外的條目,其中第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫120是由I/O模塊所維護(hù)的,第三層路由協(xié)議是由軟件126所實(shí)現(xiàn)的。軟件查找引擎124在主第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫122中查找I/O模塊102所接收的不能使用第三層轉(zhuǎn)發(fā)數(shù)據(jù)來轉(zhuǎn)發(fā)的分組,其中第三層轉(zhuǎn)發(fā)數(shù)據(jù)是通過每個(gè)I/O模塊本地維護(hù)的。在圖1中示出的設(shè)備中,期望實(shí)現(xiàn)選擇性的第二層端口阻塞。例如,期望基于每個(gè)第二層源地址,選擇性地阻止分組在圖1中示出的i/o端口的組之間發(fā)送。在一個(gè)實(shí)現(xiàn)中,1/0端口108A、108B、112A、112B、114A和114B可以是同一VLAN的成員。然而,可能期望阻止將到達(dá)端口108A和108B的特定分組轉(zhuǎn)發(fā)到1/0端口114A和114B,并且阻止將其它的分組轉(zhuǎn)發(fā)到端口112A和112B。為了實(shí)現(xiàn)這種需要,可以基于每個(gè)源地址來配置第二層阻塞表。下文顯示的表1示出了根據(jù)本文所述主題用于實(shí)現(xiàn)選擇性的第二層端口阻塞的示例性第二層轉(zhuǎn)發(fā)表。<table>tableseeoriginaldocumentpage11</column></row><table>表l:具有通過端口阻塞列表來索引的源的第二層轉(zhuǎn)發(fā)數(shù)據(jù)表1中的條目用于實(shí)現(xiàn)上文所述的阻塞實(shí)例,用于基于每個(gè)第二層源地址,選擇性地阻止將到達(dá)在端口108A和IO犯的分組轉(zhuǎn)發(fā)到端口112A、112B、114A或114B。在表1中,第一列包括MAC地址。隨著MAC地址的學(xué)習(xí),可以增加該列中的條目。通過交換操作者可以靜態(tài)地配置一些條目。第二列包括VLAN識(shí)別碼、第三列包括用于每個(gè)條目的轉(zhuǎn)發(fā)信息,以及第四列包括I/0端口阻塞列表。除了用于學(xué)習(xí)階段査找之外,諸如表1的轉(zhuǎn)發(fā)表也可以用于轉(zhuǎn)發(fā)階段査找。例如,如果在具有表1中的數(shù)據(jù)的端口處接收兩個(gè)分組,將可以發(fā)生以下步驟。參考圖2,在步驟200中,接收第二層幀。為了這個(gè)實(shí)例的目的,假設(shè)第一個(gè)第二層幀的MAC源地址(SA)=MAC1,MAC目的地址(DA)=MAC2以及VLAN標(biāo)簽為5。在步驟202中,可以基于第二層源地址來識(shí)別I/O端口阻塞列表。使用表1中的數(shù)據(jù)作為實(shí)例,如果MACSA=MAC1,則提取的I/0端口阻塞列表將包含瑞口114A、114B。在步驟204中,執(zhí)行轉(zhuǎn)發(fā)階段查找以識(shí)別該幀所應(yīng)該被轉(zhuǎn)發(fā)到的端口的集合。使用MACDA=MAC2在表1中執(zhí)行的査找,該幀所應(yīng)該被轉(zhuǎn)發(fā)到的成員端口是112A、112B、114A和114B。在步驟204中,阻止將該幀轉(zhuǎn)發(fā)到既在集合中又在阻塞列表中的端口。使用當(dāng)前實(shí)例,由于114A和114B在阻塞列表中,僅僅將幀轉(zhuǎn)發(fā)到112A和112B??梢酝ㄟ^另一個(gè)實(shí)例來示出端口阻塞的選擇性,在該實(shí)例中接收MACSA=MAC3、MACDA-MAC2以及VLAN=5的幀。如果接收了這種幀,則提取包含端口112A和112B的端口阻塞列表。目的地址用于定位與先前的實(shí)例中的端口相同的端口。然而,將幀轉(zhuǎn)發(fā)到端口114A和114B,而不是將幀轉(zhuǎn)發(fā)到端口112A和112B,因?yàn)槎丝?12A和112B在MACSA-MAC3的I/O端口阻塞列表中。因此,通過使用MAC源地址作為鑒別符來選擇端口阻塞列表,并且使用該列表以確定該幀所應(yīng)該被轉(zhuǎn)發(fā)到的端口,可以達(dá)到微量端口阻塞。另外,因?yàn)榭梢栽趯W(xué)習(xí)階段查找中定位I/O端口阻塞歹!J表,所以第二層的安全應(yīng)用減少了査找的數(shù)量,其中該應(yīng)用需要學(xué)習(xí)之夕卜的査找和轉(zhuǎn)發(fā)階段查找以實(shí)現(xiàn)安全特征。雖然關(guān)于圖2所描述的實(shí)例對(duì)僅基于第二層信息來轉(zhuǎn)發(fā)的分組的第二層轉(zhuǎn)發(fā)域進(jìn)行限制,但是本文所述主題不限于這種實(shí)例??梢詫?duì)使用任意協(xié)議來識(shí)別的第二層端口的集合,實(shí)現(xiàn)使用端口阻塞列表的選擇性的第二層端口阻塞。圖3是根據(jù)本文所述主題的實(shí)施例,示出了用于基于第二層和第三層幀的第二層源地址來執(zhí)行選擇性的第二層端口阻塞的示例性步驟的流程圖。參考圖3,在步驟300處,最初將用于接收的幀的I/0端口阻塞列表設(shè)置為空(NULL)。在步驟302中,基于接收的第二層幀中的第二層源地址來執(zhí)行學(xué)習(xí)階段查找。如上文所述,第二層學(xué)習(xí)階段查找可以包括在用于接收幀或分組的端口處執(zhí)行第二層轉(zhuǎn)發(fā)表中的査找,以確定對(duì)應(yīng)于第二層源地址的條目是否出現(xiàn)。在步驟304中,如果對(duì)應(yīng)于第二層源地址的條目出現(xiàn)在轉(zhuǎn)發(fā)數(shù)據(jù)庫中,則不需要學(xué)習(xí),并且控制前進(jìn)到步驟306,在步驟306提取了對(duì)應(yīng)于分組源地址的I/O端口阻塞列表,并且將其存儲(chǔ)在稱為PBL的變量中。在步驟308中,確定分組是否是第三層組播分組??梢酝ㄟ^第二層目的地址0X01005E來識(shí)別第三層組播分組。如果出J見了這個(gè)地址,則該幀是第三層組播幀,并且控制前進(jìn)到步驟310,在步驟310執(zhí)行第三層查找以識(shí)別該幀所應(yīng)該被轉(zhuǎn)發(fā)到的出站端口列表(EPL)。在步驟308中,如果確定該幀不是第三層組播幀,則控制前進(jìn)到步驟312,在步驟312確定第二層分組目的地址是否出現(xiàn)在轉(zhuǎn)發(fā)數(shù)據(jù)庫中。如果第二層分組目的地址沒有出現(xiàn)在轉(zhuǎn)發(fā)數(shù)據(jù)庫中,則控制前進(jìn)到步驟314,在步驟314將出站端口列表設(shè)置給與接收分組相關(guān)聯(lián)的VLAN的成員。在步驟312中,如果第二層分組目的地址在轉(zhuǎn)發(fā)數(shù)據(jù)庫中,則控制前進(jìn)到步驟315,在步驟315確定是否將分組尋址到接收路由器的MAC地址。如果將分組尋址到路由器的MAC地址,則控制前進(jìn)到步驟316,在步驟316確定分組是否是第三層單播分組。如果分組是第三層單播分組,則控制前進(jìn)到步驟318,在步驟318基于第三層目的地址執(zhí)行第三層查找,以i只別該幀所應(yīng)該被轉(zhuǎn)發(fā)到的出站端口列表。在步驟315中如果不將分組尋址到路由器的MAC地址,或者在步驟316中如果確定分組不是第三層單播分組,則控制前進(jìn)到步驟320,在步驟320從與分組中的第二層目的地址相匹配的第二層轉(zhuǎn)發(fā)數(shù)據(jù)庫中的條目提取出站端口列表?!┰诓襟E310、314、318或320中識(shí)別了出站端口列表,控制就前進(jìn)到步驟322,在步驟322使用1/0端口阻塞列表來遮掩來自出站端口列表的條目??梢允褂门c出站端口列表和I/O端口阻塞列表相對(duì)應(yīng)的位圖來實(shí)現(xiàn)該步驟。出站端口列表位圖可以包括一個(gè)與該分組所應(yīng)該被轉(zhuǎn)發(fā)到的每個(gè)端口相對(duì)應(yīng)的1和用于余下的端口的零。類似地,1/0端口阻塞列表位圖可以包括用于每個(gè)阻塞的端口的1和用于余下端口的零。相應(yīng)地,為了針對(duì)該幀所應(yīng)該被轉(zhuǎn)發(fā)到的每個(gè)端口產(chǎn)生ls的位圖,可以將I/0端口阻塞列表位圖進(jìn)行位反轉(zhuǎn),并且用出站端口列表位圖來對(duì)它進(jìn)行與(AND)操作。結(jié)果所得的位圖包括與該幀所要被轉(zhuǎn)發(fā)到的端口相對(duì)應(yīng)的比特。使用簡(jiǎn)單計(jì)算,例如邏輯與操作,可以在硬件中輕易地識(shí)別最終的出站端口列表。返回到步驟304,如果第二層源地址不出現(xiàn)在轉(zhuǎn)發(fā)數(shù)據(jù)庫中,則控制前進(jìn)到步驟324,在步驟324在接收端口上學(xué)習(xí)MAC源地址。然后,控制前進(jìn)到步驟308和310、312和314或者315-320,以識(shí)別了出站端口列表,然后到步驟322,在步驟322如上文所述對(duì)列表進(jìn)行遮掩。因此,使用圖3中示出的步驟,可以對(duì)基于第二層或第三層信息來轉(zhuǎn)發(fā)的幀執(zhí)行選擇性的第二層端口阻塞。要理解的是,可以在不脫離本發(fā)明的范圍的前提下改變本發(fā)明的各種細(xì)節(jié)。此外,前述描述僅僅為了說明的目的,不是為了限制的目的。1權(quán)利要求1、一種基于第二層源地址的選擇性的第二層端口阻塞的方法,所述方法包括(a)接收第二層幀;(b)基于所述第二層幀中的第二層源地址來識(shí)別輸入/輸出(I/O)端口阻塞列表;(c)執(zhí)行轉(zhuǎn)發(fā)階段查找,以識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的集合;以及(d)阻止將所述第二層幀轉(zhuǎn)發(fā)到既在所述集合中又在所述I/O端口阻塞列表中的端口。2、如權(quán)利要求1所述的方法,其中,基于所述第二層源地址來識(shí)別I/O端口阻塞列表的步驟包括在第二層轉(zhuǎn)發(fā)表中執(zhí)行第二層學(xué)習(xí)階段查找。3、如權(quán)利要求l所述的方法,其中,執(zhí)行所述轉(zhuǎn)發(fā)階段查找的步驟包括在第二層轉(zhuǎn)發(fā)表中執(zhí)行查找,以及識(shí)別包括與所述第二層幀中的VLAN標(biāo)簽相對(duì)應(yīng)的VLAN成員的端口的集合。4、如權(quán)利要求l所述的方法,其中,執(zhí)行所述轉(zhuǎn)發(fā)階段査找的步驟包括將分組識(shí)別為第三層組播分組,以及在第三層轉(zhuǎn)發(fā)表中執(zhí)行查找以確定所述幀應(yīng)該被轉(zhuǎn)發(fā)到的第二層端口的所述集合。5、如權(quán)利要求l所述的方法,其中,執(zhí)行所述轉(zhuǎn)發(fā)階段查找的步驟包括將所述幀識(shí)別為第三層單播幀,并且在第三層轉(zhuǎn)發(fā)表中執(zhí)行査找以識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合。6、如權(quán)利要求l所述的方法,其中,所述I/0端口阻塞列表由具有用于指示所述第二層幀不應(yīng)該被轉(zhuǎn)發(fā)到的端口的位的位圖來表示,其中,所述轉(zhuǎn)發(fā)階段查找期間識(shí)別的端口的所述集合由具有用于指示所述第二層幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合的位的位圖來表示,并且其中,阻止將所述第二層幀轉(zhuǎn)發(fā)到既在所述集合中又在所述列表中的端口的步驟包括使用表示所述I/O端口阻塞列表的所述位圖來遮掩用于表示所述幀應(yīng)該被轉(zhuǎn)發(fā)到的所述端口的所述位圖。7、如權(quán)利要求l所述的方法,其中,所述第二層幀包括以太網(wǎng)幀,并且其中,接收第二層幀的步驟包括在以太網(wǎng)交換機(jī)接收所述第二層幀。8、如權(quán)利要求l所述的方法,其中,所述第二層幀包括具有因特網(wǎng)協(xié)議(IP)有效載荷的以太網(wǎng)幀,其中,接收第二層幀的步驟包括在IP路由器接收第二層幀。9、一種使用第二層源地址的選擇性的第二層端口阻塞的系統(tǒng),所述系統(tǒng)包括(a)包括具有第二層轉(zhuǎn)發(fā)信息的條目的轉(zhuǎn)發(fā)數(shù)據(jù)庫,其中,至少一個(gè)所述條目包括輸入/輸出(I/O)端口阻塞列表,用于指示接收的第二層幀不應(yīng)該被轉(zhuǎn)發(fā)到的端口;以及(b)用于接收第二層幀的轉(zhuǎn)發(fā)引擎,用于基于所述第二層幀中的第二層源地址來在所述轉(zhuǎn)發(fā)數(shù)據(jù)庫中定位所述I/O端口阻塞列表,用于確定幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的集合,以及用于阻止將所述幀轉(zhuǎn)發(fā)到既在所述集合中又在針對(duì)所述幀所定位的所述I/O端口阻塞列表中的端口。10、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎通過在所述轉(zhuǎn)發(fā)數(shù)據(jù)庫中執(zhí)行第二層學(xué)習(xí)階段査找來識(shí)別所述I/O端口阻塞列表。11、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎通過基于所述第二層幀中的第二層目的地址在所述轉(zhuǎn)發(fā)數(shù)據(jù)庫中執(zhí)行査找,來識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合。12、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎將所述幀識(shí)別為第三層組播幀,并且所述轉(zhuǎn)發(fā)引擎通過在所述轉(zhuǎn)發(fā)數(shù)據(jù)庫中的第三層轉(zhuǎn)發(fā)表中執(zhí)行查找來識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合。13、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎將所述幀識(shí)別為第三層單播幀,并且所述轉(zhuǎn)發(fā)引擎通過在所述轉(zhuǎn)發(fā)數(shù)據(jù)庫中的第三層轉(zhuǎn)發(fā)表中執(zhí)行查找來識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合。14、如權(quán)利要求9所述的系統(tǒng),其中,所述I/0端口阻塞列表由具有用于指示所述幀不應(yīng)該被轉(zhuǎn)發(fā)到的所述端口的位的位圖來表示,其中,所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合由具有用于指示所述幀應(yīng)該被轉(zhuǎn)發(fā)到的所述端口的位的位圖來表示,并且其中,所述轉(zhuǎn)發(fā)引擎通過用所述I/O端口阻塞列表位圖遮掩與所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合相對(duì)應(yīng)的所述位圖,來實(shí)施所述阻塞。15、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎包括第二層轉(zhuǎn)發(fā)引擎,并且其中,所述轉(zhuǎn)發(fā)數(shù)據(jù)庫包括第二層轉(zhuǎn)發(fā)數(shù)據(jù)庫。16、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎包括第三層轉(zhuǎn)發(fā)引擎,并且其中,所述轉(zhuǎn)發(fā)數(shù)據(jù)庫包括第三層轉(zhuǎn)發(fā)數(shù)據(jù)庫。17、如權(quán)利要求9所述的系統(tǒng),其中,所述轉(zhuǎn)發(fā)引擎包括第二層和第三層轉(zhuǎn)發(fā)引擎,并且其中,所述轉(zhuǎn)發(fā)數(shù)據(jù)庫包括第二層和第三層轉(zhuǎn)發(fā)表。18、一種包括含在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)程序產(chǎn)品,用于執(zhí)行以下步驟(a)接收第二層幀;(b)基于所述第二層幀中的第二層源地址來識(shí)別第二層端口阻塞列表;(c)執(zhí)行轉(zhuǎn)發(fā)階段查找,以識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的集合;以及(d)阻止將所述第二層幀轉(zhuǎn)發(fā)到既在所述集合中又在所述端口阻塞列表中的端口。19、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,基于所述第二層源地址識(shí)別I/O端口阻塞列表的步驟包括在第二層轉(zhuǎn)發(fā)表中執(zhí)行第二層學(xué)習(xí)階段查找。20、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,執(zhí)行所述轉(zhuǎn)發(fā)階段查找的步驟包括在第二層轉(zhuǎn)發(fā)表中執(zhí)行查找,以及識(shí)別包括與所述第二層幀中的VLAN標(biāo)簽相對(duì)應(yīng)的VLAN成員的端口的所述集合。21、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,執(zhí)行所述轉(zhuǎn)發(fā)階段査找的步驟包括將所述分組識(shí)別為第三層多播分組,以及在第三層轉(zhuǎn)發(fā)表中執(zhí)行査找以確定所述幀應(yīng)該被轉(zhuǎn)發(fā)到的第二層端口的所述集合。22、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,執(zhí)行所述轉(zhuǎn)發(fā)階段査找的步驟包括將所述幀識(shí)別為第三層單播幀,以及在第三層轉(zhuǎn)發(fā)表中執(zhí)行查找以識(shí)別所述幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合。23、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述I/0端口阻塞列表由具有用于指示所述第二層幀不應(yīng)該被轉(zhuǎn)發(fā)到的端口的位的位圖來表示,其中,所述轉(zhuǎn)發(fā)階段查找期間識(shí)別的端口的所述集合由具有用于指示所述第二層幀應(yīng)該被轉(zhuǎn)發(fā)到的端口的所述集合的位的位圖來表示,并且其中,阻止將所述第二層幀轉(zhuǎn)發(fā)到既在所述集合中又在所述列表中的端口的步驟包括使用表示所述I/O端口阻塞列表的所述位圖來遮掩用于表示所述幀應(yīng)該被轉(zhuǎn)發(fā)到的所述端口的所述位圖。24、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述第二層幀包括以太網(wǎng)幀,并且其中,接收第二層幀的步驟包括在以太網(wǎng)交換機(jī)接收所述第二層幀。25、如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述第二層幀包括具有因特網(wǎng)協(xié)議(IP)有效載荷的以太網(wǎng)幀,其中,接收第二層幀的步驟包括在IP路由器接收第二層幀。全文摘要本發(fā)明公開了一種使用第二層源地址的選擇性的第二層端口阻塞的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。根據(jù)一種方法,接收第二層幀?;谠摰诙訋械牡诙釉吹刂穪碜R(shí)別I/O端口阻塞列表。識(shí)別該第二層幀將要被轉(zhuǎn)發(fā)到的端口的集合。阻止將幀轉(zhuǎn)發(fā)到既在該集合中又在I/O端口阻塞列表中的端口。文檔編號(hào)H04L12/56GK101433029SQ200780013515公開日2009年5月13日申請(qǐng)日期2007年2月6日優(yōu)先權(quán)日2006年2月17日發(fā)明者D·B·格羅塞爾,D·V·韋德申請(qǐng)人:極進(jìn)網(wǎng)絡(luò)公司