專利名稱:基于vpls的mac地址老化的方法及裝置的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡數(shù)據(jù)通信技術領域,尤其涉及一種基于VPLS的MAC地址老化的方
法及裝置。
背景技術:
VPLS (Virtual Private LAN Services,虛擬專用局域網(wǎng)業(yè)務)是一種在 MPLS(Multi-protocol Label Switching,多協(xié)議標簽交換)網(wǎng)絡上提供類似 LAN (Local AreaNetwork,局域網(wǎng))的一種業(yè)務,它可以使用戶從多個地理位置分散的點同時接入網(wǎng)絡,相互訪問,如同這些點直接接入到LAN上一樣。VPLS結合了以太網(wǎng)和MPLS技術的優(yōu)勢,是對傳統(tǒng)LAN全部功能的仿真,其主要目的是通過運營商提供的MPLS網(wǎng)絡連接地域上隔離的多個 由以太網(wǎng)構成的LAN,使得它們像一個LAN那樣去工作,從而形成虛擬專用網(wǎng)絡。通過MAC地址的學習,每個承載VPN的PE (Provider Edge,運營商邊緣)設備上都會生成相應的MAC地址表,該MAC地址表稱作VFI (Virtual Forwarding Instance)0 PE設備學習到的MAC地址表項如果不再使用,則需要有老化機制來移除。老化機制根據(jù)PE設備進行MAC地址學習所接收的報文中的源MAC地址進行處理,其處理過程為PE設備收到報文時,除了學習源MAC地址外,對于已經(jīng)生成的MAC表項,還需要設置“激活”或者“有效”標記,在一定時間內(nèi)未被設置“激活”或者“有效”標記的MAC表項,將從MAC地址表中移除。目前,網(wǎng)絡設備的MAC老化機制一般都是基于硬件自動實現(xiàn),其優(yōu)點是不用消耗CPU資源對每個MAC加時間戳,故效率較高。但是硬件老化機制功能單一且不靈活,只能對所有的MAC地址采用統(tǒng)一的老化時間,而傳統(tǒng)的VPLS MAC地址老化也是采用和普通的MAC老化機制相同的硬件機制來實現(xiàn),因此,不能應付不同VPLS實例配置不同MAC老化時間的需求。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種基于VPLS的MAC地址老化的方法及裝置,旨在實現(xiàn)對于不同的VPLS實例配置不同的MAC老化時間,滿足業(yè)務的靈活性需求。為了達到上述目的,本發(fā)明提出一種基于VPLS的MAC地址老化的方法,包括在構建VPLS實例后,獲取來自遠端側和/或本地側的報文;對所述報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLSMAC老化表;當預先配置的對應所述VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作。優(yōu)選地,所述在構建VPLS實例后,獲取來自遠端和/或本地側的報文的步驟之前還包括配置VPLS實例的MAC老化時間,保存于所述MAC老化軟件鏈表中。
優(yōu)選地,所述對報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表的步驟包括獲取所述VPLS實例的VPNID ;以所述VPLS實例的VPNID作為鍵值查找VPN表;當通過查找結果獲取到所述VPLS實例使能VPLS MAC老化功能時,根據(jù)所述VPNID及從所述報文中解析出的MAC源地址查詢MAC地址表;若所述MAC地址表中存在與所述源MAC地址對應的MAC表項,則將所述VPLS MAC老化表中對應的Refresh標記置位;否則進行MAC地址學習上報流程,同時創(chuàng)建VPLS MAC老化表。 優(yōu)選地,所述獲取VPLS實例的VPNID的步驟包括當所述報文為本地側報文時,通過查詢接口屬性表獲取所述VPLS實例的VPNID ;當所述報文為遠端側報文時,通過查詢標簽表獲取所述VPLS實例的VPNID。 優(yōu)選地,所述進行MAC地址學習上報流程包括當學習到一個新的MAC表項時,將具有相同VPNID的MAC表項添加到所述MAC老化軟件鏈表中對應位置,并順序分配一統(tǒng)計寄存器地址至所述MAC老化軟件鏈表、VPLS MAC老化表及MAC地址表,添加相應的表項。優(yōu)選地,所述根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作的步驟包括遍歷MAC老化軟件鏈表中所述VPLS實例的MAC地址;獲取所述MAC地址對應的統(tǒng)計寄存器地址;根據(jù)所述MAC地址對應的統(tǒng)計寄存器地址,查詢所述更新后的VPLS MAC老化表;若所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記未置位,則刪除所述MAC老化軟件鏈表、MAC地址表以及VPLS MAC老化表中對應的MAC表項;若所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記置位,則將Refresh 清零。本發(fā)明還提出一種基于VPLS的MAC地址老化的裝置,包括接收及轉發(fā)模塊,用于在構建VPLS實例后,獲取來自遠端側和/或本地側的報文; 查詢及操作模塊,用于對所述報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表;老化處理模塊,用于當預先配置的對應所述VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作。優(yōu)選地,所述老化處理模塊還用于配置VPLS實例的MAC老化時間,保存于所述MAC老化軟件鏈表中。優(yōu)選地,所述查詢及操作模塊包括獲取單元,用于獲取所述VPLS實例的VPNID ;第一查找單元,用于以所述VPLS實例的VPNID查找VPN表;第二查找單元,用于當通過查找結果獲取到所述VPLS實例使能VPLS MAC老化功能時,根據(jù)所述VPNID及從所述報文中解析出的MAC源地址查詢MAC地址表;
學習處理單元,用于當所述MAC地址表中存在與所述源MAC地址對應的MAC表項時,將所述VPLS MAC老化表中對應的Refresh標記置位;否則進行MAC地址學習上報流程,同時創(chuàng)建VPLS MAC老化表。優(yōu)選地,所述獲取單元還用于當所述報文為本地側報文時,通過查詢接口屬性表獲取所述VPLS實例的VPNID ;當所述報文為遠端側報文時,通過查詢標簽表獲取所述VPLS實例的VPNID。優(yōu)選地,所述學習處理單元還用于當學習到一個新的MAC表項時,將具有相同VPNID的MAC表項添加到所述MAC老化軟件鏈表中對應位置,并順序分配一統(tǒng)計寄存器地址至所述MAC老化軟件鏈表、VPLS MAC老化表及MAC地址表,添加相應的表項。 優(yōu)選地,所述老化處理模塊包括遍歷單元,用于遍歷MAC老化軟件鏈表中所述VPLS實例的MAC地址;
地址獲取單元,用于獲取所述MAC地址對應的統(tǒng)計寄存器地址;第三查詢單元,用于根據(jù)所述MAC地址對應的統(tǒng)計寄存器地址,查詢所述更新后的VPLS MAC老化表;老化單元,用于當所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記未置位,則刪除所述MAC老化軟件鏈表、MAC地址表以及VPLS MAC老化表中對應的MAC表項;當所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記置位,則將Refresh清零。本發(fā)明提出的一種基于VPLS的MAC地址老化的方法及裝置,在構建VPLS實例后,獲取來自遠端側和/或本地側的報文進行源MAC地址學習;根據(jù)學習結果創(chuàng)建或者更新VPLS MAC老化表;當預先配置的對應所述VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作,由此針對不同的VPLS實例可以按需分別配置不同的MAC老化時間,解決了所有VPLS實例只能采用同一個老化時間的局限,更能滿足業(yè)務的靈活性需求。
圖I是本發(fā)明基于VPLS的MAC地址老化的方法一實施例的流程示意圖;圖2a是本發(fā)明的VPLS MAC老化軟件表的初始化狀態(tài)示意圖;圖2b是本發(fā)明的VPLS MAC老化軟件表配置老化時間后的狀態(tài)示意圖;圖2c是本發(fā)明的VPLS MAC老化軟件表添加MAC地址的狀態(tài)示意圖; 圖3是本發(fā)明基于VPLS的MAC地址老化的方法一實施例中對報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表的流程示意圖;圖4是本發(fā)明基于VPLS的MAC地址老化的方法一實施例中根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作的流程示意圖;圖5是本發(fā)明基于VPLS的MAC地址老化的方法另一實施例的流程示意圖;圖6是本發(fā)明基于VPLS的MAC地址老化的裝置一實施例的結構示意圖;圖7是本發(fā)明基于VPLS的MAC地址老化的裝置一實施例中查詢及操作模塊的結構示意圖;圖8是本發(fā)明基于VPLS的MAC地址老化的裝置一實施例中老化處理模塊的結構示意圖。為了使發(fā)明的技術方案更加清楚、明了,下面將結合附圖作進一步詳述。
具體實施例方式本發(fā)明實施例的解決方案主要是在構建VPLS實例后,接收來自遠端側和/或本地側的報文進行MAC地址查詢;根據(jù)查詢結果創(chuàng)建或者更新VPLS MAC老化表;當預先配置的對應所述VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作,以實現(xiàn)對于不同的VPLS實例可以按需分別配置不同的MAC老化時間,滿足業(yè)務的靈活性需求。如圖I所示,本發(fā)明一實施例提出一種基于VPLS的MAC地址老化的方法,包括步驟S101,在構建VPLS實例后,獲取來自遠端側和/或本地側的報文;
·
步驟S102,對所述報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表;VPLS實例的構建就是在對應的PE之間建立起偽線連接,需要定義相應的偽線控制信令,其可通過隧道建立信令的擴展實現(xiàn)。在建立起VPLS實例后,PE將承擔起仿真網(wǎng)橋的功能,將客戶某一區(qū)域LAN經(jīng)由AC送入的以太網(wǎng)幀轉發(fā)至適當?shù)膫尉€,即可送達目的區(qū)域LAN,由此完成客戶不同區(qū)域LAN的互聯(lián)。通常,每個VPLS實例都唯一的對應一個實例號VPNID0本實施例方法運行環(huán)境涉及接收及轉發(fā)模塊、查詢及操作模塊以及老化處理模塊。在構建VPLS實例后,接收及轉發(fā)模塊接收來自遠端側和/或本地側的報文,查詢及操作模塊進行MAC地址查詢及轉發(fā)操作。如果沒有查詢到該MAC地址,則上報學習該MAC地址,同時創(chuàng)建VPLS MAC老化表;如果查詢到該MAC地址,則根據(jù)查詢結果更新VPLS MAC老化表的刷新標記位。本實施例預先在本地創(chuàng)建了 MAC地址表以及MAC老化軟件鏈表,并在構建VPLS實例后,預先為每個VPLS實例配置有MAC老化時間,每個VPLS實例的MAC老化時間與該VPLS實例的實例號唯一對應。其中,VPLS MAC老化表如下表I所示,MAC地址表如下表2所示,VPLS MAC老化軟件表的初始化狀態(tài)如圖2a所示,VPLS MAC老化軟件表的配置老化時間后的狀態(tài)如圖2b所示,VPLS MAC老化軟件表的添加MAC地址的狀態(tài)如圖2c所示。
KEYIResult
CNTl (起始地址+1)Refresh標記(O :表示未被命中I :表示命中過)
CNT2(起始地址+2)Refresh標記(O :表示未被命中I :表示命中過)
CNT3(起始地址+3)Refresh標記(O :表示未被命中I :表示命中過)表I VPLS MAC 老化表
權利要求
1.一種基于VPLS的MAC地址老化的方法,其特征在于,包括 在構建VPLS實例后,獲取來自遠端側和/或本地側的報文; 對所述報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表; 當預先配置的對應所述VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作。
2.根據(jù)權利要求I所述的方法,其特征在于,所述在構建VPLS實例后,獲取來自遠端和/或本地側的報文的步驟之前還包括 配置VPLS實例的MAC老化時間,保存于所述MAC老化軟件鏈表中。
3.根據(jù)權利要求I所述的方法,其特征在于,所述對報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表的步驟包括 獲取所述VPLS實例的VPNID ; 以所述VPLS實例的VPNID作為鍵值查找VPN表; 當通過查找結果獲取到所述VPLS實例使能VPLS MAC老化功能時,根據(jù)所述VPNID及從所述報文中解析出的MAC源地址查詢MAC地址表; 若所述MAC地址表中存在與所述源MAC地址對應的MAC表項,則將所述VPLS MAC老化表中對應的Refresh標記置位;否則進行MAC地址學習上報流程,同時創(chuàng)建VPLS MAC老化表。
4.根據(jù)權利要求3所述的方法,其特征在于,所述獲取VPLS實例的VPNID的步驟包括 當所述報文為本地側報文時,通過查詢接口屬性表獲取所述VPLS實例的VPNID ; 當所述報文為遠端側報文時,通過查詢標簽表獲取所述VPLS實例的VPNID。
5.根據(jù)權利要求3所述的方法,其特征在于,所述進行MAC地址學習上報流程包括 當學習到一個新的MAC表項時,將具有相同VPNID的MAC表項添加到所述MAC老化軟件鏈表中對應位置,并順序分配一統(tǒng)計寄存器地址至所述MAC老化軟件鏈表、VPLS MAC老化表及MAC地址表,添加相應的表項。
6.根據(jù)權利要求1-5中任一項所述的方法,其特征在于,所述根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作的步驟包括 遍歷MAC老化軟件鏈表中所述VPLS實例的MAC地址; 獲取所述MAC地址對應的統(tǒng)計寄存器地址; 根據(jù)所述MAC地址對應的統(tǒng)計寄存器地址,查詢所述更新后的VPLS MAC老化表;若所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記未置位,則刪除所述MAC老化軟件鏈表、MAC地址表以及VPLS MAC老化表中對應的MAC表項; 若所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記置位,則將Refresh 清零。
7.一種基于VPLS的MAC地址老化的裝置,其特征在于,包括 接收及轉發(fā)模塊,用于在構建VPLS實例后,獲取來自遠端側和/或本地側的報文; 查詢及操作模塊,用于對所述報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表; 老化處理模塊,用于當預先配置的對應所述VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及所述VPLS MAC老化表進行MAC地址老化操作。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述老化處理模塊還用于配置VPLS實例的MAC老化時間,保存于所述MAC老化軟件鏈表中。
9.根據(jù)權利要求7所述的裝置,其特征在于,所述查詢及操作模塊包括 獲取單元,用于獲取所述VPLS實例的VPNID ; 第一查找單元,用于以所述VPLS實例的VPNID查找VPN表; 第二查找單元,用于當通過查找結果獲取到所述VPLS實例使能VPLS MAC老化功能時,根據(jù)所述VPNID及從所述報文中解析出的MAC源地址查詢MAC地址表; 學習處理單元,用于當所述MAC地址表中存在與所述源MAC地址對應的MAC表項時,將所述VPLS MAC老化表中對應的Refresh標記置位;否則進行MAC地址學習上報流程,同時創(chuàng)建VPLS MAC老化表。
10.根據(jù)權利要求9所述的裝置,其特征在于,所述獲取單元還用于當所述報文為本地側報文時,通過查詢接口屬性表獲取所述VPLS實例的VPNID ;當所述報文為遠端側報文時,通過查詢標簽表獲取所述VPLS實例的VPNID。
11.根據(jù)權利要求9所述的裝置,其特征在于,所述學習處理單元還用于當學習到一個新的MAC表項時,將具有相同VPNID的MAC表項添加到所述MAC老化軟件鏈表中對應位置,并順序分配一統(tǒng)計寄存器地址至所述MAC老化軟件鏈表、VPLS MAC老化表及MAC地址表,添加相應的表項。
12.根據(jù)權利要求7-11中任一項所述的裝置,其特征在于,所述老化處理模塊包括 遍歷單元,用于遍歷MAC老化軟件鏈表中所述VPLS實例的MAC地址; 地址獲取單元,用于獲取所述MAC地址對應的統(tǒng)計寄存器地址; 第三查詢單元,用于根據(jù)所述MAC地址對應的統(tǒng)計寄存器地址,查詢所述更新后的VPLS MAC老化表; 老化單元,用于當所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記未置位,則刪除所述MAC老化軟件鏈表、MAC地址表以及VPLS MAC老化表中對應的MAC表項;當所述VPLS MAC老化表中所述統(tǒng)計寄存器地址對應的Refresh標記置位,則將Refresh清零。
全文摘要
本發(fā)明涉及一種基于VPLS的MAC地址老化的方法及裝置,其方法包括在構建VPLS實例后,獲取來自遠端側和/或本地側的報文,對所述報文進行源MAC地址學習,根據(jù)源MAC地址的學習結果,創(chuàng)建或更新VPLS MAC老化表;當預先配置的對應VPLS實例的老化時間到達后,根據(jù)MAC老化軟件鏈表及VPLS MAC老化表進行MAC地址老化操作。本發(fā)明針對不同的VPLS實例可以按需分別配置不同的MAC老化時間,解決了所有VPLS實例只能采用同一個老化時間的局限,更能滿足業(yè)務的靈活性需求。
文檔編號H04L12/46GK102821168SQ201210281720
公開日2012年12月12日 申請日期2012年8月9日 優(yōu)先權日2012年8月9日
發(fā)明者馬自剛 申請人:中興通訊股份有限公司