專利名稱:一種在虛擬局域網中實現表更新的方法
技術領域:
本發明涉及網絡通訊技術領域,具體涉及一種在虛擬局域網中實現表更新的方法。
背景技術:
在通訊網絡中,支持STP(生成樹協議)的網絡設備的端口會因各種原因而發生狀態變化,如端口因進行STP計算時blocking(阻塞)而變成discarding(禁止)狀態、網絡設備中端口因與其相連的其他網絡設備的UP(連接)、DOWN(連接拆除)而使其他端口變成discarding狀態。當網絡設備的端口發生狀態變化時,網絡設備會按照STP向其根節點方向的其他網絡設備發送TCN(拓撲改變報文),通訊網絡中的其他網絡設備在收到TCN后會繼續按照STP轉發TCN。通訊網絡中TCN的傳輸如附圖1所示。
在圖1中,網絡設備A的a端口、b端口分別與網絡設備B的c端口、d端口相連,網絡設備B還通過e端口與其他網絡設備相連。
當網絡設備B的c端口變成discarding狀態,或者當網絡設備B的e端口收到TCN繼續向網絡設備A轉發,或者當與網絡設備B的e端口相連的網絡設備發生UP、DOWN時,網絡設備B從d端口向網絡設備A發送TCN;網絡設備A通過b端口接收到TCN后,由于TCN中并不包含詳細的哪個設備的哪個端口發生的狀態變化信息,所以網絡設備A不知道對端的網絡設備B到底發生了什么情況。
現在假設網絡設備B由于c端口變成discarding狀態向網絡設備A發送TCN,c端口不能收發數據報文,但對于網絡設備A來說,與端口相關的表如路由表,ARP(地址解析協議)表,MAC(介質訪問控制)表等等的與a端口相關的表項都需要進行老化處理。
比較常見的老化處理的方法如直接刪除相關表中的相關表項或者通過其他協議重新學習。
通過其他協議重新學習的方法如通過ARP(地址解析協議)發送ARP請求報文來重新學習。由于與端口相關的表中的與a端口相關的表項都需要進行重新學習,因此通訊網絡中會存在很多因學習而產生的廣播報文,如果通訊網絡中的網絡終端用戶較多,網絡終端用戶頻繁的開機、關機操作,如與e端口連接的網絡終端用戶因上、下線,使大量的網絡設備中的幾乎與所有的端口相關的表項都需要重新學習,從而使網絡中傳輸大量的廣播報文。尤其在上下班高峰時間,由于此時有很多網絡終端用戶進行開關機操作,大量的廣播報文、表項更新占用了網絡資源,使報文傳輸的延時較長,同時使網絡震蕩,處于不穩定狀態,此時的網絡基本上是不可用的。
直接刪除相關表中的與接收TCN報文之外的所有端口相關的表項會導致一些本不相干的網絡終端用戶受到影響,而產生數據傳輸時的丟包現象,使網絡的可靠性得不到保障。
發明內容
本發明的目的在于,提供一種在虛擬局域網中實現表更新的方法,利用拓撲改變報文準確定位網絡設備中需要更新的表項,以實現節約網絡資源、提高網絡安全性、可靠性和穩定性的目的。
為達到上述目的,本發明提供的一種在虛擬局域網中實現表更新的方法包括a、根據網絡設備接收的拓撲改變報文確定接收所述報文的端口所屬的虛擬局域網;b、確定所述網絡設備中與接收所述報文的端口屬于相同虛擬局域網的其他端口;c、將與所述其他端口相關的表中的相應表項更新。
所述的網絡設備為環路網絡中支持生成樹類協議的網絡設備。
所述的生成樹類協議包括生成樹協議、快速生成樹協議、多生成樹協議。
所述的接收所述報文的端口所屬的虛擬局域網可以為一個或多個。
所述的與端口相關的表包括路由表、地址解析協議表、介質訪問控制表。
所述的步驟c包括確定所述其他端口所屬的虛擬局域網;將與所述其他端口相關的表中與所述其他端口及其所屬的虛擬局域網相關的表項更新。
所述的步驟c也可以包括將與所述其他端口相關的表中與所述其他端口及接收所述報文的端口所屬的虛擬局域網相關的表項更新。
上述的表項更新包括刪除相關表項。
上述的表項更新也可以包括對相關表項進行學習。
所述的學習包括通過發送地址解析協議請求報文進行學習。
利用本發明,通過網絡設備間傳輸的拓撲改變報文中可準確定位網絡設備中與接收TCN報文的端口同屬于一個虛擬局域網的其他端口,只對與這些其他端口相關的表中的相應表項進行更新,避免了網絡設備中對不必要的表項的刪除、重新學習,從而大大減少了因對不必要的表項的刪除而引起的通訊網絡中數據報文在傳輸過程中的丟失現象;避免了因對不必要的表項的重新學習而引起的占用網絡資源現象;避免了因對不必要的表項更新而引起的網絡震蕩現象;從而實現了節約網絡資源,提高網絡安全性、可靠性和穩定性的目的。
圖1是通訊網絡中TCN傳輸示意圖。
具體實施例方式
本發明的核心思想為在虛擬局域網中,當網絡設備接收到拓撲改變報文時,可根據網絡設備接收的該報文確定接收該報文的端口及該端口所屬的虛擬局域網;該端口所屬的虛擬局域網可為一個或多個;根據其所屬的虛擬局域網可確定該網絡設備中所有與收到該報文的端口同屬于一個虛擬局域網的其他端口,并將與端口相關的表中與上述其他端口相關的表項進行更新。這樣網絡設備中與收到該報文的端口不在同一個虛擬局域網中的端口對應的相關表中的相關的表項不需要進行更新。從而實現了本發明的目的。
由于在通訊網絡中VLAN(虛擬局域網)技術已作為一項成熟的技術而廣泛應用,網絡設備的端口通常屬于某個VLAN,使某個VLAN中的報文通過這些端口進行傳輸。在實際應用中可將網絡設備中的端口作為干道端口屬于一個或多個VLAN,從而允許帶有相應標識的以太網報文通過該端口進行傳輸;也可以將網絡設備中的端口作為存取端口屬于某個VLAN,該端口接收的不帶相應標識的以太網報文都認為是該VLAN中的報文。
網絡設備中傳輸的網絡終端用戶發送的報文承載的信息也會帶有VLANID(標識),網絡設備中的一些與端口相關的表,如路由表、ARP(地址解析協議)表及MAC(介質訪問控制)表中也會記錄與各端口、各端口所屬的VLAN相關的表項,這樣,該報文可根據網絡設備中記錄的相關的表項通過與其同在一個VLAN的端口進行安全的報文傳輸。
通常來說,在支持VLAN的通訊網絡中的報文傳輸只與網絡設備中與其相關的端口、與其相關的表、表項有關。與其相關的端口為具有相同VLAN的端口。當通訊網絡中因某個端口發生了狀態改變,而需要重新建立某個VLAN報文的傳輸路徑時,應將與端口相關的表中的與該VLAN報文原傳輸路徑相關表項進行更新。網絡設備中與端口相關的表中的其他VLAN報文的傳輸路徑可不進行更新,這樣,即可減少因不必要的表項更新而引起的占用網絡資源、網絡震蕩、報文丟包等現象。從而實現了本發明的目的。
本發明提供的在網絡設備中確定與端口相關的表中的與某VLAN報文原傳輸路徑相關表項的方法為首先應確定與某VLAN報文原傳輸路徑相關的端口,再根據這些端口確定與某VLAN報文原傳輸路徑相關的表項。
其具體實施方法為在運行生成樹類協議的虛擬局域網中,該生成樹類協議包括生成樹協議、快速生成樹協議、多生成樹協議等其他類似協議;如果某網絡設備的端口因進行STP計算時blocking、或該網絡設備中的端口因與其相連的其他網絡設備的UP、DOWN而使其他端口變成discarding狀態,該網絡設備會按照STP向其根節點方向的其他網絡設備發送TCN,當其他網絡設備接收到該TCN時,可確定接收該TCN的端口;并可根據該端口所屬的VLAN來確定網絡設備中同屬于該VLAN的其他端口,這些端口是與該VLAN報文原傳輸路徑相關的端口。
由于網絡設備中一個端口上存在屬于1個或多個VLAN的情況,這樣接收該TCN的端口和網絡設備中的其他端口同樣會存在屬于1個或多個VLAN的情況。基于這種情況,接收到TCN的網絡設備中的其他端口所屬的VLAN之一與接收TCN的端口所屬的VLAN之一同屬于一個VLAN,該端口即為與該VLAN報文原傳輸路徑相關的端口。確定了與VLAN報文的原傳輸路徑相關的端口后,可根據這些端口和與接收TCN的端口同屬于一個VLAN的VLAN ID確定與端口相關的表中需要進行相應更新的表項。也可根據這些端口和其各自所屬VLAN確定與端口相關的表中需要進行相應更新的表項。針對表中的表項更新可通過老化處理來實現。
老化處理通常采用的方法,如將相應的表項刪除、利用ARP請求報文重新學習。這樣,在做表項刪除時,只需刪除一些相關的表項,不對不相關的表項進行處理,從而減少了網絡終端用戶發送報文的數據丟失現象,提高了網絡的安全性、可靠性。在做表項重新學習時,由于只需要對相關的表項進行學習,減少了通訊網絡中廣播報文的傳輸,從而節約了網絡資源,進一步減輕了因大量的表項更新而引起的網絡震蕩。
下面結合附圖與具體實施方式
對本發明作進一步詳細說明。
本發明提供的在虛擬局域網中實現表更新的方法仍根據圖1進行說明。
在圖1中,設定網絡設備A的a端口只屬于VLAN10,b端口只屬于VLAN20。
當網絡設備B的c端口變成discarding狀態,或者當網絡設備B的e端口收到TCN繼續向網絡設備A轉發,或者當與網絡設備B的e端口相連的網絡設備發生UP、DOWN時,網絡設備B從d端口向網絡設備A發送TCN;網絡設備A通過b端口接收到TCN后,由于b端口只屬于VLAN10,而a端口只屬于VLAN20,a端口和b端口不屬于同一個VLAN,所以與端口相關的表中與a端口相關的表項就不需要做相應的更新。
在圖1中,設定網絡設備A的a端口只屬于VLAN10和VLAN20,b端口只屬于VLAN20和VLAN30。
當網絡設備B從d端口向網絡設備A發送TCN,網絡設備A通過b端口接收到TCN后,由于b端口屬于VLAN20和a端口屬于的VLAN20同屬于一個VLAN,所以與端口相關的表中與a端口相關的表項需要做相應的更新。我們可以設定與a端口的VLAN10和VLAN20相關的表項都需要進行相應的更新;也可以設定只與a端口的VLAN20相關的表項需要進行相應的更新。這兩種更新情況可根據實際需要進行設定。
雖然通過實施例描繪了本發明,本領域普通技術人員知道,本發明有許多變形和變化而不脫離本發明的精神,希望所附的權利要求包括這些變形和變化。
權利要求
1.一種在虛擬局域網中實現表更新的方法,其特征在于包括a、根據網絡設備接收的拓撲改變報文確定接收所述報文的端口所屬的虛擬局域網;b、確定所述網絡設備中與接收所述報文的端口屬于相同虛擬局域網的其他端口;c、將與所述其他端口相關的表中的相應表項更新。
2.如權利要求1所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的網絡設備為環路網絡中支持生成樹類協議的網絡設備。
3.如權利要求2所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的生成樹類協議包括生成樹協議、快速生成樹協議、多生成樹協議。
4.如權利要求2或3所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的接收所述報文的端口所屬的虛擬局域網可以為一個或多個。
5.如權利要求4所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的與端口相關的表包括路由表、地址解析協議表、介質訪問控制表。
6.如權利要求4所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的步驟c包括確定所述其他端口所屬的虛擬局域網;將與所述其他端口相關的表中與所述其他端口及其所屬的虛擬局域網相關的表項更新。
7.如權利要求4所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的步驟c包括將與所述其他端口相關的表中與所述其他端口及接收所述報文的端口所屬的虛擬局域網相關的表項更新。
8.如權利要求6或7所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的更新包括刪除。
9.如權利要求6或7所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的更新包括學習。
10.如權利要求9所述的一種在虛擬局域網中實現表更新的方法,其特征在于所述的學習包括通過發送地址解析協議請求報文進行學習。
全文摘要
本發明提供一種在虛擬局域網中實現表更新的方法,包括根據網絡設備接收的拓撲改變報文確定接收所述報文的端口所屬的虛擬局域網;確定所述網絡設備中與接收所述報文的端口屬于相同虛擬局域網的其他端口;將與所述其他端口相關的表中的相應表項更新。利用本發明,可較準確的定位網絡設備相關的表中需要更新的表項,并對其進行相應的更新,避免了網絡設備中一些不必要的表項更新,從而減輕了因大量表項的更新而引起的網絡震蕩現象,減少了網絡中傳輸數據報文的丟失現象,減少了因學習新表項而占用的網絡資源,從而實現了節約網絡資源,提高網絡安全性、可靠性和穩定性的目的。
文檔編號H04B1/74GK1595893SQ0315787
公開日2005年3月16日 申請日期2003年9月13日 優先權日2003年9月13日
發明者賈海波 申請人:華為技術有限公司