两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

媒體接入控制地址表更新方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法

文檔序號(hào):7563619閱讀:215來源:國知局
專利名稱:媒體接入控制地址表更新方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤指一種媒體接入控制(Media Access Control,MAC) 地址表更新方法、裝置及網(wǎng)絡(luò)設(shè)備。
背景技術(shù)
以太網(wǎng)中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)MAC地址,交換機(jī)接收到以太網(wǎng)報(bào)文時(shí),提取報(bào)文中 的源MAC地址,連同與之連接的端口號(hào)和虛擬局域網(wǎng)(Virtual LocalArea Network, VLAN) 號(hào)存放到硬件表項(xiàng)中,這個(gè)硬件表項(xiàng)就稱為MAC地址表。在需要向節(jié)點(diǎn)轉(zhuǎn)發(fā)報(bào)文時(shí)根據(jù)報(bào) 文的目的MAC地址,在MAC地址表中查找與之連接的端口號(hào),將報(bào)文從該端口轉(zhuǎn)發(fā)出去。圖1所示即為交換機(jī)中的MAC地址表工作原理示意圖。其中,節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn) 3 的 MAC 地址分別為 1111. 1111. 1111,2222. 2222. 2222,3333. 3333. 3333,分別與交換機(jī)的 端口 pi、p2、p3連接,歸屬于相同VLAN網(wǎng)段(vlanl)。節(jié)點(diǎn)4和節(jié)點(diǎn)5的MAC地址分別為 4444. 4444. 4444和5555. 5555. 5555,分別與交換機(jī)的端口 p4和p5連接屬于另外一個(gè)VLAN 網(wǎng)段(vlan2)。交換機(jī)初始化的時(shí)候,MAC地址表為空。當(dāng)節(jié)點(diǎn)1與節(jié)點(diǎn)3進(jìn)行通信時(shí),交換 機(jī)學(xué)習(xí)MAC地址節(jié)點(diǎn)1發(fā)送報(bào)文,源MAC地址為1111. 1111. 1111,目的MAC地址為 3333. 3333. 3333,該報(bào)文從端口 pi進(jìn)入交換機(jī),此時(shí)交換機(jī)則提取報(bào)文源MAC地址、VLAN 號(hào)以及對(duì)應(yīng)的端口號(hào)填入MAC地址表1111. 1111. 1111+vlanl- > pi。然后查找MAC地址 表有沒有與目的MAC地址(3333. 3333. 3333)對(duì)應(yīng)的表項(xiàng),結(jié)果沒有找到,則將報(bào)文廣播到 除Pl 口之外的相同網(wǎng)段內(nèi)其他所有端口(p2和p3)。節(jié)點(diǎn)2和節(jié)點(diǎn)3都會(huì)收到該報(bào)文,其 中節(jié)點(diǎn)2判斷報(bào)文目的MAC不是自己,則丟棄報(bào)文;節(jié)點(diǎn)3接收?qǐng)?bào)文并對(duì)節(jié)點(diǎn)1進(jìn)行應(yīng)答, 應(yīng)答報(bào)文的源MAC地址則為3333. 3333. 3333,目的MAC則為1111. 1111. 1111。應(yīng)答報(bào)文從 端口 p3進(jìn)入交換機(jī),交換機(jī)學(xué)習(xí)MAC地址,增加一條表項(xiàng)3333. 3333. 3333+vlanl- > p3。 此后如有目的地址為1111. 1111. 1111或3333. 3333. 3333的報(bào)文,則可以直接查找MAC地 址表實(shí)現(xiàn)報(bào)文轉(zhuǎn)發(fā)了。因此,交換機(jī)MAC地址表中的表項(xiàng)越多,命中率越高。而交換機(jī)內(nèi)部地址表的容量 受交換芯片的限制,一般為16M或32M。目前通常采用外部三態(tài)內(nèi)容尋址存儲(chǔ)器(Ternary Content Addressable Memory, TCAM)來進(jìn)行擴(kuò)容,但外部TCAM中的表項(xiàng)不能通過硬件學(xué) 習(xí)自動(dòng)加入?,F(xiàn)有技術(shù)中采用外部TCAM擴(kuò)容后,學(xué)習(xí)到新的MAC地址表項(xiàng)時(shí)的處理流程如 圖2所示,包括下列步驟(1)學(xué)習(xí)到新的MAC地址表項(xiàng)。例如內(nèi)部地址表學(xué)習(xí)到一條新的MAC地址表項(xiàng)——表項(xiàng)C時(shí)。其中新的MAC地 址表項(xiàng)是指內(nèi)部地址表中原來不存在的MAC地址表項(xiàng)。(2)檢查外部TCAM中是否存在該地址表項(xiàng)。若是,執(zhí)行步驟(3);否則執(zhí)行步驟⑷。例如學(xué)習(xí)到表項(xiàng)C之前,內(nèi)部地址表和外部TCAM的初始狀態(tài)如圖3所示,內(nèi)部地址表的哈希桶1中有表項(xiàng)A,哈希桶2中有表項(xiàng)B,......,哈希桶η中有表項(xiàng)X和Y ;外部
TCAM中有表項(xiàng)C和D。此時(shí),外部TCAM中存在表項(xiàng)C,執(zhí)行步驟(3)。(3)將該地址表項(xiàng)從外部TCAM中刪除,以免外部TCAM和內(nèi)部地址表存在相同的地 址表項(xiàng),造成空間浪費(fèi)。將表項(xiàng)C從外部地址表中刪除。(4)檢查內(nèi)部地址表中是否存在與該地址表項(xiàng)屬于同一哈希桶的其他地址表項(xiàng)。若是,執(zhí)行步驟(5);否則執(zhí)行步驟(6)。例如表項(xiàng)C落在哈希桶1中,與表項(xiàng)C屬于同一哈希桶的其他表項(xiàng)為表項(xiàng)Α。(5)從內(nèi)部地址表中的與該地址表項(xiàng)屬于同一哈希桶的其他地址表項(xiàng)中選擇一 個(gè),轉(zhuǎn)移到外部TCAM中,并將選擇地址表項(xiàng)從內(nèi)部地址表中刪除。例如將哈希桶1中的表項(xiàng)A轉(zhuǎn)移到外部地址表中,轉(zhuǎn)移之后,內(nèi)部地址表和外部
TCAM的狀態(tài)如圖4所示,內(nèi)部地址表的哈希桶1中有表項(xiàng)C,哈希桶2中有表項(xiàng)B,......,
哈希桶η中有表項(xiàng)X和Y ;外部TCAM中有表項(xiàng)A和D。(6)結(jié)束。內(nèi)部地址表每次新學(xué)習(xí)到MAC地址表項(xiàng)時(shí),都會(huì)觸發(fā)上述地址表項(xiàng)的更新流程, 例如再次學(xué)習(xí)到表項(xiàng)A時(shí),上述表項(xiàng)A和表項(xiàng)C在內(nèi)部地址表和外部TCAM的存儲(chǔ)狀態(tài)將 再次互換,又例如再次學(xué)習(xí)到其他屬于哈希桶1中的表項(xiàng)時(shí),表項(xiàng)A將再次被轉(zhuǎn)移到外部 TCAM中存儲(chǔ)。如果交換機(jī)頻繁交替接收到不同的數(shù)據(jù)流時(shí),則會(huì)導(dǎo)致MAC地址表項(xiàng)的頻繁 學(xué)習(xí)和更新,當(dāng)經(jīng)常學(xué)習(xí)和變動(dòng)的地址表項(xiàng)較多時(shí),則會(huì)導(dǎo)致地址表項(xiàng)從內(nèi)部地址表向外 部TCAM的轉(zhuǎn)移,從而會(huì)占用很多的內(nèi)存資源,導(dǎo)致內(nèi)存資源的占用率很高,造成系統(tǒng)性能 瓶頸。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種媒體接入控制地址表更新方法、裝置及網(wǎng)絡(luò)設(shè)備,用以解 決現(xiàn)有技術(shù)中存在的MAC地址表項(xiàng)在內(nèi)部地址表和外部存儲(chǔ)器之間頻繁轉(zhuǎn)移所導(dǎo)致的內(nèi) 存資源占用率高,帶來系統(tǒng)性能瓶頸的問題。一種媒體接入控制地址表更新方法,包括學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大于設(shè)定的上 水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線時(shí),從內(nèi)部地址表中轉(zhuǎn)移除 所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直至內(nèi)部地址表中的地址表項(xiàng) 的數(shù)目小于設(shè)定的下水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目不大于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中 轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中。一種媒體接入控制地址表更新裝置,包括判斷模塊,用于學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是 否大于設(shè)定的上水線;轉(zhuǎn)移模塊,用于當(dāng)判斷模塊確定內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水 線時(shí),從內(nèi)部地址表中轉(zhuǎn)移除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直至內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù) 目不大于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中。一種網(wǎng)絡(luò)設(shè)備,包括上述的媒體接入控制地址表更新裝置。本發(fā)明有益效果如下本發(fā)明實(shí)施例提供的媒體接入控制地址表更新方法、裝置及網(wǎng)絡(luò)設(shè)備,在學(xué)習(xí)到 新的地址表項(xiàng)時(shí),首先判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大于設(shè)定的上水線;只要 當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線時(shí),才從內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng) 至外部存儲(chǔ)器中,并一直轉(zhuǎn)移到內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線時(shí)為 止,從而避免了地址表項(xiàng)在內(nèi)部地址表和外部存儲(chǔ)器之間的頻繁轉(zhuǎn)移,減少了對(duì)內(nèi)存資源 的占有率,提高了內(nèi)部地址表和外部存儲(chǔ)器協(xié)同工作時(shí)的系統(tǒng)性能。


