專利名稱:一種實現vlan網橋橋接技術的方法
技術領域:
本發明涉及以太網的VLAN (Virtual Local Area Network,虛擬局域網)網橋橋接技術領域,具體來講是一種實現VLAN網橋橋接技術的方法。
背景技術:
IEEE在802. IQ中定義VLAN網橋,其基本功能包括數據幀的轉發和過濾,網橋的核心是過濾數據庫,其能夠維護網橋以及決定數據幀轉發信息。
從功能上看,過濾數據庫存放數據幀的轉發信息,通過執行地址查找操作來識別出數據報文相關聯的目的端口,從而完成二層轉發操作。過濾數據庫的轉發信息可以通過地址學習操作進行動態更新,或者通過管理操作進行靜態配置。同時,為了防止動態條目長期占用資源有限的過濾數據庫,過濾數據庫采用地址老化操作,間隔一定的老化時間對數據庫進行掃描,將超時的動態條目刪除,從而釋放的數據庫空間提供其他新的條目進行地址學習操作。
從結構上看,過濾數據庫一般采用SRAM (Static Random Access Memory,靜態隨機存儲器)來儲存轉發數據庫信息,并結合硬件哈希算法來完成數據庫的訪問操作。
綜上所述,地址學習、二層查找、地址老化和CPU配置操作均會對過濾數據庫進行讀取和更新操作。而對SRAM的訪問受到器件本身SRAM端口個數和端口處理速率的限制, 數據報文非線速學習會導致過濾數據庫中轉發信息的暫時缺失,而這種缺失和報文的非線速轉發,均會導致數據報文過度的泛洪,這種過度的泛洪可能導致網絡擁塞和惡化,致使網絡的性能極大的下降。發明內容
針對現有技術中存在的缺陷,本發明的目的在于提供一種實現VLAN網橋橋接技術的方法,即使FDB (Filter Database,過濾數據庫)只存在一個訪問端口時,仍然能夠保證對數據報文的線速學習和轉發,避免數據報文過度泛洪而導致的網絡性能下降,節省老化整個FDB中所有條目的時間。
為達到以上目的,本發明采取的技術方案是一種實現VLAN網橋橋接技術的方法,包括如下步驟S1. VLAN網橋從輸入端口接收報文,獲取該報文的源MAC地址、目的MAC 地址和輸入虛擬局域網標識;S2. CPU通過地址學習操作,讀訪問過濾數據庫,獲取條目內容;S3.判斷地址老化操作或CPU是否存在對過濾數據庫的寫訪問請求,若是,進入S4 ;若否,進入S6 ;S4.根據上次地址老化操作寫訪問過濾數據庫的地址或上次CPU寫訪問過濾數據庫的地址,決定是否更新地址學習操作讀訪問過濾數據庫而獲取的條目內容;S5.通過地址老化操作或CPU寫訪問過濾數據庫,清除寫訪問請求指示,進入S7 ;S6.通過地址老化操作或CPU讀訪問過濾數據庫,獲取條目內容,產生寫訪問過濾數據庫的條目內容和請求; S7. VLAN網橋二層進行查找操作,讀訪問過濾數據庫;S8.通過地址學習操作,寫訪問過濾數據庫。
在上述技術方案的基礎上,所述條目內容內容包括條目內容狀態、MAC地址、輸入虛擬局域網標識和轉發的目的端口號。
在上述技術方案的基礎上,所述S4中,判斷上次地址老化操作寫訪問過濾數據庫的地址或上次CPU寫訪問過濾數據庫的地址,是否等于本次地址學習操作讀取過濾數據庫的地址,若是,則更新本次地址學習操作讀訪問過濾數據庫的條目內容為寫訪問內容;若否,保持地址學習操作獲取過濾數據庫的條目內容不變。
在上述技術方案的基礎上,所述S4中,若是更新本次地址學習操作讀訪問過濾數據庫的條目內容為寫訪問內容,則所述S5中還要將更新后的條目內容寫入過濾數據庫。
在上述技術方案的基礎上,所述S6中,地址老化操作或CPU采用輪詢的方式訪問過濾數據庫,判斷上次地址老化操作是否存在讀訪問過濾數據庫的操作,若是,則本次使能 CPU讀訪問過濾數據庫;若否,使能地址老化讀訪問過濾數據庫,并判斷條目內容狀態。
在上述技術方案的基礎上,所述S6中,若所述條目內容狀態為有效,則更新條目內容狀態至半老化,產生寫訪問過濾數據庫請求;若條目內容狀態為半老化,則更新條目內容狀態為無效,產生寫訪問過濾數據庫請求;若條目內容狀態為其他,進入S7。
在上述技術方案的基礎上,所述S6中,當CPU讀訪問過濾數據庫時,配置條目內容,產生寫訪問過濾數據庫請求。
在上述技術方案的基礎上,所示S7中,VLAN網橋二層進行查找操作,將報文的目的MAC地址和輸入虛擬局域網標識,分別與讀訪問過濾數據庫獲取的條目內容進行比較, 若目的MAC地址和輸入虛擬局域網標識均與讀訪問過濾數據庫獲取的條目內容匹配,且條目內容狀態為有效,則將數據報文轉發至查找到的目的端口 ;否則,在VLAN域內進行泛洪操作。
在上述技術方案的基礎上,所述S8中,通過地址學習操作將報文的源MAC地址、輸入虛擬局域網標識和源端口,分別與地址學習操作獲取的條目內容進行比較,查看是否匹配,如果源MAC地址、VLAN_ID和源端口均與條目內容匹配,則更新過濾數據庫中的條目內容狀態為有效,并寫訪問過濾數據庫;如果源MAC地址和VLAN ID均與所述條目內容匹配, 但是端口不一致,替換條目內容中的端口,并寫訪問過濾數據庫。
在上述技術方案的基礎上,所述查看是否匹配時,如果條目內容狀態為無效,則將報文的源MAC地址、輸入虛擬局域網標識和端口信息寫入過濾數據庫;其他情況,不進行寫入過濾數據庫的操作。
本發明的有益效果在于即使數據庫只存在一個訪問端口時,仍然能夠數據報文的線速學習和無阻塞線性轉發,避免數據報文過度泛洪而導致的網絡性能下降;同時采用輪詢機制,實現地址老化或CPU對FDB的讀訪問和寫訪問操作,節省老化整個FDB中所有條目的時間;保證大容量FDB執行地址老化操作的時間精度,為實現未來超大帶寬網絡的網橋交換提供了保證。
圖I為本發明實現VLAN網橋橋接技術的方法的總體流程圖2為本發明實現VLAN網橋橋接技術的方法的詳細流程圖;具體實施方式
以下結合附圖對本發明作進一步詳細說明。
如圖I和圖2所示,本發明一種實現VLAN網橋橋接技術的方法,包括如下步驟
SI. VLAN網橋從輸入端口接收報文,獲取該報文的源MAC地址、目的MAC地址和輸入虛擬局域網標識(以下簡稱為VLAN ID)。
S2. CPU通過地址學習操作,讀訪問過濾數據庫(以下簡稱FDB),獲取條目內容,條目內容包括條目內容狀態、MAC地址、VLAN ID和轉發的目的端口號。
S3.判斷地址老化操作或CPU是否存在對FDB的寫訪問請求,若是,進入S4 ;若否, 進入S6。
S4.根據上次地址老化操作寫訪問FDB的地址或上次CPU寫訪問FDB的地址,決定是否更新地址學習操作讀訪問FDB而獲取的條目內容,其具體步驟如下
S41.判斷上次地址老化操作寫訪問FDB的地址或上次CPU寫訪問FDB的地址,是否等于本次地址學習操作讀取FDB的地址,若是,進入S42 ;若否,進入S43。
S42.更新本次地址學習操作讀訪問FDB的條目內容為寫訪問內容。
S43.保持地址學習操作獲取FDB的條目內容不變。
S5.通過地址老化操作或CPU寫訪問FDB,清除寫訪問請求指示,進入S7 ;其中,若是更新本次地址學習操作讀訪問FDB的條目內容為寫訪問內容,則要將更新后的條目內容寫入FDB,進入S7。
S6.通過地址老化操作或CPU讀訪問FDB,獲取條目內容,產生寫訪問FDB的條目內容和請求指示;其具體步驟如下
S61.地址老化操作或CPU采用輪詢的方式訪問FDB,判斷上次地址老化操作是否存在讀訪問過FDB的操作,若否,進入S62 ;若是,進入65。
S62.使能地址老化讀訪問FDB,并判斷條目內容狀態,若條目內容狀態為半老化, 進入S63 ;若條目內容狀態為有效,進入S64 ;若條目內容狀態為其他,則進入S7。
S63.更新條目內容狀態為無效,產生寫訪問FDB請求,進入S7。
S64.更新條目內容狀態至半老化,產生寫訪問FDB請求,進入S7。
S65.本次使能CPU讀訪問FDB ;
S66.配置條目內容,產生寫訪問FDB請求,進入S7。
S7. VLAN網橋二層進行查找操作,讀訪問FDB ;具體步驟如下
S71.將報文的目的MAC地址和VLAN ID,分別與讀訪問FDB獲取的條目內容進行比較,若目的MAC地址和VLAN ID均與讀訪問FDB獲取的條目內容匹配,且條目內容狀態為有效,則進入S72 ;否則,進入S73。
S72.將數據報文轉發至查找到的目的端口,進入S8。
S73.在VLAN域內進行泛洪操作,進入S8。
S8.通過地址學習操作,寫訪問FDB ;其具體步驟為
S81.通過地址學習操作將報文的源MAC地址、VLAN ID和源端口,分別與地址學習操作獲取的條目內容進行比較,查看是否匹配,如果均與地址學習操作獲取的條目內容匹配,進入S82 ;如果源MAC地址和VLAN ID與地址學習操作獲取的條目內容匹配,但是端口信息不一致,進入S83 ;如果條目內容狀態為無效,進入S84 ;其他情況,不進行寫入FDB的操作。
S82.更新FDB中的條目內容狀態為有效,并寫訪問FDB。
S83.替換條目內容中的端口信息,并寫訪問FDB。
S84.將報文的源MAC地址、VLAN ID和端口信息寫入FDB。
下面通過具體實施例詳細說明本發明內容。
本實施例中,描述四份報文的網橋處理過程,其中初始狀態下FDB的內容如表I所示,包括地址、條目內容狀態、MAC地址、VLAN ID和端口(即PORT)。
表I
權利要求
1.一種實現VLAN網橋橋接技術的方法,其特征在于,包括如下步驟 51.VLAN網橋從輸入端口接收報文,獲取該報文的源MAC地址、目的MAC地址和輸入虛擬局域網標識; 52.CPU通過地址學習操作,讀訪問過濾數據庫,獲取條目內容; 53.判斷地址老化操作或CPU是否存在對過濾數據庫的寫訪問請求,若是,進入S4;若否,進入S6 ; 54.根據上次地址老化操作寫訪問過濾數據庫的地址或上次CPU寫訪問過濾數據庫的地址,決定是否更新地址學習操作讀訪問過濾數據庫而獲取的條目內容; 55.通過地址老化操作或CPU寫訪問過濾數據庫,清除寫訪問請求指示,進入S7; 56.通過地址老化操作或CPU讀訪問過濾數據庫,獲取條目內容,產生寫訪問過濾數據庫的條目內容和請求; 57.VLAN網橋二層進行查找操作,讀訪問過濾數據庫; 58.通過地址學習操作,寫訪問過濾數據庫。
2.如權利要求I所述的實現VLAN網橋橋接技術的方法,其特征在于所述條目內容內容包括條目內容狀態、MAC地址、輸入虛擬局域網標識和轉發的目的端口號。
3.如權利要求I所述的實現VLAN網橋橋接技術的方法,其特征在于所述S4中,判斷上次地址老化操作寫訪問過濾數據庫的地址或上次CPU寫訪問過濾數據庫的地址,是否等于本次地址學習操作讀取過濾數據庫的地址,若是,則更新本次地址學習操作讀訪問過濾數據庫的條目內容為寫訪問內容;若否,保持地址學習操作獲取過濾數據庫的條目內容不變。
4.如權利要求3所述的實現VLAN網橋橋接技術的方法,其特征在于所述S4中,若是更新本次地址學習操作讀訪問過濾數據庫的條目內容為寫訪問內容,則所述S5中還要將更新后的條目內容寫入過濾數據庫。
5.如權利要求I所述的實現VLAN網橋橋接技術的方法,其特征在于所述S6中,地址老化操作或CPU采用輪詢的方式訪問過濾數據庫,判斷上次地址老化操作是否存在讀訪問過濾數據庫的操作,若是,則本次使能CPU讀訪問過濾數據庫;若否,使能地址老化讀訪問過濾數據庫,并判斷條目內容狀態。
6.如權利要求5所述的實現VLAN網橋橋接技術的方法,其特征在于所述S6中,若所述條目內容狀態為有效,則更新條目內容狀態至半老化,產生寫訪問過濾數據庫請求;若條目內容狀態為半老化,則更新條目內容狀態為無效,產生寫訪問過濾數據庫請求;若條目內容狀態為其他,進入S7。
7.如權利要求5所述的實現VLAN網橋橋接技術的方法,其特征在于所述S6中,當CPU讀訪問過濾數據庫時,配置條目內容,產生寫訪問過濾數據庫請求。
8.如權利要求I所述的實現VLAN網橋橋接技術的方法,其特征在于所示S7中,VLAN網橋二層進行查找操作,將報文的目的MAC地址和輸入虛擬局域網標識,分別與讀訪問過濾數據庫獲取的條目內容進行比較,若目的MAC地址和輸入虛擬局域網標識均與讀訪問過濾數據庫獲取的條目內容匹配,且條目內容狀態為有效,則將數據報文轉發至查找到的目的端口 ;否則,在VLAN域內進行泛洪操作。
9.如權利要求I所述的實現VLAN網橋橋接技術的方法,其特征在于所述S8中,通過地址學習操作將報文的源MAC地址、輸入虛擬局域網標識和源端口,分別與地址學習操作獲取的條目內容進行比較,查看是否匹配,如果源MAC地址、VLAN_ID和源端口均與所述條目內容匹配,則更新過濾數據庫中的條目內容狀態為有效,并寫訪問過濾數據庫;如果源MAC地址和VLAN ID均與條目內容匹配,但是端口不一致,替換條目內容中的端口,并寫訪問過濾數據庫。
10.如權利要求9所述的實現VLAN網橋橋接技術的方法,其特征在于所述查看是否匹配時,如果條目內容狀態為無效,則將報文的源MAC地址、輸入虛擬局域網標識和端口信息寫入過濾數據庫;其他情況,不進行寫入過濾數據庫的操作。
全文摘要
一種實現VLAN網橋橋接技術的方法,涉及VLAN網橋橋接技術領域,包括步驟S1.VLAN網橋接收報文,獲取源MAC地址、目的MAC地址和VLAN ID;S2.CPU通過地址學習操作讀訪問FDB;S3.判斷地址老化操作或CPU是否存在對FDB的寫訪問請求,若是,進入S4;若否,進入S6;S4.根據上次地址老化或CPU寫訪問,決定是否更新條目內容;S5.地址老化操作或CPU寫訪問FDB,清除寫訪問請求指示,進入S7;S6.地址老化操作或CPU讀訪問FDB,產生寫訪問條目內容;S7.二層查找,讀訪問FDB;S8.地址學習操作,寫訪問過FDB。本發明保證對數據報文的線速學習和轉發,避免過度泛洪。
文檔編號H04L12/715GK102932227SQ20121042306
公開日2013年2月13日 申請日期2012年10月29日 優先權日2012年10月29日
發明者魯鵬, 楊彥波, 黃元波, 劉林 申請人:烽火通信科技股份有限公司