專利名稱:靜態(tài)介質(zhì)接入控制地址的老化方法、裝置及設備的制作方法
技術(shù)領域:
本發(fā)明涉及通信技術(shù),尤其涉及一種靜態(tài)介質(zhì)接入控制(Medium/MediaAccess Control,簡稱為MAC)地址的老化方法、裝置及設備。
背景技術(shù):
MAC地址,又稱為MAC位址或者硬件位址,是用來定義網(wǎng)絡設備位置的。在開放式系統(tǒng)互聯(lián)(Open System Interconnect,簡稱為0SI)模型中,第三層網(wǎng)絡層負責IP地址, 第二層數(shù)據(jù)鏈路層則負責MAC地址。因此,一個網(wǎng)卡會有一個全球唯一固定的MAC地址,但可以對應多個IP地址。在交換機的二層交換功能中,可以將MAC地址區(qū)分為動態(tài)地址和靜態(tài)地址兩種。動態(tài)地址一般由交換機的交換芯片自動學習完成,有一定的生命周期,當生命周期到來時,動態(tài)地址會自動老化。靜態(tài)地址由用戶在交換機上配置完成,保存在MAC地址管理表中,生命周期無限。對于靜態(tài)地址而言,由于其生命周期無限,除非用戶刪除,否則會一直存在。這種一直存在的靜態(tài)地址會占用地址管理表的資源,影響交換機的正常工作。
發(fā)明內(nèi)容
本發(fā)明提供了一種靜態(tài)MAC地址的老化方法、裝置及設備,以使得靜態(tài)MAC地址可以像動態(tài)MAC地址一樣具有有限的生命周期,且可以自動老化,從而減少對地址管理表的占用。本發(fā)明實施例提供的靜態(tài)介質(zhì)接入控制地址的老化方法包括當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址;將所述第一靜態(tài)地址從地址管理表刪除。本發(fā)明實施例提供的靜態(tài)介質(zhì)接入控制地址的老化裝置包括確定模塊,用于當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址;刪除模塊,用于將所述獲得模塊獲得的第一靜態(tài)地址從地址管理表刪除。本發(fā)明實施例提供的網(wǎng)絡設備包括如上所述的靜態(tài)介質(zhì)接入控制地址的老化裝置。本發(fā)明的技術(shù)效果是為靜態(tài)地址設置了生命周期,以使得靜態(tài)地址可以像動態(tài)地址一樣具有有限的生命周期,且可以自動老化,準確度高。
圖1為本發(fā)明實施例一提供的靜態(tài)MAC地址的老化方法流程圖;圖2為本發(fā)明實施例一提供的MAC地址管理表結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例一提供的又一種靜態(tài)MAC地址的老化方法流程圖;圖4為本發(fā)明實施例二提供的靜態(tài)MAC地址的老化方法流程圖;圖5為本發(fā)明實施例二提供的老化順序表的示意圖6為本發(fā)明實施例三提供的靜態(tài)MAC地址的老化方法流程圖;圖7為本發(fā)明實施例四提供的靜態(tài)MAC地址的老化裝置結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例五提供的網(wǎng)絡設備的結(jié)構(gòu)示意圖。
具體實施例方式圖1為本發(fā)明實施例一提供的靜態(tài)MAC地址的老化方法流程圖,如圖1所示,該方法包括步驟101、當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址。這里需要說明的是,預設中斷可以是周期性的,如在硬件上提供每Is運行一次的時間中斷等。靜態(tài)地址的生命周期是否結(jié)束可以通過如下方式進行確定靜態(tài)地址的創(chuàng)建時間加上靜態(tài)地址的可存在時間(也即靜態(tài)地址的生命周期)即為靜態(tài)地址的生命截止時間。如果預設中斷到來時,超過或者等于某一靜態(tài)地址的生命截止時間,則該靜態(tài)地址的生命周期結(jié)束。其中,第一靜態(tài)地址為代指,具體可以理解為配置了生命周期的任一靜態(tài)地址。步驟102、將第一靜態(tài)地址從地址管理表刪除。通常情況下,靜態(tài)地址通過MAC地址管理表進行管理。MAC地址管理表一般組織為以MAC地址的大小為搜索關鍵字的二叉樹,如圖2所示的本發(fā)明實施例一提供的MAC地址管理表結(jié)構(gòu)示意圖。二叉樹的特征是搜索對應的MAC地址的數(shù)據(jù)信息比較快,如果整張MAC 地址管理表大小為256個地址條目,使用折半查找法查找一個地址信息最多需要log (256) 即8次即可查找完成。需要說明的是,步驟102中的刪除第一靜態(tài)地址可以包括將MAC地址管理表中的 MAC地址節(jié)點刪除,還可以包括從寄存器中將該第一靜態(tài)地址刪除掉。在上述實施方式的基礎上,圖3為本發(fā)明實施例一提供的又一種靜態(tài)MAC地址的老化方法流程圖,在圖1的基礎上,步驟101之前,該方法還可以包括步驟100、為包括該第一靜態(tài)地址的至少一個靜態(tài)地址分別配置生命周期。為哪些靜態(tài)MAC地址配置生命周期、配置多久的生命周期都是根據(jù)系統(tǒng)的實際需要而定的,此處不做限定。在本發(fā)明實施例中,由于不同的靜態(tài)地址可以配置不同的生命周期,那么就可能會出現(xiàn)不同的MAC地址其生命截止時間相同的情況。為了能有效快速地獲得生命周期結(jié)束的靜態(tài)地址,需要以MAC地址生命截止時間為關鍵字在MAC地址管理表中查找。如果在已存在的MAC地址管理表的各個MAC地址節(jié)點中增加生命截止時間信息,就意味著每次中斷到來時需要遍歷所有的MAC地址節(jié)點,會浪費寶貴的處理時間。因此,如圖4所示的本發(fā)明實施例二提供的靜態(tài)MAC地址的老化方法流程圖,該方法在圖1所示的方法基礎上,在步驟 101之前增加了如下步驟步驟100a、建立靜態(tài)地址的老化順序表,該老化順序表中包括靜態(tài)地址的生命周期結(jié)束時間及其對應的靜態(tài)地址指針。其中,老化順序表可以是按照生命截止時間順序排列的有序鏈表結(jié)構(gòu)。其中,本發(fā)明實施例二提供的老化順序表的示意圖可以如圖5所示,在圖5中,使用有序鏈表的結(jié)構(gòu),按照靜態(tài)地址生命截止時間的先后順序?qū)o態(tài)地址指針進行排序。這里存在同一個截止時間對應多個MAC地址的可能性。因此,MAC地址的數(shù)目是不可預計的, 選用鏈表的形式將每個截止時間、靜態(tài)地址指針對應起來。定義可以但不限于如下
typedef struct MAClife_s{ u32time;/*生命周期*/
u32deadtime ; /*生命截止時間*/
MACJink t*MAClink; /*同一生命截止時間的MAC鏈表,每
個鏈表節(jié)點指向用戶管理的MAC 二叉樹的節(jié)點,這樣刪除的時候,不用再查找可以直接刪除*/
}MAClife_t事實上,有序鏈表的使用僅是一種比較優(yōu)選的方式,可以最快地實現(xiàn)靜態(tài)地址的刪除。但有序鏈表并不用以限制本發(fā)明提供的老化順序表的具體形式。例如,老化順序表可以采用數(shù)組的形式,還可以采用表格的形式,或者沒有特定格式的形式存在。相應的,步驟101可以更新為步驟101’ 比較老化順序表中靜態(tài)地址的生命截止時間與中斷到來的時刻,獲得靜態(tài)地址的生命截止時間早于或者等于中斷到來的時刻的靜態(tài)地址所對應的第一靜態(tài)地址指針;根據(jù)第一靜態(tài)地址指針,在地址管理表中獲得第一靜態(tài)地址。圖6為本發(fā)明實施例三提供的靜態(tài)MAC地址的老化方法流程圖,在上述實施例的基礎上,圖6所示的方法在步驟102之前還包括步驟101a、查詢在第一靜態(tài)地址的生命周期內(nèi),是否接收到來自該第一靜態(tài)地址的數(shù)據(jù);如果是,重新計算第一靜態(tài)地址的生命截止時間;如果否,執(zhí)行步驟102。進一步的,在重新計算第一靜態(tài)地址的生命截止時間之后,還需要根據(jù)新的生命截止時間的先后順序,更新靜態(tài)地址的老化順序表,以保證老化順序表的實時正確性。其中,更新靜態(tài)地址的老化順序表主要是更新靜態(tài)地址的生命截止時間。即更新前靜態(tài)地址的生命截止時間再加上一個生命周期之后的時間為該靜態(tài)地址新的生命截止時間。如果該靜態(tài)地址新的生命截止時間比起某些未更新的靜態(tài)地址更晚到來,則需要按照生命截止時間到來的先后順序,修改該更新后的靜態(tài)地址在老化順序表中的位置。需要說明的是,上述每一個靜態(tài)地址的生命周期都是用戶進行配置的,即在整個方法開始之前,交換機會接收到用戶為靜態(tài)地址配置的生命周期,并將生命周期與靜態(tài)地址相關聯(lián)。進一步的,還可以將配置了生命周期的MAC地址的生命截止時間以及相應的靜態(tài)地址指針插入到老化順序表中。具體的,將配置了生命周期的MAC地址的生命截止時間以及相應的靜態(tài)地址指針插入到老化順序表中的具體實現(xiàn)方式可以包括第一步、初始化插入節(jié)點的成員函數(shù)newnode,計算該MAC地址的生命截止時間deadtime (生命截止時間)=當前時間點(系統(tǒng)提供)+time (生命周期)。第二步、遍歷老化順序表,直到某一節(jié)點的下一個節(jié)點的生命截止時間超過該新插入的節(jié)點對應的生命截止時間。第三步、如果當前節(jié)點的生命截止時間等于該新插入的節(jié)點的生命截止時間,將該新插入的節(jié)點加入到當前節(jié)點的MAClink鏈表中。整個鏈表可以按照堆棧的結(jié)構(gòu)進行組織。相應的,將配置了生命周期的MAC地址的生命截止時間以及相應的靜態(tài)地址指針從老化順序表中刪除可以理解為當步驟101中確定了第一靜態(tài)地址生命周期結(jié)束,也即第一靜態(tài)地址的生命截止時間在當前中斷的到來時刻之前,且在該第一靜態(tài)地址的生命周期內(nèi)沒有被命中,則根據(jù)在老化順序表中的第一靜態(tài)地址指針,在地址管理表中獲得第一靜態(tài)地址,并刪除該第一靜態(tài)地址。同時,將老化順序表中第一靜態(tài)地址的生命截止時間以及相應的指針全部刪除掉,以有效節(jié)約老化順序表占用的內(nèi)存。本發(fā)明實施例提供了一種靜態(tài)MAC地址的老化方法,為靜態(tài)地址設置了生命周期,以使得靜態(tài)地址可以像動態(tài)地址一樣具有有限的生命周期可以彼此不同,且可以自動老化,且準確度高。本領域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。圖7為本發(fā)明實施例四提供的靜態(tài)MAC地址的老化裝置結(jié)構(gòu)示意圖,該裝置為上述方法實施例的執(zhí)行主體,方法流程如上述實施例所示,此處不做贅述。如圖7所示,該裝置包括確定模塊701和刪除模塊702。其中,確定模塊701用于當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址;刪除模塊702用于將確定模塊701確定的第一靜態(tài)地址從地址管理表刪除。在上述實施方式的基礎上,上述老化裝置還可以包括配置模塊,用于為包括第一靜態(tài)地址的至少一個靜態(tài)地址分別配置生命周期。在上述實施方式的基礎上,上述老化裝置還可以包括建立模塊,用于根據(jù)生命周期結(jié)束的先后順序,建立靜態(tài)地址的老化順序表,該老化順序表中包括靜態(tài)地址的生命截止時間及其對應的靜態(tài)地址指針;相應的,確定模塊701包括比較單元,用于比較老化順序表中靜態(tài)地址的生命截止時間與中斷到來的時刻,獲得靜態(tài)地址的生命截止時間早于或等于中斷到來的時刻的第一靜態(tài)地址所對應的第一靜態(tài)地址指針;確定單元,用于根據(jù)第一靜態(tài)地址指針,在地址管理表中獲得第一靜態(tài)地址。其中,建立模塊采用有序鏈表的結(jié)構(gòu)建立老化順序表,并按照靜態(tài)地址的生命截止時間的先后順序?qū)o態(tài)地址進行排序。在上述實施方式的基礎上,上述老化裝置還可以包括查詢模塊,用于查詢在第一靜態(tài)地址的生命周期內(nèi),是否接收到來自第一靜態(tài)地址的數(shù)據(jù);如果是,重新計算第一靜態(tài)地址的生命截止時間,并根據(jù)新的生命截止時間更新靜態(tài)地址的老化順序表;如果否,刪除模塊702將第一靜態(tài)地址刪除。本發(fā)明實施例提供的靜態(tài)MAC地址老化的裝置,為靜態(tài)地址設置了生命周期,以使得靜態(tài)地址可以像動態(tài)地址一樣具有有限的生命周期可以彼此不同,且可以自動老化, 且準確度高。圖8為本發(fā)明實施例五提供的網(wǎng)絡設備的結(jié)構(gòu)示意圖,如圖8所示,該網(wǎng)絡設備中包括如上述裝置實施例所述的靜態(tài)MAC地址的老化裝置801。需要說明的是,該靜態(tài)MAC地址的老化裝置801可以作為網(wǎng)絡設備的硬件組成存在于該設備中,也可以作為運行在該網(wǎng)絡設備的軟件功能模塊存在于該網(wǎng)絡設備中。最后應說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制; 盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術(shù)人員應當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種靜態(tài)介質(zhì)接入控制地址的老化方法,其特征在于,包括 當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址; 將所述第一靜態(tài)地址從地址管理表刪除。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得生命周期結(jié)束的靜態(tài)地址之前, 所述方法還包括為包括所述第一靜態(tài)地址的至少一個靜態(tài)地址分別配置生命周期。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲得生命周期結(jié)束的第一靜態(tài)地址之前,所述方法還包括建立靜態(tài)地址的老化順序表,所述老化順序表中包括靜態(tài)地址的生命截止時間及其對應的靜態(tài)地址指針;相應的,所述確定生命周期結(jié)束的第一靜態(tài)地址包括比較老化順序表中靜態(tài)地址的生命截止時間與所述中斷到來的時刻,獲得靜態(tài)地址的生命截止時間早于或等于所述中斷到來的時刻的第一靜態(tài)地址所對應的第一靜態(tài)地址指針;根據(jù)所述第一靜態(tài)地址指針,在地址管理表中獲得所述第一靜態(tài)地址。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述老化順序表采用有序鏈表的結(jié)構(gòu),按照靜態(tài)地址的生命截止時間的先后順序?qū)o態(tài)地址指針進行排序。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將第一靜態(tài)地址從地址管理表刪除之前,所述方法還包括查詢在所述第一靜態(tài)地址的生命周期內(nèi),是否接收到來自所述第一靜態(tài)地址的數(shù)據(jù); 如果是,重新計算所述第一靜態(tài)地址的生命截止時間,并根據(jù)該第一靜態(tài)地址的新的生命截止時間,更新靜態(tài)地址的老化順序表;如果否,執(zhí)行所述將第一靜態(tài)地址從地址管理表刪除的步驟。
6.一種靜態(tài)介質(zhì)接入控制地址的老化裝置,其特征在于,包括確定模塊,用于當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址; 刪除模塊,用于將所述確定模塊確定的第一靜態(tài)地址從地址管理表刪除。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括配置模塊,用于為包括所述第一靜態(tài)地址的至少一個靜態(tài)地址分別配置生命周期。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,還包括建立模塊,用于根據(jù)生命周期結(jié)束的先后順序,建立靜態(tài)地址的老化順序表,所述老化順序表中包括靜態(tài)地址的生命截止時間及其對應的靜態(tài)地址指針; 相應的,所述確定模塊包括比較單元,用于比較老化順序表中靜態(tài)地址的生命截止時間與所述中斷到來的時刻, 獲得靜態(tài)地址的生命截止時間早于或等于所述中斷到來的時刻的第一靜態(tài)地址所對應的第一靜態(tài)地址指針;確定單元,用于根據(jù)所述第一靜態(tài)地址指針,在地址管理表中獲得第一靜態(tài)地址。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述建立模塊采用有序鏈表的結(jié)構(gòu)建立老化順序表,并按照靜態(tài)地址的生命截止時間的先后順序?qū)o態(tài)地址指針進行排序。
10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,還包括查詢模塊,用于查詢在所述第一靜態(tài)地址的生命周期內(nèi),是否接收到來自所述第一靜態(tài)地址的數(shù)據(jù);如果是,重新計算所述第一靜態(tài)地址的生命截止時間,并根據(jù)新的生命截止時間,更新靜態(tài)地址的老化順序表;如果否,所述刪除模塊將所述第一靜態(tài)地址刪除。
11. 一種網(wǎng)絡設備,其特征在于,包括如權(quán)利要求6至10中任一項所述的靜態(tài)介質(zhì)接入控制地址的老化裝置。
全文摘要
本發(fā)明提供一種靜態(tài)介質(zhì)接入控制地址的老化方法、裝置及設備,方法包括當預設中斷到來時,確定生命周期結(jié)束的第一靜態(tài)地址;將所述第一靜態(tài)地址從地址管理表刪除。裝置包括確定模塊和刪除模塊。設備包括如上裝置。本發(fā)明提供的方案,為靜態(tài)地址設置了生命周期,以使得靜態(tài)地址可以像動態(tài)地址一樣具有有限的生命周期,且可以自動老化,且準確度高。
文檔編號H04L12/56GK102571564SQ20111042767
公開日2012年7月11日 申請日期2011年12月19日 優(yōu)先權(quán)日2011年12月19日
發(fā)明者馮雪峰, 陳昊曦 申請人:福建星網(wǎng)銳捷網(wǎng)絡有限公司