專利名稱:一種使用不同版本的ip協(xié)議的gsn之間的通訊方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線網(wǎng)絡(luò)中數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別是指一種使用不同IP版本的GSN之間的通訊方法。
背景技術(shù):
公共的GPRS核心網(wǎng)(GPRS CN)提供了分組交換業(yè)務(wù),通用分組無線服務(wù)支持節(jié)點(diǎn)(GSN,GPRS Support Node)是GPRS網(wǎng)絡(luò)中主要的網(wǎng)絡(luò)節(jié)點(diǎn),包含了支持GPRS所需的功能。其中,GSN包括兩種類型服務(wù)GSN(SGSN,Serving GSN)和網(wǎng)關(guān)GSN(Gateway GSN)。
其中,SGSN是為MS提供移動性管理的節(jié)點(diǎn)。SGSN的主要作用就是記錄MS的當(dāng)前位置,存儲類似于呼叫記錄的PDP上下文,并且轉(zhuǎn)發(fā)MS和GGSN之間的移動分組數(shù)據(jù)。GGSN存儲著屬于這個節(jié)點(diǎn)的GPRS業(yè)務(wù)用戶的PDP上下文,并使用GPRS隧道協(xié)議(GTP,GPRS Tunneling Protocol)與SGSN通訊。GGSN主要是起網(wǎng)關(guān)作用,實(shí)現(xiàn)GPRS網(wǎng)絡(luò)與其他不同的數(shù)據(jù)網(wǎng)絡(luò)的互聯(lián)。
在3GPP R5之前的版本里,GTP消息由IPv4(IP version 4)承載封裝,即GTP over IP4,GTP消息里的GSN地址信元是IPv4地址。為表述方便,SGSN Address for Control Plane和SGSN Address for user traffic統(tǒng)稱為SGSN地址,GGSN Address for Control Plane和GGSN Address for user traffic統(tǒng)稱為GGSN地址。SGSN地址和GGSN地址統(tǒng)稱為GSN地址。在3GPP R5及以后版本里,3GPP要求GTP能夠被IPv6(IP version 6)承載封裝,即GTPover IPv6,GTP消息里的GSN地址信元是IPv6地址,即支持GSN之間使用IPv6承載GTP進(jìn)行通訊。
由于現(xiàn)有網(wǎng)絡(luò)中GSN均采用IPv4,在網(wǎng)絡(luò)中全面使用IPv6需要循序漸進(jìn)。為了確保兼容性,在與IPv4 GSN共存的網(wǎng)絡(luò)中,升級后的GSN均應(yīng)是同時支持GTP over IPv4和GTP over IPv6的GSN,稱為雙棧GSN,也稱為C類型GSN(TYPE C GSN),TYPE C GSN配置有IPv4地址和IPv6地址,可以在自己的IPv4地址和IPv6地址上同時監(jiān)聽GTP消息,分別接收IPv4封裝的GTP消息和IPv6封裝的GTP消息,并用相應(yīng)版本的IP承載封裝GTP消息。另外,只支持GTP over IPv4的GSN稱為TYPE A GSN;只支持GTPover IPv6的GSN稱為TYPE B GSN。
在3GPP TS 29.060 v6.1.0中,描述了一種GTP over IPv6的設(shè)計(jì),來實(shí)現(xiàn)與GTP over IPv4的互通共存。首先在網(wǎng)絡(luò)中采用TYPE C GSN支持IPv6和IPv4通訊;同時修改GTP消息,增加了新的GSN地址信元來實(shí)現(xiàn)TYPEC GSN與TYPE A GSN間的通訊。
參見表1、2所示,表1為Create PDP Context Response消息(InformationElements in a Create PDP Context Response),表2為SGSN-Initiated UpdatePDP Context Request消息(Information Elements in an SGSN-Initiated UpdatePDP Context Request),均為3GPP TS 29.060 v6.1.0定義的GTP消息,其他GTP消息可以參見3GPP TS 29.060 v6.1.0,不再列舉??梢钥闯?,在現(xiàn)有的GTP消息中增加了新的GSN地址信元包括Alternative GGSN Address forControl Plane信元,Alternative GGSN Address for user traffic信元,AlternativeSGSN Address for Control Plane信元,Alternative SGSN Address for usertraffic信元。
表1
表2在GSN發(fā)送GTP信令消息過程中,TYPE C GSN使用修改后的GTP消息,攜帶兩種IP版本的GSN地址和對端通訊,實(shí)現(xiàn)與TYPE A GSN的通訊。
例如,SGSN向GGSN使用IPv4/IPv6發(fā)送Create PDP Context Request消息,當(dāng)TYPE C GGSN收到Create PDP Context Request消息,檢測到包含IPv4/IPv6 SGSN Address信元后,該TYPE C GGSN在構(gòu)建Create PDPContext Response消息時,在GGSN Addtess for Control Plane信元和GGSNAddress for user traffic信元中填入自己的IPv4/IPv6地址,在AlternativeGGSN Address for Control Plane信元和Alternative GGSN Address for usertraffic信元中填入自己的IPv6/IPv4地址。
可以看出TYPE C GSN在傳遞某些GTP信令消息時,消息中同時攜帶著IPv4和IPv6地址,以期望對方GSN來選擇使用相應(yīng)IP版本。
但是,使用這種方法,新加入網(wǎng)絡(luò)的TYPE C GSN還是可能與現(xiàn)有網(wǎng)絡(luò)上的TYPE A GSN存在著互通性問題。當(dāng)TYPE C GSN向TYPE A GSN發(fā)送所述的GTP消息時,由于對GTP消息進(jìn)行了修改,網(wǎng)絡(luò)現(xiàn)存的TYPA AGSN可能無法正確識別所述GTP消息中的這些新增加的地址信元,從而會把所述GTP消息當(dāng)作非法消息而丟棄,而導(dǎo)致GSN之間無法建立正常通訊。
例如在激活PDP上下文流程(PDP Context Activation Procedure)中,當(dāng)未升級的TYPE A SGSN接收到TPYE C GGSN的Create PDP ContextResponse消息后,由于該消息帶有Alternative GGSN Address for ControlPlane和Alternative GGSN Address for user traffic信元,TYPE A SGSN若無法識別出該GTP消息中的這些增加的地址信元,就可能會把該Create PDPContext Response消息當(dāng)作非法消息或錯誤消息而丟棄,從而導(dǎo)致激活PDPContext流程失敗。
同理,在SGSN間RA更新流程(Inter-SGSN RA Update Procedure)或者SGSN間SRNS重定向流程(Inter-SRNS Relocation Procedure)中,由于使用的GTP消息包含增加的地址信元,都可能導(dǎo)致網(wǎng)絡(luò)中現(xiàn)存的TYPE ASGSN設(shè)備無法恰當(dāng)處理該GTP消息而導(dǎo)致流程失敗。
綜上所述,目前,由于在3GPP TS 29.060 v6.1.0中描述的方案修改了GTP消息,因此可能存在網(wǎng)上現(xiàn)有TYPE A GSN無法識別TYPE C GSN發(fā)送過來的GTP消息的風(fēng)險(xiǎn),導(dǎo)致無法正常通訊。此外,當(dāng)支持IPv6的GSN貿(mào)然使用IPv6承載的GTP請求消息發(fā)給網(wǎng)絡(luò)上現(xiàn)有的使用Ipv4的GSN時,則信令流程必然失敗。另外,發(fā)起請求信令的GSN如何知道對方GSN的IP版本能力并使用恰當(dāng)?shù)腎P版本承載GTP消息,對此,TS 29.060 v6.1.0未予描述。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種在不同IP版本的GSN之間的通訊方法,實(shí)現(xiàn)TYPE C GSN和TYPE A GSN的正常通訊。
本發(fā)明提供了一種使用不同版本IP的GSN之間的通訊方法,用于包含C類型GSN和A類型GSN的GPRS網(wǎng)絡(luò)中,C類型GSN支持IPv4和IPv6版本,A類型GSN支持IPv4版本,其中,在域名服務(wù)器(DNS Name Server)上配置某名字和對應(yīng)的GSN所支持的所有版本的IP地址,源GSN向目的GSN發(fā)起通訊時,該方法包括以下步驟A、源GSN根據(jù)自己支持的IP版本,向DNS Name Server發(fā)起查詢,查詢名字對應(yīng)的目的GSN的地址;B、DNS Name Server處理源GSN發(fā)來的查詢請求,將所述目的GSN相應(yīng)IP版本的地址列表返回給源GSN;C、源GSN根據(jù)獲得的目的GSN的地址列表所包含的地址所使用的IP版本,確定出目的GSN所支持的IP版本,源GSN選擇自身和目的GSN均支持的IP版本與目的GSN進(jìn)行通訊。
其中,所述的步驟C包括當(dāng)源GSN獲得目的GSN的IP地址列表包含IPv6和IPv4版本的地址時,源GSN選擇使用IPv6版本協(xié)議與目的GSN進(jìn)行通訊。
其中,所述在DNS Name Server上配置的名字是在DNS Name Server上配置的接入點(diǎn)名稱APN;所述的源GSN為SGSN,目的GSN為GGSN;所述的源GSN向目的GSN發(fā)起的通訊為激活PDP上下文流程;步驟A所述的源GSN向DNS Name Server查詢的名字為APN。
其中,所述的在DNS Name Server上配置的某名字是在DNS NameServer上配置的路由區(qū)標(biāo)識RAI邏輯名;所述的源GSN為新SGSN,目的GSN為老SGSN;所述的源GSN向目的GSN發(fā)起的通訊為SGSN間RA更新流程;步驟A中所述的源GSN向DNS查詢的名字為RAI邏輯名。
其中,所述的在DNS Name Server上配置的某名字是在DNS NameServer上配置的無線網(wǎng)絡(luò)控制器RNC邏輯名;所述的源GSN為老SGSN,目的GSN為新SGSN;所述的源GSN向目的GSN發(fā)起的通訊為SGSN間SRNS重定向流程;步驟A中所述的源GSN向DNS查詢的名字為RNC邏輯名。
還提供了一種使用不同版本IP的GSN之間的通訊方法,用于包含C類型GSN和A類型GSN的GPRS網(wǎng)絡(luò)中,C類型GSN支持IPv4和IPv6版本,A類型GSN支持IPv4版本;其特征在于,在DNS Name Server上配置某名字和對應(yīng)的GSN所支持的所有版本的IP地址,在MS從老SGSN切換到新SGSN時,新SGSN和GGSN的通訊方法包括以下步驟A、作為流程發(fā)起者的SGSN根據(jù)自身支持的IP版本,向DNS發(fā)起查詢,查詢名字所對應(yīng)的對方SGSN相應(yīng)IP版本的地址;B、DNS Name Server處理流程發(fā)起者SGSN發(fā)來的查詢請求,將所述對方SGSN相應(yīng)IP版本的地址列表返回給流程發(fā)起者SGSN;C、流程發(fā)起者SGSN根據(jù)獲得的對方SGSN的地址列表所包含的IP版本,確定出對方SGSN所支持的IP版本,流程發(fā)起者SGSN選擇自身和對方SGSN均支持的IP版本與對方SGSN進(jìn)行通訊;其中,在SGSN間RA更新流程里,所述的流程發(fā)起者SGSN為新SGSN,對方SGSN為老SGSN;在SGSN間SRS重定向流程里,所述的流程發(fā)起者SGSN為老SGSN,對方SGSN為新SGSN;D、老SGSN判斷新SGSN與老SGSN通訊所使用的IP版本,當(dāng)判斷出新SGSN與老SGSN通訊使用的是IPv6時,老SGSN直接將所記錄的PDP Context中的GGSN地址發(fā)送給新SGSN;當(dāng)判斷出新SGSN與老SGSN通訊使用的是IPv4時,則進(jìn)一步判斷老SGSN所記錄的PDP context的GGSN地址的IP版本,若為IPv4地址則直接發(fā)給新SGSN;若為IPv6地址,則根據(jù)該IPv6地址推導(dǎo)出該GGSN的IPv4地址發(fā)送給新SGSN;E、新SGSN使用接收到的消息中GGSN地址字段的IP版本,與GGSN進(jìn)行通訊。
其中,步驟D所述SGSN根據(jù)IPv6地址推導(dǎo)出GGSN的IPv4地址的步驟包括在DNS Name Server上配置C類型GGSN的名字和IPv6、IPv4地址的對應(yīng)關(guān)系,SGSN根據(jù)IPv6地址向DNS Name Server發(fā)起反向查詢獲得該GGSN的名字,然后利用該GGSN名字進(jìn)行正向查詢得到對應(yīng)的IPv4地址。
由上述方法可以看出,本發(fā)明提供的在不同IP版本的GSN之間的通訊方法沒有在GTP消息中增加或修改信元,使用原來的GTP消息,因此對現(xiàn)有網(wǎng)絡(luò)存在的TYPE A GSN有更好的兼容性。當(dāng)通訊的兩個GSN中的一個為TYPE A GSN時,自動降級使用IPv4進(jìn)行通訊;并且,在SGSN間RA更新流程及SGSN間SRNS Relocation流程中,C類型老SGSN判斷新SGSN與GGSN通訊將要使用的IP版本,將合適的IP版本的GGSN地址通知新SGSN??偟膩碚f,使用本方法部署TYPE C GSN后,TYPE C GSN和未升級的TYPE A GSN之間自動降級使用IPv4進(jìn)行通訊,同時TYPE C GSN之間可以使用IPv6進(jìn)行通訊,使網(wǎng)絡(luò)可以穩(wěn)定的向全I(xiàn)Pv6網(wǎng)絡(luò)過渡。
圖1為本發(fā)明GSN之間建立通訊的流程圖。
圖2為本發(fā)明SGSN之間進(jìn)行切換時的流程圖。
圖3為本發(fā)明應(yīng)用在激活PDP上下文的流程圖。
圖4為本發(fā)明應(yīng)用在Inter-SGSN RA更新的流程圖。
圖5為本發(fā)明應(yīng)用在Inter-SGSN SRNS重定向的流程圖。
具體實(shí)施例方式
本發(fā)明提供了一種GSN之間通訊的方法,用于不同IP版本的GSN之間的通訊,特別適用于含有TYPE A GSN和TYPE C GSN的網(wǎng)絡(luò)。本發(fā)明在源GSN(S-GSN)向目標(biāo)GSN(T-GSN)發(fā)起通訊時,S-GSN首先根據(jù)自身的IP版本的支持能力,從第三方獲取該T-GSN的IP地址,S-GSN使用獲得的T-GSN的IP地址,判斷出對方的IP版本支持能力,然后選擇使用相同版本的IP協(xié)議與T-GSN建立通訊。
為使本發(fā)明更加清楚明白,以下以具體實(shí)施例進(jìn)行說明,實(shí)現(xiàn)本發(fā)明,需要以下步驟預(yù)先,在域名服務(wù)器(DNS Name Server)上配置GSN的名字和IPv4、IPv6版本的IP地址的對應(yīng)關(guān)系。這樣,在DNS Name Server中建立了IPv4/IPv6地址與GSN名字的對應(yīng)關(guān)系后,通過DNS正向查詢,可以根據(jù)GSN的名字查詢到對應(yīng)的IPv4/IPv6地址;還可以先利用DNS反向查詢操作,通過GSN的IPv6地址查詢其對應(yīng)的名字,再利用DNS正向查詢操作,通過其名字查詢獲得GSN的IPv4地址。例如,下面示出了一個GSN名字和IPv4/IPv6地址的對應(yīng)關(guān)系其中,A代表了IPv4版本,AAAA代表IPv6版本GGSN00000001.MNC00 1.MCC460.gprs.IN A 172.19.1.200GGSN00000001.MNC001.MCC460.gprs.INAAAA FEC0∷2AA:FF:FE3F:2A1C根據(jù)信令流程設(shè)計(jì),還要配置某些信令流程中涉及到的名字與GSN的關(guān)系,例如接入點(diǎn)名稱(APN)與GGSN的IP地址之間的對應(yīng)關(guān)系,以及無線網(wǎng)絡(luò)控制器/路由區(qū)標(biāo)識(RNC/RAI)邏輯名與SGSN的IP地址之間的對應(yīng)關(guān)系。一個APN可以對應(yīng)多個GGSN,并且一個GGSN可以配置多個IPv4地址;一個RNC/RAI邏輯名對應(yīng)于一個SGSN,本發(fā)明中對于TYPE CGSN,需要在DNS Name Server中同時配置對應(yīng)的IPv6地址。
例如,當(dāng)GGSN為未升級的GGSN,即TYPE A GGSN時,與現(xiàn)有技術(shù)相同,在DNS Name Server上僅配置其與IPv4地址的對應(yīng)關(guān)系。當(dāng)GGSN為TYPE C GGSN時,在DNS Name Server上不僅配置與IPv4地址的對應(yīng)關(guān)系,也配置與IPv6地址的對應(yīng)關(guān)系。
當(dāng)源GSN(S-GSN,Source GSN)向目標(biāo)GSN(T-GSN,Target GSN)發(fā)起信令交互時,參見圖1,包括以下步驟步驟101S-GSN根據(jù)自身所支持的IP版本,向DNS Name Server發(fā)起查詢,查詢得到T-GSN相應(yīng)版本的IP地址。
例如,當(dāng)S-GSN為TYPE C GSN時,應(yīng)嘗試獲取名字對應(yīng)的所有版本的IP地址,包括IPv4地址和IPv6地址。當(dāng)S-GSN通過DNS來獲取這些信息,它可以這樣操作,來獲得T-GSN所對應(yīng)的2種IP版本的地址它先發(fā)出一個DNS A查詢,再發(fā)出一個DNS AAAA查詢;或者發(fā)出一個包含了2個問題的DNS查詢,問題的查詢類型分別為A和AAAA。當(dāng)T-GSN為TYPEC GSN,則S-GSN可以獲得T-GSN的兩種IP版本的地址;當(dāng)T-GSN為TYPEA GSN時,則S-GSN僅可獲得T-GSN的IPv4版本的地址。當(dāng)S-GSN為TYPEA GSN時,則它僅發(fā)出DNS A查詢,獲得T-GSN的IPv4版本的地址。
步驟102S-GSN根據(jù)自身和T-GSN的IP地址的版本,選擇共同支持的IP版本進(jìn)行通訊。
例如,當(dāng)S-GSN從步驟101中獲得T-GSN的IPv6地址時,即說明S-GSN和T-GSN均支持IPv6,即均為TYPE C GSN,兩個GSN之間可使用IPv6進(jìn)行通訊,包括使用該IP版本的GSN地址填寫GTP消息的相應(yīng)GSN地址信元的值,并使用該IP版本協(xié)議封裝承載GTP消息。若S-GSN從步驟101中僅獲得T-GSN的IPv4地址,則說明S-GSN和T-GSN至少有一個為TYPE A GSN,則兩個GSN之間使用GTP over IPv4進(jìn)行通訊。
SGSN與GGSN已經(jīng)建立PDP context后,當(dāng)MS從原先的SGSN(稱為OLD-SGSN)切換到另一個新SGSN(NEW-SGSN)時,參見圖2,NEW-SGSN與GGSN的通訊方法包括以下步驟步驟201-202OLD-SGSN與NEW-SGSN使用上述步驟101-102所述方法選擇適當(dāng)?shù)腎P版本以進(jìn)行GTP信令交互。根據(jù)實(shí)際流程要求,由NEW-SGSN首先向OLD-SGSN發(fā)起信令交互,例如在Inter-SGSN RA Update流程里,NEW-SGSN向OLD-SGSN發(fā)送SGSN Context Request消息,NEW-SGSN此時為發(fā)起方;或是由OLD-SGSN首先向NEW-SGSN發(fā)起信令交互,例如在Inter-SGSN SRNS Relocation流程里,OLD-SGSN向NEW-SGSN發(fā)送Forward Relocation Request消息,OLD-SGSN此時為發(fā)起方。
發(fā)起方SGSN根據(jù)自身所支持的IP版本,向DNS查詢得到對方SGSN相應(yīng)版本的IP地址列表,操作步驟可以參見步驟101,步驟101里的S-GSN即這里的發(fā)起方SGSN,步驟101里的T-GSN即這里的對方SGSN。然后發(fā)起方SGSN根據(jù)自身和對方SGSN的IP地址的版本,選擇共同支持的IP版本進(jìn)行通訊。
步驟203OLD-SGSN根據(jù)與NEW-SGSN建立通訊所使用的IP版本,以及所記錄的PDP context中GGSN地址字段的IP地址,獲取GGSN合適版本的IP地址,然后填入信令中發(fā)給NEW-SGSN。
OLD-SGSN根據(jù)與NEW-SGSN建立GTP通訊所使用的IP版本判斷所記錄的PDP context中GGSN地址字段的IP地址是否合適當(dāng)與NEW-SGSN使用IPv6通訊時,OLD-SGSN直接將PDP context中記錄的GGSN的IP地址發(fā)送給NEW-SGSN;當(dāng)與NEW-SGSN使用IPv4通訊時,則進(jìn)一步判斷所記錄的PDP context中的GGSN的IP地址版本,若為IPv4地址則直接發(fā)給NEW-SGSN,若為IPv6地址,則根據(jù)該IPv6 GGSN地址推導(dǎo)出對應(yīng)的IPv4地址,其中的一種推導(dǎo)方法是OLD-SGSN依據(jù)該IPv6地址向DNSName Server發(fā)起DNS反向查詢獲得該GGSN的名字,然后利用該GGSN名字進(jìn)行DNS正向查詢得到對應(yīng)的IPv4地址,最后將獲得的IPv4版本的GGSN地址發(fā)送給NEW-SGSN。
步驟204NEW-SGSN接收到GGSN的IP地址,使用該地址的IP版本與GGSN建立通訊。
使用上述方法,實(shí)現(xiàn)了在不修改GTP消息情況下,TYPE C GSN與TYPEA GSN的正常通訊。下面將本發(fā)明應(yīng)用到具體實(shí)施例中,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
首先以本發(fā)明應(yīng)用于PDP Context Activation Procedure為例,并參見圖3,對上述GSN之間建立通訊的過程進(jìn)一步詳細(xì)說明步驟301MS發(fā)出Activate PDP Context request給SGSN,其中,該消息包括APN標(biāo)識。
步驟302SGSN根據(jù)自身所支持的所有IP版本,向DNS Name Server發(fā)起DNS正向查詢,查詢APN所對應(yīng)的GGSN地址列表,并根據(jù)DNS NameServer返回的消息獲得對應(yīng)的GGSN的IP地址列表。
對于TYPE C SGSN,由于支持IPv4和IPv6,應(yīng)獲得APN對應(yīng)的GGSN的兩種版本的IP地址,它可以這樣操作向DNS Name Server發(fā)出一個DNSA查詢,和一個DNS AAAA查詢,其中A代表IPv4類型,AAAA代表IPv6類型;或者發(fā)出一個包含了2個問題的DNS查詢,問題的查詢類型分別為A和AAAA。對于現(xiàn)有的TYPE A SGSN,由于僅支持IPv4,因此只發(fā)出DNSA查詢,獲取APN對應(yīng)的所有IPv4地址。DNS Name Server則根據(jù)查詢,返回相應(yīng)的IP地址列表。
步驟303SGSN從獲得的GGSN的IP地址列表中,選擇一個GGSN地址,根據(jù)該GGSN地址,判斷GGSN能支持的IP版本,即判斷GGSN的IP版本能力,SGSN選擇和GGSN IP版本能力相同的IP版本和GGSN進(jìn)行交互。
例如,當(dāng)SGSN是TYPE A GSN時,則從步驟302獲得的GGSN地址全部為IPv4地址,SGSN選擇IPv4地址;當(dāng)獲得的IP地址列表中包含了IPv6地址,則SGSN可以優(yōu)先選擇IPv6版本協(xié)議,當(dāng)然也可以選擇IPv4版本。
步驟304SGSN與GGSN用選擇的IP版本進(jìn)行通訊,包括使用該版本的IP地址填充GSN Address信元,SGSN與GGSN之間使用相應(yīng)的IP版本封裝承載GTP消息,完成后續(xù)的激活PDP Context流程。例如首先,SGSN發(fā)出Create PDP Context request消息給選定的IP地址所代表的GGSN。在SGSN構(gòu)建的Create PDP Context Request消息中,用該IP版本的SGSN地址填寫SGSN Address for Control Plane和SGSN Address foruser traffic信元,而且構(gòu)建后的GTP消息由該版本IP進(jìn)行封裝承載。
然后,GGSN接收到Create PDP Context Request消息,根據(jù)接收的消息所使用的IP版本,構(gòu)建Create PDP Context response消息發(fā)回給SGSN。GGSN在構(gòu)建消息時用相同IP版本的GGSN地址填寫GGSN Address for ControlPlane和GGSN Address for User Traffic信元。
然后,SGSN接收到GGSN的Create PDP Context response,存儲GGSN的IP地址。SGSN構(gòu)建Activate PDP Accept消息,回復(fù)給MS。
下面再以本發(fā)明應(yīng)用于Inter-SGSN RA update Procedure流程為例,并參見圖4,對上述MS從SGSN切換到另一個新SGSN時的通訊方法進(jìn)一步詳細(xì)說明步驟401MS發(fā)起RA Update Request消息給新的SGSN(NEW-SGSN),其中,該消息包含old RAI信元。
步驟402NEW-SGSN由old RAI構(gòu)建出RAI邏輯名,根據(jù)自身所支持的所有IP版本,向DNS Name Server發(fā)起正向查詢,推導(dǎo)出RAI邏輯名對應(yīng)的老SGSN(OLD-SGSN)的IP地址。
對于TYPE C SGSN,由于支持IPv4和IPv6,應(yīng)獲得RAI邏輯名對應(yīng)的SGSN的兩種版本的IP地址,它可以這樣操作向DNS發(fā)出一個DNS A查詢,和一個DNS AAAA查詢;或者發(fā)出一個包含了2個問題的DNS查詢,問題的查詢類型分別為A和AAAA。對于現(xiàn)有的TYPE A SGSN,由于僅支持IPv4,因此只發(fā)出DNS A查詢,獲取RAI邏輯名對應(yīng)的IPv4地址。DNSName Server則根據(jù)查詢返回結(jié)果。
步驟403NEW-SGSN得到OLD-SGSN的IP地址列表,判斷其IP版本能力,NEW-SGSN選擇使用OLD-SGSN支持的IP版本,其中若2個SGSN均支持IPv6,則優(yōu)先選擇IPv6版本;否則選擇IPv4版本。
步驟404NEW-SGSN與OLD-GGSN用NEW-SGSN所選擇的IP版本進(jìn)行通訊。并且通訊中,OLD-SGSN根據(jù)與NEW-SGSN通訊使用的IP版本,將所記錄的PDP context中的GGSN的IP地址直接發(fā)送給NEW-SGSN,或者把由IPv6 GGSN地址推導(dǎo)得到的IPv4地址發(fā)送給NEW-SGSN。具體包括以下步驟首先,NEW-SGSN構(gòu)建SGSN Context Request消息時,使用步驟403選擇的IP版本把它封裝為GTP消息后發(fā)給OLD-SGSN。包括使用選擇的IP版本填寫SGSN Context Request消息的SGSN Address for Control Plane信元和SGSN Context Acknowledge消息的SGSN Address for user traffic信元,在構(gòu)建GTP消息時用該IP版本進(jìn)行封裝后發(fā)送給OLD-SGSN。
然后,OLD-SGSN接收到SGSN Context Request,使用相同IP版本構(gòu)造SGSN Context Response消息,填寫SGSN Address for Control Plane信元發(fā)給NEW-SGSN,并且根據(jù)與NEW-SGSN通訊所使用的IP版本,攜帶相應(yīng)相同IP版本的GGSN地址。
其中,若OLD-SGSN與NEW-SGSN使用IPv6進(jìn)行通訊,則OLD-SGSN將自己已經(jīng)存儲的PDP Context中的GGSN IP地址,不作改變地填寫在SGSN Context Response消息中PDP Context信元里的GGSN地址中,發(fā)給新SGSN。
若OLD-SGSN與NEW-SGSN使用IPv4進(jìn)行通訊,且OLD-SGSN記錄的GGSN地址為IPv4,則與現(xiàn)有技術(shù)一樣,將該地址填寫在SGSN ContextResponse消息中PDP Context信元里的GGSN地址中,發(fā)給NEW-SGSN;若OLD-SGSN記錄的GGSN地址為IPv6地址,則OLD-SGSN依據(jù)IPv6地址得到GGSN的IPv4地址,例如可以先根據(jù)現(xiàn)存的IPv6 GGSN地址進(jìn)行DNS反向查詢得到GGSN的名字,然后,根據(jù)該GGSN名字進(jìn)行正向查詢得到IPv4地址,接著用查詢到的IPv4地址填寫SGSN Context Response消息中PDP Context信元里的GGSN地址字段,發(fā)送給NEW-SGSN。
步驟405NEW-SGSN將SGSN Context Acknowledge消息發(fā)送給OLD-SGSN。并且,NEW-SGSN依據(jù)SGSN Context Response消息中的PDPContext信元中包含的GGSN地址的IP版本,使用該IP版本與GGSN進(jìn)行通訊,GGSN使用相同IP版本封裝響應(yīng)的GTP消息,包括新SGSN發(fā)出Update PDP Context request消息給GGSN。GGSN根據(jù)接收到的消息的IP版本,判斷到接收的消息的IP版本與原來存儲的PDP Context中的SGSN地址的IP版本不同時,則修改為使用新的IP版本進(jìn)行GTP通訊,并以UpdatePDP Context response響應(yīng)SGSN。
其中,上面的Inter-SGSN RA update Procedure流程是NEW-SGSN向OLD-SGSN主動發(fā)起GTP信令交互通訊,當(dāng)本發(fā)明應(yīng)用在Inter-SGSN SRNSRelocation流程中,則是OLD-SGSN首先向NEW-SGSN發(fā)起通訊,參見圖5,進(jìn)一步詳細(xì)說明步驟501源RNC發(fā)出Relocation Required消息給OLD-SGSN,該消息中包含目標(biāo)RNC標(biāo)識(target ID)。
步驟502OLD-SGSN由target ID構(gòu)建出RNC邏輯名,根據(jù)自身所支持的所有IP版本,查詢DNS,得到RNC邏輯名對應(yīng)的SGSN(即NEW-SGSN)地址。
步驟503OLD-SGSN得到NEW-SGSN的IP地址列表,判斷其IP版本能力,OLD-SGSN選擇與NEW-SGSN均支持的IP版本,其中若均支持IPv6,則優(yōu)先選擇IPv6;否則選擇IPv4版本。
步驟504OLD-SGSN與NEW-SGSN用所選擇的IP版本進(jìn)行通訊。并且通訊中,OLD-SGSN根據(jù)與NEW-SGSN通訊使用的IP版本,將所記錄的PDP context中的GGSN IP地址直接發(fā)送給NEW-SGSN,或者把由IPv6GGSN地址推導(dǎo)得到的IPv4地址發(fā)送給NEW-SGSN。
其中若OLD-SGSN選擇使用IPv6與NEW-SGSN進(jìn)行通訊,則OLD-SGSN將自己已經(jīng)存儲的PDP Context中的GGSN IP地址,不加修改地填寫在Forward Relocation Request消息中PDP Context信元里的GGSN地址中,發(fā)送給新SGSN。
若OLD-SGSN選擇使用IPv4與NEW-SGSN進(jìn)行通訊,且老SGSN記錄的PDP Context中的GGSN地址為IPv4地址,則與現(xiàn)有技術(shù)一樣,將該地址填寫在Forward Relocation Request消息中PDP Context信元里的GGSN地址中,發(fā)給新SGSN;若OLD-SGSN記錄的PDP Context中的GGSN地址為IPv6地址,則OLD-SGSN依據(jù)IPv6地址得到GGSN的IPv4地址,例如可以先根據(jù)現(xiàn)存的IPv6 GGSN地址進(jìn)行DNS反向查詢得到GGSN的名字,然后,根據(jù)該GGSN名字進(jìn)行DNS正向查詢得到IPv4地址,接著用將查詢到的IPv4地址填寫在Forward Relocation Request消息中PDP Context信元里的GGSN地址字段中,發(fā)送給OLD-SGSN。
步驟505NEW-SGSN依據(jù)Forward Relocation Request消息中的PDPContext信元中包含的GGSN地址的IP版本,使用該IP版本與GGSN進(jìn)行通訊,后續(xù)通訊流程不再說明,具體可以參見3GPP TS 23.060 v6.1.0。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種使用不同版本IP的GSN之間的通訊方法,用于包含C類型GSN和A類型GSN的GPRS網(wǎng)絡(luò)中,C類型GSN支持IPv4和IPv6版本,A類型GSN支持IPv4版本,其特征在于,在域名服務(wù)器DNS Name Server上配置某名字和對應(yīng)的GSN所支持的所有版本的IP地址,源GSN向目的GSN發(fā)起通訊時,該方法包括以下步驟A、源GSN根據(jù)自己支持的IP版本,向DNS Name Server發(fā)起查詢,查詢名字對應(yīng)的目的GSN的地址;B、DNS Name Server處理源GSN發(fā)來的查詢請求,將所述目的GSN相應(yīng)IP版本的地址列表返回給源GSN;C、源GSN根據(jù)獲得的目的GSN的地址列表所包含的地址所使用的IP版本,確定出目的GSN所支持的IP版本,源GSN選擇自身和目的GSN均支持的IP版本與目的GSN進(jìn)行通訊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的步驟C包括當(dāng)源GSN獲得目的GSN的IP地址列表包含IPv6和IPv4版本的地址時,源GSN選擇使用IPv6版本協(xié)議與目的GSN進(jìn)行通訊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在DNS Name Server上配置的名字是在DNS Name Server上配置的接入點(diǎn)名稱APN;所述的源GSN為SGSN,目的GSN為GGSN;所述的源GSN向目的GSN發(fā)起的通訊為激活PDP上下文流程;步驟A所述的源GSN向DNS Name Server查詢的名字為APN。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的在DNS Name Server上配置的某名字是在DNS Name Server上配置的路由區(qū)標(biāo)識RAI邏輯名;所述的源GSN為新SGSN,目的GSN為老SGSN;所述的源GSN向目的GSN發(fā)起的通訊為SGSN間RA更新流程;步驟A中所述的源GSN向DNS查詢的名字為RAI邏輯名。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的在DNS Name Server上配置的某名字是在DNS Name Server上配置的無線網(wǎng)絡(luò)控制器RNC邏輯名;所述的源GSN為老SGSN,目的GSN為新SGSN;所述的源GSN向目的GSN發(fā)起的通訊為SGSN間SRNS重定向流程;步驟A中所述的源GSN向DNS查詢的名字為RNC邏輯名。
6.一種使用不同版本IP的GSN之間的通訊方法,用于包含C類型GSN和A類型GSN的GPRS網(wǎng)絡(luò)中,C類型GSN支持IPv4和IPv6版本,A類型GSN支持IPv4版本;其特征在于,在DNS Name Server上配置某名字和對應(yīng)的GSN所支持的所有版本的IP地址,在MS從老SGSN切換到新SGSN時,新SGSN和GGSN的通訊方法包括以下步驟A、作為流程發(fā)起者的SGSN根據(jù)自身支持的IP版本,向DNS發(fā)起查詢,查詢名字所對應(yīng)的對方SGSN相應(yīng)IP版本的地址;B、DNS Name Server處理流程發(fā)起者SGSN發(fā)來的查詢請求,將所述對方SGSN相應(yīng)IP版本的地址列表返回給流程發(fā)起者SGSN;C、流程發(fā)起者SGSN根據(jù)獲得的對方SGSN的地址列表所包含的IP版本,確定出對方SGSN所支持的IP版本,流程發(fā)起者SGSN選擇自身和對方SGSN均支持的IP版本與對方SGSN進(jìn)行通訊;其中,在SGSN間RA更新流程里,所述的流程發(fā)起者SGSN為新SGSN,對方SGSN為老SGSN;在SGSN間SRS重定向流程里,所述的流程發(fā)起者SGSN為老SGSN,對方SGSN為新SGSN;D、老SGSN判斷新SGSN與老SGSN通訊所使用的IP版本,當(dāng)判斷出新SGSN與老SGSN通訊使用的是IPv6時,老SGSN直接將所記錄的PDP Context中的GGSN地址發(fā)送給新SGSN;當(dāng)判斷出新SGSN與老SGSN通訊使用的是IPv4時,則進(jìn)一步判斷老SGSN所記錄的PDP context的GGSN地址的IP版本,若為IPv4地址則直接發(fā)給新SGSN;若為IPv6地址,則根據(jù)該IPv6地址推導(dǎo)出該GGSN的IPv4地址發(fā)送給新SGSN;E、新SGSN使用接收到的消息中GGSN地址字段的IP版本,與GGSN進(jìn)行通訊。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟D所述SGSN根據(jù)IPv6地址推導(dǎo)出GGSN的IPv4地址的步驟包括在DNS Name Server上配置C類型GGSN的名字和IPv6、IPv4地址的對應(yīng)關(guān)系,SGSN根據(jù)IPv6地址向DNS Name Server發(fā)起反向查詢獲得該GGSN的名字,然后利用該GGSN名字進(jìn)行正向查詢得到對應(yīng)的IPv4地址。
全文摘要
本發(fā)明提供了一種使用不同版本IP協(xié)議的GSN之間的通訊方法,用于包含C類型和A類型GSN的GPRS網(wǎng)絡(luò)中,在域名服務(wù)器(DNS Name Server)上配置APN、RNC邏輯名或RAI邏輯名字和對應(yīng)的GSN所支持的所有版本的IP地址,源GSN向目的GSN發(fā)起通訊時,包括以下步驟A.源GSN根據(jù)自己支持的IP版本,向DNS Name Server查詢名字所對應(yīng)的目的GSN的地址;B.DNS Name Server處理根據(jù)該,將所述目的GSN相應(yīng)IP版本的地址列表返回給源GSN;C.源GSN根據(jù)獲得的目的GSN的地址列表所包含的地址所使用的IP版本,確定出目的GSN所支持的IP版本,源GSN選擇自身和目的GSN均支持的IP版本與目的GSN進(jìn)行通訊。當(dāng)進(jìn)行SGSN間切換時,由老的SGSN將GGSN所支持的某IP版本的IP地址通知給新SGSN。應(yīng)用本發(fā)明,實(shí)現(xiàn)C類型和A類型GSN的正常通訊。
文檔編號H04L12/66GK1671123SQ20041002954
公開日2005年9月21日 申請日期2004年3月18日 優(yōu)先權(quán)日2004年3月18日
發(fā)明者張光華 申請人:華為技術(shù)有限公司