圖1為現(xiàn)有技術(shù)中MAC地址表工作原理的示意圖;圖2為現(xiàn)有技術(shù)中學(xué)習(xí)到MAC地址表項(xiàng)時(shí)的處理流程示意圖;圖3為現(xiàn)有技術(shù)中內(nèi)部地址表和外部TCAM的初始狀態(tài)示意圖;圖4為現(xiàn)有技術(shù)中內(nèi)部地址表和外部TCAM更新后的狀態(tài)示意圖;圖5為本發(fā)明實(shí)施例中媒體接入控制地址表更新方法的流程圖;圖6為本發(fā)明實(shí)施例中內(nèi)部地址表和外部TCAM的初始狀態(tài)示意圖;圖7為本發(fā)明實(shí)施例中內(nèi)部地址表和外部TCAM更新后的狀態(tài)示意圖;圖8為本發(fā)明實(shí)施例中媒體接入控制地址表更新裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供的媒體接入控制地址表更新方法,在學(xué)習(xí)到新的MAC地址表項(xiàng) 時(shí),根據(jù)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目確定是否需要轉(zhuǎn)移地址表項(xiàng)到外部存儲(chǔ)器中,來 避免地址表項(xiàng)在內(nèi)部地址表和外部存儲(chǔ)器之間的頻繁轉(zhuǎn)移。本發(fā)明方法的流程如圖5所 示,執(zhí)行步驟如下步驟Sll 學(xué)習(xí)到新的地址表項(xiàng)。網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備,例如交換機(jī),接收到一條報(bào)文時(shí),獲取該報(bào)文中的源MAC地 址、VLAN號(hào)和對(duì)應(yīng)的端口號(hào),實(shí)現(xiàn)內(nèi)部地址表學(xué)習(xí)到一條新的MAC地址表項(xiàng)。一般網(wǎng)絡(luò)設(shè) 備中MAC地址表項(xiàng)的學(xué)習(xí)是由硬件實(shí)現(xiàn)的。學(xué)習(xí)到的新的地址表項(xiàng)一般是指學(xué)習(xí)到不同于 內(nèi)部地址表中原有的地址表項(xiàng)的一個(gè)地址表項(xiàng),包括MAC地址、VLAN號(hào)和對(duì)應(yīng)的端口號(hào)中 的任一項(xiàng)不相同。優(yōu)選的,在學(xué)習(xí)到新的地址表項(xiàng)時(shí),也可以如現(xiàn)有技術(shù)中一樣先判斷外部存儲(chǔ)器 中是否存在該地址表項(xiàng),若存在,將該地址表項(xiàng)從外部存儲(chǔ)其中刪除,以節(jié)約外部存儲(chǔ)器的 存儲(chǔ)空間,避免空間浪費(fèi)。當(dāng)然此處也可以暫時(shí)不刪除。例如如圖6所示的,學(xué)習(xí)到新的地址表項(xiàng)(表項(xiàng)M)之前,內(nèi)部地址表的哈希桶1
中有表項(xiàng)A、表項(xiàng)B等,哈希桶2中有表項(xiàng)C、表項(xiàng)D等,......,哈希桶η中有表項(xiàng)X、表項(xiàng)Y
等;外部存儲(chǔ)器(TCAM)中有表項(xiàng)Μ、表項(xiàng)N、表項(xiàng)L等。優(yōu)選的,此時(shí),將外部存儲(chǔ)器中的表 項(xiàng)M刪除。
步驟S12 獲取內(nèi)部地址表中的地址表項(xiàng)的數(shù)目。獲取內(nèi)部地址表中的地址表項(xiàng)的數(shù)目,沿用上邊的例子,例如學(xué)習(xí)到新的地址表 項(xiàng)時(shí)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目為31K個(gè)(即31000個(gè))。步驟S13 判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大于設(shè)定的上水線。若是,執(zhí)行步驟S14 ;否則執(zhí)行步驟S17。其中,上水線根據(jù)內(nèi)部地址表的容量設(shè)定。例如網(wǎng)絡(luò)設(shè)備中的交換芯片的內(nèi)部地 址表的容量為32K,參照這個(gè)容量設(shè)置上水線為30K。優(yōu)選的,上水線還可以根據(jù)內(nèi)部地址表的容量和統(tǒng)計(jì)得到的經(jīng)常變動(dòng)的地址表項(xiàng) 的數(shù)量設(shè)定。例如用戶的網(wǎng)絡(luò)中有100K個(gè)MAC表項(xiàng),其中經(jīng)常變動(dòng)的地址表項(xiàng)為20K個(gè), 參照內(nèi)部地址表的容量和經(jīng)常變動(dòng)的地址表項(xiàng)的數(shù)量設(shè)置上水線為30K個(gè)。沿用上邊的例子,由于學(xué)習(xí)到新的地址表項(xiàng)時(shí)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目為 31K個(gè),大于設(shè)定的上水線30K個(gè),因此執(zhí)行步驟S14。如果學(xué)習(xí)到新的地址表項(xiàng)時(shí)內(nèi)部地 址表中的地址表項(xiàng)的數(shù)目為28K個(gè),不大于設(shè)定的上水線30K個(gè),則會(huì)執(zhí)行步驟S17,不進(jìn)行 地址表項(xiàng)的轉(zhuǎn)移操作。步驟S14 從內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中。從內(nèi)部地址表中轉(zhuǎn)移除學(xué)習(xí)到的新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存 儲(chǔ)器中,可以一個(gè)一個(gè)的轉(zhuǎn)移,也可以一次轉(zhuǎn)移多個(gè),具體可以從內(nèi)部地址表中選擇除新的 地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中。優(yōu)選的,在從內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中時(shí),計(jì)算學(xué)習(xí)到的新的 地址表項(xiàng)的哈希(Hash)值,根據(jù)哈希值確定學(xué)習(xí)到的新的地址表項(xiàng)所屬的內(nèi)部地址表中 的哈希桶,優(yōu)先選擇學(xué)習(xí)到的新的地址表項(xiàng)所屬的哈希桶中的除新的地址表項(xiàng)外的部分或 全部地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中。若轉(zhuǎn)移完學(xué)習(xí)到的地址表項(xiàng)所屬的哈希桶中的地址表 項(xiàng)后,還需要轉(zhuǎn)移地址表項(xiàng)時(shí),再轉(zhuǎn)移其他哈希桶中的地址表項(xiàng)。在進(jìn)行地址表項(xiàng)轉(zhuǎn)移時(shí),一般選擇轉(zhuǎn)移學(xué)習(xí)到的地址表項(xiàng)所屬的哈希桶中的除剛 學(xué)習(xí)到的新的地址表項(xiàng)之外的部分或全部地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中。其中,屬于同一個(gè)哈希桶的地址表項(xiàng)的哈希值相同。計(jì)算哈希值時(shí)根據(jù)地址表項(xiàng) 中的MAC地址和VLAN號(hào)進(jìn)行Hash計(jì)算,得到哈希值,計(jì)算得到的哈希值相同的地址表項(xiàng), 在內(nèi)部地址表中歸屬于同一個(gè)哈希桶。通過Hash計(jì)算保證學(xué)習(xí)到的表項(xiàng)平均分布到各個(gè) 哈希桶中。優(yōu)選的,當(dāng)選擇的需要轉(zhuǎn)移的地址表項(xiàng)為外部存儲(chǔ)器中已存儲(chǔ)的地址表項(xiàng)時(shí),不 再轉(zhuǎn)移該地址表項(xiàng),將選擇的需要轉(zhuǎn)移的地址表項(xiàng)從內(nèi)部地址表中刪除即可。沿用上邊的例子,例如計(jì)算學(xué)習(xí)到的地址表項(xiàng)M的哈希值,確定其所屬于的哈希 桶為桶1,則優(yōu)選的,將桶1中的地址表項(xiàng)轉(zhuǎn)移到外部存儲(chǔ)器中。此處需要說明的是,如果在學(xué)習(xí)到表項(xiàng)M時(shí)未將外部存儲(chǔ)器中的表項(xiàng)M刪除,則當(dāng) 轉(zhuǎn)移的外部存儲(chǔ)器中的地址表項(xiàng)包含表項(xiàng)M時(shí),可以不轉(zhuǎn)移表項(xiàng)M,而直接將表項(xiàng)M從內(nèi)部 地址表中刪除即可。例如轉(zhuǎn)移地址表項(xiàng)后,內(nèi)部地址表和外部存儲(chǔ)器的狀態(tài)如圖7所示的,內(nèi)部地址
表的哈希桶1中有表項(xiàng)M等,哈希桶2中有表項(xiàng)C、表項(xiàng)D等,......,哈希桶η中有表項(xiàng)X、
表項(xiàng)Y等;外部存儲(chǔ)器(TCAM)中有表項(xiàng)Α、表項(xiàng)B、表項(xiàng)N、表項(xiàng)L等。
步驟S15 獲取內(nèi)部地址表中的地址表項(xiàng)的數(shù)目。
在轉(zhuǎn)移之后再次獲取內(nèi)部地址表中的地址表項(xiàng)的數(shù)目。沿用上邊的例子,例如轉(zhuǎn)移地址表項(xiàng)后,內(nèi)部地址表中的地址表項(xiàng)的數(shù)目為24K 個(gè)。步驟S16 判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否小于設(shè)定的下水線。若是,執(zhí)行步驟S17 ;否則返回繼續(xù)執(zhí)行步驟S14。也就是當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目不小于設(shè)定的下水線時(shí),返回繼續(xù)執(zhí)行 步驟S14,否則停止從內(nèi)部地址表中向外部存儲(chǔ)器中轉(zhuǎn)移地址表項(xiàng)。當(dāng)優(yōu)先選擇學(xué)習(xí)到的地址表項(xiàng)所屬的哈希桶中的部分或全部地址表項(xiàng)轉(zhuǎn)移至外 部存儲(chǔ)器中時(shí),若轉(zhuǎn)移完了學(xué)習(xí)到的地址表項(xiàng)所屬的哈希桶中的地址表項(xiàng),仍未達(dá)到下水 線時(shí),則繼續(xù)轉(zhuǎn)移其他哈希桶中的地址表項(xiàng),直至小于下水線為止。其中,下水線根據(jù)內(nèi)部地址表的容量設(shè)定。例如網(wǎng)絡(luò)設(shè)備中的交換芯片的內(nèi)部地 址表的容量為32K,參照這個(gè)容量設(shè)置上水線為25K。優(yōu)選的,下水線還可以根據(jù)內(nèi)部地址表的容量和統(tǒng)計(jì)得到的經(jīng)常變動(dòng)的地址表項(xiàng) 的數(shù)量設(shè)定。例如用戶的網(wǎng)絡(luò)中有100K個(gè)MAC表項(xiàng),其中經(jīng)常變動(dòng)的地址表項(xiàng)為20K個(gè), 參照內(nèi)部地址表的容量和經(jīng)常變動(dòng)的地址表項(xiàng)的數(shù)量設(shè)置上水線為2 個(gè)。沿用上邊的例子,轉(zhuǎn)移地址表項(xiàng)后內(nèi)部地址表中的地址表項(xiàng)的數(shù)目為24K個(gè),小 于設(shè)定的下水線2 個(gè),因此執(zhí)行步驟S17不再轉(zhuǎn)移地址表項(xiàng)。如果轉(zhuǎn)移地址表項(xiàng)后內(nèi)部 地址表中的地址表項(xiàng)的數(shù)目為27K個(gè),不小于設(shè)定的下水線2 個(gè),則會(huì)執(zhí)行步驟S14,繼續(xù) 轉(zhuǎn)移地址表項(xiàng)的操作。步驟S17:結(jié)束。也就是說,上述方法中,當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線時(shí), 從內(nèi)部地址表中轉(zhuǎn)移除新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直至內(nèi)部地 址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線為止。當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目不大 于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中。根據(jù)本發(fā)明實(shí)施例提供的媒體接入控制地址更新方法,可以構(gòu)建一種媒體接入控 制地址更新裝置,該裝置可以設(shè)置在任何實(shí)現(xiàn)報(bào)文轉(zhuǎn)發(fā)功能的網(wǎng)絡(luò)設(shè)備中,實(shí)現(xiàn)對(duì)媒體接 入控制地址的更新,該網(wǎng)絡(luò)設(shè)備中包括內(nèi)部地址表和外部存儲(chǔ)器。該媒體接入控制地址表 更新裝置的結(jié)構(gòu)如圖8所示,包括判斷模塊10和轉(zhuǎn)移模塊20。判斷模塊10,用于學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目 是否大于設(shè)定的上水線。優(yōu)選的,所述判斷單元10還用于學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷外部存儲(chǔ)器中是 否存在學(xué)習(xí)到的地址表項(xiàng),若存在,將外部存儲(chǔ)器中存在的該地址表項(xiàng)刪除。轉(zhuǎn)移模塊20,用于當(dāng)判斷模塊10確定內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定 的上水線時(shí),從內(nèi)部地址表中轉(zhuǎn)移除學(xué)習(xí)到的新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部 存儲(chǔ)器中,直至內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線;當(dāng)內(nèi)部地址表中的地 址表項(xiàng)的數(shù)目不大于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器 中。優(yōu)選的,上述轉(zhuǎn)移模塊20,還用于從內(nèi)部地址表中選擇至少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中時(shí),若所選擇的地址表項(xiàng)為外部存儲(chǔ)器中已存儲(chǔ)的地址表項(xiàng)時(shí),則將所選擇 的地址表項(xiàng)從內(nèi)部地址表中刪除。優(yōu)選的,上述轉(zhuǎn)移模塊20,具體包括轉(zhuǎn)移單元201和判斷單元202。轉(zhuǎn)移單元201,用于從內(nèi)部地址表中選擇除新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng) 轉(zhuǎn)移至外部存儲(chǔ)器中,并通知判斷單元202。優(yōu)選的,上述轉(zhuǎn)移單元201,具體用于計(jì)算學(xué)習(xí)到的新的地址表項(xiàng)的哈希值,根 據(jù)哈希值確定學(xué)習(xí)到的新的地址表項(xiàng)所屬的內(nèi)部地址表中的哈希桶,其中屬于同一個(gè)哈希 桶的地址表項(xiàng)的哈希值相同;優(yōu)先選擇學(xué)習(xí)到的新的地址表項(xiàng)所屬的哈希桶中除所述新的 地址表項(xiàng)外的部分或全部地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中。優(yōu)選的,上述轉(zhuǎn)移單元201,還用于從內(nèi)部地址表中選擇除新的地址表項(xiàng)外的至 少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中時(shí),若所選擇的地址表項(xiàng)為外部存儲(chǔ)器中已存儲(chǔ)的地 址表項(xiàng)時(shí),則將所選擇的地址表項(xiàng)從內(nèi)部地址表中刪除。判斷單元202,用于判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否小于設(shè)定的下水線; 若是,通知轉(zhuǎn)移單元201繼續(xù)執(zhí)行從內(nèi)部地址表中選擇除新的地址表項(xiàng)外的至少一個(gè)地址 表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中的步驟;否則通知轉(zhuǎn)移單元201停止從內(nèi)部地址表中向外部存儲(chǔ) 器中轉(zhuǎn)移地址表項(xiàng)。本發(fā)明實(shí)施例提供的媒體接入控制地址更新方法和裝置,在學(xué)習(xí)到新的地址表項(xiàng) 時(shí),首先判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大于設(shè)定的上水線;只要當(dāng)內(nèi)部地址表 中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線時(shí),才從內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器 中,并一直轉(zhuǎn)移到內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線時(shí)為止,而不必像現(xiàn) 有技術(shù)中那樣每次學(xué)習(xí)到新的地址表項(xiàng)時(shí)都要轉(zhuǎn)移地址表項(xiàng),從而避免了地址表項(xiàng)在內(nèi)部 地址表和外部存儲(chǔ)器之間的頻繁轉(zhuǎn)移,減少了對(duì)內(nèi)存資源的占有率,優(yōu)化了內(nèi)部地址表和 外部存儲(chǔ)器協(xié)同工作時(shí)的地址表項(xiàng)更新流程,提高了內(nèi)部地址表的利用率,也提高了內(nèi)部 地址表和外部存儲(chǔ)器協(xié)同工作時(shí)的系統(tǒng)性能。本發(fā)明的上述方法相當(dāng)于將內(nèi)部地址表當(dāng)作一個(gè)高速緩沖區(qū),將經(jīng)常變動(dòng)的地址 表項(xiàng)存儲(chǔ)在內(nèi)部地址表中,將不經(jīng)常變動(dòng)的地址表項(xiàng)存放到外部存儲(chǔ)器中,只要當(dāng)內(nèi)部地 址表中的地址表項(xiàng)達(dá)到一定數(shù)量時(shí)才進(jìn)行轉(zhuǎn)移,當(dāng)轉(zhuǎn)移時(shí)會(huì)轉(zhuǎn)移到小于一定數(shù)量為止,從 而減少了轉(zhuǎn)移操作的次數(shù),節(jié)省了 CPU資源。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種媒體接入控制地址表更新方法,其特征在于,包括學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大于設(shè)定的上水線.一入 ,當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線時(shí),從內(nèi)部地址表中轉(zhuǎn)移除所述 新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直至內(nèi)部地址表中的地址表項(xiàng)的數(shù) 目小于設(shè)定的下水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目不大于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中轉(zhuǎn)移 地址表項(xiàng)至外部存儲(chǔ)器中。
2.如權(quán)利要求1所述的方法,其特征在于,所述從內(nèi)部地址表中轉(zhuǎn)移除所述新的地址 表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直至內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè) 定的下水線,具體包括從內(nèi)部地址表中選擇除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器 中,并判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否小于設(shè)定的下水線;若內(nèi)部地址表中的地址表項(xiàng)的數(shù)目不小于設(shè)定的下水線時(shí),返回繼續(xù)執(zhí)行從內(nèi)部地址 表中選擇除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中的步驟;否則停 止從內(nèi)部地址表中向外部存儲(chǔ)器中轉(zhuǎn)移地址表項(xiàng)。
3.如權(quán)利要求1或2所述的方法,其特征在于,從內(nèi)部地址表中轉(zhuǎn)移除所述新的地址表 項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,具體包括確定學(xué)習(xí)到的新的地址表項(xiàng)的哈希值;根據(jù)確定的哈希值,確定所述新的地址表項(xiàng)所屬的內(nèi)部地址表中的哈希桶,其中屬于 同一個(gè)所述哈希桶的地址表項(xiàng)的哈希值相同;優(yōu)先選擇學(xué)習(xí)到的新的地址表項(xiàng)所屬的哈希桶中除所述新的地址表項(xiàng)外的部分或全 部地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中。
4.如權(quán)利要求1所述的方法,其特征在于,從內(nèi)部地址表中選擇除所述新的地址表項(xiàng) 外的至少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中時(shí),若所選擇的地址表項(xiàng)為外部存儲(chǔ)器中已存 儲(chǔ)的地址表項(xiàng)時(shí),則將所選擇的地址表項(xiàng)從內(nèi)部地址表中刪除。
5.如權(quán)利要求1所述的方法,其特征在于,還包括在學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷外部存儲(chǔ)器中是否存在學(xué)習(xí)到的地址表項(xiàng),若存在,將 外部存儲(chǔ)器中存在的該地址表項(xiàng)刪除。
6.如權(quán)利要求1所述的方法,其特征在于,所述上水線和/或下水線根據(jù)內(nèi)部地址表的 容量設(shè)定;或所述上水線和/或下水線根據(jù)內(nèi)部地址表的容量和統(tǒng)計(jì)得到的經(jīng)常變動(dòng)的地 址表項(xiàng)的數(shù)量設(shè)定。
7.一種媒體接入控制地址表更新裝置,其特征在于,包括判斷模塊,用于學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大 于設(shè)定的上水線;轉(zhuǎn)移模塊,用于當(dāng)判斷模塊確定內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線 時(shí),從內(nèi)部地址表中轉(zhuǎn)移除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直 至內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目 不大于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中。
8.如權(quán)利要求7所述的裝置,其特征在于,所述轉(zhuǎn)移模塊,具體包括轉(zhuǎn)移單元,用于從內(nèi)部地址表中選擇除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)轉(zhuǎn)移 至外部存儲(chǔ)器中,并通知判斷單元;判斷單元,用于判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否小于設(shè)定的下水線;若是,通 知所述轉(zhuǎn)移單元繼續(xù)執(zhí)行從內(nèi)部地址表中選擇除所述新的地址表項(xiàng)外的至少一個(gè)地址表 項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中的步驟;否則通知所述轉(zhuǎn)移單元停止從內(nèi)部地址表中向外部存儲(chǔ)器 中轉(zhuǎn)移地址表項(xiàng)。
9.如權(quán)利要求7所述的裝置,其特征在于,所述轉(zhuǎn)移單元具體用于確定學(xué)習(xí)到的新 的地址表項(xiàng)的哈希值,根據(jù)哈希值確定學(xué)習(xí)到的新的地址表項(xiàng)所屬的內(nèi)部地址表中的哈希 桶,其中屬于同一個(gè)所述哈希桶的地址表項(xiàng)的哈希值相同;優(yōu)先選擇學(xué)習(xí)到的新的地址表 項(xiàng)所屬的哈希桶中除所述新的地址表項(xiàng)外的部分或全部地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中。
10.如權(quán)利要求7-9任一所述的裝置,其特征在于,所述轉(zhuǎn)移模塊,還用于從內(nèi)部地址 表中選擇除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)轉(zhuǎn)移至外部存儲(chǔ)器中時(shí),若所選擇的 地址表項(xiàng)為外部存儲(chǔ)器中已存儲(chǔ)的地址表項(xiàng)時(shí),則將所選擇的地址表項(xiàng)從內(nèi)部地址表中刪 除。
11.一種網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求7-10任一所述的媒體接入控制地址表更新裝置。
全文摘要
本發(fā)明公開了一種媒體接入控制地址表更新方法、裝置及網(wǎng)絡(luò)設(shè)備,該方法包括學(xué)習(xí)到新的地址表項(xiàng)時(shí),判斷內(nèi)部地址表中的地址表項(xiàng)的數(shù)目是否大于設(shè)定的上水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目大于設(shè)定的上水線時(shí),從內(nèi)部地址表中轉(zhuǎn)移除所述新的地址表項(xiàng)外的至少一個(gè)地址表項(xiàng)至外部存儲(chǔ)器中,直至內(nèi)部地址表中的地址表項(xiàng)的數(shù)目小于設(shè)定的下水線;當(dāng)內(nèi)部地址表中的地址表項(xiàng)的數(shù)目不大于設(shè)定的上水線時(shí),不轉(zhuǎn)移內(nèi)部地址表中轉(zhuǎn)移地址表項(xiàng)至外部存儲(chǔ)器中。該方法避免了地址表項(xiàng)在內(nèi)部地址表和外部存儲(chǔ)器之間的頻繁轉(zhuǎn)移,降低了內(nèi)存占用率,提高了網(wǎng)絡(luò)設(shè)備的系統(tǒng)性能。
文檔編號(hào)H04L12/28GK102045262SQ20111000853
公開日2011年5月4日 申請(qǐng)日期2011年1月14日 優(yōu)先權(quán)日2011年1月14日
發(fā)明者舒兆港, 蔡強(qiáng) 申請(qǐng)人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
衢州市| 巩留县| 万山特区| 广饶县| 施甸县| 保德县| 永新县| 巩留县| 保德县| 赤壁市| 佳木斯市| 河间市| 山丹县| 永春县| 泌阳县| 静乐县| 丰城市| 教育| 晋中市| 平和县| 精河县| 博爱县| 邛崃市| 玛纳斯县| 吴忠市| 陵川县| 商河县| 南和县| 湖北省| 长垣县| 绩溪县| 富民县| 连城县| 宜丰县| 六安市| 罗山县| 开鲁县| 邵阳市| 黎城县| 墨竹工卡县| 弥渡县|