Diameter链路的建立方法和Diameter网元的制作方法

文档序号:7711481阅读:522来源:国知局
专利名称:Diameter链路的建立方法和Diameter网元的制作方法
技术领域
本发明涉及通4言4页i或,具体而言,涉及一种Diameter《连^各(直 4圣《连^各)的建立方法禾口 Diameter网元。
背景技术
3于于商业>ft运营的通4言网纟各来i兌,AAA(Authentication 、 Authorization、 Accounting, i人i正、4受沐又、计费),即i人i正、4受4又以 及计费体制是其运营的基础。Diameter协+义族是新一4<的AAA 4支 术,由于其强大的可扩展性和安全性,使其备受关注。越来越多的 电4言运营商选4奪Diameter作为其进4亍iU正,4受斥又,计费的基础妨、i义。
Diameter不同于原先的Radius协议,其基于可靠传l餘协i义SCTP (Stream Control Transmission Protocol,;危4空制4专^r十办i义)或者TCP (Transfer Control Protocol, 4专llr控制协i义)的基础上,即通4言的两 个Diameter对等端实体之间始终保持一条可靠的《连3各。RFC3588协 议中的链路状态机表明,任何两个Diameter对等端之间只能保留一 条Diameter 4连^各。协^义爿见定在底层岸、载建立之后,需要在该厚、载上 发送CER (Capabilities Exchange Request,能力交才奐i青求)消息, 以完成后续的能力交换。如果两端之间存在两条链路,则在通过链 路选举(Election)功能后,只保留一条有效链路,另一条链路将辟皮 关闭。首先了角罕一下Diameter节点之间Diameter《连^各的一既念。 Diameter链-各是Diameter节点之间通4言的通道。它不是SCTP或者 TCP链路,是基于SCTP或TCP链路之上的高层协议链路。本文提到的底层承载链路是指SCTP或者TCP承载链路。 Diameter 4连^各是岸义载于底层7 义载《连^各之上通过Diameter能力交4奐成 功之后确立的《连路。才艮才居十办i义,在基于Diameter妨、-汉的通4言网#各中,Diameter只于等 端之间的通信是基于可靠的SCTP或者TCP承载链^各进行的。因此 当 一个Diameter节点需要与另 一个Diameter节点进4亍通4言时,首先 必须建立起与另 一个节点之间的承载SCTP链路或者TCP链路。一 4殳的方法是通过在本节点上配置本端IP地址,端口号,对端IP地 址,端口号以及使用的承载协议,其中,两个对等端的链路配置需 要对应。通常, 一条Diameter《连3各^j"应一条底层7K载4连3各。其Diameter 4连^各的建立过程主要包括如下的步骤S102至S108:步骤S102,作为客户端的Diameter节点通知SCTP层或者TCP 层建立底层承载链^各。底层承载SCTP或者TCP链3各的建立符合标 准的协议规定,在此不再详细描述。步骤S104,当底层7 义载《连路建立成功后,Diameter节点发送 CER ( Capability Exchange Request,能力交才灸i青求)消息,该CER 消息中携带本地主机名,域名,以及相应的支持的能力。步骤S106,对等端接收到CER消息后,才艮据本地配置,进行 能力匹配,^口果匹配成功,#尤回复正确的CEA(Capability Exchange Answer,能力交换响应)消息。否则,回复^H吴应答,或者直接丟弃 消息。步骤S108,能力交才灸成功后,标志着这条Diameter《连^各成功 建立。以后的iU正,4受权,计费等消息就可以在该《连路上收发。上述的方案中,Diameter节点间只存在一条Diameter《连^各进4亍 通信,每条Diameter 4连^各对应于一条底层岸义载链3各。由于Diameter两节点间只有一条Diameter《连^各,两个只于等端之 间的通信只能在一条SCTP或者TCP承载链;洛上进行,这样,当业 务量很大时,SCTP或者TCP承载链路可能会超负荷运行,从而在 SCTP或者TCP 7K载《连^各发生故障时,两个Diameter节点间的通信 将发生中断。在底层承载4连^各(如SCTP或者TCP承载链^各)建立成功之后, Diameter协i义层面进4亍能力协商,完成Diameter《连3各的建立。在这 个过程中 一旦能力交换完成,中间不会再因为能力交换问题导致《连 路中断或不稳定,所以大部分的故障来源于底层承载链^各的不稳定。 又由于Diameter协议栈头见定的能力协商与《连^各选举功肖fe的存在,又 无法直4妄在两个Diameter节点之间建立两条相同的Diameter《连^各。为了提高链路的可靠性,传统的方法是如图1所示,增加备 用月l务器, 一旦Diameter节点1与对等端的Diameter节点2通信发 生异常,就切换到Diameter备用节点2;或者是通过在两个对等端 之间增加相应的Diameter纟连路作为备4分。^f旦是这两种方法都存在弊 端。增加备用对等端4是高了成本,并且在主用对等端发生失败的时 候,需要额外的操作重新选择链路发往备用对等端。而对于另一种 传统方法,即,增加两端之间的Diameter链^各,其中,在能力交换 时使用多个对等端标识,避免链路选举功能通过对等端标识关闭其 中一条4连^各,这4羊,由于两端之间存在两条Diameter链^各,必然会 增加选择链路的算法,发生故障时切换到备用链路也需要上层应用 进行额外的操作。4十只于才目关4支术中Diameter《连3各的建立方法会造成Diameter《连^各 可靠性较低的问题,目前尚未提出有效的解决方案。发明内容4十只于才目关4支术中Diameter《连^各的建立方法会造成Diameter《连^各 可靠性较低的问题而提出本发明,为此,本发明的主要目的在于提 供一种Diameter《连^各的建立方法禾口 Diameter网元,以解决上述问题 至少之一。为了实现上述目的,才艮据本发明的一个方面,才是供了一种 Diameter链路的建立方法。才艮才居本发明的Diameter 4连^各的建立方法包4舌在第一 Diameter 节点和第二 Diameter节点之间建立第 一底层承载链路和第二底层岸义 载链路;第一 Diameter节点通过第一底层承载链路或第二底层承载 链路向第二 Diameter节点发送能力交换请求消息;如果能力交换成 功,第一 Diameter节点4妄^lt来自第二 Diameter节点的成功响应。才艮据本发明的另一方面,才是供了 Diameter网元。才艮才居本发明的Diameter网元包4舌建立才莫块,用于在Diameter 网元与另 一个Diameter网元之间建立第 一底层承载《连^各和第二底层 承载链路;发送模块,用于通过第一底层承载链路或第二底层承载 链路向另一个Diameter网元发送能力交换请求消息;接收4莫块,用 于在能力交4奐成功之后4姿收来自另一个Diameter网元的成功响应。优选地,上述网元还包括交互才莫块,该交互才莫块用于在4妄收成 功响应之后通过第 一底层7K载《连^各和第二底层7K载《连^各中的 一个与 另一个Diameter网元进行通信,并且在第一底层承载《连^各和第二底障时通过第 一底层7K载《连^各和第二底层 7 义载《连^各中的另 一个与另 一个Diameter网元进4亍通4言。才艮据本发明,在建立一条Diameter《连if各时,分别建立两条底层 承载链^各,这样,在当前承载Diameter《连路的底层承载《连路发生异 常的情况下,两个Diameter网元之间可以通过第二条底层7K载《连3各 进行通信,从而提高了 Diameter链路的可靠性,简化处理过程,节 省成本。


