專利名稱:基于QinQ的報文傳輸方法和裝置的制作方法
技術領域:
本發(fā)明涉及通信領域,具體而言,涉及一種基于QinQ的報文傳輸方法和裝置。
背景技術:
QinQ是對基于IEEE 802. Iq封裝的隧道協(xié)議的形象稱呼,QinQ (即vlan (Virtual Local Area Network,虛擬局域網)堆疊)是現(xiàn)實網絡中常用的二層隧道協(xié)議,主要特點是 利用報文的雙層vlan tag (標簽),使用外層tag+目的mac進行QinQ鏈路中的二層轉發(fā), 利用內層tag來選擇網絡側的出端口?,F(xiàn)有技術的QinQ的網絡示意圖如圖1所示。發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題當有多條鏈路時,QinQ不能實現(xiàn)負載分 擔功能,結果會造成在實際應用中①有的鏈路過于繁忙導致丟包,有的鏈路卻沒有得到充分利用;②當某條鏈路發(fā)生故障斷掉時,不能及時應用其它鏈路來轉移業(yè)務;從而對用戶的使用造成不便,并對網絡的帶寬造成了浪費。
發(fā)明內容
本發(fā)明旨在提供一種基于QinQ的報文傳輸方法和裝置,以解決現(xiàn)有QinQ技術存 在的當有多條鏈路時,不能實現(xiàn)負載分擔功能,從而對用戶的使用造成不便,并對網絡的帶 寬造成了浪費的問題。根據本發(fā)明的一個方面,提供了一種基于QinQ的報文傳輸方法,包括配置多個 QinQ接口和一個邏輯接口,并將多個QinQ接口加入邏輯接口 ;邏輯接口根據預定的規(guī)則對 報文進行流分類,選擇多個QinQ接口對應的多條QinQ鏈路中的一條可用鏈路發(fā)送報文。優(yōu)選地,預定的規(guī)則包括根據報文的源IP地址對報文進行流分類;或根據報文 的目的IP地址對報文進行流分類;或根據報文的IP優(yōu)先級對報文進行流分類;配置多個QinQ接口和一個邏輯接口包括配置多個QinQ接口中的每個QinQ接口 的限速速率和發(fā)送隊列的長度。
優(yōu)選地,邏輯接口根據預定的規(guī)則對報文進行流分類,選擇多個QinQ接口對應的 多條QinQ鏈路中的一條可用鏈路發(fā)送報文包括邏輯接口根據報文獲得索引值M,選擇多 條QinQ鏈路中的第η條可用鏈路對報文進行流分類,其中η = N,%表示求余運算,N 表示可用鏈路的總數(shù)量;判斷第η條可用鏈路當前的發(fā)送速率是否超出配置的限速速率; 若未超出,則通過第η條可用鏈路發(fā)送報文。優(yōu)選地,在上述的方法中,還包括若超出,則將報文放入第η條可用鏈路的發(fā)送 隊列;根據配置的第η條可用鏈路的發(fā)送隊列的長度,判斷第η條可用鏈路的發(fā)送隊列是否 已滿;若是,則將第η條可用鏈路的發(fā)送隊列的隊首的報文交由邏輯接口重新選擇一條可 用鏈路發(fā)送。優(yōu)選地,將第η條可用鏈路的發(fā)送隊列的隊首的報文交由邏輯接口重新選擇一條 可用鏈路發(fā)送包括將取出的隊首的報文作為緊急報文交由邏輯接口 ;邏輯接口接收到作為緊急報文的隊首的報文后,從多條QinQ鏈路中選擇一條發(fā)送隊列為空的可用鏈路發(fā)送 隊首的報文;若多條QinQ鏈路中的所有可用鏈路的發(fā)送隊列均不為空,則丟棄隊首的報文。優(yōu)選地,在邏輯接口根據預定的規(guī)則對報文進行流分類,選擇多個QinQ接口對應 的多條QinQ鏈路中的一條可用鏈路發(fā)送報文之前還包括配置多個維護邊界點,并將維護 邊界點與QinQ接口進行一一對應地綁定;配置多個維護邊界點將多條QinQ鏈路中發(fā)生異 常的鏈路上報給邏輯接口。優(yōu)選地,當多個維護邊界點中的一個維護邊界點檢測到與其綁定的QinQ鏈路不 可用時,維護邊界點將QinQ鏈路不可用的消息上報給邏輯接口 ;當多個維護邊界點中的一 個維護邊界點檢測到與其綁定的QinQ鏈路恢復可用時,維護邊界點將QinQ鏈路恢復可用 的消息上報給邏輯接口。優(yōu)選地,在上述的方法中,還包括多條QinQ鏈路中的一條鏈路接收到帶外層標 簽的報文時,檢查報文的外層標簽是否正確;若是,則去掉報文的外層標簽,并將報文交由 邏輯接口根據報文的內層標簽選擇用戶側的接口發(fā)送報文;若否,則丟棄報文。根據本發(fā)明的另一個方面,還提供了一種基于QinQ的報文傳輸裝置,包括配置 模塊,用于配置多個QinQ接口和一個邏輯接口,并將多個QinQ接口加入邏輯接口 ;發(fā)送模 塊,用于邏輯接口根據預定的規(guī)則對報文進行流分類,選擇多個QinQ接口對應的多條QinQ 鏈路中的一條可用鏈路發(fā)送報文。優(yōu)選地,配置模塊還用于配置多個QinQ接口中的每個QinQ接口的限速速率和發(fā) 送隊列的長度;發(fā)送模塊包括流分類單元,用于邏輯接口根據報文獲得索引值M,選擇多條QinQ 鏈路中的第η條可用鏈路對報文進行流分類,其中η = N,%表示求余運算,N表示可 用鏈路的總數(shù)量;判斷單元,用于判斷第η條可用鏈路當前的發(fā)送速率是否超出配置的限速速率;執(zhí)行單元,用于當判斷單元的判斷結果為第η條可用鏈路當前的發(fā)送速率未超出 配置的限速速率時,通過第η條可用鏈路發(fā)送報文。優(yōu)選地,執(zhí)行單元還用于當判斷單元的判斷結果為第η條可用鏈路當前的發(fā)送速 率超出配置的限速速率時,將報文放入第η條可用鏈路的發(fā)送隊列;還用于當判斷單元的 判斷結果為第η條可用鏈路的發(fā)送隊列已滿時,將第η條可用鏈路的發(fā)送隊列的隊首的報 文交由邏輯接口重新選擇一條可用鏈路發(fā)送;判斷單元還用于根據配置的第η條可用鏈路的發(fā)送隊列的長度,判斷第η條可用 鏈路的發(fā)送隊列是否已滿。優(yōu)選地,配置模塊還用于配置多個維護邊界點,并將維護邊界點與QinQ接口進行 一一對應地綁定;還用于配置多個維護邊界點將多條QinQ鏈路中發(fā)生異常的鏈路上報給 邏輯接口。優(yōu)選地,在上述的裝置中,還包括接收模塊,用于當多條QinQ鏈路中的一條鏈路 接收到帶外層標簽的報文時,檢查報文的外層標簽是否正確;若是,則去掉報文的外層標 簽,并將報文交由邏輯接口根據報文的內層標簽選擇用戶側的接口發(fā)送報文;若否,則丟棄 報文。5
由于將多條QinQ鏈路綁定為一條邏輯鏈路,利用802. lag協(xié)議和端口限速功能, 動態(tài)分配流量,解決了現(xiàn)有QinQ技術存在的當有多條鏈路時,不能實現(xiàn)負載分擔功能,從 而對用戶的使用造成不便,并對網絡的帶寬造成了浪費的問題,從而能夠提高網絡的使用 效率,保證對用戶的服務質量,實現(xiàn)了基于QinQ的負載分擔、故障檢測、多條鏈路的QoS等 功能。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖1示出了現(xiàn)有技術的QinQ網絡的示意圖;圖2示出了根據本發(fā)明實施例的基于QinQ的報文傳輸方法的流程圖;圖3示出了根據本發(fā)明優(yōu)選實施例的QinQ網絡的示意圖;圖4示出了根據本發(fā)明優(yōu)選實施例的有一條鏈路不可用的QinQ網絡的示意圖之 圖5示出了根據本發(fā)明優(yōu)選實施例的有一條鏈路不可用的QinQ網絡的示意圖之 --;圖6示出了根據本發(fā)明優(yōu)選實施例的有一條鏈路恢復可用的QinQ網絡的示意圖 之一;圖7示出了根據本發(fā)明優(yōu)選實施例的有一條鏈路恢復可用的QinQ網絡的示意圖 之二;圖8示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的配置過程的流 程圖;圖9示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的發(fā)送過程的流 程圖;圖10示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的鏈路重新選擇 過程的流程圖;圖11示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的鏈路恢復過程 的流程圖;圖12示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的接收過程的流 程圖;圖13示出了根據本發(fā)明實施例的基于QinQ的報文傳輸裝置的示意圖。
具體實施例方式下面將參考附圖并結合實施例,來詳細說明本發(fā)明。圖2示出了根據本發(fā)明實施例的基于QinQ的報文傳輸方法的流程圖,包括以下步 驟步驟S10,配置多個QinQ接口和一個邏輯接口,并將多個QinQ接口加入邏輯接 Π ;步驟S20,邏輯接口根據預定的規(guī)則對報文進行流分類,選擇多個QinQ接口對應的多條QinQ鏈路中的一條可用鏈路發(fā)送報文。該實施例由于通過將配置的多個QinQ接口加入配置的一個邏輯接口中,從而將 多條QinQ鏈路綁定為一條邏輯鏈路,發(fā)送報文時邏輯接口根據預定的規(guī)則選擇一條QinQ 鏈路進行發(fā)送,解決了現(xiàn)有QinQ技術存在的當有多條鏈路時,不能實現(xiàn)負載分擔功能,從 而對用戶的使用造成不便,并對網絡的帶寬造成了浪費的問題。使用該實施例實現(xiàn)了動態(tài) 地分配流量,能夠提高網絡的使用效率,保證對用戶的服務質量。其中,預定的規(guī)則包括根據報文的源IP地址對報文進行流分類;或根據報文的 目的IP地址對報文進行流分類;或根據報文的IP優(yōu)先級對報文進行流分類。報文的IP頭 攜帶有一個6bit的參數(shù),該參數(shù)表示報文的優(yōu)先級。優(yōu)選地,步驟S 10包括配置多個QinQ接口中的每個QinQ接口的限速速率和發(fā) 送隊列的長度。步驟S20包括邏輯接口根據報文獲得索引值M,選擇多條QinQ鏈路中的第η條可用鏈路對報文 進行流分類,其中η = N,%表示求余運算,N表示可用鏈路的總數(shù)量;判斷第η條可用鏈路當前的發(fā)送速率是否超出配置的限速速率;若未超出,則通過第η條可用鏈路發(fā)送報文;若超出,則將報文放入第η條可用鏈路的發(fā)送隊列;根據配置的第η條可用鏈路的 發(fā)送隊列的長度,判斷第η條可用鏈路的發(fā)送隊列是否已滿;若是,則將第η條可用鏈路的 發(fā)送隊列的隊首的報文交由邏輯接口重新選擇一條可用鏈路發(fā)送。其中,將第η條可用鏈路的發(fā)送隊列的隊首的報文交由邏輯接口重新選擇一條可 用鏈路發(fā)送包括取出第η條可用鏈路的發(fā)送隊列的隊首的報文;將隊首的報文打上緊急 標志后交由邏輯接口 ;邏輯接口根據緊急標志判定隊首的報文為緊急報文,從多條QinQ鏈 路中選擇一條發(fā)送隊列為空的可用鏈路發(fā)送隊首的報文;若多條QinQ鏈路中的所有可用 鏈路的發(fā)送隊列均不為空,則丟棄隊首的報文。該優(yōu)選實施例提供了本發(fā)明提出的基于QinQ的報文傳輸方法發(fā)送報文的一種具 體實施方案。通過該優(yōu)選實施例能夠有效地實現(xiàn)負載分擔功能。優(yōu)選地,在步驟S20之前還包括配置多個維護邊界點,并將配置的維護邊界點與 QinQ接口進行一一對應地綁定;配置多個維護邊界點將多條QinQ鏈路中發(fā)生異常的鏈路 上報給邏輯接口。配置維護邊界點的目的是為了對QinQ鏈路進行監(jiān)控,當QinQ鏈路不可 用或恢復可用時,上報給邏輯接口,邏輯接口可以獲知QinQ鏈路是否可用,從而確保為發(fā) 送的報文選擇可用的鏈路進行發(fā)送。其中,當多個維護邊界點中的一個維護邊界點檢測到與其綁定的QinQ鏈路不可 用(在一定時間內未收到對端發(fā)送的連續(xù)性檢查消息或者接收到的連續(xù)性檢查消息帶異 常標志)時,維護邊界點將QinQ鏈路不可用的消息上報給邏輯接口,并將發(fā)送的連續(xù)性檢 查消息添加異常標志;當多個維護邊界點中的一個維護邊界點檢測到與其綁定的QinQ鏈路恢復可用 (重新收到對端發(fā)送的連續(xù)性檢查消息或者接收到的連續(xù)性檢查消息不帶異常標志)時, 維護邊界點將QinQ鏈路恢復可用的消息上報給邏輯接口。該優(yōu)選實施例提供了本發(fā)明提出的基于QinQ的報文傳輸方法實現(xiàn)故障檢測、多條鏈路的QoS的功能的具體實施方案。本發(fā)明利用802. lag協(xié)議來進行QinQ鏈路的監(jiān)控。優(yōu)選地,在上述的方法中,還包括多條QinQ鏈路中的一條鏈路接收到帶外層標 簽的報文時,檢查報文的外層標簽是否正確;若是,則去掉報文的外層標簽,并將報文交由 邏輯接口根據報文的內層標簽選擇用戶側的接口發(fā)送報文;若否,則丟棄報文。該優(yōu)選實施例提供了本發(fā)明提出的基于QinQ的報文傳輸方法接收報文的具體實 施方案。上述優(yōu)選實施例通過將多條QinQ鏈路綁定為一條邏輯鏈路,實現(xiàn)負載分擔、故障 檢測、多條鏈路的QoS等功能。本發(fā)明主要包括以下內容1、發(fā)送時根據流分類選擇QinQ鏈路報文必須按照流分類來選擇鏈路,保證單一的流在同一條鏈路中發(fā)送,因為不同 的QinQ鏈路報文的發(fā)送時間可能是不同的,如果同一條流選擇不同的鏈路發(fā)送,會造成接 收端的亂序。流分類原則可以選擇根據源IP地址分類,根據目的IP地址分類,或者根據IP 優(yōu)先級分類等等;流分類的結果必須和可用鏈路的狀態(tài)相關,如果一條QinQ鏈路被發(fā)現(xiàn)不 可用,卻被選擇為發(fā)送鏈路,這是不正確的。2、單條鏈路忙時重新選擇鏈路為了在單條QinQ鏈路繁忙時能夠保證報文不丟失,本發(fā)明使用特殊的QoS機制對 報文進行雙層QoS管理a、邏輯接口的發(fā)送端口選擇;b、單條QinQ鏈路的限速和隊列。報 文在發(fā)送時,首先由邏輯接口按照流分類選擇一條QinQ鏈路發(fā)送,如果超出該條鏈路的限 速,則認為鏈路繁忙,將報文進入QinQ鏈路的隊列中,當隊列滿時,從隊列頭取出報文(這 是為了保證報文發(fā)送的順序),重新進入邏輯接口的端口選擇流程,邏輯接口根據隊列的繁 忙程度,重新選擇一條鏈路來發(fā)送報文。3、鏈路狀態(tài)改變時改變流分類規(guī)則QinQ鏈路的一個問題是鏈路上可能有多跳,如果中間一跳出現(xiàn)問題,不能迅速 被發(fā)現(xiàn)。本發(fā)明使用802. lag協(xié)議來進行QinQ鏈路的監(jiān)控,在QinQ鏈路的起點和終點配 置MEP (維護邊界點),通過監(jiān)聽MEP發(fā)送的CCM(Continuity Check Message,連續(xù)性檢查 消息)報文,來監(jiān)視網絡的健康狀況。配置維護邊界點的目的是為了對QinQ鏈路進行監(jiān) 控,當QinQ鏈路不可用或恢復可用時,上報給邏輯接口,邏輯接口可以獲知QinQ鏈路是否 可用,從而確保為發(fā)送的報文選擇可用的鏈路進行發(fā)送。當邏輯接口發(fā)現(xiàn)下屬的某條QinQ鏈路上發(fā)生故障時,修改流分類規(guī)則,從邏輯接 口上可用鏈路的集合中將該條鏈路刪除,保證走該條鏈路的流選擇其它鏈路發(fā)送。當邏輯接口發(fā)現(xiàn)下屬的某條QinQ鏈路上故障恢復時,恢復流分類規(guī)則,從邏輯接 口中可用鏈路集合中添加該條鏈路,保證出現(xiàn)故障之前走該條鏈路的流恢復到該條鏈路上來。4、報文的接收報文在接收端,接收流程為=QinQ鏈路收到報文,如果外層標簽正確,去掉外層標 簽,交給邏輯接口處理,邏輯接口根據內層tag,選擇報文的用戶側出端口。圖8示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的配置過程的流 程圖,包括以下步驟
步驟S802,配置多個QinQ接口 ;步驟S804,配置多個MEP (數(shù)目和QinQ接口數(shù)目相同),使能CCM的發(fā)送和接收功 能,主vlan為被監(jiān)測的QinQ的服務vlan ;步驟S806,配置QinQ接口的限速速率和隊列長度;步驟S808,配置邏輯接口,將QinQ接口加入邏輯接口 ;步驟S810,將MEP和被監(jiān)測的QinQ接口綁定;步驟S812,指定MEP上報異常的邏輯接口。圖9示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的發(fā)送過程的流 程圖,包括以下步驟步驟S902,邏輯接口進行流分類,根據流的特性得出索引值M,鏈路集合中可用的 鏈路數(shù)目是N,n = M% 表示求余),選擇第η條可用鏈路進行流的分類;步驟S904,在第η條鏈路,判斷發(fā)送速率是否超出鏈路的限速速率,若否,則轉入 步驟S906,如是,則轉入步驟S908 ;步驟S906,將報文通過該第η條可用鏈路進行發(fā)送;步驟S908,將報文放入第η條鏈路的FIFO (先入先出)隊列;步驟S910,判斷該第η條鏈路的FIFO隊列是否已滿,若否,則等待后轉入步驟 S906,若是,則轉入步驟S912 ;步驟S912,將隊首的報文取出,打緊急標志,重新交給邏輯接口處理;步驟S914,邏輯接口發(fā)現(xiàn)報文是緊急報文,不按照流分類,而是選擇一條發(fā)送隊列 為空的鏈路發(fā)送報文;步驟S916,如果所有鏈路的發(fā)送隊列都不為空,將報文丟棄。如圖3所示,語音1通過vlanl發(fā)送,語音2通過vlan2發(fā)送,vlanl和vlan2均 通過監(jiān)聽MEP發(fā)送的CCM報文,來監(jiān)視鏈路是否可用。圖10示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的鏈路重新選擇 過程的流程圖,包括以下步驟步驟S1002,802. lag的MEP在3. 5倍周期內沒有收到對端發(fā)送的CCM報文,或者 接收到的CCM報文帶異常標志,上報邏輯端口,且發(fā)送的CCM報文加異常標志;步驟S1004,邏輯端口將該鏈路從可用鏈路集合中刪除,可用鏈路數(shù)目N-1。如圖4和圖5所示,當MEP監(jiān)視到vlanl不可用(vlanl down)時,使用vlan2發(fā) 送語音1和語音2。圖11示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的鏈路恢復過程 的流程圖,包括以下步驟步驟Sl 102,802. lag的MEP重新收到對端發(fā)送的CCM報文,且對端發(fā)送的CCM報 文不帶異常標志,上報邏輯端口 ;步驟S1104,邏輯端口將該鏈路添加到可用鏈路集合中,可用鏈路數(shù)目N+1。如圖6和圖7所示,當MEP監(jiān)視到vlanl恢復為可用(vlanlup)時,重新使用vlanl 發(fā)送語音1。圖12示出了根據本發(fā)明優(yōu)選實施例的基于QinQ的報文傳輸方法的接收過程的流 程圖,包括以下步驟9
步驟S1202,QinQ鏈路接收到帶外層tag的報文;步驟S1204,檢查報文外層tag是否正確,若是,則轉入步驟S1208,若否,則轉入步 驟 S1206 ;步驟S1206,丟棄報文;步驟S1208,剝掉報文的外層tag,將報文交給邏輯接口處理;步驟S 1210,邏輯端口根據內層tag,選擇用戶側的接口發(fā)送。圖13示出了根據本發(fā)明實施例的基于QinQ的報文傳輸裝置的示意圖,包括配置 模塊10,用于配置多個QinQ接口和一個邏輯接口,并將多個QinQ接口加入邏輯接口 ;發(fā)送 模塊20,用于邏輯接口根據預定的規(guī)則對報文進行流分類,選擇多個QinQ接口對應的多條 QinQ鏈路中的一條可用鏈路發(fā)送報文。該實施例由于通過將配置的多個QinQ接口加入配置的一個邏輯接口中,從而將 多條QinQ鏈路綁定為一條邏輯鏈路,發(fā)送報文時邏輯接口根據預定的規(guī)則選擇一條QinQ 鏈路進行發(fā)送,解決了現(xiàn)有QinQ技術存在的當有多條鏈路時,不能實現(xiàn)負載分擔功能,從 而對用戶的使用造成不便,并對網絡的帶寬造成了浪費的問題。使用該實施例實現(xiàn)了動態(tài) 地分配流量,能夠提高網絡的使用效率,保證對用戶的服務質量。優(yōu)選地,配置模塊10還用于配置多個QinQ接口中的每個QinQ接口的限速速率和 發(fā)送隊列的長度;發(fā)送模塊20包括流分類單元201,用于邏輯接口根據報文獲得索引值M,選擇多 條QinQ鏈路中的第η條可用鏈路對報文進行流分類,其中η = N,%表示求余運算,N 表示可用鏈路的總數(shù)量;判斷單元202,用于判斷第η條可用鏈路當前的發(fā)送速率是否超出 配置的限速速率;執(zhí)行單元203,用于當判斷單元202的判斷結果為第η條可用鏈路當前的 發(fā)送速率未超出配置的限速速率時,通過第η條可用鏈路發(fā)送報文。優(yōu)選地,執(zhí)行單元203還用于當判斷單元202的判斷結果為第η條可用鏈路當前 的發(fā)送速率超出配置的限速速率時,將報文放入第η條可用鏈路的發(fā)送隊列;還用于當判 斷單元202的判斷結果為第η條可用鏈路的發(fā)送隊列已滿時,將第η條可用鏈路的發(fā)送隊 列的隊首的報文交由邏輯接口重新選擇一條可用鏈路發(fā)送;判斷單元202還用于根據配置的第η條可用鏈路的發(fā)送隊列的長度,判斷第η條 可用鏈路的發(fā)送隊列是否已滿。優(yōu)選地,配置模塊10還用于配置多個維護邊界點,并將維護邊界點與QinQ接口進 行一一對應地綁定;還用于配置多個維護邊界點將多條QinQ鏈路中發(fā)生異常的鏈路上報 給邏輯接口。優(yōu)選地,在上述的裝置中,還包括接收模塊30,用于當多條QinQ鏈路中的一條鏈 路接收到帶外層標簽的報文時,檢查報文的外層標簽是否正確;若是,則去掉報文的外層標 簽,并將報文交由邏輯接口根據報文的內層標簽選擇用戶側的接口發(fā)送報文;若否,則丟棄 報文。從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術效果由于將多條QinQ鏈路 綁定為一條邏輯鏈路,利用802. lag協(xié)議和端口限速功能,動態(tài)分配流量,解決了現(xiàn)有QinQ 技術存在的當有多條鏈路時,不能實現(xiàn)負載分擔功能,從而對用戶的使用造成不便,并對網 絡的帶寬造成了浪費的問題。使用該實施例能夠提高網絡的使用效率,保證對用戶的服務質量。通過將多條QinQ鏈路綁定為一條邏輯鏈路,實現(xiàn)負載分擔、故障檢測、多條鏈路的 QoS等功能。顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們 中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技 術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種基于QinQ的報文傳輸方法,其特征在于,包括配置多個QinQ接口和一個邏輯接口,并將所述多個QinQ接口加入所述邏輯接口 ; 所述邏輯接口根據預定的規(guī)則對報文進行流分類,選擇所述多個QinQ接口對應的多 條QinQ鏈路中的一條可用鏈路發(fā)送所述報文。
2.根據權利要求1所述的方法,其特征在于,所述預定的規(guī)則包括 根據報文的源IP地址對報文進行流分類;或根據報文的目的IP地址對報文進行流分類;或 根據報文的IP優(yōu)先級對報文進行流分類; 配置多個QinQ接口和一個邏輯接口包括配置所述多個QinQ接口中的每個QinQ接口的限速速率和發(fā)送隊列的長度。
3.根據權利要求2所述的方法,其特征在于,所述邏輯接口根據預定的規(guī)則對報文進 行流分類,選擇所述多個QinQ接口對應的多條QinQ鏈路中的一條可用鏈路發(fā)送所述報文 包括所述邏輯接口根據所述報文獲得索引值M,選擇所述多條QinQ鏈路中的第η條可用 鏈路對所述報文進行流分類,其中η = N,%表示求余運算,N表示可用鏈路的總數(shù)量; 判斷所述第η條可用鏈路當前的發(fā)送速率是否超出配置的限速速率;若未超出,則通過所述第η條可用鏈路發(fā)送所述報文。
4.根據權利要求3所述的方法,其特征在于,還包括 若超出,則將所述報文放入所述第η條可用鏈路的發(fā)送隊列;根據配置的所述第η條可用鏈路的發(fā)送隊列的長度,判斷所述第η條可用鏈路的發(fā)送 隊列是否已滿;若是,則將所述第η條可用鏈路的發(fā)送隊列的隊首的報文交由所述邏輯接口重新選擇 一條可用鏈路發(fā)送。
5.根據權利要求4所述的方法,其特征在于,將所述第η條可用鏈路的發(fā)送隊列的隊首 的報文交由所述邏輯接口重新選擇一條可用鏈路發(fā)送包括將取出的所述隊首的報文作為緊急報文交由所述邏輯接口;所述邏輯接口接收到作為緊急報文的所述隊首的報文后,從所述多條QinQ鏈路中選 擇一條發(fā)送隊列為空的可用鏈路發(fā)送所述隊首的報文;若所述多條QinQ鏈路中的所有可用鏈路的發(fā)送隊列均不為空,則丟棄所述隊首的報文。
6.根據權利要求1至5任一項所述的方法,其特征在于,在所述邏輯接口根據預定的規(guī) 則對報文進行流分類,選擇所述多個QinQ接口對應的多條QinQ鏈路中的一條可用鏈路發(fā) 送所述報文之前還包括配置多個維護邊界點,并將維護邊界點與所述QinQ接口進行一一對應地綁定; 配置所述多個維護邊界點將所述多條QinQ鏈路中發(fā)生異常的鏈路上報給所述邏輯接□。
7.根據權利要求6所述的方法,其特征在于,當所述多個維護邊界點中的一個維護邊界點檢測到與其綁定的QinQ鏈路不可用時, 所述維護邊界點將所述QinQ鏈路不可用的消息上報給所述邏輯接口 ;當所述多個維護邊界點中的一個維護邊界點檢測到與其綁定的QinQ鏈路恢復可用時,所述維護邊界點將所述QinQ鏈路恢復可用的消息上報給所述邏輯接口。
8.根據權利要求1所述的方法,其特征在于,還包括所述多條QinQ鏈路中的一條鏈路接收到帶外層標簽的報文時,檢查所述報文的外層 標簽是否正確;若是,則去掉所述報文的外層標簽,并將所述報文交由所述邏輯接口根據所述報文的 內層標簽選擇用戶側的接口發(fā)送所述報文;若否,則丟棄所述報文。
9.一種基于QinQ的報文傳輸裝置,其特征在于,包括配置模塊,用于配置多個QinQ接口和一個邏輯接口,并將所述多個QinQ接口加入所述 邏輯接口 ;發(fā)送模塊,用于所述邏輯接口根據預定的規(guī)則對報文進行流分類,選擇所述多個QinQ 接口對應的多條QinQ鏈路中的一條可用鏈路發(fā)送所述報文。
10.根據權利要求9所述的裝置,其特征在于,所述配置模塊還用于配置所述多個QinQ 接口中的每個QinQ接口的限速速率和發(fā)送隊列的長度;所述發(fā)送模塊包括流分類單元,用于所述邏輯接口根據所述報文獲得索引值M,選擇所述多條QinQ鏈路 中的第η條可用鏈路對所述報文進行流分類,其中η = N,%表示求余運算,N表示可 用鏈路的總數(shù)量;判斷單元,用于判斷所述第η條可用鏈路當前的發(fā)送速率是否超出配置的限速速率;執(zhí)行單元,用于當所述判斷單元的判斷結果為所述第η條可用鏈路當前的發(fā)送速率未 超出配置的限速速率時,通過所述第η條可用鏈路發(fā)送所述報文。
11.根據權利要求10所述的裝置,其特征在于,所述執(zhí)行單元還用于當所述判斷單元的判斷結果為所述第η條可用鏈路當前的發(fā)送 速率超出配置的限速速率時,將所述報文放入所述第η條可用鏈路的發(fā)送隊列;還用于當 所述判斷單元的判斷結果為所述第η條可用鏈路的發(fā)送隊列已滿時,將所述第η條可用鏈 路的發(fā)送隊列的隊首的報文交由所述邏輯接口重新選擇一條可用鏈路發(fā)送;所述判斷單元還用于根據配置的所述第η條可用鏈路的發(fā)送隊列的長度,判斷所述第 η條可用鏈路的發(fā)送隊列是否已滿。
12.根據權利要求9至11任一項所述的裝置,其特征在于,所述配置模塊還用于配置多 個維護邊界點,并將維護邊界點與所述QinQ接口進行一一對應地綁定;還用于配置所述多 個維護邊界點將所述多條QinQ鏈路中發(fā)生異常的鏈路上報給所述邏輯接口。
13.根據權利要求10所述的裝置,其特征在于,還包括接收模塊,用于當所述多條QinQ鏈路中的一條鏈路接收到帶外層標簽的報文時,檢查 所述報文的外層標簽是否正確;若是,則去掉所述報文的外層標簽,并將所述報文交由所述 邏輯接口根據所述報文的內層標簽選擇用戶側的接口發(fā)送所述報文;若否,則丟棄所述報文。
全文摘要
本發(fā)明提供了一種基于QinQ的報文傳輸方法,包括配置多個QinQ接口和一個邏輯接口,并將多個QinQ接口加入邏輯接口;邏輯接口根據預定的規(guī)則對報文進行流分類,選擇多個QinQ接口對應的多條QinQ鏈路中的一條可用鏈路發(fā)送報文。本發(fā)明還提供了一種基于QinQ的報文傳輸裝置。本發(fā)明實現(xiàn)了動態(tài)地分配流量,能夠提高網絡的使用效率,保證對用戶的服務質量,實現(xiàn)了基于QinQ的負載分擔、故障檢測、多條鏈路的QoS等功能。
文檔編號H04L12/56GK102055720SQ20091017441
公開日2011年5月11日 申請日期2009年10月28日 優(yōu)先權日2009年10月28日
發(fā)明者翟健, 郁聰 申請人:中興通訊股份有限公司