一種在本地接入之間廣播數據報文的方法及裝置的製作方法
2023-09-20 14:20:05 1
專利名稱:一種在本地接入之間廣播數據報文的方法及裝置的製作方法
技術領域:
本發明涉及分布式網絡設備在虛擬專用區域網業務(VPLS,Virtual PrivateLan Service)網絡中數據報文的廣播技術,特別是一種在本地接入之間廣播數據報文的方法及
直o
背景技術:
隨著互連網和企業內部網的不斷發展,將分散的網絡在邏輯上整合成一個大型專 用網的業務需求越來越強烈,虛擬專用網絡(VPN,Virtual PrivateNetwork)技術因此應 運而生。經過近20年的發展,基於第三層的VPN已日漸成熟。但這種技術存在明顯的不 足,即運營商需要介入客戶的路由計劃,導致客戶不能自行決定網絡層,從而帶來了維護 和應用的困難。為了解決上述問題,基於多協議標籤交換(MPLS,Multi-Protocol Label Switching)的二層VPN技術——VPLS被提上日程。一個典型的VPLS本地接入主要有兩種方式,包括乙太網(Ethernet)接入和虛擬 區域網(Vlan, Virtual local area network)接入;其中,Ethernet 接入,是指埠接入, 從該埠進入的二層數據報文全部進入VPLS網絡中,而並不關心數據報文中乙太網幀頭 的Vlan信息;Vlan接入,是指埠與Vlan聯合接入,只有當數據報文中乙太網幀頭的Vlan 信息與所配置的Vlan信息一致時,從該埠進入的數據報文才可以進入VPLS網絡中。在VPLS網絡數據報文轉發原則中,VPLS網絡中的設備從一個本地接入接收到目 的地址未知的數據報文時,需要向VPLS網絡中與該本地接入具有同一個VPLS域內的遠端 設備和其他本地接入廣播該數據報文,但禁止向數據報文來源的本地接入進行廣播。如圖 1所示,接入1、接入2和接入3分別是一個VPLS網絡設備同一 VPLS域的三個不同的本地 接入。VPLS網絡設備從接入1接收到數據報文後,若經查找發現該數據報文的目的地址未 知,則在VPLS網絡設備內部,需要向接入2和接入3廣播該數據報文,但是禁止向接入1廣 播該數據報文;接入2和接入3接收到該數據報文之後,再將其轉發到其他設備。當前,分布式網絡設備按照其對數據報文的處理流程,可分為三個模塊,分別定義 如下入口子模塊用於將接收到的數據報文中的某些關鍵信息如MAC地址、Vlan信息 封裝後,發送給轉發矩陣子模塊;轉發矩陣子模塊用於將數據報文轉發到確定的出口子模塊;出口子模塊完成對數據報文的相關信息如Vlan信息的封裝並轉發至確定出口。在現有技術中,分布式網絡設備在轉發矩陣子模塊中實現目的地址未知的數據報 文在本地接入之間的廣播。分布式網絡設備的入口子模塊接收到目的地址未知的數據報文 後,將數據報文入口對應的物理埠號添加到該數據報文的內部描述符中,然後入口子模 塊將此內部描述符和數據報文組成一個封裝包送到轉發矩陣子模塊;轉發矩陣子模塊為此 VPLS域內的其他遠端出口和本地接入出口複製該數據報文,無條件地向遠端出口廣播該數 據報文。但在向本地接入出口廣播數據報文前,需要判斷封裝包的內部描述符中攜帶的物理埠號是否與待轉發的本地接入出口的物理埠號相同,如果相同則不向該本地接入出 口轉發該數據報文,否則,則向該本地接入出口轉發該數據報文。由此可知,轉發矩陣子模塊是通過判斷封裝包的內部描述符中攜帶的物理埠號 與待廣播的本地接入的物理埠是否相同,來決定是否向本地接入出口轉發該數據報文。 這樣存在的問題是,如果兩個本地接入都採用的是Vlan接入方式,使用的物理埠相同, 但是Vlan信息不同,那麼從其中一個本地接入進入的數據報文,則不僅不會被廣播到數據 報文所進入的本地接入,也不會被廣播到另一個與之具有同一物理埠的本地接入,這樣 就違背了 VPLS網絡的數據轉發原則。
發明內容
有鑑於此,本發明的主要目的在於提供一種在本地接入之間廣播數據報文的方法 及裝置,使得目的地址未知的數據報文能夠在同一物理埠下不同類型的本地接入之間實 現相互廣播。為達到上述目的,本發明的技術方案是這樣實現的本發明提供了一種在本地接入之間廣播數據報文的方法,該方法包括轉發矩陣子模塊複製封裝包,並將該封裝包插入到出口子模塊對應的轉發隊列末 尾;出口子模塊比較該封裝包中的標識屬性與待轉發的本地接入標識屬性是否相同, 如果不相同,則將該封裝包中的數據報文按照出接口封裝信息封裝後轉發到待轉發的本地 接入,並將該封裝包從轉發隊列中刪除。上述方案中,所述轉發矩陣子模塊複製封裝包之前,該方法還包括入口子模塊對 接收到的目的地址未知的數據報文封裝成一個封裝包,並將該封裝包插入到轉發矩陣子模 塊的廣播隊列末尾。上述方案中,所述封裝包中包括數據報文來源的本地接入標識屬性、數據報文內 容及該數據報文所屬虛擬專用區域網業務(VPLS)域編號。上述方案中,所述封裝包插入到轉發矩陣子模塊的廣播隊列末尾之後,轉發矩陣 子模塊複製封裝包之前,該方法還包括轉發矩陣子模塊通過該封裝包中的VPLS域編號查 詢出接口轉發表,並從中讀取一條出接口條目,得到對應的轉發隊列編號。上述方案中,所述將該封裝包插入到出口子模塊對應的轉發隊列末尾後,該方法 還包括如果出接口轉發表中還存在下一條出接口條目,則讀取下一條出接口條目並得到 相應的轉發隊列編號,並將封裝包複製後插入到出口子模塊對應的轉發隊列末尾;否則將 該封裝包從廣播隊列中刪除。上述方案中,如果出口子模塊比較該封裝包中的標識屬性與待轉發的本地接入標 識屬性相同,則不轉發該數據報文,如果轉發隊列中存在下一個封裝包,繼續比較封裝包中 標識屬性與待轉發的本地接入標識屬性是否相同。本發明還提供了一種在本地接入之間廣播數據報文的裝置,該裝置包括封裝包 複製模塊、標識屬性比較模塊和報文封裝轉發模塊;其中,位於轉發矩陣子模塊的封裝包複製模塊,用於將封裝包複製後插入到出口子模塊 對應的轉發隊列末尾;
位於出口子模塊的標識屬性比較模塊,用於比較該封裝包中的標識屬性與待轉發 的本地接入標識屬性是否相同,如果不相同,則將該封裝包中的數據報文發送至報文封裝 轉發模塊;位於出口子模塊的報文封裝轉發模塊,用於將數據報文按照出接口封裝信息封裝 後轉發到待轉發的本地接入。上述方案中,該裝置還包括位於轉發矩陣子模塊的封裝包複製模塊和出接口條 目讀取模塊;其中,封裝包讀取模塊,用於從廣播隊列中讀取封裝包,並通過該封裝包中的VPLS域編 號查詢出接口轉發表;出接口條目讀取模塊,用於在接口轉發表中讀取一條出接口條目,並得到對應的 轉發隊列編號。上述方案中,該裝置還包括位於入口子模塊的報文封裝模塊和封裝包轉發模塊; 其中,報文封裝模塊,用於收到目的地址未知的數據報文後,將收到該數據報文的本地 接入的物理埠號和虛擬區域網(Vlan)信息作為數據報文來源的本地接入的標識屬性, 並將該標識屬性、數據報文內容以及該數據報文所屬VPLS域編號封裝在一個封裝包中;封裝包轉發模塊,用於將封裝包插入到轉發矩陣模塊的廣播隊列的末尾。上述方案中,該裝置還包括位於出口子模塊中的封裝包讀取模塊,用於從轉發隊 列中讀取一個封裝包。本發明所提供的一種在本地接入之間廣播數據報文的方法及裝置,轉發矩陣子模 塊將複製的封裝包插入到出口子模塊對應的轉發隊列末尾;出口子模塊比較該封裝包中的 標識屬性與待轉發的本地接入標識屬性是否相同,如果不相同,則將該封裝包中的數據報 文按照出接口封裝信息封裝後轉發到待轉發的本地接入。採用本發明所述的方法及裝置, 能夠使目的地址未知的數據報文在同一 VPLS域內同一物理埠下不同類型的本地接入之 間實現相互廣播,符合VPLS網絡的數據報文轉發原則。
圖1為VPLS網絡中數據報文轉發的示意圖;圖2為本發明在本地接入之間廣播數據報文的方法中入口子模塊工作流程圖;圖3為本發明在本地接入之間廣播數據報文的方法中轉發矩陣子模塊工作流程 圖;圖4為本發明在本地接入之間廣播數據報文的方法中出口子模塊工作流程圖;圖5為本發明在本地接入之間廣播數據報文的裝置組成結構示意圖。
具體實施例方式本發明的基本思想是轉發矩陣子模塊將複製的封裝包插入到出口子模塊對應的 轉發隊列末尾;出口子模塊比較該封裝包中的標識屬性與待轉發的本地接入標識屬性是否 相同,如果不相同,則將該封裝包中的數據報文按照出接口封裝信息封裝後轉發到待轉發 的本地接入。
本發明提供的一種在本地接入之間廣播數據報文的方法,如圖2、圖3、圖4所示, 其中,圖2為入口子模塊的工作流程,包括以下步驟步驟201 入口子模塊對接收到的目的地址未知的數據報文封裝成一個封裝包;本步驟中,入口子模塊收到目的地址未知的數據報文後,將收到該數據報文的本 地接入的物理埠號和Vlan信息作為數據報文來源的本地接入的標識屬性,並將該標識 屬性、數據報文內容以及該數據報文所屬VPLS域編號封裝在一個封裝包中。步驟202 將該封裝包插入到轉發矩陣子模塊的廣播隊列的末尾。其中,轉發矩陣子模塊的處理流程,如圖3所示,包括以下步驟步驟301 檢查廣播隊列中是否存在封裝包,如果存在,則執行步驟302 ;否則,循 環執行步驟301 ;步驟302 從廣播隊列中讀取第一個封裝包,並通過該封裝包中的VPLS域編號查 詢出接口轉發表;本步驟中,根據VPLS域編號查詢出接口轉發表為現有技術,在此不做詳細描述。步驟303 檢查出接口轉發表中是否存在出接口條目,如果存在,則讀取第一條出 接口條目,得到對應的轉發隊列編號,並執行步驟304 ;否則,執行步驟306 ;本步驟中,在出接口條目中,含有待轉發的本地接入的標識屬性如埠號和Vlan 信息,一個出口子模塊對應一個本地接入,從而對應一個出接口條目,利用現有技術,通過 該出接口條目可以得到對應的轉發隊列編號,從而可以將該封裝包通過轉發隊列轉發至待 轉發的本地接入;如果在出接口轉發表中不存在出接口條目,說明不存在待轉發的本地接 入,也就不需要轉發該封裝包,則執行306。步驟304 複製該封裝包,並將其插入到出口子模塊對應的轉發隊列末尾;本步驟中,封裝包所插入的轉發隊列即為上述出接口條目對應的轉發隊列。步驟305 檢查出接口轉發表中是否存在下一條出接口條目,如果存在,則讀取下 一條出接口條目,得到相應的轉發隊列編號,並返回步驟304;否則,執行步驟306 ;步驟306 從廣播隊列中刪除該封裝包,返回步驟301。出口子模塊的工作流程如圖4所示,包括以下步驟步驟401 檢查轉發隊列中是否存在封裝包,如果存在,則從轉發隊列中讀取第一 個封裝包,並執行步驟402 ;否則,循環執行步驟401 ;步驟402 比較封裝包中的標識屬性與待轉發的本地接入的標識屬性是否相同, 如果不同,則執行步驟404 ;如果相同,則不轉發該數據報文,並執行步驟403 ;本步驟中,出口子模塊中含有待轉發的本地接入的標識屬性;將上述標識屬性與 轉發隊列中封裝包的標識屬性相比較,如果不相同,則執行步驟404;如果相同,則不轉發 該數據報文,並執行步驟403。步驟403 檢查轉發隊列中是否存在下一個封裝包,如果存在,則從轉發隊列中讀 取下一個封裝包,並返回步驟402 ;如果不存在,則返回步驟401 ;步驟404:將封裝包中的數據報文封裝後轉發到待轉發的本地接入,並從轉發隊 列中刪除該封裝包,返回步驟401。本步驟中,出口子模塊按照出口封裝信息如Vlan信息,將該封裝包中的數據報文 進行重新封裝後,轉發到待轉發的本地接入。
由此,該數據報文就可以廣播到與其來源的本地接入具有相同物理埠但不同 Vlan信息的其他本地接入,實現了數據報文在本地接入之間的廣播。上述入口子模塊、轉發 矩陣子模塊和出口子模塊的工作進程均可並行執行。基於上述方法,本發明還提供了一種在本地接入之間廣播數據報文的裝置,如圖5 所示,該裝置包括封裝包複製模塊、標識屬性比較模塊和報文封裝轉發模塊;其中,封裝包複製模塊,用於將封裝包複製後插入到出口子模塊對應的轉發隊列末尾, 位於轉發矩陣子模塊;標識屬性比較模塊,用於比較該封裝包中的標識屬性與待轉發的本地接入的標識 屬性是否相同,如果不相同,則將該封裝包中的數據報文發送至報文封裝轉發模塊,位於出 口子模塊;報文封裝轉發模塊,用於將數據報文按照出接口封裝信息封裝後轉發到待轉發的 本地接入,位於出口子模塊。該裝置還包括位於轉發矩陣子模塊的封裝包讀取模塊和出接口條目讀取模塊; 其中,封裝包讀取模塊,用於從廣播隊列中讀取封裝包,並通過該封裝包中的VPLS域編 號查詢出接口轉發表;出接口條目讀取模塊,用於在接口轉發表中讀取一條出接口條目,並得到對應的 轉發隊列編號。該裝置還包括位於入口子模塊的報文封裝模塊和封裝包轉發模塊;其中,報文封裝模塊,用於收到目的地址未知的數據報文後,將收到該數據報文的本地 接入的物理埠號和Vlan信息作為數據報文來源的本地接入的標識屬性,並將該標識屬 性、數據報文內容以及該數據報文所屬VPLS域編號封裝在一個封裝包中;封裝包轉發模塊,用於將封裝包插入到轉發矩陣模塊的廣播隊列的末尾。該裝置還包括位於出口子模塊中的封裝包讀取模塊,用於從轉發隊列中讀取一 個封裝包。以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍,凡在 本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護 範圍之內。
權利要求
一種在本地接入之間廣播數據報文的方法,其特徵在於,該方法包括轉發矩陣子模塊複製封裝包,並將該封裝包插入到出口子模塊對應的轉發隊列末尾;出口子模塊比較該封裝包中的標識屬性與待轉發的本地接入標識屬性是否相同,如果不相同,則將該封裝包中的數據報文按照出接口封裝信息封裝後轉發到待轉發的本地接入,並將該封裝包從轉發隊列中刪除。
2.根據權利要求1所述的方法,其特徵在於,所述轉發矩陣子模塊複製封裝包之前,該 方法還包括入口子模塊對接收到的目的地址未知的數據報文封裝成一個封裝包,並將該 封裝包插入到轉發矩陣子模塊的廣播隊列末尾。
3.根據權利要求1或2所述的方法,其特徵在於,所述封裝包中包括數據報文來源的 本地接入標識屬性、數據報文內容及該數據報文所屬虛擬專用區域網業務(VPLS)域編號。
4.根據權利要求3所述的方法,其特徵在於,所述封裝包插入到轉發矩陣子模塊的廣 播隊列末尾之後,轉發矩陣子模塊複製封裝包之前,該方法還包括轉發矩陣子模塊通過該 封裝包中的VPLS域編號查詢出接口轉發表,並從中讀取一條出接口條目,得到對應的轉發 隊列編號。
5.根據權利要求1所述的方法,其特徵在於,所述將該封裝包插入到出口子模塊對應 的轉發隊列末尾後,該方法還包括如果出接口轉發表中還存在下一條出接口條目,則讀取 下一條出接口條目並得到相應的轉發隊列編號,並將封裝包複製後插入到出口子模塊對應 的轉發隊列末尾;否則將該封裝包從廣播隊列中刪除。
6.根據權利要求1所述的方法,其特徵在於,如果出口子模塊比較該封裝包中的標識 屬性與待轉發的本地接入標識屬性相同,則不轉發該數據報文,如果轉發隊列中存在下一 個封裝包,繼續比較封裝包中標識屬性與待轉發的本地接入標識屬性是否相同。
7. 一種在本地接入之間廣播數據報文的裝置,其特徵在於,該裝置包括封裝包複製 模塊、標識屬性比較模塊和報文封裝轉發模塊;其中,位於轉發矩陣子模塊的封裝包複製模塊,用於將封裝包複製後插入到出口子模塊對應 的轉發隊列末尾;位於出口子模塊的標識屬性比較模塊,用於比較該封裝包中的標識屬性與待轉發的本 地接入標識屬性是否相同,如果不相同,則將該封裝包中的數據報文發送至報文封裝轉發 模塊;位於出口子模塊的報文封裝轉發模塊,用於將數據報文按照出接口封裝信息封裝後轉 發到待轉發的本地接入。
8.根據權利要求7所述的裝置,其特徵在於,該裝置還包括位於轉發矩陣子模塊的封 裝包複製模塊和出接口條目讀取模塊;其中,封裝包讀取模塊,用於從廣播隊列中讀取封裝包,並通過該封裝包中的VPLS域編號查 詢出接口轉發表;出接口條目讀取模塊,用於在接口轉發表中讀取一條出接口條目,並得到對應的轉發 隊列編號。
9.根據權利要求8所述的裝置,其特徵在於,該裝置還包括位於入口子模塊的報文封 裝模塊和封裝包轉發模塊;其中,報文封裝模塊,用於收到目的地址未知的數據報文後,將收到該數據報文的本地接入的物理埠號和虛擬區域網(Vlan)信息作為數據報文來源的本地接入的標識屬性,並將 該標識屬性、數據報文內容以及該數據報文所屬VPLS域編號封裝在一個封裝包中; 封裝包轉發模塊,用於將封裝包插入到轉發矩陣模塊的廣播隊列的末尾。
10.根據權利要求9所述的裝置,其特徵在於,該裝置還包括位於出口子模塊中的封 裝包讀取模塊,用於從轉發隊列中讀取一個封裝包。
全文摘要
本發明公開了一種在本地接入之間廣播數據報文的方法及裝置,轉發矩陣子模塊將複製的封裝包插入到出口子模塊對應的轉發隊列末尾;出口子模塊比較該封裝包中的標識屬性與待轉發的本地接入標識屬性是否相同,如果不相同,則將該封裝包中的數據報文按照出接口封裝信息封裝後轉發到待轉發的本地接入。採用本發明所述的方法及裝置,能夠使目的地址未知的數據報文在同一VPLS域內同一物理埠下不同類型的本地接入之間實現相互廣播,符合VPLS網絡的數據報文轉發原則。
文檔編號H04L12/56GK101800705SQ20101014039
公開日2010年8月11日 申請日期2010年3月18日 優先權日2010年3月18日
發明者殷江培 申請人:中興通訊股份有限公司