專(zhuān)利名稱(chēng):多芯片交換機(jī)及其擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制(Media Access Control,簡(jiǎn)稱(chēng)MAC)地址表的方法及多芯片交換才幾。
技術(shù)背景虛擬局域網(wǎng)(Virtual Local Area Network,簡(jiǎn)稱(chēng)VLAN)是一種根據(jù)邏輯 劃分形成的網(wǎng)絡(luò)。換句話(huà)說(shuō),VLAN是一種將局域網(wǎng)(LAN)設(shè)備從邏輯上劃 分而不是從物理上劃分,形成一個(gè)個(gè)網(wǎng)段即更小的LAN,從而實(shí)現(xiàn)虛擬工作 組(單元)的數(shù)據(jù)交換技術(shù)。VLAN標(biāo)準(zhǔn)IEEE802. 1Q由電氣電子工程師學(xué)會(huì) (Institute of Electrical and Electronic Engineers, 簡(jiǎn)稱(chēng)IEEE) 802委 員會(huì)制定,不同的VLAN之間不能直接進(jìn)行數(shù)據(jù)通信。VLAN中,交換機(jī)能夠直接對(duì)目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,而不是像集線器一樣 以廣播方式對(duì)所有節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,是因?yàn)榻粨Q機(jī)可以識(shí)別連在網(wǎng)絡(luò)上的 節(jié)點(diǎn)的網(wǎng)卡MAC地址,并把它們放到一個(gè)叫做MAC地址表的地方。MAC地址 是用于識(shí)別LAN中各個(gè)節(jié)點(diǎn)的標(biāo)識(shí)。網(wǎng)卡生產(chǎn)廠家燒入網(wǎng)卡的物理地址,存址。MAC地址一般是全球唯一 的,即,MAC地址就如同我們身份證上的身份證 號(hào)碼,具有全球唯一性。MAC地址表記住這些MAC地址,并存放于交換機(jī)的 緩存中。當(dāng)需要向目的地址發(fā)送數(shù)據(jù)時(shí),交換機(jī)就可在MAC地址表中查找這 個(gè)MAC地址的節(jié)點(diǎn)位置,然后直接向這個(gè)位置的節(jié)點(diǎn)發(fā)送。MAC地址表的建立和維護(hù)由交換機(jī)通過(guò)地址學(xué)習(xí)的方式來(lái)實(shí)現(xiàn)。地址學(xué) 系的方式包括當(dāng)交換機(jī)從某個(gè)交換端口收到一個(gè)數(shù)據(jù)包時(shí),先讀取包頭中的源MAC地
址,獲知源MAC地址的機(jī)器連在哪個(gè)交換端口;其中,交換機(jī)的端口包括內(nèi) 聯(lián)端口和交換端口。內(nèi)聯(lián)端口是指交換機(jī)內(nèi)部芯片直接的互聯(lián)端口,對(duì)外界 不可見(jiàn);交換端口 (PORT)是指交換機(jī)與外界通訊交流的接口 ;再去讀取包頭中的目的MAC地址,并在MAC地址表中查找相應(yīng)的交換端cr;如在MAC地址表中有與這目的MAC地址對(duì)應(yīng)的交換端口 ,把數(shù)據(jù)包直接 復(fù)制到這交換端口上;如MAC地址表中找不到相應(yīng)的交換端口,則把數(shù)據(jù)包廣播到所有端口(包 括交換端口和互聯(lián)端口)上。當(dāng)目的機(jī)器對(duì)源機(jī)器回應(yīng)時(shí),交換機(jī)學(xué)習(xí)該目 的MAC地址與哪個(gè)交換端口對(duì)應(yīng)。在下次傳送數(shù)據(jù)時(shí),交換機(jī)不需要對(duì)所有 端口 (包括交換端口和互聯(lián)端口)進(jìn)行廣播。不斷的循環(huán)上述過(guò)程,交換機(jī)可以學(xué)習(xí)到全網(wǎng)的MAC地址信息,從而建 立和維護(hù)自己的MAC地址表。對(duì)于多芯片交換機(jī),即多個(gè)交換芯片通過(guò)內(nèi)聯(lián)端口連接起來(lái),作為一臺(tái) 交換機(jī)工作。而這些內(nèi)聯(lián)端口也是交換機(jī)的端口。為了保證交換芯片間的地 址的同步性,每創(chuàng)建一個(gè)VLAN,將所有交換芯片的內(nèi)聯(lián)端口都設(shè)置于創(chuàng)建的 VLAN中,使交換機(jī)內(nèi)芯片的內(nèi)聯(lián)端口屬于所有VLAN。如圖1所示,芯片12 與芯片13通過(guò)內(nèi)聯(lián)端口 14形成交換機(jī)11。當(dāng)芯片12上交換端口 15有源地 址為MAC1的廣播報(bào)文進(jìn)來(lái)時(shí),芯片12就會(huì)學(xué)習(xí)到地址MAC1,并存放在芯片 12的地址表中。并且,這個(gè)廣播報(bào)文通過(guò)內(nèi)聯(lián)端口 14廣播到交換機(jī)11中的 其他芯片,如芯片13。于是芯片13也學(xué)習(xí)到該MAC地址,并存放在自己的 地址表中。這樣,地址MAC1就在芯片12和芯片13的地址表上都保留一份, 即一個(gè)MAC地址被兩個(gè)芯片的MAC地址表同時(shí)保存。如果有更多芯片,原理 相同。假設(shè)有M個(gè)芯片,每個(gè)芯片上地址表中存儲(chǔ)的MAC地址個(gè)數(shù)為N,那 么總地址數(shù)MxN。但由于一個(gè)MAC地址可能被多個(gè)芯片保存,導(dǎo)致最后實(shí)際 的MAC地址小于MxN個(gè),造成了 MAC地址表資源的極大浪費(fèi)。
目前,為解決MAC地址表資源的浪費(fèi)問(wèn)題,申請(qǐng)?zhí)枮?00610099427. 7的 中國(guó)專(zhuān)利申請(qǐng)"利用以太網(wǎng)交換機(jī)媒體接入控制地址表空間的方法"采用主 芯片來(lái)通告從芯片,使其他從芯片進(jìn)行地址學(xué)習(xí),達(dá)到減少M(fèi)AC地址表資源 浪費(fèi)的目的。現(xiàn)有技術(shù)存在的缺陷在于,由于主芯片需要進(jìn)行通告處理,因而需要耗 費(fèi)中央處理器(CPU)資源;并且,通過(guò)主芯片通告可能導(dǎo)致從芯片地址學(xué)習(xí) 不及時(shí),使得一些不必要的報(bào)文被廣播,造成帶寬的浪費(fèi)。發(fā)明內(nèi)容本發(fā)明的目的在于提出一種多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的 方法及多芯片交換機(jī),以減輕交換機(jī)擴(kuò)展MAC地址表時(shí)的CPU負(fù)擔(dān),并節(jié) 約交換機(jī)內(nèi)聯(lián)端口的帶寬。為實(shí)現(xiàn)上述目的,本發(fā)明提供了 一種多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制 地址表的方法,包括根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的內(nèi)聯(lián)端口所 屬的虛擬局域網(wǎng);進(jìn)行介質(zhì)訪問(wèn)控制地址學(xué)習(xí)。根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的內(nèi)聯(lián)端口所 屬的虛擬局域網(wǎng)可包括在所述芯片的所有交換端口均不屬于第 一 虛擬局域網(wǎng)時(shí),將所述芯片 的內(nèi)聯(lián)端口移除出所述第一虛擬局域網(wǎng);或在所述芯片的交換端口加入第二虛擬局域網(wǎng)時(shí),將所述芯片的內(nèi)聯(lián)端 口加入到所述第二虛擬局域網(wǎng)。本發(fā)明還提供了一種多芯片交換機(jī),包括設(shè)置模塊,用于根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片 的內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng);
地址學(xué)習(xí)模塊,用于在所述設(shè)置模塊設(shè)置的情況下進(jìn)行介質(zhì)訪問(wèn)控制 地址學(xué)習(xí)。所述設(shè)置模塊可包括移出模塊,用于在所述芯片的所有交換端口均不屬于第 一虛擬局域網(wǎng) 時(shí),將所述芯片的內(nèi)聯(lián)端口移除出所述第一虛擬局域網(wǎng);加入模塊,用于在所述芯片的交換端口加入第二虛擬局域網(wǎng)時(shí),將所 述芯片的內(nèi)聯(lián)端口加入到所述第二虛擬局域網(wǎng)。上述技術(shù)方案中,交換機(jī)通過(guò)設(shè)置芯片的內(nèi)聯(lián)端口擴(kuò)展MAC地址表,避 免了通告給CPU造成的資源支出以及帶寬消耗,從而大大減輕了擴(kuò)展MAC地 址表時(shí)CPU的負(fù)擔(dān),節(jié)約了交換機(jī)內(nèi)聯(lián)端口的帶寬。下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為現(xiàn)有技術(shù)中多芯片交換機(jī)的結(jié)構(gòu)示意圖; 圖2為本發(fā)明多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法實(shí)施例一 的流程圖;圖3為本發(fā)明多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法實(shí)施例二 的流程圖;圖4為本發(fā)明多芯片交換機(jī)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法,可包括 根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的內(nèi)聯(lián)端口所 屬的VLAN;進(jìn)行MAC地址學(xué)習(xí)。學(xué)習(xí)MAC地址是為了更好的讓連接交換機(jī)的設(shè)備互相通信。而處于不 同VLAN的設(shè)備,不能進(jìn)行直接通信,因此,當(dāng)交換機(jī)的某個(gè)芯片中沒(méi)有 交換端口屬于某個(gè)VLAN時(shí),那么該芯片的地址表上就沒(méi)有必要保留學(xué)習(xí) 到的該VLAN的MAC地址,將該內(nèi)聯(lián)端口移除出該VLAN,從而節(jié)約了 MAC 地址表空間,實(shí)現(xiàn)了 MAC地址表的擴(kuò)展。圖2為本發(fā)明多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法實(shí)施例一 的流程圖。本實(shí)施例以圖1中的交換機(jī)為例對(duì)擴(kuò)展MAC地址表的方法進(jìn)行 說(shuō)明。假設(shè)芯片13的所有交換端口都不屬于VLANx,或者當(dāng)芯片13的交 換端口移除出VLANx時(shí),判斷芯片13的所有交換端口是否都移除出VLAN x,若是,則擴(kuò)展MAC地址表包括步驟21、將芯片13的內(nèi)聯(lián)端口移除出VLAN x。每個(gè)VLAN都有一個(gè) 端口的位圖表,移除出 一個(gè)VLAN,可以通過(guò)移除出該VLAN的那個(gè)位圖表實(shí) 現(xiàn);步驟22、如果這時(shí)芯片12的某個(gè)交換端口有VLAN x的MACl的廣播 報(bào)文,由于芯片13的內(nèi)聯(lián)端口此時(shí)已不屬于VLANx,因而,芯片12無(wú)法 將該廣播報(bào)文轉(zhuǎn)發(fā)到芯片13的內(nèi)聯(lián)端口,只能將該廣播報(bào)文轉(zhuǎn)發(fā)到屬于 VLAN x的內(nèi)聯(lián)端口,芯片13也就不會(huì)學(xué)習(xí)到MAC1的地址,這樣,芯片 13就比原先多出了一個(gè)地址表空間,可以用來(lái)學(xué)習(xí)其他地址,從而達(dá)到了 MAC地址的擴(kuò)展。在理想情況下,如果所有芯片的交換端口加入的VLAN都互不交集, 那么所有芯片就都不會(huì)學(xué)到其他芯片的任何地址,交換機(jī)實(shí)際上總共學(xué)到 的地址個(gè)數(shù)可為芯片個(gè)數(shù)Mx芯片上的MAC地址N。圖3為本發(fā)明多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法實(shí)施例二 的流程圖。在實(shí)際實(shí)施過(guò)程中,通過(guò)將內(nèi)聯(lián)端口加入到VLAN的位圖表中, 可以將所有的芯片的內(nèi)聯(lián)端口都只屬于一個(gè)默認(rèn)VLAN。擴(kuò)展MAC地址表的 方法包括步驟31、當(dāng)某個(gè)芯片的交換端口加入到VLAN a時(shí),判斷該芯片的內(nèi) 聯(lián)端口是否已在VLAN a中,若否,則將該芯片的內(nèi)聯(lián)端口加入到VLAN a。 加入一個(gè)VLAN,可以通過(guò)加入該VLAN的那個(gè)位圖表實(shí)現(xiàn)。這樣既保證了 該芯片的交換端口可以正常通信的同時(shí),又保證了內(nèi)聯(lián)端口只屬于該芯片 下交換端口加入的VLAN a。步驟32、當(dāng)有VLAN a的廣播報(bào)文到達(dá)該芯片所屬交換機(jī)的交換端口 時(shí),由于該芯片的內(nèi)聯(lián)端口只屬于VLANa,使得該芯片只需學(xué)習(xí)其實(shí)際連 接的節(jié)點(diǎn)的MAC地址,從而避免了存儲(chǔ)不必要的MAC地址,擴(kuò)展了 MAC地 址表的空間。本發(fā)明實(shí)施例多芯片交換機(jī)可包括設(shè)置模塊及地址學(xué)習(xí)模塊。設(shè)置 模塊用于將芯片的內(nèi)聯(lián)端口設(shè)置于交換端口所在的VLAN中;地址學(xué)習(xí)模 塊用于在所述設(shè)置模塊設(shè)置的情況下進(jìn)行地址學(xué)習(xí)。圖4為本發(fā)明多芯片交換機(jī)實(shí)施例的結(jié)構(gòu)示意圖。交換機(jī)包括設(shè)置模 塊41及地址學(xué)習(xí)模塊42。設(shè)置模塊41用于將芯片的內(nèi)聯(lián)端口設(shè)置于交換 端口所在的VLAN中;地址學(xué)習(xí)模塊42用于在所述設(shè)置模塊41設(shè)置的情 況下進(jìn)行地址學(xué)習(xí)。其中,設(shè)置模塊41可包括移出模塊43及加入模塊44,移出模塊43 用于在所述芯片的所有交換端口均不屬于第一 VLAN時(shí),將所述芯片的內(nèi) 聯(lián)端口移除出所述第一 VLAN。加入模塊44用于在所述芯片的交換端口加 入第二 VLAN時(shí),將所述芯片的內(nèi)聯(lián)端口加入到所述第二 VLAN。本發(fā)明上述方法和裝置實(shí)施例具有如下優(yōu)點(diǎn)1. 能夠有效地?cái)U(kuò)展MAC地址表在理想情況下,當(dāng)每個(gè)芯片的交換端口上所屬的VLAN互不交集時(shí), 那么交換機(jī)的總地址容量為MxN個(gè),完全利用了地址表資源,相對(duì)于現(xiàn) 有技術(shù)中交換機(jī)的總地址容量可能僅為N個(gè),大大擴(kuò)展了 MAC地址表。2. 節(jié)約一定的帶寬在芯片的交換端口不屬于VLAN A時(shí),將該芯片的內(nèi)聯(lián)端口從VLAN A
中移除,VLANA的廣播報(bào)文就不會(huì)廣播到該芯片的內(nèi)聯(lián)端口 了。相對(duì)于現(xiàn) 有技術(shù)中VLAN A的廣播數(shù)據(jù)報(bào)文也會(huì)廣播到不屬于VLAN A的芯片的內(nèi)聯(lián) 端口,避免了帶寬的不必要占用,大大節(jié)約了內(nèi)聯(lián)端口的帶寬。 3.快速的地址學(xué)習(xí)以及減低CPU負(fù)擔(dān)由于所有芯片的地址學(xué)習(xí)都是通過(guò)硬件學(xué)習(xí)到的,而無(wú)需軟件參與, 相對(duì)于現(xiàn)有技術(shù)采用主芯片分發(fā)地址到從芯片的方式,大打提高了芯片地 址學(xué)習(xí)速度,節(jié)約了帶寬,并且大大減輕了 CPU負(fù)擔(dān)。上述實(shí)施例通過(guò)設(shè)置內(nèi)聯(lián)端口所屬的VLAN,有效地?cái)U(kuò)展了 MAC地址 表,充分利用了地址表資源。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步 驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟; 而前述的存儲(chǔ)介質(zhì)包括R0M、 RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代 碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其 限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù) 人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或 者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技 術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1、一種多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法,其特征在于,包括根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng);進(jìn)行介質(zhì)訪問(wèn)控制地址學(xué)習(xí)。
2、 根據(jù)權(quán)利要求1所述的多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方 法,其特征在于,根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的 內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng)包括在所述芯片的所有交換端口均不屬于第 一虛擬局域網(wǎng)時(shí),將所述芯片 的內(nèi)聯(lián)端口移除出所述第一虛擬局域網(wǎng)。
3、 根據(jù)權(quán)利要求1所述的多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方 法,其特征在于,根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的 內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng)包括在所述芯片的交換端口加入第二虛擬局域網(wǎng)時(shí),將所述芯片的內(nèi)聯(lián)端 口加入到所述第二虛擬局域網(wǎng)。
4、 根據(jù)權(quán)利要求3所述的多芯片交換機(jī)擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方 法,其特征在于,將所述芯片的內(nèi)聯(lián)端口加入到所述第二虛擬局域網(wǎng)之前 還包括將所述多芯片交換機(jī)中所有芯片的內(nèi)聯(lián)端口設(shè)置于默認(rèn)的虛擬局域 網(wǎng)中。
5、 一種多芯片交換機(jī),其特征在于,包括設(shè)置模塊,用于根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片 的內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng);地址學(xué)習(xí)模塊,用于在所述設(shè)置模塊設(shè)置的情況下進(jìn)行介質(zhì)訪問(wèn)控制地址學(xué)習(xí)。
6、根據(jù)權(quán)利要求5所述的多芯片交換機(jī),其特征在于,所述設(shè)置模 塊包括移出模塊,用于在所述芯片的所有交換端口均不屬于第 一虛擬局域網(wǎng) 時(shí),將所述芯片的內(nèi)聯(lián)端口移除出所述第一虛擬局域網(wǎng);加入模塊,用于在所述芯片的交換端口加入第二虛擬局域網(wǎng)時(shí),將所 述芯片的內(nèi)聯(lián)端口加入到所述第二虛擬局域網(wǎng)。
全文摘要
本發(fā)明涉及一種多芯片交換機(jī)及其擴(kuò)展介質(zhì)訪問(wèn)控制地址表的方法,方法包括根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng);進(jìn)行介質(zhì)訪問(wèn)控制地址學(xué)習(xí)。多芯片交換機(jī)包括設(shè)置模塊,用于根據(jù)芯片的交換端口所在的虛擬局域網(wǎng)設(shè)置所述芯片的內(nèi)聯(lián)端口所屬的虛擬局域網(wǎng);地址學(xué)習(xí)模塊,用于在所述設(shè)置模塊設(shè)置的情況下進(jìn)行介質(zhì)訪問(wèn)控制地址學(xué)習(xí)。交換機(jī)通過(guò)設(shè)置芯片的內(nèi)聯(lián)端口擴(kuò)展MAC地址表,避免了通告給CPU造成的資源支出以及帶寬消耗,從而大大減輕了擴(kuò)展MAC地址表時(shí)CPU的負(fù)擔(dān),節(jié)約了交換機(jī)內(nèi)聯(lián)端口的帶寬。
文檔編號(hào)H04L12/56GK101399779SQ20081022534
公開(kāi)日2009年4月1日 申請(qǐng)日期2008年10月30日 優(yōu)先權(quán)日2008年10月30日
發(fā)明者高小強(qiáng) 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司