CN101984605B - 路由发现方法及非直连直径系统中的直径节点 - Google Patents
路由发现方法及非直连直径系统中的直径节点 Download PDFInfo
- Publication number
- CN101984605B CN101984605B CN201010543155.1A CN201010543155A CN101984605B CN 101984605 B CN101984605 B CN 101984605B CN 201010543155 A CN201010543155 A CN 201010543155A CN 101984605 B CN101984605 B CN 101984605B
- Authority
- CN
- China
- Prior art keywords
- routing table
- summary info
- diameter
- node
- table summary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路由发现方法及非直连直径系统中的直径节点,该方法包括:非直连Diameter系统中的相邻Diameter节点交换各自的路由表概要信息;接收到所述路由表概要信息的Diameter节点根据接收到的路由表概要信息更新自身的路由表;根据所述更新的路由表进行动态路由发现。本发明避免了人工配置域路由,减少了工作量,提高了系统运行效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种路由发现方法及非直连直径(Diameter)系统中的Diameter节点。
背景技术
自网络通信技术诞生以来,认证、授权及计费(Authentication、AuthorizationandAccounting,简称为AAA)成为运营商不可或缺的运营基础。随着第三代移动通信系统向基于全IP的网络架构的演进,直径(Diameter)协议逐渐取代半径(Radius)协议成为新一代的AAA技术,且由于Diameter协议具有强大的可扩展性和安全性而备受关注,国际电信联盟(InternationalTelecommunicationUnion,简称为ITU)、第三代合作伙伴计划(3rdGenerationparmershipproject,简称为3GPP)和第三代合作伙伴计划2(3GPP2)等国际标准组织已正式将Diameter协议作为下一代网络(NextGenerationNetwork,简称为NGN)、宽带码分多址(WidebandCodeDivisionMultipleAccess,简称为WCDMA)和码分多址(CodeDivisionMultipleAccess,简称为CDMA)2000等未来通信网络的首选AAA协议。
Diameter协议及其扩展协议作为现网中的AAA协议,提出了解决认证、授权、计费的整套方案,其中包括Diameter节点间建立通讯连接交互方案,消息路由方案,会话初始协议(SessionInitialProtocol,简称为SIP)应用方案等。在基于Diameter的系统中,主要节点包括Diameter客户端(DiameterClient),Diameter服务端(DiameterServer),Diameter中继代理(DiameterRelay)等,这些节点统称为Diameter节点。消息在这些节点间进行发送接收,必然存在消息选路的过程。
Diameter基础协议中提出了Diameter域路由的概念,消息发送基于域路由表进行路由分析。Diameter域路由表(Realm-BasedRoutingTable)包含以下字段:域名、应用标识、本地动作、服务器标识、路由生命期等。
在相关技术中,Diameter域路由的生成大多采用静态配置的方式生成。然而在实际的Diameter节点组网中,往往不是通过直连方式连接Diameter客户端和服务器端,中间会经过一些中间代理(Diameter客户端和服务器端之间经过中间代理连接的方式成为非直连),如果都依靠静态配置域路由的话,会增加相应的静态维护工作量。
发明内容
本发明的主要目的在于提供一种路由发现方法及非直连Diameter系统中的Diameter节点,以至少解决上述问题。
本发明的一个方面提供了一种路由发现方法,包括:非直连Diameter系统中的相邻Diameter节点交换各自的路由表概要信息;接收到所述路由表概要信息的Diameter节点根据接收到的路由表概要信息更新自身的路由表;根据所述更新的路由表进行动态路由发现。
进一步地,Diameter系统中的相邻Diameter节点交换各自的路由表概要信息包括:所述Diameter系统中的相邻Diameter节点通过在能力交换消息中携带各自的路由表概要信息来实现路由表概要信息的交换。
进一步地,所述非直连Diameter系统中的相邻Diameter节点通过在能力交换消息中携带各自的路由表概要信息来实现路由表概要信息的交换包括:所述相邻Diameter节点中的一方将携带该Diameter节点的路由表概要信息的CER消息发送至所述相邻Diameter节点中的另一方;所述相邻Diameter节点中的另一方将携带该Diameter节点的路由表概要信息的CEA消息返回。
进一步地,所述能力交换消息通过设置在所述能力交换消息中的对应于路由表概要信息的属性值对AVP来携带所述路由表概要信息。
进一步地,接收到所述路由表概要信息的Diameter节点根据接收到的路由表概要信息更新自身的路由表包括:接收到所述路由表概要信息的Diameter节点判断所述接收到的路由表概要信息指示的路由是否满足预定条件,若是,则忽略处理所述满足预定条件的路由,否则,将所述不满足预定条件的路由加入接收到所述路由表概要信息的Diameter节点的路由表。
进一步地,所述预定条件包括以下之一:所述接收到的路由表概要信息指示的路由为Diameter中继代理节点的路由;所述接收到的路由表概要信息指示的路由与配置在接收到所述路由表概要信息的Diameter节点上的静态路由相同;所述接收到的路由表概要信息指示的路由为指向接收到所述路由表概要信息的Diameter节点的路由。
进一步地,在Diameter节点根据接收到的路由表概要信息确定发送该路由表概要信息的相邻Diameter节点的路由表发生变化的情况下,或者在Diameter节点根据接收到的路由表概要信息确定未与发送该路由表概要信息的相邻Diameter节点进行过交换的情况下,还包括:执行所述确定动作的Diameter节点根据接收到的路由表概要信息更新自身的路由表,并向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送所述更新后的路由表对应的路由表概要信息。
进一步地,所述非直连Diameter系统中的Diameter节点包括:Diameter客户端节点、Diameter服务端节点和Diameter中继代理节点。
本发明的另一个方面提供了一种非直连Diameter系统中的Diameter节点,包括:交换模块,用于与所述非直连Diameter系统中的相邻Diameter节点交换路由表概要信息;更新模块,用于根据接收到的路由表概要信息更新自身的路由表;路由发现模块,用于根据所述更新的路由表进行动态路由发现。
进一步地,该Diameter节点还包括:判断模块,用于根据接收到的路由表概要信息判断发送该路由表概要信息的相邻Diameter节点的路由表是否发生变化,或者,用于根据接收到的路由表概要信息判断未与发送该路由表概要信息的相邻Diameter节点进行过交换;调度模块,用于在所述判断模块的判断结果为是的情况下,调度所述更新模块和发送模块;所述发送模块,用于向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送所述更新后的路由表对应的路由表概要信息。
通过本发明,采用非直连Diameter系统中的所有的相邻节点之间进行路由表概要信息的交换,从而使得该系统中的所有节点均能够掌握整个链上的各个节点的路由信息,从而能够完成动态的路由发现,解决了相关技术中非直连的Diameter系统中各节点静态路由配置工作量过大的问题,能够在Diameter网络的各节点中动态发现路由,并维护相应的域路由表,为消息发送提供路由决策支持,避免了人工配置域路由,减少了工作量,提高了系统运行效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的路由发现方法的流程图;
图2是根据本发明实施例的非直连Diameter系统中的Diameter节点的结构框图;
图3是根据本发明实施例的非直连Diameter系统中的Diameter节点的优选结构框图一;
图4是根据本发明实施例的非直连Diameter系统中的Diameter节点的优选结构框图二;
图5是根据本发明实施例的非直连Diameter系统中的Diameter节点的优选结构框图三;
图6是根据实施例1的Diameter系统的结构框图;
图7是根据实施例2的计费系统结构示意图;
图8是根据实施例2的自动发现路由的实现方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的路由发现方法的流程图,如图1所示,该方法包括:
步骤S102,非直连Diameter系统中的相邻Diameter节点交换各自的路由表概要信息;
步骤S104,接收到路由表概要信息的Diameter节点根据接收到的路由表概要信息更新自身的路由表;
步骤S106,根据更新的路由表进行动态路由发现。
通过该方法,系统中的各节点将自身的相关路由概要信息通知相邻节点,从而使得Diameter系统中的各相关节点可以动态获取系统中的路由信息,避免了人工配置域路由,减少了工作量,提高了系统运行效率。
作为一种优选的方式,步骤S102中,Diameter系统中的相邻Diameter节点可以通过在能力交换消息中携带各自的路由表概要信息来实现路由表概要信息的交换。通过能力交换过程中携带相关路由概要信息,通知相邻节点相关路由信息,借助于现有的过程实现交换,实现起来比较容易。
在实际应用中,非直连Diameter系统中的相邻Diameter节点通过在能力交换消息中携带各自的路由表概要信息来实现路由表概要信息的交换包括:相邻Diameter节点中的一方将携带该Diameter节点的路由表概要信息的能力交换请求(CapabilityExchangeRequest,简称为CER)消息发送至相邻Diameter节点中的另一方;相邻Diameter节点中的另一方将携带该Diameter节点的路由表概要信息的能力交换响应(CapabilityExchangeAnswer,简称为CEA)消息返回。
为了实现能力交换消息对路由表概要信息的携带,可以新增响应的属性值对(AVP,AttributeValuePair),能力交换消息通过设置在能力交换消息中的对应于路由表概要信息的AVP来携带路由表概要信息。
在节点接收到相邻节点的路由表概要信息后,为了提高处理的效率,可以加入一个判断的过程:接收到路由表概要信息的Diameter节点判断接收到的路由表概要信息指示的路由是否满足预定条件,若是,则忽略处理满足预定条件的路由,否则,将不满足预定条件的路由加入接收到路由表概要信息的Diameter节点的路由表。在实际应用中,通过改变预定条件的配置,能够实现对路由信息的筛选处理。例如,预定条件可以包括以下之一:
(1)接收到的路由表概要信息指示的路由为Diameter中继代理节点的路由,通过这种配置,能够去除中间节点的路由;
(2)接收到的路由表概要信息指示的路由与配置在接收到路由表概要信息的Diameter节点上的静态路由相同,通过这种配置,能够去除重复的路由;
(3)接收到的路由表概要信息指示的路由为指向接收到路由表概要信息的Diameter节点的路由,通过这种配置,能够去除本地的路由。
为了防止节点之间链路建立的时序不一致(例如,中继代理节在与客户端节点交换时,尚未与服务端节点完成交换,因此,与客户端节点交换的内容尚未携带服务端节点的路径信息)的问题,可以配置更新步骤,即在Diameter节点根据接收到的路由表概要信息确定未与发送该路由表概要信息的相邻Diameter节点进行过交换的情况下,执行确定动作的Diameter节点根据接收到的路由表概要信息更新自身的路由表,并向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送更新后的路由表对应的路由表概要信息。
为了防止节点之间交换路由信息后,某个节点的路径信息发生变化导致节点掌握的路径信息并不是最新的信息的问题,可以配置更新步骤,即在Diameter节点根据接收到的路由表概要信息确定发送该路由表概要信息的相邻Diameter节点的路由表发生变化的情况下,执行确定动作的Diameter节点根据接收到的路由表概要信息更新自身的路由表,并向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送更新后的路由表对应的路由表概要信息。
优选地,以上非直连Diameter系统中的Diameter节点包括:Diameter客户端节点、Diameter服务端节点和Diameter中继代理节点,以上的客户端节点和服务端节点之间可以通过一个或多个中继代理节点向连接。
图2是根据本发明实施例的非直连Diameter系统中的Diameter节点的结构框图,如图2所示,该Diameter节点可以包括:交换模块22,用于与非直连Diameter系统中的相邻Diameter节点交换路由表概要信息;更新模块24,用于根据接收到的路由表概要信息更新自身的路由表;路由发现模块26,用于根据更新的路由表进行动态路由发现。
图3是根据本发明实施例的非直连Diameter系统中的Diameter节点的优选结构框图一,如图3所示,Diameter节点还可以包括:判断模块32,用于根据接收到的路由表概要信息判断发送该路由表概要信息的相邻Diameter节点的路由表是否发生变化,或者,用于根据接收到的路由表概要信息判断未与发送该路由表概要信息的相邻Diameter节点进行过交换;调度模块34,用于在判断模块32的判断结果为是的情况下,调度更新模块24和发送模块36;发送模块36,用于向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送更新后的路由表对应的路由表概要信息。
优选地,交换模块22可以通过在能力交换消息中携带路由表概要信息来实现路由表概要信息的交换。其中,能力交换消息通过设置在所述能力交换消息中的对应于路由表概要信息的AVP来携带路由表概要信息。
图4是根据本发明实施例的非直连Diameter系统中的Diameter节点的优选结构框图二,如图4所示,交换模块22包括:请求发送模块42,用于将携带本Diameter节点的路由表概要信息的CER消息发送至相邻Diameter节点;响应接收模块44,用于接受该相邻Diameter节点返回的携带该相邻Diameter节点的路由表概要信息的CEA。
优选地,图5是根据本发明实施例的非直连Diameter系统中的Diameter节点的优选结构框图三,如图5所示,该节点还包括:条件判断模块52,用于判断所述接收到的路由表概要信息指示的路由是否满足预定条件,若是,则更新模块24忽略处理该满足预定条件的路由,否则,更新模块24将不满足预定条件的路由加入本节点的路由表。
以上的预定条件可以包括以下之一:接收到的路由表概要信息指示的路由为Diameter中继代理节点的路由;接收到的路由表概要信息指示的路由与配置在该接收到路由表概要信息的Diameter节点上的静态路由相同;接收到的路由表概要信息指示的路由为指向接收到该路由表概要信息的Diameter节点的路由。
以上的Diameter节点可以为:Diameter客户端节点、Diameter服务端节点和Diameter中继代理节点。
以下描述的实施例1-2,综合了上述多个优选实施例的技术方案。
实施例1
图6是根据实施例1的Diameter系统的结构框图,如图6所示,本实施例所基于的系统包括:
Diameter客户端,用于向Diameter服务器发送Diameter消息,执行与Diameter服务器之间的认证,授权以及计费操作。
Diameter代理(也称Diameter中继代理),包括中继,proxy代理,重定向代理,翻译代理等。作为Diameter系统中的中间节点对消息进行转发或者经过处理后转发,协助完成客户端和服务端之间的AAA操作。
Diameter服务端,用于与Diameter客户端互相传输Diameter消息,执行认证,授权以及计费操作,将处理结果返回给客户端。
以下将以上述三种Diameter节点组网为例说明本实施例的动态路由发现方法,具体描述如下:
Diameter客户端在与Diameter中继代理建立连接时,Diameter中继代理与DiameterServer之间建立连接时,都需要进行相应的能力交换,能力交换包括本地主机名,本地域名,支持的应用标识等。能力交换的结果是本端获取到了对等端的主机名,域名,以及支持的应用标识。
例如上图中DiameterClient与DiameterRelay之间的能力交换流程描述如下:
首先,DiameterClient通过承载连接(SCTP承载或者TCP承载)协议与DiameterRelay建立承载连接,如果SCTP则建立底层SCTP偶联,如果是TCP则建立TCP连接。
然后,DiameterClient和DiameterRelay通过底层承载连接发送能力交换消息CER/CEA,进行能力交换,例如客户端首先发送能力交换请求消息CER消息,CER消息的格式描述如下:
<CER>::=<DiameterHeader:257,REQ>
{Origin-Host}
{Origin-Realm}
1*{Host-IP-Address}
{Vendor-Id}
{Product-Name}
[Origin-State-Id]
*[Supported-Vendor-Id]
*[Auth-Application-Id]
*[Inband-Security-Id]
*[Acct-Application-Id]
*[Vendor-Specific-Application-Id]
[Firmware-Revision]
*[AVP]
接收端DiameterRelay收到能力交互请求消息后,会进行能力交换,如果能力交换成功,即两端之间存在相同的能力,则回复CEA消息应答,CEA中同样携带了本地支持的应用能力以及本地主机标识,CEA消息格式如下:
<CEA>::=<DiameterHeader:257>
{Result-Code}
{Origin-Host}
{Origin-Realm}
1*{Host-IP-Address}
{Vendor-Id}
{Product-Name}
[Origin-State-Id]
[Error-Message]
*[Failed-AVP]
*[Supported-Vendor-Id]
*[Auth-Application-Id]
*[Inband-Security-Id]
*[Acct-Application-Id]
*[Vendor-Specific-Application-Id]
[Firmware-Revision]
*[AVP]
客户端接收到DiameterRelay返回的能力交换响应消息后,同样也会对CEA中的能力进行交换比较,如果能力交换成功则DiameterClient与DiameterRelay之间的Diameter连接就成功建立了。
同样,DiameterRelay与DiameterServer之间也重复上面的步骤建立起Diameter连接。
通过分析上面的能力交换过程,我们发现,两个对等端之间交换的能力包括应用标识和本地主机标识,本地域名等。也就是说各Diameter节点完全可以根据能力交换获取这些Diameter路由所需的信息。即DiameterClient可以知道DiameterRelay的信息,如支持的能力,DiameterRelay的域名等,但是DiameterClient却无法跨过DiameterRelay获取到DiameterServer的信息(域名,支持的应用标识),而这些信息DiameterRelay通过能力交换或者通过对等端表配置却可以方便地获得,因此在DiameterClient与DiameterRelay能力交换过程中,DiameterRelay如果能将DiameterServer的信息通过能力交换传递给Client,那本问题就迎刃而解了。
因此,为了实现动态路由的发现,本实施例扩展了能力交换消息属性,使得DiameterRelay将DiameterServer的概要信息传递给DiameterClient,使得DiameterClient在不需要静态配置的情况下能够获得DiameterServer的信息,从而生成相应的动态路由。
具体地,可以通过扩展CER/CEA消息中相应的AVP,增加本地域路由表概要信息内容的交换。例如DiameterRelay与DiameterClient交换能力时,同时将DiameterRelay本端的域路由概要信息:DiameterServer的域名以及Server的应用标识打包传递给Client。当DiameterClient接收到DiameterRelay发来的能力消息时,从中获取到这些路由概要信息就会生成相应指向DiameterServer的域路由信息。该方法在CER/CEA消息中新增一个可选组合AVP,该组合AVP定义如下:
Route-Info::=<AVPHeader:999>
{Destination-RealmAVP}
{Auth-Application-IdAVP}
{Acct-Application-IdAVP}
*[AVP]
本端在构造能力交换消息CER或者CEA时,将本地可达的域路由概要信息填写到上述的AVP中。接收端收到消息后会获取该信息,并根据筛选算法生成本地可用的域路由表,从而达到了动态生成域路由的目的。
以上的筛选生成路由的算法可以包括:
(1)去除中间节点的路由,例如中继支持的能力是0xffffffff。则如果发现Route-Info中有对应0xffffffff的应用标识,则需要将该条信息去除,因为中继一般作为中间节点,不是最终路由目的地。
(2)去除重复路由,本地如果配置了静态路由,在动态生成过程中与该配置重复的路由都要去除,以免增加域路由表的冗余数据。
(3)去除本地,例如本端收到对端发来的路由概要信息中指向本地域名及支持的能力,则该信息应该认为无效。
为了解决DiameterClient,DiameterRelay以及DiameterServer之间链路建立的时序不一致的问题。例如DiameterClient与DiameterRelay建链时,DiameterRelay还没有和DiameterServer建链能力交换,因此DiameterRelay发送给DiameterClient的能力交换消息中可能无法提供DiameterServer的概要信息。一旦DiameterRelay和DiameterServer之间完成了能力交换之后,DiameterRelay学习了DiameterServer的概要信息,则认为DiameterRelay的能力值发生变化,则DiameterRelay应该重新与DiameterClient进行能力交换,从而将DiameterServer的概要信息通知DiameterClient,保证DiameterClient获取到完整的路由信息。
该方法可以进一步扩展到DiameterClient和DiameterServer之间跨越多个DiameterRelay的情况。通过一段一段的能力交换,最终Client可以获得DiameterServer相关的路由信息,此过程中各中间节点也相应获得了其他节点的路由信息,可以节省每一个节点的静态配置域路由的工作量。
实施例2
图7根据实施例2的计费系统结构示意图,该系统包括:DiameterClient70、DiameterRelay71、DiameterServer72和DiameterServer73,其中,
所述DiameterClient70,用于通过Diameter协议向DiameterServer72或者DiameterServer73发出AAA(认证,授权,计费)请求消息或接收DiameterServer72或DiameterServer73返回的DiameterAAA(认证,授权,计费)响应消息;
这里,所述DiameterClient70可以为SCSCF或网关GPRS支持节点(GGSN)等。
所述DiameterRelay71作为Diameter的中继节点,对DiameterClient70发送的请求消息进行转发,DiameterClient70发送的请求消息经过DiameterRelay71可以发送到DiameterServer72,也可以发送到DiameterServer73。
所述DiameterServer72和DiameterServer73用于处理Diameter协议的请求消息,并给DiameterClient70回复响应消息。
所述DiameterServer72或者DiameterServer73可以为HSS或者OCS等。
图8为根据实施例2的自动发现路由的实现方法的流程图,以下结合图8,基于如图7所示的系统,对该方法进行描述,包括以下步骤:
步骤801:DiameterClient70上电初始化,并与DiameterRelay71建立连接;
这里,所述的建立连接过程具体为:DiameterClient70首先通过承载协议,如:流控制传输协议(SCTP)或传输控制协议(TCP)建立与DiameterRelay71之间的承载链路,之后DiameterClient70构造能力交换请求消息CER消息,该消息格式见实施例1中的描述。进一步地根据实施例1中的内容,DiameterClient70会额外增加本地路由信息属性到该能力交换请求消息(CER)中,在本实施例中,DiameterClient70只与DiameterRelay71有连接,因此该路由信息中应该包含:
Route-Info::=<AVPHeader:999>
{Destination-RealmAVP}
{Auth-Application-IdAVP}
{Acct-Application-IdAVP}
*[AVP]
其中Destination-Realm为DiameterRelay71的域名,Auth-Application-Id为DiameterRelay支持的应用标识0xffffffff。
DiameterClient70将包含上述Route-Info的CER消息发送给DiameterRelay71。
步骤802:DiameterRelay71接收到DiameterClient70发送的能力交换请求消息,首先进行能力比较,这个过程遵循现有技术。然后DiameterRelay71解析CER消息中的Route-Info属性,发现其中携带的域名标识以及支持的应用标识为自身的信息,则认为该条路由属于无效路由,则DiameterRelay不更新本地的动态路由;
DiameterRelay71做完上述处理后,构造相应的能力交换响应消息(CEA),同样CEA消息中除了现有技术所需的属性字段外,还需要携带DiameterRelay71节点的路由概要信息。
假设在此之前DiameterRelay71已经与DiameterServer72之间成功交换过能力并建链成功。则DiameterRelay71上应该已经有了指向DiameterServer72的相关域路由条目。则DiameterRelay71应该将其填充到Route-Info的属性中,则相应的Route-Info中的Destination-Realm的内容未DiameterServer72的域名,Auth-Application-Id为DiameterServer72支持的应用标识例如为3(离线计费应用标识)。同时DiameterRelay71也会将DiameterClient70的相关信息也在Route-Info属性中携带过去。
步骤803:DiameterClient70接收到DiameterRelay71返回的CEA消息后,进行正常的能力交换,遵循现有技术,同时从CEA中解析相关的Route-Info属性,本实施例中有两条信息,其中一条是DiameterClient70自身信息,筛选算法判断为无效路由,丢弃;另一条是DiameterServer72相关的域路由信息,则筛选算法判断该路由有效,将其增加到DiameterClient70自身的域路由表中,这样通过能力交换,DiameterClient70就获取到了DiameterServer72的域路由信息,无需人工配置。
步骤804:假设实施例中DiameterServer73后来接入。则DiameterRelay71和DiameterServer73之间会重复上述步骤801至803.执行的结果后,DiameterRelay71上又获取到了DiameterServer73对应的域路由信息。
步骤805:此时DiameterRelay71发起能力变更处理流程,该处理流程将重新构造能力交换消息,将新增加的路由信息通过能力交换消息发送给DiameterClient70,Diameter70通过重复上述步骤获取到DiameterServer73相应的域路由信息。
需要说明的是,DiameterServer与DiameterClient之间存在多个中间节点时,仍然可以采用以上的方法实现动态路由获取,即在每一段链路上通过能力交换消息交换相关路由概要信息,最终达到所有节点获取到整个系统的相应域路由动态信息。
综上所述,以上实施例提供的方案有效利用了能力交换技术,扩展相应的能力属性字段使得Diameter各节点在能力交换过程中交换相应的路由概要信息,帮助各模块的动态路由生成模块发现新的动态路由;将Diameter能力交换技术与Diameter域路由表生成算法相结合,通过能力交换获取Diameter域路由表的路由条目;并且,采用以上Diameter节点生成动态路由时的算法,利用Diameter对等端表,能力交换信息等分析得到准确的路由信息,并去除了中间状态路由,重复路由以及无效路由。采用以上的方案,Diameter系统中的各相关节点可以动态获取系统中的路由信息,避免了人工配置域路由,减少了工作量,提高了系统运行效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种路由发现方法,其特征在于,包括:
非直连直径Diameter系统中的相邻Diameter节点交换各自的路由表概要信息;
接收到所述路由表概要信息的Diameter节点根据接收到的路由表概要信息更新自身的路由表;
根据所述更新的路由表进行动态路由发现。
2.根据权利要求1所述的方法,其特征在于,Diameter系统中的相邻Diameter节点交换各自的路由表概要信息包括:
所述Diameter系统中的相邻Diameter节点通过在能力交换消息中携带各自的路由表概要信息来实现路由表概要信息的交换。
3.根据权利要求2所述的方法,其特征在于,所述非直连Diameter系统中的相邻Diameter节点通过在能力交换消息中携带各自的路由表概要信息来实现路由表概要信息的交换包括:
所述相邻Diameter节点中的一方将携带该Diameter节点的路由表概要信息的能力交换请求CER消息发送至所述相邻Diameter节点中的另一方;
所述相邻Diameter节点中的另一方将携带该Diameter节点的路由表概要信息的能力交换响应CEA消息返回。
4.根据权利要求2所述的方法,其特征在于,所述能力交换消息通过设置在所述能力交换消息中的对应于路由表概要信息的属性值对AVP来携带所述路由表概要信息。
5.根据权利要求1所述的方法,其特征在于,接收到所述路由表概要信息的Diameter节点根据接收到的路由表概要信息更新自身的路由表包括:
接收到所述路由表概要信息的Diameter节点判断所述接收到的路由表概要信息指示的路由是否满足预定条件,若是,则忽略处理所述满足预定条件的路由,否则,将所述不满足预定条件的路由加入接收到所述路由表概要信息的Diameter节点的路由表。
6.根据权利要求5所述的方法,其特征在于,所述预定条件包括以下之一:
所述接收到的路由表概要信息指示的路由为Diameter中继代理节点的路由;
所述接收到的路由表概要信息指示的路由与配置在接收到所述路由表概要信息的Diameter节点上的静态路由相同;
所述接收到的路由表概要信息指示的路由为指向接收到所述路由表概要信息的Diameter节点的路由。
7.根据权利要求1所述的方法,其特征在于,在Diameter节点根据接收到的路由表概要信息确定发送该路由表概要信息的相邻Diameter节点的路由表发生变化的情况下,或者在Diameter节点根据接收到的路由表概要信息确定未与发送该路由表概要信息的相邻Diameter节点进行过交换的情况下,还包括:
执行所述确定动作的Diameter节点根据接收到的路由表概要信息更新自身的路由表,并向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送所述更新后的路由表对应的路由表概要信息。
8.根据权利要求1所述的方法,其特征在于,所述非直连Diameter系统中的Diameter节点包括:Diameter客户端节点、Diameter服务端节点和Diameter中继代理节点。
9.一种非直连直径Diameter系统中的Diameter节点,其特征在于,包括:
交换模块,用于与所述非直连Diameter系统中的相邻Diameter节点交换路由表概要信息;
更新模块,用于根据接收到的路由表概要信息更新自身的路由表;
路由发现模块,用于根据所述更新的路由表进行动态路由发现。
10.根据权利要求9所述的Diameter节点,其特征在于,还包括:
判断模块,用于根据接收到的路由表概要信息判断发送该路由表概要信息的相邻Diameter节点的路由表是否发生变化,或者,用于根据接收到的路由表概要信息判断是否未与发送该路由表概要信息的相邻Diameter节点进行过交换;
调度模块,用于在所述判断模块的判断结果为是的情况下,调度所述更新模块和发送模块;
所述发送模块,用于向相邻Diameter节点中除了发送该路由表概要信息的相邻Diameter节点之外的其他相邻Diameter节点发送所述更新后的路由表对应的路由表概要信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010543155.1A CN101984605B (zh) | 2010-11-12 | 2010-11-12 | 路由发现方法及非直连直径系统中的直径节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010543155.1A CN101984605B (zh) | 2010-11-12 | 2010-11-12 | 路由发现方法及非直连直径系统中的直径节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101984605A CN101984605A (zh) | 2011-03-09 |
CN101984605B true CN101984605B (zh) | 2016-04-13 |
Family
ID=43641776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010543155.1A Active CN101984605B (zh) | 2010-11-12 | 2010-11-12 | 路由发现方法及非直连直径系统中的直径节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101984605B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139081B (zh) * | 2011-11-28 | 2017-08-11 | 中兴通讯股份有限公司 | 分布式哈希表路由表更新方法及节点 |
FR2998124A1 (fr) * | 2012-11-12 | 2014-05-16 | France Telecom | Procede de transmission d'information de routage |
CN103634214B (zh) * | 2013-11-25 | 2017-08-25 | 北京神州绿盟信息安全科技股份有限公司 | 一种路由信息生成方法及装置 |
CN103973580B (zh) * | 2014-04-14 | 2017-04-26 | 南京第五十五所技术开发有限公司 | 减少传输量提高diameter数据传输能力的方法 |
CN105591930A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 一种路由转发的方法及设备 |
CN106487682B (zh) * | 2015-08-27 | 2020-09-04 | 中国移动通信集团公司 | 一种Diameter信令网路由方法和装置 |
CN109257283B (zh) * | 2017-07-14 | 2020-07-31 | 中国移动通信集团公司 | 一种路由消息的方法、dra及计算机可读存储介质 |
CN107483346A (zh) * | 2017-08-09 | 2017-12-15 | 广州市百果园信息技术有限公司 | 自治系统内的消息传递方法、装置及相应的消息传递系统 |
CN111917868A (zh) * | 2020-07-29 | 2020-11-10 | 数网金融有限公司 | 区块链节点的寻址方法、装置、路由设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859304A (zh) * | 2006-02-13 | 2006-11-08 | 华为技术有限公司 | 一种邻居发现的实现方法 |
CN101513103A (zh) * | 2005-06-02 | 2009-08-19 | 摩托罗拉公司 | 用于多个嵌套移动网络的自主模式 |
CN101582835A (zh) * | 2008-05-13 | 2009-11-18 | 华为技术有限公司 | 一种设备能力交互的方法、系统和装置 |
-
2010
- 2010-11-12 CN CN201010543155.1A patent/CN101984605B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101513103A (zh) * | 2005-06-02 | 2009-08-19 | 摩托罗拉公司 | 用于多个嵌套移动网络的自主模式 |
CN1859304A (zh) * | 2006-02-13 | 2006-11-08 | 华为技术有限公司 | 一种邻居发现的实现方法 |
CN101582835A (zh) * | 2008-05-13 | 2009-11-18 | 华为技术有限公司 | 一种设备能力交互的方法、系统和装置 |
Non-Patent Citations (2)
Title |
---|
Capabilities Update Problem Statement;T.TSOU;《draft-tsou-dime-capabilities-update-statement-00》;20080728;全文 * |
Diameter在IMS中的基本应用;张胜杰;《中国科技论文在线》;20070411;第4.1.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN101984605A (zh) | 2011-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101984605B (zh) | 路由发现方法及非直连直径系统中的直径节点 | |
CN101325592B (zh) | 一种建立承载连接的方法、装置及系统 | |
CN102754409B (zh) | 用于直径协议协调的方法、系统和计算机可读介质 | |
JP4896155B2 (ja) | 接続ポイント選択方法及びその方法で用いられる中継ノード | |
CN103891321A (zh) | 数据传输方法、设备及系统 | |
CN102172062B (zh) | 通信系统,连接控制装置,移动终端,基站控制方法,服务请求方法和程序 | |
CN104967614A (zh) | 支持网络协议之间的故障转移的方法和装置 | |
US20100195500A1 (en) | Load distribution system, load distribution method, and authentication server | |
KR20030078770A (ko) | 소스 어드레스 선택시스템, 라우터장치, 통신노드 및 소스어드레스 선택방법 | |
CN113841363B (zh) | 在不同路由协议的网络和设备间建立通信的系统和方法 | |
CN109714240A (zh) | 基于p2p和vpn技术的路由器联网方法及系统 | |
CN102204209A (zh) | 跨媒介网络中的QoS协商方法和系统及网络设备 | |
CN102932491A (zh) | 地址配置方法和系统 | |
CN100471163C (zh) | 在IPv6中用主机间隧道支持IPv4应用程序的方法 | |
CN102316086B (zh) | 业务数据的中继方法及中继节点系统 | |
WO2015184840A1 (zh) | 响应消息的获取、响应消息的路由方法、装置及系统 | |
CN101594602B (zh) | 一种跨协议实现故障切换的方法及系统 | |
CN101471840B (zh) | 网络连接方法和网络系统 | |
CN102355653A (zh) | 终端间通信方法及控制设备、用户设备、基站和网络系统 | |
Li et al. | User ID routing architecture | |
EP2293607A2 (en) | Radio communication system and method | |
US20090279553A1 (en) | Proxy node discovering method, and relay node used in the method, and, node discovering method, and first node, second node and relay node used in the method | |
US20100157939A1 (en) | Crossover node detection pre-processing method, crossover node detection pre-processing program for executing this method by computer, and mobile terminal used in this method | |
CN101730083B (zh) | 终端能力上报及获取方法和装置 | |
JP4389714B2 (ja) | Cdmaネットワークシステムにおけるpppコネクションの再確立方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |