,對應該相同或相近發(fā)送頻率的MC地 址信息,也可W創(chuàng)建多個MC地址表,減少每個MC地址表中的表項個數(shù),縮短更新MC地 址表的再次計數(shù)值更新時間,W提高老化精度。
[0076] 202、當接收到報文時,交換機對該接收報文進行解析,獲取該報文攜帶的MC地 址信息。
[0077] 在本發(fā)明實施例中,由于該多個MC地址表中每個MC地址表對應不同的MC地 址信息,在從端口接收到報文時,需要獲取該報文攜帶的MC地址信息和MC地址信息,W 便后續(xù)根據(jù)該MAC地址信息確定該MC地址信息待新建或更新的MC地址表。
[0078] 203、根據(jù)該MC地址信息,從多個MC地址表中確定與該MC地址信息相對應的 MAC地址表。
[0079] 在本發(fā)明實施例中,根據(jù)該MC地址信息W及多個MC地址表與MC地址信息之 間的對應關系,判斷該多個MAC地址表對應的MC地址信息中是否包含該MC地址信息時, 如果該多個MC地址表中任一 MC地址表對應的MC地址信息中均不包含該MC地址信 息,交換機可W認為攜帶該MAC地址信息的報文為非法報文,對該報文進行刪除或報警,也 可W將攜帶該MAC地址信息的報文上報至CPU,由CUP確定該報文攜帶的MC信息存儲至哪 個MC地址表中。如果該多個MC地址表中某一 MC地址表對應的MC地址信息中包含該 MC地址信息,交換機確定查找到該MC地址信息相對應的MC地址表。
[0080] 204、將該MC地址信息在所確定的MC地址表中進行新建或更新,并W預設時間 間隔獲取計數(shù)值對該MC地址信息開始計數(shù),該預設時間間隔不大于所確定MC地址表對 應的老化時間。
[0081] 在本發(fā)明實施例中,對于該多個MC地址表中每一個MC地址表,該MC地址表配 置有多個MC地址信息的存儲空間,當新建MC地址信息時,為MC地址信息配置第一寄存 器、第二寄存器和比較器。其中該第一寄存器用于存儲初始計數(shù)值,該第二寄存器用于存儲 該新建MC地址信息的老化時間。W預設時間間隔獲取計數(shù)值對該MC地址信息循環(huán)計數(shù), 并將第一個計數(shù)值存儲至該第一寄存器;當對該MC地址信息再次計數(shù)時,首先,利用比較 器比較第一寄存器中計數(shù)值與再次計數(shù)值的大小,當?shù)谝患拇嫫髦杏嫈?shù)值小于再次計數(shù)值 時,認為計數(shù)器未溢出,將再次計數(shù)值減去第一寄存器中計數(shù)值,得到一個表征流逝時間的 計數(shù)差值;當?shù)谝患拇嫫髦杏嫈?shù)值大于再次計數(shù)值時,認為計數(shù)器溢出,將再次計數(shù)值加上 寄存器最大計數(shù)值后再減去第一寄存器中計數(shù)值,得到一個表征流逝時間的計數(shù)差值。然 后利用比較器計數(shù)差值與第二寄存器中存儲的老化時間的大小,當計數(shù)差值大于該第二寄 存器中存儲的老化時間時,刪除該MC地址信息,當計數(shù)差值小于該第二寄存器中存儲的 老化時間時,繼續(xù)計數(shù),不刪除該MC地址信息。
[0082] 本發(fā)明實施例中的計數(shù)器不需要復位,當計數(shù)到最大值時,該計數(shù)器在計數(shù)時鐘 的驅(qū)動下,自動溢滿重新歸零,開始下一次的計數(shù)循環(huán)。為了保證計數(shù)器在對MAC地址表中 的MC地址信息計數(shù)一個周期內(nèi)不會溢滿歸零,設置計數(shù)器的最大計數(shù)值M大于該MC地 址表的老化時間。
[0083] 現(xiàn)有技術中,W老化時間作為時間間隔讀取計數(shù)器的計數(shù)值,對MC地址表進行 計數(shù),導致實際老化時間存在最大值為兩倍老化時間的誤差,MC地址信息不能及時刪除/ 更新,在本發(fā)明實施例中,W不大于老化時間的預設時間間隔讀取計數(shù)器的計數(shù)值,提供老 化精度,當預設時間間隔設置的較小時,老化時間誤差也可忽略不計,可W及時刪除/更新 MC地址表,優(yōu)化存儲空間。
[0084] 在本發(fā)明實施例中,將該MC地址信息與該MC地址表進行匹配,當該MC地址表 中包含該MC地址信息時,對該MC地址信息重新計數(shù),其具體實施過程為:
[00財為了敘述方便,假設該MC地址信息為1,其老化時間為a,該MC地址表如表2所 示。該MAC地址表由一個計數(shù)器循環(huán)計數(shù),該計數(shù)器的最大計數(shù)值為111 (轉(zhuǎn)化為十進制是 7),假設a《8。W不大于老化時間a的時間間隔獲取計數(shù)值,對MC地址信息1-5繼續(xù)循 環(huán)計數(shù),假設當前MC地址信息1-5第一寄存器中分別存儲001-101。在確定該MC地址表 中包含MC地址信息1后,當對該MC地址信息1再次計數(shù)時,將第一寄存器存儲的計數(shù)值 更新為110,形成如表3所示的更新后的MC地址表。
[0086] 表 2
[0087]
[0088]
[0089] 表 3
[0090]
[OOW] 在本發(fā)明實施例中,將該MAC地址信息與該MAC地址表進行匹配,當該MAC地址表 中未包含該MC地址信息時,將該MC地址信息新建至該MC地址表中,同時對該MC地址 信息開始計數(shù),其具體實施過程為:
[009引為了敘述方便,假設該MC地址信息為6,其老化時間為曰,該MC地址表如表2所 示。該MAC地址表由一個計數(shù)器循環(huán)計數(shù),該計數(shù)器的最大計數(shù)值為111 (轉(zhuǎn)化為十進制是 7),假設a《8。MC地址信息1-5,在確定該MC地址表中未包含MC地址信息6后,新建 該MC地址信息6, W不大于老化時間a的時間間隔獲取計數(shù)值,對該MC地址表中的MC 地址信息循環(huán)計數(shù),當對該MAC地址信息6開始計數(shù)時,將第一個計數(shù)值110存儲至該第一 寄存器,形成如表4所示的新建后的MC地址表。
[0093] 表 4
[0094]
[0095]
[0096] 本發(fā)明實施例通過創(chuàng)建多個老化時間不同的MAC地址表,當接收到報文時,通過 解析該報文,將該報文攜帶的MC地址信息新建或更新至老化時間合適的MC地址表中,滿 足了業(yè)務的靈活性需求,并且在MC地址信息新建或更新時,W不大于老化時間的時間間 隔獲取計數(shù)值,對MAC地址信息進行計數(shù),提高了老化精度。
[0097] 圖3是本發(fā)明實施例提供的MC地址老化裝置結(jié)構(gòu)示意圖。參見圖3,該裝置包 括;報文解析模塊301、MC地址表查找模塊302和更新模塊303。其中:
[0098] 報文解析模塊301用于通過對接收報文進行解析,獲取該報文攜帶的MC地址信 息;報文解析模塊301與MC地址表查找模塊302連接,MC地址表查找模塊302,用于根 據(jù)該MC地址信息W及多個老化時間不同的MC地址表與MC地址信息之間的對應關系, 從該多個MC地址表中確定與該MC地址信息相對應的MC地址表,該多個MC地址表中 每個MAC地址表由一個計數(shù)器計數(shù);MAC地址表查找模塊302與更新模塊303連接,更新模 塊303用于將該MC地址信息在所確定的MC地址表中進行新建或更新,并W預設時間間 隔獲取計數(shù)值對該MC地址信息開始計數(shù),該預設時間間隔不大于所確定MC地址表對應 的老化時間。
[0099] 可選地,該裝置還包括;MC地址表創(chuàng)建模塊,用于根據(jù)統(tǒng)計的MC地址信息的發(fā) 送頻率,創(chuàng)建多個老化時間不同MC地址表,每個MC地址表配置多個MC地址信息存儲空 間;計數(shù)器配置模塊,用于對于多個MC地址表的每個MC地址表,該MC地址表配置一個 計數(shù)器循環(huán)計數(shù)。
[0100] 可選地,該MC地址表查找模塊302還用于根據(jù)該MC地址信息W及該多個MC 地址表與MC地址信息之間的對應關系,判斷該多個MC地址表中任一 MC地址表對應的 MC地址信息中是否包含該MC地址信息;如果該多個MC地址表中任一 MC地址表對應 的MC地址信息中均未包含該MC地址信息,將該接收報文上報至CPU或刪除;如果該多個 MC地址表中某一 MC地址表對應的MC地址信息中包含該MC地址信息,確定查找到與該 MC地址信息相對應的MC地址表。
[OW] 可選地,該更新模塊303用于將該MC地址信息與該MC地址表進行匹配;當該 MC地址表中包含該MC地址信息時,并W預設時間間隔獲取計數(shù)值對該MC地址信息的 計數(shù)值進行更新;當該MC地址表中未包含該MC地址信息時,將該MC地址信息新建至該 MC地址表中,并W預設時間間隔獲取計數(shù)值對該MC地址信息開始計數(shù)。
[010引可選地,該更新模塊303還用于為該MC地址信息配置第一寄存器、第二寄存器和 比較器,該第一寄存器用于存儲初始計數(shù)值,該第二寄存器用于存儲該MC地址信息的老 化時間;W預設時間間隔獲取計數(shù)值對該MC地址信息循環(huán)計數(shù),并將第一個計數(shù)值存儲 至該第一寄存器;當對該MAC地址信息再次計數(shù)時,通過比較再次計數(shù)值和第一寄存器計 數(shù)值的大小,依據(jù)比較結(jié)果判斷計數(shù)器是否溢出,采用不同的方法獲得計數(shù)差值,當計數(shù)差 值大于第二寄存器中存儲的老化計數(shù)值時,刪除該MC地址信息。
[0103] 本發(fā)明實施例提供的裝置通過創(chuàng)建多個老化時間不同的MC地址表,當接收到報 文時,通過解析該報文,將該報文攜帶的MC地址信息新建或更新至老化時間合適的MC地 址表中,滿足了業(yè)務的靈活性需求,并且在MC地址信息新建或更新時,W不大于老化時間 的時間間隔獲取計數(shù)值,對MAC地址信息進行計數(shù),提高了老化精度。
[0104] 本領域內(nèi)的技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序 產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的