專利名稱:實現流控制傳輸協議多歸屬特性的系統和方法
技術領域:
本發明涉及通信技術領域,尤其涉及一種實現流控制傳輸協議(StreamControl Transmission Protocol,SCTP)多歸屬特性的系統和方法。
背景技術:
SCTP和TCP(Transmission Control Protocol,傳輸控制協議)/UDP(UserDatagram Protocol,用戶數據報協議)一樣,同屬于傳輸層協議,其結合了UDP報文傳輸(相對于TCP的字節流傳輸)和TCP可靠有序的傳輸特點,特別適用于電信領域,因為電信領域通常要求可靠的投遞服務,又不希望上層為報文進行定界處理。
TCP/UDP通常使用一個四元組<Local Address(本地地址),Local Port(本地端口),Remote Address(目的地址),Remote Port(目的端口)>來標識一個通信關聯,而SCTP則將上述四元組中的Local Address和Remote Address延伸成Local Address List(本地地址列表)和Remote Address List(目的地址列表),List中的地址通常對應不同的網絡接口,從而也就可能對應不同的網絡路由。缺省情況下,List中的某個地址被選為Primary Address(主地址),協議棧通常使用Primary Address作為發送報文的目的地址,當Primary Address對應的路徑不可用時(比如,對應的接口發生故障或者網絡路由癱瘓),List中的另一個地址將被選作為新的Primary Address,這個新的Primary Address將作為后續報文發送的目的地址。這就叫做SCTP多歸屬。
在實際應用中,采用SCTP的系統有以下兩類。請參閱圖1,為第一類系統的結構示意圖,該系統包括一個或N個使用SCTP作為傳輸機制的組件(以下簡稱SCTP組件),N為大于1的整數,每個SCTP組件擁有兩個或者多個IP(InternetProtocol,網際協議)接口,提供IP組網能力,每個SCTP關聯則可以利用這多個接口提供的多個IP來實現SCTP多歸屬的應用,以此來達到通信接口/路由備份的目的,從而提高了通信可靠性。
請參閱圖2,為第二類系統的結構示意圖,其與第一類系統的差異是每個SCTP組件只有單個IP接口,明顯實現不了SCTP的多歸屬特性。第二類系統的設計一般對應兩種情形一種是多個SCTP組件之間是基于純負荷分擔的工作方式,單個SCTP組件的故障對系統影響不大,不采用主備設計;另一種是每個SCTP組件是基于主備關系,主備部件各提供一個IP接口,但任意時刻只有一個部件在提供服務(即只有一個IP接口可用)。
在實際應用過程中,上述現有的兩類采用SCTP的系統無法很好地通過SCTP實現互通,如果第一類系統與第二類系統互通,則必然造成第一類系統的SCTP多歸屬特性不能使用,從而使其喪失了可靠性,在高可靠性應用(如電信)下是不允許的。比如,在3G(3rd Generation,第三代移動通信技術)分離架構下就有不同廠商的MGC(Media Gateway Controller,媒體網關控制器)和MGW(Media Gateway,媒體網關)是按這兩種不同類型系統來實現的,結果導致承載H.248(即MGC和MGW之間的)協議的SCTP互通可靠性降低。
發明內容
本發明所要解決的技術問題在于提供一種能與現有的第一類采用SCTP的系統可靠互通的實現SCTP多歸屬特性的系統和方法。
為解決上述技術問題,本發明所采用的技術方案是提供一種實現流控制傳輸協議SCTP多歸屬特性的系統,該系統包括至少一集中轉發組件和至少一SCTP組件,至少一所述SCTP組件通過所述集中轉發組件實現對外通信。
所述集中轉發組件進一步包括轉發引擎模塊和IP接口,該IP接口與所述SCTP組件之間的數據通過該轉發引擎模塊轉發。
每個所述集中轉發組件提供一個或者多個IP接口。
所述IP接口有一個或者多個IP地址。
所述SCTP組件進一步包括分發引擎模塊和與其連接的轉發接口,所述SCTP組件通過該轉發接口與所述集中轉發組件連接。
所述SCTP組件還包括與所述分發引擎模塊連接的本地接口。
所述集中轉發組件包括主用集中轉發組件和備用集中轉發組件。
所述SCTP組件是根據自身所管理的SCTP關聯配置相關參數,所述集中轉發組件是根據該配置來生成轉發表。
所述轉發引擎模塊是根據集中轉發組件生成的轉發表來執行轉發處理的。
所述SCTP關聯相關參數的配置有以下方式基于IP地址;基于傳輸層協議類型;基于傳輸層端口號;或基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合。
當所述SCTP關聯相關參數的配置是基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合時,所述SCTP組件所用的IP地址、傳輸層協議類型、傳輸層端口號三元組存在差異。
所述SCTP組件是根據自身所管理的SCTP關聯配置相關參數來生成分發表。
所述分發引擎模塊是根據所述分發表來執行分發處理。
為解決上述另一技術問題,本發明所采用的技術方案是提供一種實現SCTP多歸屬特性的方法,該方法包括以下步驟A1、集中轉發組件和SCTP組件分別建立轉發表和分發表;A2、所述SCTP組件的分發引擎模塊根據所述分發表將來自SCTP對外通信關聯模塊的數據通過轉發接口發送到集中轉發組件上的轉發引擎模塊;A3、轉發引擎模塊根據所述轉發表將所述數據發送到對應的IP接口上實現對外通信。
步驟A1所述的轉發表和分發表是分別根據SCTP組件自身所管理的SCTP關聯配置的相關參數來建立的。
所述SCTP關聯相關參數的配置有以下方式基于IP地址;基于傳輸層協議類型;基于傳輸層端口號;或基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合。
當所述SCTP關聯相關參數的配置是基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合時,所述SCTP組件所用的IP地址、傳輸層協議類型、傳輸層端口號三元組存在差異。
為解決上述另一技術問題,本發明所采用的另一技術方案是提供一種實現SCTP多歸屬特性的方法,該方法包括以下步驟B1、集中轉發組件和SCTP組件分別建立轉發表和分發表;B2、所述集中轉發組件的轉發引擎模塊根據所述轉發表將來自對應的IP接口上的數據發送到轉發接口;B3、所述分發引擎模塊根據所述分發表將來自轉發接口的數據發送到相應的SCTP對外通信關聯模塊。
步驟B1所述的轉發表和分發表是分別根據SCTP組件自身所管理的SCTP關聯配置的相關參數來建立的。
所述SCTP關聯相關參數的配置有以下方式基于IP地址;基于傳輸層協議類型;基于傳輸層端口號;或基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合。
當所述SCTP關聯相關參數的配置是基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合時,所述SCTP組件所用的IP地址、傳輸層協議類型、傳輸層端口號三元組存在差異。
本發明的有益效果是由于本發明實現SCTP多歸屬特性的系統包括集中轉發組件,因此提供了SCTP多歸屬特性,從而能與現有的第一類采用SCTP的系統實現可靠互通,提升了系統的組網能力;另外,本發明技術靈活,可擴展性強,系統版本升級方便,代價低。
圖1是現有的第一類系統的結構示意圖。
圖2是現有的第二類系統的結構示意圖。
圖3是本發明實現SCTP多歸屬特性的系統的結構示意圖。
圖4是本發明集中轉發組件關聯示意圖。
圖5是本發明實現SCTP多歸屬特性的系統關聯的結構示意圖。
具體實施例方式
請參閱圖3,本發明實現SCTP多歸屬特性的系統是在現有的第二類系統中增加一對或者多對集中轉發組件,提供IP組網下的集中轉發功能(每個集中轉發組件可以提供一個或者多個IP接口),內部其它組件通過這些集中轉發組件來實現對外通信,而SCTP組件既可選擇通過集中轉發組件實現對外通信,也可通過本地接口實現對外通信,甚至同時基于集中轉發組件和本地接口實現對外通信。通常這種架構下的集中轉發組件處理的流量都比較大,一般故障對系統影響比較大,所以采用主備關系的設計,即集中轉發組件包括主用集中轉發組件和備用集中轉發組件(集中轉發組件本身為主備關系,但實際上其接口可以工作在負荷分擔模式下,而且接口之間的備份可以與組件本身的備份互相獨立),可以實現互為冗余的雙平面組網,可靠性很高。
本發明的集中轉發思路是基于IP地址、傳輸層協議類型(TCP/UDP/SCTP,等等)和傳輸層端口號的方式,可以基于IP地址(此時被轉發組件(即需要通過集中轉發組件實現對外通信的SCTP組件)要使用不同的IP地址范圍),可以基于傳輸層協議類型(此時被轉發組件要使用不同的傳輸層協議類型),也可以基于傳輸層端口號(此時被轉發組件要使用不同的端口號范圍),最靈活的方式是同時基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合(此時只要各被轉發組件所用的<IP地址、傳輸層協議類型、傳輸層端口號>三元組存在差異即可)。請參閱圖4,是本發明同時基于IP地址、傳輸層協議類型和傳輸層端口號為例的實現SCTP多歸屬特性的系統。具體描述如下集中轉發組件對外提供1個或者多個IP接口,為IP接口1到IP接口N(N為大于1的整數),每個IP接口上配置對應的IP地址,本發明所舉的例子是每個IP接口上配置1個IP地址,其分別對應為IP1到IPN(實際上可以每個IP接口有一個或者多個IP地址)。
對于每個SCTP組件,針對其自身所管理的SCTP關聯配置相關參數,本發明只關注本端IP地址和端口號(其它參數和不采用本發明的實現無差別)。假設SCTP組件1配置了兩個SCTP關聯,分別為SCTP關聯1和SCTP關聯2,所使用的本地IP地址和端口號分別為<IP1,PORT1>和<IP1,PORT2>;SCTP組件2配置了一個SCTP關聯,為SCTP關聯1,所使用的本地IP地址和端口號為<IP1,PORT3>,…,SCTP組件L配置了一個SCTP關聯,為SCTP關聯1,所使用的本地IP地址和端口號為<IPK,PORTM>。
假設上述所有SCTP關聯都被配置來利用集中轉發組件i進行對外通信,則集中轉發組件i會在內部生成轉發表,其內容如下來自SCTP組件1且源IP地址、傳輸層協議類型和端口號為<IP1,SCTP,PORT1>的數據轉發到IP接口1,來自IP接口1且目的IP地址、傳輸層協議類型和端口號為<IP1,SCTP,PORT1>的數據轉發到SCTP組件1;…;來自SCTP組件L且源IP地址、傳輸層協議類型和端口號為<IPK,SCTP,PORTM>的數據轉發到IP接口K,來自IP接口K且目的IP地址、傳輸層協議類型和端口號為<IPK,SCTP,PORTM>的數據轉發到SCTP組件L。集中轉發組件上增加的轉發引擎模塊是實際的轉發處理執行者,其完全根據上述生成的轉發表來執行相關動作。
完成上述內容后,每個SCTP組件根據配置內容將相關的SCTP關聯的出數據發送到集中轉發組件上的轉發引擎模塊,并且正確識別映射來自轉發引擎模塊的數據到相關的SCTP關聯。
請參閱圖5對本發明作進一步修改的詳細描述如下圖5的集中轉發組件與圖4的集中轉發組件內容一致集中轉發組件對外提供1個或者多個IP接口,為IP接口1到IP接口N(N為大于1的整數),分別對應IP地址為IP1到IPN;被轉發組件假設有本地接口(不是必須的),其本地接口對應的IP地址為IPX(可以有多個本地接口,每個接口也不限制于1個IP地址)。
被轉發組件為每個SCTP對外通信關聯配置相關數據,本發明相關的數據如下SCTP關聯1使用的本地IP地址和端口號為<IP1,PORT1>;SCTP關聯2使用的本地IP地址和端口號為<IP1,PORT2>;SCTP關聯3使用的本地IP地址和端口號為<IPX,PORT3>,…,還可以有一些其它的SCTP對外通信關聯,此例子中忽略。
根據上述的配置內容,被轉發組件在內部生成一個分發表,其內容如下本地IP地址、傳輸層協議類型和端口號為<IP1,SCTP,PORT1>的數據經過轉發接口路由;本地IP地址、傳輸層協議類型和端口號為<IP1,SCTP,PORT2>的數據經過轉發接口路由;本地IP地址、傳輸層協議類型和端口號為<IPX,SCTP,PORT3>的數據經過本地接口路由。
被轉發組件增加一個分發引擎模塊,處于轉發接口、本地接口和每個SCTP對外通信關聯模塊之間。每個SCTP對外通信關聯模塊經由分發引擎模塊分發數據。分發引擎模塊將來自SCTP對外通信關聯模塊的數據根據分發表分發到相應的轉發接口或本地接口,而將來自轉發接口或本地接口的數據根據分發表分發到相應SCTP對外通信關聯模塊上。
被轉發組件上新增轉發接口,其負責與集中轉發組件接口,具體的通信格式可以根據系統的實際進行自行設定——不影響本發明的技術實施,比如,可直接采用GE(G比特以太網)幀的格式。
SCTP組件主要包括兩部分內容一是SCTP協議棧本身,一是上層應用(即SCTP協議棧的用戶)。對于SCTP協議棧,一般以獨立的通用模塊的方式加以實現,多歸屬相關的狀態機制已經內置,不需要再做任何的附加工作(如果沒有,則需要對協議棧進行修改,按標準SCTP協議要求實現即可,對本發明的技術實施不存在影響)。對于上層應用,在SCTP多歸屬特性所要調整的內容,主要是原來對每個關聯,只需要管理單個IP地址,現在需要維護多個IP地址,即為每個SCTP關聯配置多個本地地址(對端地址是配置多個還是通過建立過程協商出多個,此處不做具體要求,不影響本發明的技術實施),并通過上層應用和協議棧之間的接口(此接口也可根據實際需要靈活制定,不影響本發明的技術實施)提供給協議棧進行鏈路操作。這些地址可以全部位于本地接口,也可以全部位于轉發接口,也可以是兩者接口的任意組合。通常,不同的IP地址選擇位于不同的接口,在物理冗余方面會具有更好的表現,但本發明不做此限制,此時系統整體對外仍能表現出SCTP多歸屬的特性。
以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍,凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種實現流控制傳輸協議SCTP多歸屬特性的系統,其特征在于該系統包括至少一集中轉發組件和至少一SCTP組件,至少一所述SCTP組件通過所述集中轉發組件實現對外通信。
2.如權利要求1所述的系統,其特征在于所述集中轉發組件進一步包括轉發引擎模塊和IP接口,該IP接口與所述SCTP組件之間的數據通過該轉發引擎模塊轉發。
3.如權利要求2所述的系統,其特征在于每個所述集中轉發組件提供一個或者多個IP接口。
4.如權利要求3所述的系統,其特征在于所述IP接口有一個或者多個IP地址。
5.如權利要求1所述的系統,其特征在于所述SCTP組件進一步包括分發引擎模塊和與其連接的轉發接口,所述SCTP組件通過該轉發接口與所述集中轉發組件連接。
6.如權利要求5所述的系統,其特征在于所述SCTP組件還包括與所述分發引擎模塊連接的本地接口。
7.如權利要求1所述的系統,其特征在于所述集中轉發組件包括主用集中轉發組件和備用集中轉發組件。
8.如權利要求2所述的系統,其特征在于所述SCTP組件是根據自身所管理的SCTP關聯配置相關參數,所述集中轉發組件是根據該配置來生成轉發表。
9.如權利要求8所述的系統,其特征在于所述轉發引擎模塊是根據集中轉發組件生成的轉發表來執行轉發處理的。
10.如權利要求8所述的系統,其特征在于所述SCTP關聯相關參數的配置有以下方式基于IP地址;基于傳輸層協議類型;基于傳輸層端口號;或基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合。
11.如權利要求10所述的系統,其特征在于當所述SCTP關聯相關參數的配置是基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合時,所述SCTP組件所用的IP地址、傳輸層協議類型、傳輸層端口號三元組存在差異。
12.如權利要求5所述的系統,其特征在于所述SCTP組件是根據自身所管理的SCTP關聯配置相關參數來生成分發表。
13.如權利要求12所述的系統,其特征在于所述分發引擎模塊是根據所述分發表來執行分發處理。
14.一種實現SCTP多歸屬特性的方法,其特征在于包括以下步驟A1、集中轉發組件和SCTP組件分別建立轉發表和分發表;A2、所述SCTP組件的分發引擎模塊根據所述分發表將來自SCTP對外通信關聯模塊的數據通過轉發接口發送到集中轉發組件上的轉發引擎模塊;A3、轉發引擎模塊根據所述轉發表將所述數據發送到對應的IP接口上實現對外通信。
15.如權利要求14所述的方法,其特征在于步驟A1所述的轉發表和分發表是分別根據SCTP組件自身所管理的SCTP關聯配置的相關參數來建立的。
16.如權利要求15所述的方法,其特征在于所述SCTP關聯相關參數的配置有以下方式基于IP地址;基于傳輸層協議類型;基于傳輸層端口號;或基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合。
17.如權利要求16所述的方法,其特征在于當所述SCTP關聯相關參數的配置是基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合時,所述SCTP組件所用的IP地址、傳輸層協議類型、傳輸層端口號三元組存在差異。
18.一種實現SCTP多歸屬特性的方法,其特征在于包括以下步驟B1、集中轉發組件和SCTP組件分別建立轉發表和分發表;B2、所述集中轉發組件的轉發引擎模塊根據所述轉發表將來自對應的IP接口上的數據發送到轉發接口;B3、所述分發引擎模塊根據所述分發表將來自轉發接口的數據發送到相應的SCTP對外通信關聯模塊。
19.如權利要求18所述的方法,其特征在于步驟B1所述的轉發表和分發表是分別根據SCTP組件自身所管理的SCTP關聯配置的相關參數來建立的。
20.如權利要求19所述的方法,其特征在于所述SCTP關聯相關參數的配置有以下方式基于IP地址;基于傳輸層協議類型;基于傳輸層端口號;或基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合。
21.如權利要求20所述的方法,其特征在于當所述SCTP關聯相關參數的配置是基于IP地址、傳輸層協議類型和傳輸層端口號三者的組合時,所述SCTP組件所用的IP地址、傳輸層協議類型、傳輸層端口號三元組存在差異。
全文摘要
本發明涉及一種實現流控制傳輸協議SCTP多歸屬特性的系統和方法,該系統包括至少一集中轉發組件和至少一SCTP組件,至少一所述SCTP組件通過所述集中轉發組件實現對外通信。該方法包括以下步驟A1.集中轉發組件和SCTP組件分別建立轉發表和分發表;A2.所述SCTP組件的分發引擎模塊根據所述分發表將來自SCTP對外通信關聯模塊的數據通過轉發接口發送到集中轉發組件上的轉發引擎模塊;A3.轉發引擎模塊根據所述轉發表將所述數據發送到對應的IP接口上實現對外通信。本發明提供了SCTP多歸屬特性,從而能與現有的第一類采用SCTP的系統實現可靠互通,提升了系統的組網能力;另外,本發明技術靈活,可擴展性強,系統版本升級方便,代價低。
文檔編號H04L29/06GK101060469SQ20061006120
公開日2007年10月24日 申請日期2006年6月14日 優先權日2006年6月14日
發明者汪大海 申請人:華為技術有限公司