一种全分散实现报文传输协议的方法 本发明涉及网络通信技术,更具体地说,涉及一种可用于实现7号信令MPT部分的一种全分散实现MTP(Message TransferProtocal)的方法。
七号信令MTP部分有三层,其底层(第一层)为物理层,第二层对应为链路层,第三层是七号信令的网络层部分,该层主要用于从上层接收来自用户的消息,并将该消息传送到下层(MPT二层)或从MTP二层接收到消息将其中合适部分传送到MTP用户(TUP、ISUP或SCCP)。这一层的主要目的是为保证网络节点故障或正常时信令消息的可靠传递,为其上层(应用层)提供较物理层传递更为可靠的消息传送通道。其基本信令协议由Q.70X系列规范及中国国标MTP部分详细定义,不允许有更多或更少的外部功能。但其在实现方法及维护管理方法上留有较大的空间。MTP层的外部链口接口特性由于受规范限制且须与其他机型兼容,毫无灵活性。由于规范仅对维护管理提出最基本要求,其扩充须由实现者自己定义;另外,规范虽对内部实现MTP功能的方法有概略定义,但需要在保证外部特性一致的基础上适应软硬环境。在现有技术可提供给七号信令MTP部分的实现方案中,存在多模块下通信实现方法短缺、外部特征没能给出足够详细程度而使一致性难以保证。在通信过程中,当MTP三层从MTP二层得知链路故障或从相关信令点送来的消息中发现信令网中相关部分故障时,MTP三层修正其状态,当状态变换影响业务传输时,MTP三层向其用户通报此变化(包括目地点可达、不可达和其他状态变化)。
现有技术对MTP三层部分主要采用集中式控制方法,即所有处理在同一处理机上进行,当其他部分需要使用MTP三层功能时,必须与此处理机进行通信,将消息交给该处理机进行处理。因此有以下问题:一是处理能力受单一处理机处理能力限制,难以适应较高要求;二是一旦该处理机发生故障,则MTP三层功能将丢失,同时导致其他部分不能正常运行。通过将MTP三层的部分功能分散到某些设备,有可能缓解第一个问题,但由于核心控制机制上的不适应,仍不能从根本上解决上述第二个问题。
本发明的目的在于提供一种全分散实现MTP的方法,这种通信实现方法主要是要解决在实现7号信令MTP部分中的以下问题:提供一种可以支持多模块环境下运行通信机制,这种通信机制可以提供现有技术尚不能满足的可靠通信,保证在发生故障时,整个MPT部分通信功能所受影响最小。
本发明的另一目的在于提供一种全分散实现MTP的方法,这种通信实现方法可以在具有多模块的SP或STP系统中实现MTP部分的无主从全分散控制,从而增强设备整体可靠性,提高系统的通信处理能力,同时有效地避免由于核心主控设备故障导致的大面积故障扩散。
本发明的目的是这样实现的,构造一种全分散实现MTP的方法是在一个包括通过内部通信链路互连的多个包含MTP的模块的系统中实现的,其特征在于,每个模块包括实链路和内链路,对于MTP网络管理消息的处理,由实链路所在模块处理;当该模块故障时,由收到该消息的链路所在模块来处理;对影响其它模块的网络管理消息,由处理该消息的模块以内部协议方式通知其它相关模块。
按照本发明提供的一种全分散实现MTP的方法,其特征在于,所述多个MTP模块中的每一个是这样进行通信处理的,当收到属于本模块处理的消息时,进行正常处理并进行状态改变的检测,如果状态变化则广播该状态变化;当收到属于其它模块处理的消息时,将该消息传送到所述其他模块;当收到底层状态发生改变的消息时,进行正常处理并进行状态改变的检测,如果状态变化则广播该状态变化;当收到来自其它模块的消息时,进行正常处理;当收到其它模块广播的状态变化消息时,进行正常处理。
按照本发明提供的一种全分散实现MTP的方法,其特征在于,所说的状态变化包括路由状态变化、链路状态变化等。
按照本发明提供的一种全分散实现MTP的方法,其特征在于,所说的正常处理为规范建议的各种处理,在规定为对外发送消息时,应进行如下步骤:检查是否应为本模块发送此消息,若不应由本模块发送,则不发送此消息。
实施本发明的一种全分散实现MTP的方法,完全克服了现有技术中MTP三层部分集中式控制带来的缺点和不足,使处理能力比单一处理机有了很大提高,而且,在一台处理机发生故障时整个MTP三层功能不受影响,而且也不影响其他部分的正常运行。利用本发明提供的通信方法,还可以支持在多模块环境下提供现有技术尚不能满足的可靠通信,保证在发生故障时,整个MPT部分通信功能所受影响最小,有效地避免由于核心主控设备故障导致的大面积故障扩散。
结合附图和实施例,进一步说明本发明的特点,附图中:
图1是为说明本发明的一种全分散实现MTP的方法的原理的结构示意图。
图2是对图1结构应用本发明概念形成的模块链路关系说明图。
图3是本发明的一种全分散实现MTP的方法的一个流程逻辑示意图。
在图1中,示出了一个包括通过内部通信链路4互连的三个包含MTP的模块1、2、3的系统。如图所示,模块1有三个链路,模块3也有三个链路,模块2没有链路。由于MTP状态对外为统一状态,各模块的状态必须保持一致,否则会导致协议错误。因此,各模块的MTP部分应交换必要的控制信息以协调模块间状态,同时各模块应将其它模块的链路也纳入本模块的MTP的管辖范围,即将其他模块链路视为本模块的一条特殊链路。
例如,对于图1中的结构,各模块应包含链路如图2所示。其中,模块1有三条内链路和三条实链路,模块2有6条内链路,模块3有三条内链路和三条实链路。这样,每个模块均管理6条链路,有的链路直接对外,为实链路;有的链路在其它模块,为内链路。对于MTP网络管理消息的处理,原则上由实链路所在模块处理;当该模块故障时,由收到该消息的链路所在模块来处理。对影响其它模块的网络管理消息,由处理该消息的模块以内部协议方式通知其它相关模块。
图3说明了单个模块的消息处理流程,当本模块收到应由本模块处理的消息或底层状态上报消息时,进行正常处理并进行状态改变的检测,如果状态变化则向所有模块广播该状态的变化;当本模块收到不应由本模块处理的消息时,将该消息传送到相应的模块去处理;当收到来自其它模块的消息时,进行正常处理;当收到其它模块广播的状态变化消息时,进行正常处理。
其中,所说的状态变化包括路由状态变化、链路状态变化等,其它状态也可从中导出;
其中,所说的正常处理为规范建议的各种处理,在规定为对外发送消息时,应进行如下步骤:检查是否应为本模块发送此消息,若不应由本模块发送,则不发送此消息。
各模块对链路或路由等的状态变化同时处理,与规范的区别在于,仅由指定模块对外发送消息,而不是所有模块同时向外发送消息。