此处所说明的附图用来提供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中图1是才艮据现有技术的Diameter节点之间的通信4连^各的示意图;图2是根据本发明实施例的Diameter节点之间的通信链3各的示 意图;图3是根据本发明的Diameter链路的建立方法的流程图;图4是才艮净居本发明实施例的Diameter 4连^各的建立方法的流禾呈图;图5是根据本发明实施例的Diameter网元的结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明 的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可 以相互组合。功能相克述考虑、到相关才支术中Diameter 4连^各的建立方法会造成Diameter 链3各可靠性较低的问题,本发明提供一种Diameter链^各的建立方法 和Diameter网元。才艮据本发明的Diameter《连3各的建立方法,在建立 一条Diameter《连^各时,分别建立两条底层7K载《连;洛,这才羊,在当前 承载Diameter链路的底层承载链路发生异常的情况下,两个 Diameter网元之间可以通过第二条底层承载《连路进4亍通信,乂人而拔_ 高了 Diameter链路的可靠性,简化处理过程,节省成本。方法实施例才艮据本发明的实施例,提供了 一种Diameter链路的建立方法。图2是根据本发明实施例的Diameter节点之间的通信链5^的示 意图。3口图2所示,Diameter网元实体可以包4舌Diameter节点1和 Diameter节点2,其中,Diameter节点1可以为Diameter客户端 (Diameter Client),而Diameter节点2可以为Diameter月良务器 (Diameter Server )。在图2中,黑色的斗且体线表示两个Diameter 节点之间的Diameter《连^各,两条虚线分别表示Diameter《连3各需要岸义 载的两条底层承载链路,即,SCTP承载链^各和TCP承载链^各。图3是根据本发明的Diameter链路的建立方法的流程图。如图 3所示,该Diameter 4连^各的建立方法包4舌如下的步-骤S302至步骤 S306:步-骤S302 ,在第一 Diameter节点和第二 Diameter节点之间建立第 一底层承载链路和第二底层承载链路。例^cr,在Diameter节点1 ,口 Diameter节点2之间建立两条底层 承载链路,即,SCTP承载链路和TCP承载链路。步骤S304,第一 Diameter节点通过第一底层岸义载链^各或第二 底层7 义载4连3各向第二 Diameter节点发送能力交换请求消息。例如,当两条底层7 义载《连^各都成功建立后,Diameter节点1可 以通过SCTP 7"R载4连^各发送CER消息,以l更与Diameter节点2进 行能力交换。步骤S306,如果能力交换成功,第一 Diameter节点_接收来自 第二 Diameter节点的成功响应。it匕夕卜,该Diameter 4连^各的建立方法还包4舌:^下步艰《步骤S308 ,在第一 Diameter节点-接收到来自第二 Diameter节 点的成功响应之后,Diameter 4连^各成功建立,两个Diameter节点之 间可以通过这条Diameter《连^各进^f亍消息通4言。在通4言时,可以选用 SCTP 7K载4连^各作为Diameter《连3各的7 义载《连3各。步骤S310,在Diameter链^各的承载^^各SCTP发生断《连的情况 下,两个Diameter节点通过备选的TCP 7 义载食连3各继续进4亍通信, 这才羊,可以偵J寻Diameter 4连3各不中断,乂人而^是高了 Diameter《连3各的 可靠性。jt匕外,由于不用在Diameter客户端和Diameter月良务器之间 建立两条Diameter链路,从而简化了处理过程,节省成本。步-骤S312,经过一#史时间后,当SCTP岸义载链3各恢复正常,则 Diameter链^各仍然可以选用SCTP承载《连3各作为通信链路进4亍消息 通信。图4是才艮据本发明实施例的Diameter《连路的建立方法的流程 图。下面结合附图4对本发明实施例的具体实现加以描述步-骤S402,在Diameter节点1和Diameter节点2之间,酉己置 一条Diameter《连;洛,该Diameter 4连^各基于两条底层7 义载《连3各,相应 地配置两条承载链^各所需的两端的IP地址和端口号以及相应的底 层承载类型。具体地包括步骤S4022,分别在Diameter节点1和Diameter 节点2上,为SCTP承载《连^各配置Diameter节点1的IP地址和第一 端口号以及Diameter节点2的IP ;也址和第二端口号;步骤S4024, 分别在Diameter节点1和Diameter节点2上,为TCP 7fc载《连3各配 置Diameter节点1的IP ;也址和第三端口号以及Diameter节点2的IP ;l也址和第四端口号,其中,所述第三端口号与所述第一端口号不同,所述第四端口号与所述第二端口号不同,即,SCTP岸义载《连^各 和TCP ^义载链;洛所用的端口号不能冲突。此夕卜,Diameter节点1上配置的对端的主才几名和对端的i或名指 的是Diameter节点2的主才凡名和i或名。Diameter链^各关联上述配置的两条底层承载4连路,即,SCTP 承载链路和TCP承载链路。也就是,在上述两条底层承载链^各上承 载该Diameter链路。步骤S404,才艮据配置,Diameter节点1和Diameter节点2分 别建立SCTP 7K载《连3各和TCP 7K载《连3各。所述建立底层承载链路是指建立SCTP承载链路和建立TCP承 载链路,两条底层承载链路根据配置的地址和端口号分别建起《连路。步骤S406, Diameter节点1或者Diameter节点2在两条底层 7K载纟连路都建立成功后,优先选择SCTP承载链^各进行Diameter《连 ^^的能力交换过程。上述的能力交换过程是指作为客户端的Diameter节点1 ,向对 端(即,作为服务器端的Diameter节点2)发送CER (Capability Exchange Request,能力交换j青求)消息。该CER消息^f尤先通过SCTP 承载链路发送。作为力良务器端的Diameter节点2在4妄收到CER消息之后,对 4乍为客户端的Diameter节点1进4亍-验i正,例3口,只寸Diameter节点1 的主4几名和支持能力进^f亍匹配,如果匹配通过,则回复正确的CEA (Capability Exchange Answer,負fe力交才奐口向应)消'息、。Diameter节 点1在4妄收到CEA消息之后i人为Diameter 4连^各已经正常建立。步骤S408, Diameter《连路在能力交换成功后成功建立,两个 Diameter节点之间进4亍正常的消息通4言。ot匕时,Diameter 4连3各^尤先 使用的是SCTP承载链路。步骤S410, 一旦SCTP承载链路发生故障,Diameter《连^各将快 速切换到已经握手成功并建立好的TCP承载链路上。通过TCP承 载4连^各,两个Diameter节点之间仍然可以正常通4言。综上所述,在两个Diameter节点间只 <呆留 一条Diameter《连3各的 情况下,本发明增加了一条不同协议的底层承载链路,这样,承载 《连3各间可以互为备4分。Diameter节点间发送消息只与Diameter《连^各 相关,不关心底层承载链^各的变化,也就是,其中一条底层7K载链 路发生故障后,上层应用发送或者接收消息,不受底层承载《连路变化的影响,也不需要进行额外的重新选择链路操作,从而^f呆证了Diameter链路的可靠性,并简化了处理过程,节省成本。 装置实施例才艮据本发明的实施例,才是供了一种Diameter网元。图5是根据本发明实施例的Diameter网元的结构图。如图5所 示,该Diameter网元主要包4舌建立才莫》夹502,用于在Diameter网 元与另 一个Diameter网元之间建立第 一底层7 义载链3各和第二底层承 载链路;发送模块504,连接至建立模块502,用于通过第一底层承 载链路或第二底层承载链路向另 一个Diameter网元发送能力交换请 求消息;接收才莫块506,连接至发送模块504,用于在能力交才奐成功 之后4妻》]欠来自另 一个Diameter网元的成功响应。此夕卜,该Diameter网元还包括交互才莫》夹508,连4妄至4妻*]欠才莫 块506,用于在4妻收成功响应之后通过第一底层7 义载链路和第二底 层7 々载《连3各中的一个与另一个Diameter网元进行通4言,并且在第——— 一 底层承载链^各和第二底层承载链路中的所述一个出现故障时通过第 一底层7 义载《连5各和第二底层7 义载《连路中的另 一个与另 一个Diameter 网元进行通信。上述的能力交换过程是指作为客户端的Diameter节点1 ,向对 端(即,作为服务器端的Diameter节点2)发送CER (Capability Exchange Request,能力交换r清求)消息。该CER消息4尤先通过SCTP 承载链路发送。作为月l务器端的Diameter节点2在4妻收到CER消息之后,对 4乍为客户端的Diameter节点1进4亍-验i正,例嗦。,3于Diameter节点1 的主机名和支持能力进4亍匹配,如果匹配通过,则回复正确的CEA(Capability Exchange Answer, 肯fe力交4奐。向应)消'息-。Diameter节 点1在才妄4欠到CEA消息之后i人为Diameter 4连^各已经正常建立。上述Diameter网元与另 一个Diameter网元之间的Diameter 4连 路对应了两条底层承载链^各,即,SCTP承载《连路和TCP 7 义载《连^各。 也就是,在上述两条底层7 义载链路上承载Diameter《连路。在正常通信时,两个Diameter节点之间可以通过SCTP岸义载4连 ^各来7 义载Diameter《连二洛,以 <更在两个Diameter节点之间进4亍通4言。 一旦SCTP承载链路发生故障,Diameter链^各将快速切换到已经握 手成功并建立好的TCP浮义载4连路上。通过TCP岸义载链^各,两个 Diameter节点之间仍然可以正常通信,A人而才是高了 Diameter《连^各的 可靠性。综上所述,在两个Diameter节点间只 <呆留 一条Diameter《连3各的 情况下,本发明增加了一条不同协议的底层承载链路,这样,承载 4连^各间可以互为备〗分。Diameter节点间发送消息只与Diameter《连^各 相关,不关心底层承载链路的变化,也就是,其中一条底层岸义载链 ^各发生古丈障后,上层应用发送或者接收消息,不受底层承载《连; 各变 化的影响,也不需要进行额外的重新选择链路操作,从而^f呆证了 Diameter链路的可靠性,并简化了处理过程,节省成本。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计 算才几可扭j亍指令的计算才几系统中执行,并且,虽然在流程图中示出 了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序^丸行所 示出或描述的步-骤。显然,本领域的技术人员应该明白,上述的本发明的各才莫块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选;也,它们页可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述^叉为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来i兌,本发明可以有各种更改和变4匕。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的 <呆护范围之内。
权利要求
1.一种Diameter链路的建立方法,其特征在于,包括在第一Diameter节点和第二Diameter节点之间建立第一底层承载链路和第二底层承载链路;所述第一Diameter节点通过所述第一底层承载链路或所述第二底层承载链路向所述第二Diameter节点发送能力交换请求消息;如果能力交换成功,所述第一Diameter节点接收来自第二Diameter节点的成功响应。
2. 才艮据权利要求1所述的方法,其特征在于,在所述第一Diameter 节点接收来自第二 Diameter节点的成功响应之后,所述方法 还包括所述第一 Diameter节点与所述第二 Diameter节点通过所 述第 一底层承载《连路进行通信;在所迷第一底层承载链路出现故障时,所述第一 Diameter 节点与所述第二 Diameter节点通过所述第二底层7"R载《连路进 行通信。
3. 才艮据4又利要求1所述的方法,其特征在于,在所述第一Diameter 节点接收来自第二 Diameter节点的成功响应之后,所述方法 还包括所述第一 Diameter节点与所述第二 Diameter节点通过所 述第二底层承载链路进行通信;在所述第二底层7 义载《连路出现故障时,所述第一 Diameter 节点与所述第二 Diameter节点通过所述第一底层承载链路进 行通信。
4. 才艮据外又利要求1所述的方法,其特征在于,所述在第一Diameter 节点和第二 Diameter节点之间建立第一底层岸义载链^各包括分别在第一 Diameter节点和第二 Diameter节点上,为所 述第一底层7 义载4连^各配置所述第一 Diameter节点的IP地址和 第一端口号以及所述第二 Diameter节点的IP ;也址和第二端口—弓—
5. 才艮据权利要求4所述的方法,其特征在于,所述在第一 Diameter 节点和第二 Diameter节点之间建立第二底层承载链路包括分别在第一 Diameter节点和第二 Diameter节点上,为所述第二底层浮义载《连^各配置所述第一 Diameter节点的IP地址和第三端口号以及所述第二 Diameter节点的IP地址和第四端口号,其中,所述第三端口号与所述第一端口号不同,戶斤述第四 端口号与所述第二端口号不同。
6. 根据权利要求1所述的方法,其特征在于,所述能力交换请求 消息中携带的信息包括所述第一 Diameter节点的本地主^L 名、域名和支持能力。
7. 才艮据4又利要求1所述的方法,其特征在于,如果能力交4奐失败, 则所述方法还包括所述第二 Diameter节点向所述第一 Diameter节点发送携 带有能力交换失败信息的响应。
8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述 第一底层承载链路为SCTP承载链路,所述第二底层承载链路 为TCP 7lc载《连3各。
9. 一种Diameter网元,其4争4正在于,包4舌建立才莫i夹,用于在戶斤述Diameter网元与另一个Diameter 网元之间建立第 一底层7K载链J洛和第二底层岸义载《连3各;发送才莫块,用于通过所述第一底层7 义栽《连3各或第二底层7 义载《连^各向所述另一个Diameter网元发送能力交换二清求消息;接收模块,用于在能力交换成功之后接收来自所述另 一个 Diameter网元的成功响应。
10. 根据权利要求9所述的网元,其特征在于,包括交互模块,用于在接收所述成功响应之后通过第一底层承 载《连^各和第二底层7K载《连^各中的一个与所述另 一个Diameter网元进4亍ii/f言,并且在所述第 一底层7R载《连3各和第二底层7^载链3各中的所述一个出现故障时通过第 一底层岸义载《连3各和第二 底层承载链^各中的另一个与所述另一个Diameter网元进行通 信。
全文摘要
本发明提供了一种Diameter链路的建立方法和Diameter网元,根据本发明的Diameter链路的建立方法包括在第一Diameter节点和第二Diameter节点之间建立第一底层承载链路和第二底层承载链路;第一Diameter节点通过第一底层承载链路或第二底层承载链路向第二Diameter节点发送能力交换请求消息;如果能力交换成功,第一Diameter节点接收来自第二Diameter节点的成功响应。这样,在当前承载Diameter链路的底层承载链路发生异常的情况下,两个Diameter网元之间可以通过第二条底层承载链路进行通信,从而提高了Diameter链路的可靠性。
文档编号H04L12/56GK101621476SQ20091016346
公开日2010年1月6日 申请日期2009年8月17日 优先权日2009年8月17日
发明者宋大猛, 斌 甘, 刚 陈 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1