一種介質(zhì)訪問(wèn)控制地址的老化方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種介質(zhì)訪問(wèn)控制地址的老化方法及裝 置。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)應(yīng)用的日益普及和網(wǎng)絡(luò)規(guī)模日益龐大,互聯(lián)網(wǎng)上需要傳送的信息量大大 增加。對(duì)于W太網(wǎng)交換機(jī)來(lái)說(shuō),二層轉(zhuǎn)發(fā)所依據(jù)的就是MAC(Media Access Control,媒體 訪問(wèn)控制)地址,MAC地址是存放在MAC地址表中的,通過(guò)對(duì)MAC地址的學(xué)習(xí)、更新、老化刪 除等操作,維護(hù)MAC地址表的正確性,從而實(shí)現(xiàn)W太網(wǎng)交換機(jī)的二層轉(zhuǎn)發(fā)功能。其中,在對(duì) MC地址表項(xiàng)老化時(shí),為MC地址表中的每一條MC地址表項(xiàng)配置一個(gè)計(jì)數(shù)器,當(dāng)MC地址 表項(xiàng)很多時(shí),需要大量的計(jì)數(shù)器,導(dǎo)致成本較大。
[0003] 現(xiàn)有技術(shù)中,為了解決上述問(wèn)題,采用W下老化機(jī)制;為MC地址表中多個(gè)MC地 址表項(xiàng)配置一個(gè)計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)數(shù)到預(yù)設(shè)數(shù)值時(shí),遍歷一次MC地址表,獲取MC地址 表項(xiàng)的當(dāng)前狀態(tài),當(dāng)計(jì)數(shù)器再次計(jì)數(shù)到預(yù)設(shè)數(shù)值時(shí),再次遍歷MC地址表,獲取MC地址表 項(xiàng)的當(dāng)前狀態(tài)。當(dāng)某表項(xiàng)兩次遍歷狀態(tài)相同時(shí),認(rèn)為該MC地址表項(xiàng)在一定時(shí)間內(nèi)沒(méi)有被 訪問(wèn),上報(bào)系統(tǒng)進(jìn)行刪除。
[0004] 在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在W下問(wèn)題:
[0005] 在送樣的老化機(jī)制下,當(dāng)某一 MC地址表項(xiàng)在某一時(shí)刻新建或更新時(shí),不會(huì)立刻 獲取該MC地址表項(xiàng)的狀態(tài),而是等到計(jì)數(shù)器計(jì)數(shù)到預(yù)設(shè)數(shù)值時(shí),才會(huì)獲取該表項(xiàng)的狀態(tài), 例如,當(dāng)預(yù)設(shè)數(shù)值為300s時(shí),每次計(jì)數(shù)器計(jì)數(shù)到300s時(shí),獲取一次表項(xiàng)狀態(tài),當(dāng)某表項(xiàng)在計(jì) 數(shù)器計(jì)數(shù)到第Is新建或更新時(shí),也要等到計(jì)數(shù)器計(jì)數(shù)到300s時(shí)才獲取該表項(xiàng)狀態(tài),然后 等到計(jì)數(shù)器計(jì)數(shù)值再次到達(dá)300s時(shí),再次獲取該表項(xiàng)狀態(tài),通過(guò)比較兩次獲取到的表項(xiàng)狀 態(tài),確定是否老化該表項(xiàng),送樣該表項(xiàng)的實(shí)際老化時(shí)間是599s ;當(dāng)某表項(xiàng)在計(jì)數(shù)器計(jì)數(shù)到 第299s新建或更新時(shí),需要等到計(jì)數(shù)器計(jì)數(shù)到300s時(shí)獲取該表項(xiàng)狀態(tài),然后等到計(jì)數(shù)器計(jì) 數(shù)值再次到300s時(shí),再次獲取該表項(xiàng)狀態(tài),通過(guò)比較兩次獲取到的表項(xiàng)狀態(tài),確定是否老 化該表項(xiàng),送樣該表項(xiàng)的實(shí)際老化時(shí)間是301s,在送樣的老化機(jī)制下,MC地址的實(shí)際老化 時(shí)間不是300s,而是在301S-599S范圍內(nèi),MAC地址表項(xiàng)的實(shí)際老化時(shí)間是非常不精確,導(dǎo) 致不能及時(shí)刪除/更新MC地址表。另外,現(xiàn)有的老化機(jī)制下是所有MC地址表項(xiàng)的老化 時(shí)間相同,無(wú)法滿足業(yè)務(wù)的靈活性需求,存在一定的局限性。
【發(fā)明內(nèi)容】
[0006] 鑒于上述問(wèn)題,本發(fā)明實(shí)施例提供一種介質(zhì)訪問(wèn)控制地址的老化方法及裝置。
[0007] 本發(fā)明實(shí)施例提供一種介質(zhì)訪問(wèn)控制地址的老化方法,所述方法包括:
[0008] 通過(guò)對(duì)接收?qǐng)?bào)文進(jìn)行解析,獲取所述報(bào)文攜帶的介質(zhì)訪問(wèn)控制MC地址信息;
[0009] 根據(jù)所述MAC地址信息W及多個(gè)老化時(shí)間不同的MAC地址表與MAC地址信息之間 的對(duì)應(yīng)關(guān)系,從所述多個(gè)MC地址表中確定與所述MC地址信息相對(duì)應(yīng)的MC地址表,所述 多個(gè)MAC地址表中每個(gè)MAC地址表由一個(gè)計(jì)數(shù)器計(jì)數(shù);
[0010] 將所述MC地址信息在所確定的MC地址表中進(jìn)行新建或更新,并W預(yù)設(shè)時(shí)間間 隔獲取計(jì)數(shù)值對(duì)所述MC地址信息開(kāi)始計(jì)數(shù),所述預(yù)設(shè)時(shí)間間隔不大于所確定MC地址表 對(duì)應(yīng)的老化時(shí)間。
[0011] 可選地,通過(guò)對(duì)接收?qǐng)?bào)文進(jìn)行解析,獲取所述報(bào)文攜帶的介質(zhì)訪問(wèn)控制MC地址 信息之前,所述方法還包括:
[001引根據(jù)統(tǒng)計(jì)的MC地址信息的發(fā)送頻率,創(chuàng)建多個(gè)老化時(shí)間不同MC地址表,每個(gè) MC地址表配置多個(gè)MC地址信息存儲(chǔ)空間;
[001引對(duì)于多個(gè)MC地址表的每個(gè)MC地址表,所述MC地址表配置一個(gè)計(jì)數(shù)器循環(huán)計(jì) 數(shù)。
[0014] 可選地,根據(jù)所述MC地址信息W及多個(gè)老化時(shí)間不同的MC地址表與MC地址 信息之間的對(duì)應(yīng)關(guān)系,從所述多個(gè)MC地址表中確定與所述MC地址信息相對(duì)應(yīng)的MC地 址表包括:
[001引根據(jù)所述MC地址信息W及所述多個(gè)MC地址表與MC地址信息之間的對(duì)應(yīng)關(guān) 系,判斷所述多個(gè)MC地址表中任一 MC地址表對(duì)應(yīng)的MC地址信息中是否包含所述MC 地址信息;
[0016] 如果所述多個(gè)MAC地址表中任一 MAC地址表對(duì)應(yīng)的MAC地址信息中均未包含所述 MC地址信息,將所述接收?qǐng)?bào)文上報(bào)至CPU或刪除;
[0017] 如果所述多個(gè)MAC地址表中某一 MAC地址表對(duì)應(yīng)的MAC地址信息中包含所述MAC 地址信息,確定查找到與所述MC地址信息相對(duì)應(yīng)的MC地址表。
[0018] 可選地,將所述MC地址信息在所確定的MC地址表中進(jìn)行新建或更新,并W預(yù)設(shè) 時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MAC地址信息開(kāi)始計(jì)數(shù)包括:
[0019] 將所述MC地址信息與所述MC地址表進(jìn)行匹配;
[0020] 當(dāng)所述MC地址表中包含所述MC地址信息時(shí),并W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì) 所述MC地址信息的計(jì)數(shù)值進(jìn)行更新;
[0021] 當(dāng)所述MAC地址表中未包含所述MAC地址信息時(shí),將所述MAC地址信息新建至所 述MAC地址表中,并W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MAC地址信息開(kāi)始計(jì)數(shù)。
[0022] 可選地,當(dāng)所述MAC地址表中未包含所述MAC地址信息時(shí),將所述MAC地址信息 新建至所述MC地址表中,并W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MC地址信息開(kāi)始計(jì)數(shù)包 括:
[0023] 為所述MC地址信息配置第一寄存器、第二寄存器和比較器,所述第一寄存器用 于存儲(chǔ)初始計(jì)數(shù)值,所述第二寄存器用于存儲(chǔ)所述MAC地址信息的老化時(shí)間;
[0024] W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MC地址信息循環(huán)計(jì)數(shù),并將第一個(gè)計(jì)數(shù)值存 儲(chǔ)至所述第一寄存器;
[00巧]當(dāng)對(duì)所述MC地址信息再次計(jì)數(shù)時(shí),通過(guò)比較再次計(jì)數(shù)值和第一寄存器計(jì)數(shù)值的 大小,依據(jù)比較結(jié)果判斷計(jì)數(shù)器是否溢出,采用不同的方法獲得計(jì)數(shù)差值,當(dāng)計(jì)數(shù)差值大于 第二寄存器中存儲(chǔ)的老化計(jì)數(shù)值時(shí),刪除所述MC地址信息。
[0026] 本發(fā)明實(shí)施例提供一種介質(zhì)訪問(wèn)控制地址的老化裝置,所述裝置包括:
[0027] 報(bào)文解析模塊,用于通過(guò)對(duì)接收?qǐng)?bào)文進(jìn)行解析,獲取所述報(bào)文攜帶的MC地址信 息;
[002引 MC地址表查找模塊,用于根據(jù)所述MC地址信息W及多個(gè)老化時(shí)間不同的MC地 址表與MC地址信息之間的對(duì)應(yīng)關(guān)系,從所述多個(gè)MC地址表中確定與所述MC地址信息 相對(duì)應(yīng)的MC地址表,所述多個(gè)MC地址表中每個(gè)MC地址表由一個(gè)計(jì)數(shù)器計(jì)數(shù);
[0029] 更新模塊,用于將所述MC地址信息在所確定的MC地址表中進(jìn)行新建或更新,并 W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MC地址信息開(kāi)始計(jì)數(shù),所述預(yù)設(shè)時(shí)間間隔不大于所確 定MC地址表對(duì)應(yīng)的老化時(shí)間。
[0030] 可選地,所述裝置還包括:
[0031] MC地址表創(chuàng)建模塊,用于根據(jù)統(tǒng)計(jì)的MC地址信息的發(fā)送頻率,創(chuàng)建多個(gè)老化時(shí) 間不同MC地址表,每個(gè)MC地址表配置多個(gè)MC地址信息存儲(chǔ)空間;
[0032] 計(jì)數(shù)器配置模塊,用于對(duì)于多個(gè)MC地址表的每個(gè)MC地址表,所述MC地址表配 置一個(gè)計(jì)數(shù)器循環(huán)計(jì)數(shù)。
[0033] 可選地,所述MC地址表查找模塊還用于根據(jù)所述MC地址信息W及所述多個(gè)MC 地址表與MC地址信息之間的對(duì)應(yīng)關(guān)系,判斷所述多個(gè)MC地址表中任一 MC地址表對(duì)應(yīng) 的MC地址信息中是否包含所述MC地址信息;如果所述多個(gè)MC地址表中任一 MC地址 表對(duì)應(yīng)的MC地址信息中均未包含所述MC地址信息,將所述接收?qǐng)?bào)文上報(bào)至CPU或刪除; 如果所述多個(gè)MC地址表中某一 MC地址表對(duì)應(yīng)的MC地址信息中包含所述MC地址信息, 確定查找到與所述MAC地址信息相對(duì)應(yīng)的MC地址表。
[0034] 可選地,所述更新模塊用于將所述MC地址信息與所述MC地址表進(jìn)行匹配;當(dāng)所 述MC地址表中包含所述MC地址信息時(shí),并W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MC地址 信息的計(jì)數(shù)值進(jìn)行更新;當(dāng)所述MC地址表中未包含所述MC地址信息時(shí),將所述MC地址 信息新建至所述MC地址表中,并W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MC地址信息開(kāi)始計(jì) 數(shù)。
[0035] 可選地,所述更新模塊還用于為所述MC地址信息配置第一寄存器、第二寄存器 和比較器,所述第一寄存器用于存儲(chǔ)初始計(jì)數(shù)值,所述第二寄存器用于存儲(chǔ)所述MC地址 信息的老化時(shí)間;W預(yù)設(shè)時(shí)間間隔獲取計(jì)數(shù)值對(duì)所述MC地址信息循環(huán)計(jì)數(shù),并將第一個(gè) 計(jì)數(shù)值存儲(chǔ)至所述第一寄存器;當(dāng)對(duì)所述MC地址信息再次計(jì)數(shù)時(shí),通過(guò)比較再次計(jì)數(shù)值 和第一寄存器計(jì)數(shù)值的大小,依據(jù)比較結(jié)果判斷計(jì)數(shù)器是否溢出,采用不同的方法獲得計(jì) 數(shù)差值,當(dāng)計(jì)數(shù)差值大于第二寄存器中存儲(chǔ)的老化計(jì)數(shù)值時(shí),刪除所述MC地址信息。
[0036] 本發(fā)明實(shí)施例提供的方法,通過(guò)創(chuàng)建多個(gè)老化時(shí)間不同的MC地址表,當(dāng)接收到 報(bào)文時(shí),通過(guò)解析該報(bào)文,將該報(bào)文攜帶的MC地址信息新建或更新至老化時(shí)間合適的MC 地址表中,滿足了業(yè)務(wù)的靈活性需求,并且在MC地址信息新建或更新時(shí),W不大于老化時(shí) 間的