CN101453449A - 基于计费传输协议的连接中断处理方法和装置 - Google Patents
基于计费传输协议的连接中断处理方法和装置 Download PDFInfo
- Publication number
- CN101453449A CN101453449A CN 200710178734 CN200710178734A CN101453449A CN 101453449 A CN101453449 A CN 101453449A CN 200710178734 CN200710178734 CN 200710178734 CN 200710178734 A CN200710178734 A CN 200710178734A CN 101453449 A CN101453449 A CN 101453449A
- Authority
- CN
- China
- Prior art keywords
- server
- diameter
- diameter relaying
- relaying
- client
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了基于计费传输协议的连接中断处理方法和装置。所述方法包括:判断第一Diameter中继与服务器或客户端之间是否可达,如果所述第一Diameter中继与服务器或客户端之间不可达,则向所述第一Diameter中继的邻接节点发送通知信息,所述通知信息包括所述第一Diameter中继与所述服务器或客户端之间不可达,以通知所述邻接节点不再通过所述第一Diameter中继向所述服务器或客户端发送消息。本发明实施方式提供的技术方案避免了Diameter中继与服务器或客户端不可达期间,网络中大量重复发送消息的现象,节约了网络传输资源。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及基于计费传输协议的连接中断处理方法和装置。
背景技术
Diameter协议(计费传输协议)在IMS(IP Multimedia Subsystem,IP多媒体子系统)领域得到了广泛应用,例如,应用于Rf接口进行离线计费、应用于Ro接口进行在线计费、以及应用于I-CSCF/S-CSCF与HSS之间的Sh接口等。
在包含Diameter协议的网络中,可以采用节点直连组网方式,也可以采用节点非直连组网方式。采用节点非直连组网方式的典型网络结构如附图1所示。
图1中,接入设备通过Diameter中继与归属Diameter服务器连接。接入设备与Diameter中继之间、Diameter中继与归属Diameter服务器之间的连接均为Diameter连接。图1中仅示出了一个归属Diameter服务器和一个Diameter中继,其实,接入设备可以通过一个Diameter中继与多个归属Diameter服务器连接,而且,接入设备也可以与多个Diameter中继连接。图1中的Diameter中继可以为Diameter中继代理,也可以为Proxy代理中继。
下面以附图2为例,对目前非直连组网方式下基于Diameter的连接中断处理方法进行说明。
图2中,接入设备通过Diameter中继分别与归属Diameter服务器1、归属Diameter服务器2连接。接入设备向归属Diameter服务器1发送请求消息,Diameter中继接收到接入设备的请求消息后,发现其与归属Diameter服务器1之间的连接断链,则Diameter中继向接入设备返回应答消息,应答消息中携带的Result-Code AVP设置为DIAMETER_UNABLE_TO_DELIVE,以表明Diameter中继不能前转请求消息。接入设备根据接收到的应答消息确定请求消息不能前转、且不能够通过其他Diameter中继向归属Diameter服务器1发送请求消息后,则接入设备不断向该Diameter中继发送请求消息,以尝试通过该Diameter中继与Diameter服务器1之间连接,直到Diameter中继与归属Diameter服务器1之间的连接恢复、Diameter中继将请求消息传输至Diameter服务器1,从而保证了Diameter应用消息的可靠传输。
在对现有技术的研究和实践过程中,发明人发现上述现有技术至少存在如下问题:
在Diameter中继与归属Diameter服务器1之间的连接恢复之前,接入设备与Diameter中继之间会不断的传输请求消息、以及应答消息,从而占用了接入设备与Diameter中继之间的大量IP带宽,严重影响了接入设备与其它网络设备的信息交互,例如,在图2中,严重影响了经Diameter中继与归属Diameter服务器2之间的信息交互。同样,在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的连接中断处理方法示意图;
图3是本发明实施方式应用场景一的连接中断处理方法示意图;
图4是本发明实施方式应用场景二的连接中断处理方法示意图;
图5是本发明实施方式应用场景三的连接中断处理方法示意图;
图6是本发明实施方式应用场景四的连接中断处理方法示意图;
图7是本发明实施方式应用场景五的连接中断处理方法示意图;
图8是本发明实施方式的基于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中继与服务器之间其它连接的链路状态信息;也可以为:接收到其它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中继接收到通知信息后,可以根据通知信息修改其与服务器连接的链路状态信息,而且,接收到通知信息的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中继,还可以为:与第一Diameter中继连接的各服务器。上述恢复通知信息可以包括:第一Diameter中继信息、由不可达转变为可达的服务器信息(即不可达的主机信息)、第一Diameter中继信息与服务器之间可达的信息。
本发明实施方式同样可以采用广播发送方式向第一Diameter中继的邻接节点发送恢复通知信息,还可以采用防止广播环回机制。其实现过程与上述发送通知信息的具体实现过程类似,在此不再详细说明。
下面结合附图对本发明方法实施方式进行进一步说明。
附图3为单Diameter中继的应用场景下,连接中断处理方法示意图。
图3中包括:接入设备C(属于c.example.net域)、Diameter中继R(属于r.exapmle.net域)、S1服务器(属于example.org域)、S2服务器(属于example.org域)、S3服务器(属于example.com域)。S1服务器、S2服务器、S3服务器均为Diameter服务器。接入设备C通过Diameter中继R分别与S1服务器、S2服务器、S3服务器连接,Diameter中继R为接入设备C提供中继代理服务。
Diameter中继R的对等端(Peer)数据信息如表1所示。这里的对等端数据信息即为Diameter中继R的邻接节点的信息。
表1
从表1中可以看出,Diameter中继R有四个邻接节点,这四邻接节点分别为:S1服务器、S2服务器、S3服务器和接入设备C。
Diameter中继R的本地路由(route)信息如表2所示。
表2
当Diameter中继R检测到其与Diameter服务器S1直接连接的链路中断时,刷新本地维护的服务器状态信息。同时,Diameter中继R向邻接节点接入设备C、S2服务器、S3服务器广播消息,即广播通知信息。广播消息包括的信息如表3所示。
表3
表3中,广播代理信息为Diameter中继R信息;由于该广播消息是由Diameter中继R发布的,因此,源广播代理信息为Diameter中继R信息;目的域信息为服务器S1所在域信息,由于Diameter中继R与服务器S2连接的链路没有中断,因此,Diameter中继R到目的域可达;主机信息即服务器S1信息;Diameter中继R到服务器S1不可达。
需要说明的是,表3中也可以不包括目的域信息,即“目的域”字段为可选参数,而且“主机”字段可以同时携带N个主机信息,这样,通过广播消息可以通知邻接节点Diameter中继R与N个主机的可达或不可达状态。
该广播消息通告接收到该广播消息的各邻接节点:Diameter中继R与服务器S1之间的连接中断,即不可达,但Diameter中继R与example.org域仍可达。
Diameter中继R根据表1、表2中的信息广播消息。接入设备C在接收到该广播消息后,根据广播消息中“Diameter中继R到服务器S1不可达”信息刷新本地维护的服务器状态信息;而后,停止向服务器S1发送业务消息,但可以与服务器S2之间进行业务消息传输。服务器S2在接收到广播消息后,由于其与服务器S1没有互通关系,因此,服务器S2接收到广播消息后,可以直接丢弃该广播消息。同样,服务器S3也可以在接收到广播消息后直接丢弃。
附图4为多Diameter中继互连的应用场景下,本发明实施方式的连接中断处理方法示意图。
图4包括:接入设备C(属于c.example.net域)、Diameter中继R1(属于r.exapmle.net域)、Diameter中继R2(属于r.exapmle.org域)、S1服务器(属于example.org域)、S2服务器(属于example.org域)和S3服务器(属于example.com域)。S1服务器、S2服务器、S3服务器均为Diameter服务器。接入设备C通过Diameter中继R1、Diameter中继R2分别与S1服务器、S2服务器、S3服务器连接,Diameter中继R1、Diameter中继R2为接入设备C提供中继服务。
当Diameter中继R2检测到其与S1服务器直接连接的链路中断时,Diameter中继R2向邻接节点即对等端Diameter中继R1、S2服务器和S3服务器发送广播消息,广播消息包括的信息如表4所示。
表4
表4中,广播代理信息为Diameter中继R2信息;由于该广播消息是由Diameter中继R2发布的,因此,源广播代理信息为Diameter中继R2的信息;目的域信息为服务器S1所在域信息,由于Diameter中继R2与服务器S2连接的链路没有中断,因此,Diameter中继R2到目的域可达;主机信息即服务器S1信息;Diameter中继R2到服务器S1不可达。
服务器S2在接收到广播消息后,由于其与服务器S1没有互通关系,因此,服务器S2接收到广播消息后,可以直接丢弃该广播消息。同样,服务器S3也可以在接收到广播消息后直接丢弃。
Diameter中继R1在接收到该广播消息后,根据广播消息中“Diameter中继R2到服务器S1不可达”信息刷新本地维护的服务器状态信息;同时,判断是否可以通过其它连接与服务器S1进行消息传输,如果有其它连接可以与服务器S1进行消息传输,则Diameter中继R1可以不再传输该广播消息;如果没有其它连接可以与服务器S1进行消息传输,则Diameter中继R1继续向其邻接节点发送广播消息。由于采用了防止广播环回机制,因此,Diameter中继R1可以只向接入设备C发送广播消息,而不再向Diameter中继R2发送广播消息。
Diameter中继R1向接入设备C发送的广播消息包括的信息如表5所示。
表5
表5中,广播代理信息为Diameter中继R1信息;由于该广播消息是由Diameter中继R2发布的,因此,源广播代理信息为Diameter中继R2信息;目的域信息为服务器S1所在域信息,由于Diameter中继R1与服务器S2连接的链路没有中断,因此,Diameter中继R1到目的域可达;主机信息即服务器S1信息;Diameter中继R1到服务器S1不可达。
接入设备C在接收到表5所示的广播消息后,根据广播消息中“Diameter中继R1到服务器S1不可达”信息刷新本地维护的服务器状态信息;而后,停止向服务器S1发送业务消息,但可以与服务器S2之间进行业务消息传输。
附图5为多Diameter中继互连的应用场景下,本发明实施方式的连接中断处理方法示意图。
图5包括的网络实体与图4中包括的网络实体相同。
当Diameter中继R1检测到其与Diameter中继R2直接连接的链路中断时,Diameter中继R1根据本地路由信息向邻接节点即对等端接入设备C发送广播消息,广播消息包括的信息如表6所示。
表6
表6中,广播代理信息为Diameter中继R1信息;由于该广播消息是由Diameter中继R1发布的,因此,源广播代理信息为Diameter中继R1信息;目的域信息为服务器S1、服务器S2以及服务器S3所在域信息,由于Diameter中继R1与Diameter中继R2连接的链路中断,因此,Diameter中继R1到目的域均不可达;主机信息可以为空;当然,主机信息也可以不为空,即主机信息可以为服务器S1、服务器S2以及服务器S3信息;如果主机信息不为空的话,Diameter中继R1到服务器S1、服务器S2以及服务器S3均不可达。
接入设备C在接收到表6所示的广播消息后,根据广播消息中“Diameter中继R1到目的域均不可达”的信息刷新本地维护的服务器状态信息;而后,停止向服务器S1、服务器S2以及服务器S3发送业务消息。
Diameter中继R2检测到其与Diameter中继R1直接连接的链路中断时,Diameter中继R2也可以根据本地路由信息向邻接节点即对等端服务器S1、服务器S2以及服务器S3发送广播消息,广播消息包括的信息如表7所示。
表7
表7中,广播代理信息为Diameter中继R2信息;由于该广播消息是由Diameter中继R2发布的,因此,源广播代理信息为Diameter中继R2信息;目的域信息为Diameter中继R1所在域信息,由于Diameter中继R1与Diameter中继R2连接的链路中断,因此,Diameter中继R2到目的域均不可达;主机信息可以为空。
服务器S1、服务器S2以及服务器S3在接收到表7所示的广播消息后,根据广播消息中“Diameter中继R2到目的域均不可达”的信息刷新本地维护的接入设备C的状态信息;而后,停止与接入设备C的消息传输。
附图6为多Diameter中继代理互连的应用场景下,本发明实施方式的连接中断处理方法示意图。
图6包括:接入设备C(属于c.example.net域)、Diameter中继R1(属于r.exapmle.net域)、Diameter中继R2(属于r.exapmle.org域)、Diameter中继R3(属于r.exapmle.org域)和S1服务器(属于example.org域)。S1服务器为Diameter服务器。接入设备C与S1服务器之间存在两条连接,即接入设备C通过Diameter中继R1、Diameter中继R2与S1服务器连接,接入设备C还通过Diameter中继R1、Diameter中继R3与S1服务器连接,也就是说,Diameter中继R2、Diameter中继R3为example.org域中的S1服务器提供冗余服务。Diameter中继R1、Diameter中继R2、Diameter中继R3为接入设备C提供中继服务。
当Diameter中继R2检测到其与S1服务器直接连接的链路中断时,Diameter中继R2根据本地路由信息向邻接节点即对等端Diameter中继R1发送广播消息,广播消息包括的信息如表8所示。
表8
表8中,广播代理信息为Diameter中继R2信息;由于该广播消息是由Diameter中继R2发布的,因此,源广播代理信息为Diameter中继R2信息;目的域信息为服务器S1所在域信息,由于Diameter中继R2与S1服务器连接的链路中断,因此,Diameter中继R2到目的域不可达;主机信息即S1服务器信息;Diameter中继R2到服务器S1不可达。
Diameter中继R1在接收到表8所示的广播消息后,根据广播消息中“Diameter中继R2到目的域均不可达”的信息刷新本地维护的服务器状态信息;由于Diameter中继R1还可以通过Diameter中继R3与S1服务器进行消息传输,因此,Diameter中继R1终止广播消息的发送。此后,Diameter中继R1接收到接入设备C发送的消息后,通过Diameter中继R3与S1服务器S1进行消息传输。
附图7为多Diameter中继环路互连的应用场景下,本发明实施方式的连接中断处理方法示意图。
图7包括:接入设备C(属于c.example.net域)、Diameter中继R1(属于r.exapmle.net域)、Diameter中继R2(属于r.exapmle.org域)、Diameter中继R3(属于r.exapmle.org域)、S1服务器(属于example.org域)和S2服务器(属于example.org域)。S1服务器、S2服务器为Diameter服务器。接入设备C与S1服务器之间存在两条连接,即接入设备C通过Diameter中继R1、Diameter中继R2与S1服务器连接,接入设备C还通过Diameter中继R1、Diameter中继R3、Diameter中继R2与S1服务器连接,也就是说,Diameter中继R2、Diameter中继R3为example.org域中的S1服务器提供冗余服务。Diameter中继R1、Diameter中继R2、Diameter中继R3为接入设备C提供中继服务。
下面主要介绍在图7所示的应用场景下,防止广播环路机制的实现方法。
当Diameter中继R2检测到其与S1服务器直接连接的链路中断时,Diameter中继R2根据本地路由信息向邻接节点即对等端Diameter中继R1发送广播消息,广播消息包括的信息如表9所示。
表9
表9中,广播代理信息为Diameter中继R2信息;由于该广播消息是由Diameter中继R2发布的,因此,源广播代理信息为Diameter中继R2信息;目的域信息为服务器S1所在域信息,由于Diameter中继R2与S1服务器连接的链路中断,因此,Diameter中继R2到目的域不可达;主机信息可以为空。
Diameter中继R1在接收到表9所示的广播消息后,根据广播消息中“Diameter中继R2到目的域不可达”的信息刷新本地维护的服务器状态信息;由于Diameter中继R1与S1服务器连接的另一条路径也需要经过Diameter中继R2,因此,Diameter中继R1与S1服务器之间不可达,不能够进行消息传输。这样,Diameter中继R1继续向其邻接节点即对等端接入设备C、Diameter中继R3发送广播消息,由于Diameter中继R2是发布广播消息的源Diameter中继,因此,Diameter中继R1不再向Diameter中继R2发送广播消息,从而有效避免了广播环回。
Diameter中继R1在将接收到的广播消息中的广播代理信息修改为自身信息后,发送。Diameter中继R1发送的广播消息包括的信息如表10所示。
表10
表10中,广播代理信息为Diameter中继R1信息;由于该广播消息是由Diameter中继R2发布的,因此,源广播代理信息为Diameter中继R2信息;目的域信息为服务器S1所在域信息,由于Diameter中继R2与S1服务器连接的链路中断,因此,Diameter中继R2到目的域不可达;主机信息可以为空。
Diameter中继R3接收到该广播消息后,根据广播消息中“Diameter中继R2到目的域不可达”的信息刷新本地维护的服务器状态信息;由于Diameter中继R3需要通过Diameter中继R2与S1服务器连接,而Diameter中继R2到目的域不可达,因此,Diameter中继R3与S1服务器之间不可达,不能够进行消息传输。这样,Diameter中继R3打算向其邻接节点即对等端Diameter中继R2、Diameter中继R1发送广播消息,由于Diameter中继R2是发布广播消息的源Diameter中继、而Diameter中继R1是转发广播消息的Diameter中继,因此,Diameter中继R3不再向Diameter中继R2、Diameter中继R1发送广播消息,从而有效避免了广播环回。
由此可以看出,防止广播环回机制可以为:不向广播消息中的广播代理、以及源广播代理发送广播消息。
防止广播环回机制也可以采用如下HopCounter计数方式来实现。
在Diameter中继发送的广播消息中增加可选字段HopCounter,广播消息每传输一次广播一个路径,则HopCounter计数减1,当HopCounter计数为0时,则当前Diameter节点不再广播消息,从而防止广播环路。该机制需要根据不同的实际组网情况进行配置HopCounter值。
例如,在附图7所示的应用场景中,配置Diameter中继R2的HopCounter值为2,Diameter中继R2在发送广播消息时,将HopCounter值减1,并将减1后的HopCounter值携带在广播消息中。Diameter中继R2发送的广播消息包含的信息如表11所示。
表11
Diameter中继R1接收到广播消息后,判断广播消息中HopCounter>0,则确定可以继续发送该广播消息,Diameter中继R1向其邻接节点即对等端接入设备C、Diameter中继R3发送广播消息,并递减广播消息中的HopCounter值。Diameter中继R1发送的广播消息包含的信息如表12所示。
表12
Diameter中继R3接收到广播消息后,判断广播消息中HopCounter=0,则确定不可以继续发送该广播消息,Diameter中继R3不再向其邻接节点即对等端发送广播消息。从而防止了广播消息的环回发送。
在上述各实施方式的描述中,在各图所示的不可达转变可达后,可以发送恢复通知信息,该恢复通知信息可以仍然以上述各表中广播消息的形式发送,只是广播消息中的“不可达”变为“可达”。接收到广播消息的各邻接节点如接入设备、服务器等根据接收到的广播消息刷新本地维护的服务器状态信息、或者客户端状态信息。接入设备与服务器之间可以利用中断恢复连接进行业务消息传输。
从上述技术方案的描述可知,通过获取Diameter中继与服务器之间的连接信息,能够获得Diameter中继与服务器之间各连接的链路状态,利用各连接的链路状态可以确定出Diameter中继与服务器之间是否出现不可达;在出现不可达后,通过向Diameter中继的邻接节点发送通知信息,使邻接节点不再通过该Diameter中继向上述服务器发送广播消息,从而避免了在Diameter中继与服务器不可达期间,接入设备与Diameter中继之间大量重复传输消息的现象,如有效减少了接入设备与Diameter中继之间尝试连接的消息传输量,节约了网络传输资源。
需要说明的是,在上面具体实施方式的描述中,是以第一Diameter中继与服务器为例进行说明的,上面描述的技术方案同样适用于第一Diameter中继与客户端之间,为简洁的目的,不再针对第一Diameter中继与客户端之间的基于Diameter的连接中断处理技术方案进行重复说明。
下面对本发明实施方式提供的位于Diameter中继设备中的基于Diameter的连接中断处理装置进行说明。需要说明的是:在下述描述中,仍以Diameter中继与服务器之间的连接中断为例进行说明,下面描述的技术内容同样适用于Diameter中继与客户端之间连接中断的处理。
基于Diameter的连接中断处理装置如附图8所示,图8中的装置包括:不可达检测模块和发送模块。基于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中继执行的操作可以由Diameter中继中设置的确定模块来完成,也就是说,Diameter中继中可以可选的设置有确定模块。确定模块执行的操作在这里不再重复说明。
上述不可达检测模块可以包括:存储子模块和检测子模块。
存储子模块用于存储其所在Diameter中继与服务器之间各连接的链路状态信息。一条连接的链路状态信息可以表示出Diameter中继与服务器之间通过该连接是否可达。
检测子模块用于在检测到其所在Diameter中继与服务器之间直接连接的链路中断、或者检测到其所在Diameter中继接收到其它Diameter中继发送来的通知信息、或者检测到其所在Diameter中继与其它Diameter中继的连接中断后,根据存储子模块中存储的链路状态信息,判断其所在Diameter中继是否与服务器之间不可达,在确定出不可达后,触发发送模块。例如,检测子模块在检测到其所在的Diameter中继与服务器之间直接连接的链路出现故障的信息后,根据获取的其所在Diameter中继与服务器之间其它连接的链路状态信息来决定是否触发发送模块;再例如:检测子模块在检测出其所在Diameter中继接收到其它Diameter中继传输来的故障信息后,根据其所在Diameter中继与服务器之间的其它连接的链路状态信息来决定是否触发发送模块。检测子模块在判断出其所在Diameter中继与服务器之间的所有连接均不能够进行消息传输后,决定触发发送模块。Diameter中继与服务器之间的所有连接可以包括:直接连接、和/或非直接连接。检测子模块还可以根据检测的结果刷新存储子模块中存储的链路状态信息。
恢复检测模块用于在检测出其所在Diameter中继与服务器之间由不可达转变为可达后,通知发送模块向邻接节点发送恢复通知信息。恢复检测模块通知发送模块发送恢复通知信息的具体实现过程、以及发送模块发送恢复通知信息的具体实现过程如上述方法实施方式中的描述。恢复检测模块还可以根据检测的结果刷新其所在Diameter中继中存储的链路状态信息,例如刷新存储子模块中存储的链路状态信息。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
Claims (11)
1、一种基于计费传输协议Diameter的连接中断处理方法,其特征在于,包括:
判断第一Diameter中继与服务器或客户端之间是否可达;
如果所述第一Diameter中继与服务器或客户端之间不可达,则向所述第一Diameter中继的邻接节点发送通知信息,所述通知信息包括所述第一Diameter中继与所述服务器或客户端之间不可达信息,以通知所述邻接节点不再通过所述第一Diameter中继向所述服务器或客户端发送消息。
2、如权利要求1所述的方法,其特征在于,所述判断第一Diameter中继与服务器或客户端之间是否可达具体为:
在检测到所述第一Diameter中继与服务器或客户端之间直接连接的链路中断后,获取所述第一Diameter中继与所述服务器或客户端的其它连接的链路状态信息,根据所述第一Diameter中继与所述服务器或客户端的其它连接的链路状态信息,判断所述第一Diameter中继是否与所述服务器或客户端之间可达。
3、如权利要求1所述的方法,其特征在于,所述判断第一Diameter中继与服务器或客户端之间是否可达具体为:
接收其它Diameter中继发送来的与所述服务器或客户端之间不可达的故障信息,获取所述第一Diameter中继与所述服务器或客户端的其它连接的链路状态信息,并根据所述接收到的故障信息、及所述第一Diameter中继与所述服务器或客户端的其它连接的链路状态信息,判断第一Diameter中继是否与所述服务器或客户端之间可达。
4、如权利要求1所述的方法,其特征在于,所述判断第一Diameter中继与服务器或客户端之间是否可达具体为:
在检测到所述第一Diameter中继与所述其它Diameter中继连接的链路中断后,获取所述第一Diameter中继与所述服务器或客户端的其它连接的链路状态信息,根据所述第一Diameter中继与所述服务器或客户端的其它连接的链路状态信息,判断所述第一Diameter中继是否与所述服务器或客户端之间可达。
5、如权利要求1至4中任一权利要求所述的方法,其特征在于,所述向所述第一Diameter中继的邻接节点发送通知信息的步骤包括:
利用广播方式、及防止广播环回机制向所述第一Diameter中继的邻接节点发送通知信息。
6、如权利要求5所述的方法,其特征在于,所述防止广播环回机制包括下述至少一种:
限制通知信息传输次数、限制向广播通知信息的源节点发送通知信息、限制向通知信息的转发节点发送通知信息。
7、如权利要求1至4中任一权利要求所述的方法,其特征在于,所述方法还包括:
在检测出第一Diameter中继与服务器或客户端之间由不可达转变为可达后,向第一Diameter中继的邻接节点发送恢复通知信息,以通告所述邻接节点所述第一Diameter中继与所述服务器或客户端之间可达。
8、一种基于Diameter的连接中断处理装置,位于Diameter中继设备中,其特征在于,所述装置包括:
不可达检测模块,用于判断其所在Diameter中继与服务器/客户端之间是否可达,如果该Diameter中继与服务器或客户端之间不可达,则触发发送模块;
发送模块,用于根据不可达检测模块的触发,向所述Diameter中继的邻接节点发送通知信息,所述通知信息包括所述Diameter中继与所述服务器或客户端之间不可达,以通知所述邻接节点不再通过所述Diameter中继向所述服务器或客户端发送消息。
9、如权利要求8所述的装置,其特征在于,该不可达检测模块包括:
存储子模块,用于存储其所在Diameter中继与服务器或客户端之间各连接的链路状态信息;
检测子模块,用于在检测到其所在Diameter中继与服务器或客户端之间直接连接的链路中断、或者检测到其所在Diameter中继接收到其它Diameter中继发送来的通知信息、或者检测到其所在Diameter中继与其它Diameter中继的连接中断后,根据所述存储子模块中存储的链路状态信息,判断所述Diameter中继是否与所述服务器或客户端之间可达,在确定出不可达后,触发发送模块。
10、如权利要求8或9所述的装置,其特征在于,所述装置还包括:
恢复检测模块,用于在检测出其所在Diameter中继与服务器或客户端之间可达后,通知发送模块向邻接节点发送恢复通知信息。
11、一种基于Diameter的连接中断处理装置,其特征在于,所述装置包括:
接收模块,用于接收消息;
判断模块,用于在判断出接收模块接收到的消息为包括第一Diameter中继与服务器或客户端之间不可达的通知信息,则禁止通过所述第一Diameter中继向所述服务器或客户端发送消息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710178734 CN101453449A (zh) | 2007-12-04 | 2007-12-04 | 基于计费传输协议的连接中断处理方法和装置 |
PCT/CN2008/073303 WO2009074094A1 (fr) | 2007-12-04 | 2008-12-02 | Procédé et appareil de traitement d'une rupture de connexion, basés sur un protocole de facturation et de transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710178734 CN101453449A (zh) | 2007-12-04 | 2007-12-04 | 基于计费传输协议的连接中断处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101453449A true CN101453449A (zh) | 2009-06-10 |
Family
ID=40735473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710178734 Pending CN101453449A (zh) | 2007-12-04 | 2007-12-04 | 基于计费传输协议的连接中断处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101453449A (zh) |
WO (1) | WO2009074094A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625406A (zh) * | 2011-01-28 | 2012-08-01 | 中国移动通信集团公司 | 一种应用层信令路由保护方法和设备 |
CN105991616A (zh) * | 2014-09-25 | 2016-10-05 | 富士施乐株式会社 | 信息处理装置、通信系统以及信息处理方法 |
WO2016206299A1 (zh) * | 2015-06-23 | 2016-12-29 | 中兴通讯股份有限公司 | 一种会话保活方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003110622A (ja) * | 2001-07-24 | 2003-04-11 | Ntt Docomo Inc | コネクション解放方法、リンク切断通知方法、中継装置、通信装置、交換機、プログラムおよび記録媒体 |
KR100651716B1 (ko) * | 2004-10-11 | 2006-12-01 | 한국전자통신연구원 | Diameter 기반 프로토콜에서 모바일 네트워크의부트스트랩핑 방법 및 그 시스템 |
CN100450018C (zh) * | 2005-06-30 | 2009-01-07 | 华为技术有限公司 | 提高Diameter节点间通信可靠性的方法 |
-
2007
- 2007-12-04 CN CN 200710178734 patent/CN101453449A/zh active Pending
-
2008
- 2008-12-02 WO PCT/CN2008/073303 patent/WO2009074094A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625406A (zh) * | 2011-01-28 | 2012-08-01 | 中国移动通信集团公司 | 一种应用层信令路由保护方法和设备 |
CN102625406B (zh) * | 2011-01-28 | 2015-07-29 | 中国移动通信集团公司 | 一种应用层信令路由保护方法和设备 |
CN105991616A (zh) * | 2014-09-25 | 2016-10-05 | 富士施乐株式会社 | 信息处理装置、通信系统以及信息处理方法 |
WO2016206299A1 (zh) * | 2015-06-23 | 2016-12-29 | 中兴通讯股份有限公司 | 一种会话保活方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2009074094A1 (fr) | 2009-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101304343B (zh) | 一种网络故障检测的方法、网络设备和网络系统 | |
CN101247321B (zh) | 在基于直径协议的网络中进行路由诊断的方法、装置及系统 | |
CN102577319B (zh) | 用于传递消息的方法和系统 | |
CN106453136B (zh) | 建立消息队列的方法和装置 | |
CN101483570B (zh) | 一种防止中继链路的环网临时环路的方法、系统及设备 | |
CN101379771B (zh) | 请求域转移的方法、终端及其服务器 | |
CN103297470B (zh) | 永远在线业务的处理方法、应用服务器、用户终端和系统 | |
US20140254347A1 (en) | Ethernet Ring Protection Switching Method, Node, and System | |
CN102056147B (zh) | Ip多媒体子系统网络中订阅业务的方法与系统 | |
CN101136789A (zh) | 一种实现端到端的链路检测、路由策略倒换的方法及装置 | |
CN102340765B (zh) | 容灾负荷均衡方法、装置和系统 | |
CN101005394A (zh) | 保护组播转发路径的方法和系统和业务路由器 | |
CN1937531B (zh) | 检测维护组完整性的方法及装置和增加端点的方法及装置 | |
CN102292942B (zh) | 一种路由处理方法、系统和路由器 | |
CN101453449A (zh) | 基于计费传输协议的连接中断处理方法和装置 | |
CN104253739A (zh) | 一种永远在线业务的实现方法、系统和设备 | |
CN102026109A (zh) | 一种融合ip消息的路由系统及方法 | |
US8649261B2 (en) | Method and system for blocking protocol messages at a sub-ring control channel without virtual channel | |
CN102195883A (zh) | 组播路由确定方法、组播报文转发方法及装置 | |
CN102918802B (zh) | 确定故障指示状态的方法、节点和系统 | |
CN102647334B (zh) | 一种数据路由方法和装置 | |
CN101695049A (zh) | 一种监控系统中的业务处理方法及装置 | |
CN101404674B (zh) | 一种呼叫路由选择的方法、代理服务器和中继设备 | |
CN101465739B (zh) | 一种实现认证方式平滑过渡的方法及设备 | |
CN100454861C (zh) | 级联组网系统中的节点寻址方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090610 |