一種基於應用層協議選擇鏈路的設備及其方法
2023-09-20 23:03:20 1
專利名稱:一種基於應用層協議選擇鏈路的設備及其方法
技術領域:
本發明涉及通信領域,特別是涉及一種基於應用層協議選擇鏈路的設備及其方法。
背景技術:
當前,運營商部署的鏈路具有不同的質量屬性,有些鏈路的質量較好,有些鏈路的質量較差。如圖1所示,現有技術中通信系統10包括深度包檢測(Deep PacketInspection,簡稱DPI)設備101、第一路由器102、第二路由器103以及第三路由器104。其中,鏈路I包括DPI設備101、第一路由器102以及第二路由器103,鏈路2包括DPI設備101、第一路由器102以及第三路由器104,鏈路I的質量比鏈路2的質量好。報文流在報文中IP頭中設置有差分服務碼點(Differentiated Services Code Point,簡稱DSCP)標記,DPI設備101通過DSCP標記的數值設置報文流的優先級,當報文流的優先級較高時,第一路由器102選擇質量較高的鏈路I進行傳輸報文流;當報文流的優先級較低時,第一路由器102選擇質量較低的鏈路2進行傳輸報文流。但是反向的報文流(下行報文流)無法選擇鏈路,這樣就可能會出現上行的報文流通過鏈路I進行傳輸,而下行的報文流通過鏈路2進行傳輸,導致上行的報文流和下行的報文流選擇不同質量的鏈路進行傳輸
發明內容
有鑑於此,本發明實施例提供了一種基於應用層協議選擇鏈路的系統及其方法,以解決上行的報文和下行的報文選擇不同質量的鏈路進行傳輸的問題。第一方面提供一種基於應用層協議選擇鏈路的方法,其包括以下步驟接收報文,解析報文的三元組信息;根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若報文的三元組信息與關係表中的三元組信息一致時,則將關係表中與三元組信息對應的優先級添加到報文的報文頭中;根據報文頭中的優先級將報文發送給對應的路由器。結合第一方面的實現方式,在第一種可能的實現方式中,方法還包括若報文的三元組信息與關係表中的三元組信息不一致時,則按預先確定的規則在報文的報文頭中添加相應的優先級,並根據報文頭中的優先級將報文發送給對應的路由器。結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,若報文的三元組信息與關係表中的三元組信息不一致時還包括判斷報文是否為首包;若報文不是首包,則解析出報文的應用層協議,若應用層協議對應的優先級為高,則將報文的三元組信息以及對應的優先級增加到關係表中。結合第一方面或第一種可能或第二種可能的實現方式,在第三種可能的實現方式中,根據報文頭中的優先級將報文發送給對應的路由器還包括根據報文頭中的優先級對報文地址進行轉換;根據轉換出的地址將報文發送給對應的路由器。結合第一方面或第一種可能或第二種可能或第三種可能的實現方式,在第四種可能的實現方式中,優先級為DSCP值,DSCP值添加在報文頭的8比特欄位中。結合第一方面或第一種可能或第二種可能或第三種可能或第四種可能的實現方式,在第五種可能的實現方式中,方法還包括預先確定的規則為報文的DSCP值為低優先級。第二方面提供一種基於應用層協議選擇鏈路的設備,其接收報文,並解析報文的三元組信息,設備根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若報文的三元組信息與關係表中的三元組信息一致時,則設備將關係表中與三元組信息對應的優先級添加到報文的報文頭中,並根據報文頭中的優先級將報文發送給對應的路由器。結合第二方面的實現方式,在第一種可能的實現方式中,若報文的三元組信息與關係表中的三元組信息不一致時,則設備按預先確定的規則在報文的報文頭中添加相應的優先級,並根據報文頭中的優先級將報文發送給對應的路由器。結合第二方面的第一種可能的實現方式,在第二種可能的實現方式中,若報文的三元組信息與關係表中的三元組信息不一致時,設備還判斷報文是否為首包;若報文不是首包,則設備解析出報文的應用層協議,若應用層協議對應的優先級為高,則設備將報文的三元組信息以及對應的優選級增加到關係表中。結合第二方面或第一種可能或第二種可能的實現方式,在第三種可能的實現方式中,設備根據報文頭中的優先級對報文地址進行轉換,並根據轉換出的地址將報文發送給對應的路由器。結合第二方面或第一種可 能或第二種可能或第三種可能的實現方式,在第四種可能的實現方式中,優先級為DSCP值,DSCP值添加在報文頭的8比特欄位中。結合第二方面或第一種可能或第二種可能或第三種可能或第四種可能的實現方式,在第五種可能的實現方式中,預先確定的規則為報文的DSCP值為低優先級。結合第二方面的實現方式,在第六種可能的實現方式中,設備包括DPI單元和NAT單元,DPI單元接收報文,並解析報文的三元組信息,DPI單元根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若報文的三元組信息與關係表中的三元組信息一致時,則DPI單元將關係表中與報文的三元組信息對應的優先級添加到報文的報文頭中,NAT單元根據報文頭中的優先級將報文發送給對應的路由器。通過上述方案,本發明的有益效果是本發明通過根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若報文的三元組信息與關係表中的三元組信息一致時,則將關係表中與三元組信息對應的優先級添加到報文的報文頭中,並根據報文頭中的優先級將報文發送給對應的路由器,以實現上行的報文和下行的報文選擇相同鏈路進行傳輸。
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。其中圖1是現有技術中通信系統的示意框圖;圖2是本發明第一實施例的基於應用層協議選擇鏈路的系統的示意框圖;圖3是本發明第三實施例的基於應用層協議選擇鏈路的系統的示意框圖;圖4是本發明第一實施例的基於應用層協議選擇鏈路的方法的流程圖;圖5是本發明第二實施例的基於應用層協議選擇鏈路的方法的流程圖;圖6是本發明第三實施例的基於應用層協議選擇鏈路的方法的流程圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性的勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。參閱圖2,圖2是本發明第一實施例的基於應用層協議選擇鏈路的系統的示意框圖。本實施例所揭示的系統20包括基於應用層協議選擇鏈路的設備201、第一路由器202以及第二路由器203。其中,設備201和第一路由器202組成鏈路1,設備201和第二路由器203組成鏈路2,鏈路I的質量較鏈路2的質量好。在本實施例中,設備201接收報文,並且解析報文的三元組信息,設備201根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致。若報文的三兀組信息與關係表中的三兀組信息一致時,貝1J設備201將關係表中與三元組信息對應的優先級添加到報文的報文頭中。設備201根據報文頭中的優先級將報文發送給對應的路由器。三元組信息包括所述報文的源地址、源埠號以及協議類型。若三元組信息對應的優先級為高優先級,則設備201將高優先級設置在報文的報文頭中,並根據報文頭的高優先級將報文發送給第一路由器202,由第一路由器202將該報文發送給目標設備;該報文對應的下行報文則通過第一路由器202發送到設備201。若三元組信息對應的優先級為低優先級,則設備201將低優先級設置在報文的報文頭中,並根據報文頭的低優先級將報文發送給第二路由器203,由第二路由器203將該發送給目標設備;該報文對應的下行報文會通過第二路由器203發送到設備201。因此,上行報文和下行報文選擇相同的鏈路進行傳輸。本實施例通過設備201根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致,若報文的三元組信息與關係表中的三元組信息一致時,則設備201將關係表中與三元組信息對應的優先級添加到報文的報文頭中,並根據報文頭中的優先級將報文發送給對應的路由器。本發明還提供第二實施例的基於應用層協議選擇鏈路的系統,其在第一實施例所揭示的系統20的基礎上進行詳細描述。在本實施例中,若報文的三元組信息與關係表中的三元組信息不一致時,則設備201按預先確定的規則在報文頭中添加相應的優先級,並根據報文頭中的優先級將報文發送給對應的路由器。其中,優先級為DSCP值,通過DSCP值區分報文的優先級,設備201將DSCP值添加在報文的報文頭的8個比特欄位中,以實現設備201將優先級添加到報文的報文頭中。預先確定的規則可以為,報文的DSCP值為低優先級,即設備201在報文的報文頭中添加低優先級的DSCP值。DSCP值用戶可根據需要進行設定,如將DSCP值設為I和0,其中I表示高優先級,0表示低優先級。用戶也可以將DSCP值設為具體的數值,並定義某些數值為高優先級,其他數值為低優先級;如DSCP值可以為1,2,3和4,其中I為高優先級,2-4為低優先級。具體如何設定DSCP值,如何設定各個DSCP值對應的優先級級別,由用戶根據自己的需求來設定。具體地,若報文的三元組信息與關係表中的三元組信息不一致時,則設備201還判斷報文是否為首包,若設備201判斷報文為首包,則設備201將報文的DSCP值設為低優先級;若設備201判斷報文不是首包,則設備201解析報文的應用層協議,若應用層協議對應的優先級為高,則設備201將報文的三元組信息以及對應的優先級增加到關係表中。在本實施例中,設備201通過分析報文攜帶的特徵或通過報文的行為特徵來解析報文的應用層協議。例如,「http」報文的數據內容攜帶有「http」字符串,或者連續幾個報文都是一定數量的字節,設備201根據解析報文是否有如上特徵,以解析報文的應用層協議。在本實施例中,報文的應用層協議包括超文本傳輸協議(Hypertext TransferProtocol,HTTP),網絡文件系統協議(Net File System,NFS),域名系統協議(Domain NameSystem, DNS),文件傳輸協議(File Transfer Protocol, FTP),簡單郵件傳輸協議(SimpleMail Transfer Protocol, SMTP)等,用戶根據需要自行設置報文的應用層協議的優先級。例如用戶將HTTP協議設置為高優先級,其他協議為低優先級;或者用戶將HTTP協議和SMTP設置為高優先級,其他協議為低優先級。在本實施例中,若報文的三元組信息與關係表中的三元組信息不一致,且報文不是首包時,若解析出來的應用層協議對應的優先級為高,則設備201將報文的三元組信息以及對應的優先級增 加到關係表中,但是該報文頭中仍然添加低優先級的DSCP值,通過普通鏈路發送出去。當後面再有相同三元組信息的報文發送過來的時候,即可在所述三元組信息與優先級的關係表中查找到對應的三元組信息,並可在報文中把該三元組信息對應的高優先級加到報文頭中,通過高質量的鏈路發送出去。在本實施例中,設備201還根據報文頭中的優先級對報文進行網絡地址(NetworkAddress Translation, NAT)轉換,即設備201根據報文的DSCP值對報文地址進行轉換,設備201根據轉換出來的地址將報文發送給對應的路由器。這樣,具有相同DSCP值的報文會被發送到同一個路由器。例如,當報文I的三元組信息對應的優先級為高優先級、DSCP值為I時,設備201對所述報文做地址轉換後發給高質量鏈路中的路由器202再發送出去,而回復的下行報文也會通過路由器202發送給設備201,設備201再對報文進行地址轉換,發送給報文發起方。這樣,上行報文和下行報文就通過相同的鏈路進行傳輸。若報文2的三元組信息對應的優先級也為高優先級、DSCP值也為I時,設備201對所述報文2做地址轉換後也發給高質量鏈路中的路由器202再發送出去,同樣回復的下行報文也會通過路由器202再發給送設備201。這樣上行報文和下午報文通過相同的鏈路進行傳輸。本發明還提供第三實施例的基於應用層協議選擇鏈路的系統,其與第二實施例所揭示的系統不同之處在於如圖3所示,本實施例所揭示的設備301包括DPI單元304和NAT 單元 305。在本實施例中,DPI單元304接收報文,並解析報文的三元組信息。DPI單元304根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致。若報文的三元組信息與關係表中的三元組信息一致時,則DPI單元304將關係表中與報文的三元組信息對應的優先級添加到報文的報文頭中,NAT單元305根據報文頭中的優先級將報文發送給對應的路由器。本發明還提供第一實施例的基於應用層協議選擇鏈路的方法,其在第一實施例所揭示的系統20的基礎上進行詳細描述。如圖4所示,本實施例所揭示的方法包括以下步驟步驟401 :設備201接收報文,並且解析報文的三元組信息;步驟402 :設備201根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;步驟403 :若報文的三元組信息與關係表中的三元組信息一致時,則設備201將關係表中與三元組信息對應的優先級添加到報文的報文頭中;步驟404 :設備201根據報文頭中的優先級將報文發送給對應的路由器。在本實施例中,若三元組信息對應的優先級為高優先級,則設備201將高優先級設置在報文的報文頭中,並根據報文頭的高優先級將報文發送給第一路由器202,由第一路由器202將報文發送出去;該報文對應的下行報文通過第一路由器202發送給設備201。若三元組信息對應的優先級為低優先級,則設備201將低優先級設置在報文的報文頭中,並根據報文頭的低優先級將報文發送給第二路由器203,由第二路由器203將報文發送出去;該報文對應的下行報文通過第二路由器203發送給設備201。因此,上行報文和下行報文選擇相同的鏈路進行傳輸。本發明還提供第二實施例的基於應用層協議選擇鏈路的方法,其在第一實施例所揭示的方法的基礎上進行詳細描述。如圖5所示,步驟501-504與步驟401-404相似,請參照步驟401-404中的描述,在此不再贅述;步驟505 :若報文的三元組信息與關係表中的三元組信息不一致時,則設備201還判斷報文是否為首包;步驟506 :若設備201判斷報文為首包,則設備201將報文的DSCP值設為低優先級;步驟507 :若設備201判斷報文不是首包,則設備201解析報文的應用層協議;步驟508 :若應用層協議對應的優先級為高,則設備201將報文的三元組信息以及對應的優先級增加到關係表中。在步驟507中,設備201通過分析報文攜帶的特徵或通過報文的行為特徵來解析報文的應用層協議。例如,「http」報文的數據內容攜帶有「http」字符串,或者連續幾個報文都是一定數量的字節,設備201根據解析報文是否有如上特徵,以解析報文的應用層協議。在步驟508中,若應用層協議對應的優先級為高,則設備201將報文的三元組信息以及對應的優先級增加到關係表中;並將低優先級對應的DSCP值添加到報文的報文頭中,根據該DSCP值進行地址轉換,並發送出去。
本發明還提供第三實施例的基於應用層協議選擇鏈路的方法,其在第三實施例的基於應用層協議選擇鏈路的系統的基礎上進行詳細描述。如圖6所示,本實施例所揭示的方法包括以下步驟步驟601 DPI單元304接收報文,並解析報文的三元組信息;步驟602 =DPI單元304根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;步驟603 :若報文的三元組信息與關係表中的三元組信息一致時,則DPI單元304將關係表中與報文的三元組信息對應的優先級添加到報文的報文頭中;步驟604 =NAT單元305根據報文頭中的優先級將報文發送給對應的路由器。綜上所述,本發明通過DPI單元304根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若報文的三元組信息與關係表中的三元組信息一致時,則DPI單元304將關係表中與三元組信息對應的優先級添加到報文的報文頭中,NAT單元305根據報文頭中的優先級將報文發送給對應的路由器,通過對應的路由器發送出去;而下行的報文會先到該對應的路由器,再由該對應的路由器將報文發送給NAT單元305和DPI單元304,以實現上行的報文和下行的報文選擇相同鏈路進行傳輸。以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的`專利保護範圍內。
權利要求
1.一種基於應用層協議選擇鏈路的方法,其特徵在於,所述方法包括以下步驟 接收報文,解析所述報文的三元組信息; 根據解析出來的所述報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三兀組信息一致; 若所述報文的三元組信息與所述關係表中的三元組信息一致時,則將所述關係表中與所述三元組信息對應的優先級添加到所述報文的報文頭中; 根據所述報文頭中的所述優先級將所述報文發送給對應的路由器。
2.根據權利要求1所述的方法,其特徵在於,所述方法還包括 若所述報文的三元組信息與所述關係表中的三元組信息不一致時,則按預先確定的規則在所述報文的報文頭中添加相應的優先級,並根據報文頭中的所述優先級將所述報文發送給對應的路由器。
3.根據權利要求2所述的方法,其特徵在於,若所述報文的三元組信息與所述關係表中的三元組信息不一致時還包括 判斷所述報文是否為首包;若所述報文不是首包,則解析出所述報文的應用層協議,若所述應用層協議對應的優先級為高,則將所述報文的三元組信息以及對應的優先級增加到所述關係表中。
4.根據權利要求1-3所述的方法,其特徵在於,所述根據所述報文頭中的所述優先級將所述報文發送給對應的路由器還包括 根據所述報文頭中的所述優先級對所述報文地址進行轉換; 根據所述轉換出的地址將所述報文發送給對應的路由器。
5.根據權利要求1-4所述的方法,其特徵在於,所述優先級為DSCP值,所述DSCP值添加在報文頭的8比特欄位中。
6.根據權利要求1-5所述的方法,其特徵在於,所述方法還包括所述預先確定的規則為所述報文的DSCP值為低優先級。
7.一種基於應用層協議選擇鏈路的設備,其特徵在於,所述設備接收報文,並解析所述報文的三元組信息,所述設備根據解析出來的所述報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若所述報文的三元組信息與所述關係表中的三元組信息一致時,則所述設備將所述關係表中與所述三元組信息對應的優先級添加到所述報文的報文頭中,並根據所述報文頭中的所述優先級將所述報文發送給對應的路由器。
8.根據權利要求7所述的設備,其特徵在於,若所述報文的三元組信息與所述關係表中的三元組信息不一致時,則所述設備按預先確定的規則在所述報文的報文頭中添加相應的優先級,並根據報文頭中的所述優先級將所述報文發送給對應的路由器。
9.根據權利要求8所述的設備,其特徵在於,若所述報文的三元組信息與所述關係表中的三元組信息不一致時,所述設備還判斷所述報文是否為首包;若所述報文不是首包,則所述設備解析出所述報文的應用層協議,若所述應用層協議對應的優先級為高,則所述設備將所述報文的三元組信息以及對應的優選級增加到所述關係表中。
10.根據權利要求7-9所述的設備,其特徵在於,所述設備根據所述報文頭中的所述優先級對所述報文地址進行轉換,並根據所述轉換出的地址將所述報文發送給對應的路由器。
11.根據權利要求7-10所述的設備,其特徵在於,所述優先級為DSCP值,所述DSCP值添加在報文頭的8比特欄位中。
12.根據權利要求7-11所述的設備,其特徵在於,所述預先確定的規則為所述報文的DSCP值為低優先級。
13.根據權利要求7所述的設備,其特徵在於,所述設備包括DPI單元和NAT單元,所述DPI單元接收報文,並解析所述報文的三元組信息,所述DPI單元根據解析出來的所述報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若所述報文的三元組信息與所述關係表中的三元組信息一致時,則所述DPI單元將所述關係表中與所述報文的三元組信息對應的優先級添加到所述報文的報文頭中,所述NAT單元根據所述報文頭中的所述優先級將所述報文發送給對應的路由器。
全文摘要
本發明公開了一種基於應用層協議選擇鏈路的設備及其方法。該方法包括以下步驟接收報文,解析報文的三元組信息;根據解析出來的報文的三元組信息,查找是否與存儲在三元組信息與優先級的關係表中的三元組信息一致;若報文的三元組信息與關係表中的三元組信息一致時,則將關係表中與三元組信息對應的優先級添加到報文的報文頭中;根據報文頭中的優先級將報文發送給對應的路由器。通過上述方式,本發明能夠實現上行的報文和下行的報文選擇相同鏈路進行傳輸。
文檔編號H04L12/833GK103067276SQ20121059178
公開日2013年4月24日 申請日期2012年12月31日 優先權日2012年12月31日
發明者陳浩, 都林 申請人:華為技術有限公司