一种实现多链路传输的负荷分担的装置和方法

文档序号:7965078阅读:177来源:国知局
专利名称:一种实现多链路传输的负荷分担的装置和方法
技术领域
本发明涉及多链路传输技术,尤其涉及一种实现多链路传输的负荷分担的装置和方法。
背景技术
在通信系统中,IP技术基于地址(IP Address)和尽力转发(BE,BestEffort)机制,具有灵活性和通用性等优点,因此在信令、数据和语音的传输等方面得到越来越广泛的应用。理论上说,IP技术可以使用在任何一种物理媒介上,但实际上,IP最早和最多还是在以太网上使用,因为以太网卡上有一个MAC地址,刚好可以和IP地址一一对应起来。这样,以太网上的链路层很简单,就是实现一个媒体接入控制(MAC)功能,做一些信道处理,冲突检测之类的工作。
如果要将IP技术应用在不是基于地址而是基于连接的物理媒介上,例如E1以及异步传输模式(ATM)等,就需要在链路层做一些映射,把连接的概念映射成地址的概念。一个地址也就是一个点,点对点协议(PPP)即是出于这样一种考虑,首先用于提供一种标准的方法,将连接转换成地址,以便IP技术能够方便的使用在多种不同的物理媒介上。PPP是一种可以用于异步或同步串行介质的数据链路层协议,它使用链路控制协议(LCP)建立并维护数据链路连接,网络控制协议(NCP)允许在点对点连接上使用多种网络层协议。当PPP连接开始时,链路经过3个会话建立阶段,分别是链路建立阶段;认证阶段;网络层协议阶段。
用E1来承载IP通常采用在E1上的PPP传输即PPP over E1方式。这种方式提供了链路建立、鉴权、差错检测,IP压缩协商的整套机制,因而被大量采用。如图1所示,在这种传输方式中,本端和远端之间存在多个PPP连接,每个PPP连接对应不同的设备路由IP地址。设备的路由IP地址对外部传输网络是可见的,并且,有多少条PPP连接,就有多少个设备路由IP地址。这种方式下,每条PPP链路的带宽一般限制在64kbit/s,即便采用高级数据链路控制(HDLC)时隙捆绑技术,链路带宽也不超过2M。并且随着传输容量的扩大,IP地址越来越多,给管理和使用带来不便。且因为没有实现软件负荷分担,这样,单条链路出现拥塞的概率加大,而且,一个传输线路故障无法通过其他硬件来弥补。虽然,国际互联网工程任务组织的请求注解(IETF RFC)中提出了多链路PPP传输(PPP MP,PPP Muti Link)的协议,用来解决IP传输的多链路捆绑问题,即利用多条链路捆绑来扩大IP传输带宽。但其对于如何实现多链路的负荷分担却没有进行规定,更没有具体的实现方式。

发明内容
有鉴于此,本发明的第一个主要目的是提供一种实现多链路传输的负荷分担的装置,使用该装置可以有效缓解单条链路的负荷压力,实现多链路传输的负荷分担。
本发明的第二个主要目的是提供一种实现多链路传输的负荷分担的方法,该方法可以实现多链路传输的负荷分担,有效缓解单条链路的负荷压力。
本发明的第一个主要目的是通过如下技术方案实现的一种实现多链路传输的负荷分担的装置,包括多条点对点PPP链路,此外,该装置还包括故障检测模块和负荷分担调度模块。
其中,故障检测模块,用于动态监测各条PPP链路质量,并将链路质量信息报告给负荷分担调度模块;负荷分担调度模块,用于根据由故障检测模块报告的链路质量信息,对各链路进行负荷分担处理。
其中,所述故障检测模块可以设置在所述负荷分担调度模块内。
其中,所述负荷分担调度模块包括负荷分担计算模块和点对点多链路PPP MP处理模块。
其中,负荷分担计算模块,用于根据由故障检测模块报告的链路质量信息,对各链路进行负荷分担计算,并将计算结果输出给PPP MP处理模块。
PPP MP处理模块,用于聚集多条PPP链路形成单一的高带宽束MP束;PPP MP处理模块根据负荷分担计算模块输出的对链路进行负荷分担计算的结果从MP束中选取发送当前IP数据包的链路,从而实现各PPP链路之间的负荷均衡。
其中,所述负荷分担计算模块包括运算模块,用户控制参数存储模块和链路质量信息存储模块。
其中,用户控制参数存储模块,用于存储用户输入的与负荷分担计算有关的控制参数;链路质量信息存储模块,用于动态存储故障检测模块发送来的链路质量信息;运算模块,用于从PPP MP处理模块中读取当前IP数据包的IP地址,并读取用户控制参数存储模块中的用户控制参数,然后根据链路质量信息存储模块中的链路质量信息,对各链路进行负荷分担计算,为当前IP数据包计算出当前可用的链路通道号,并输出给PPP MP处理模块。
较佳地,所述负荷分担计算模块进一步包括IP地址转换模块和链路标识转换模块。
其中,IP地址转换模块,用于将所述从PPP MP处理模块中读取的当前IP数据包的IP地址转换成IP地址索引号,输出给运算模块;运算模块接收该IP地址索引号,结合已读取的用户控制参数,根据链路质量信息为当前IP数据包计算出可用的链路通道索引号,输出给链路标识转换模块;链路标识转换模块,用于将运算模块输出的链路通道索引号转换成链路标识输出给PPP MP处理模块。
上述装置中,所述多条PPP链路的每条PPP链路包括LCP处理模块和NCP处理模块;或者所述多条PPP链路的每条PPP链路只包括LCP处理模块,并且多条PPP链路共用一个NCP处理模块。其中,所述多条PPP链路共用的NCP处理模块可以设置在所述PPP MP处理模块中。
本发明的第二个主要目的是通过如下技术方案实现的一种实现多链路传输的负荷分担的方法,该方法包括如下步骤A、动态监测各条PPP链路质量,并生成链路质量信息;B、根据链路质量信息对各条链路进行负荷分担处理。
其中,步骤B中所述链路质量信息包括链路故障信息、链路拥塞信息、链路恢复信息以及链路正常信息中的一个或多于一个的任意组合;则所述进行负荷分担处理为根据各条链路的上述质量信息,选取当前质量信息为链路正常或链路恢复的链路作为可用链路为当前IP数据包进行分配。
其中,所述步骤B在进行负荷分担处理前进一步包括读取用户控制参数;则所述进行负荷分担处理时进一步包括根据用户控制参数进行负荷分担计算。并且,所述用户控制参数包括链路选择步长;则所述进行负荷分担处理时,如果为IP数据包分配的当前链路通道故障或拥塞时,则根据该链路选择步长为当前IP数据包分配下一条可用链路通道。
较佳地,所述用户控制参数还包括链路初始偏移;则所述进行负荷分担处理时,为当前IP数据包分配可用链路时根据该链路初始偏移选择初始链路。
较佳地,所述用户控制参数还包括链路分配间隔;则所述进行负荷分担处理时,在为不同IP数据包分配可用链路时,根据链路分配间隔选择不同的初始链路。
较佳地,所述步骤B中进一步包括输入IP数据包的目的IP地址;则所述进行负荷分担处理时,根据输入的IP地址对各链路进行负荷分担计算,为该IP地址的IP数据包分配当前可用的链路。
较佳地,所述步骤B中输入IP地址后进一步包括将IP地址转换为IP索引号;则所述进行负荷分担处理时,根据该IP索引号对各链路进行负荷分担计算,为该IP地址的IP数据包分配当前可用的链路。
较佳地,所述步骤B进行负荷分担处理时,为当前IP数据包先计算出可用的链路索引号,之后再将链路索引号转换为链路标识,按照链路标识分配可用链路通道。
较佳地,预先设置链路条数,并且所述链路索引号是循环使用的,如果分配的链路索引号超过最大链路索引号,则将该链路索引号进行模除链路条数,使所述链路索引号重新回到合法区间。
本发明所提供的装置,通过增加了对各条链路质量进行动态监测的故障检测模块以及根据故障检测模块的监测结果为当前IP数据包动态分配可用链路通道的负荷分担计算模块,从而使该装置实现了对多链路传输的负荷分担,有效缓解了单条链路的负荷压力;并且在某条链路出现故障时通过为当前业务分配下一条可用链路,从而能够实现在某条链路出现故障时将业务平均分配到其余正常的链路;并且与PPP over E1方式相比,本装置由于解除了IP地址数量与传输链路的数量的耦合,从而可以在若干条独立的链路上,根据用户需要随意配置一个或多个IP地址,扩展了PPP链路的带宽。
本发明所提供的方法,通过动态监测各条链路质量,从而为当前IP数据包动态分配可用的链路通道,比如某条链路故障或拥塞时,便为当前IP数据包分配下一条可用的链路,若某条链路由故障或拥塞状态恢复到正常状态,则该条链路继续作为当前IP数据包的可选择链路。从而实现了多链路传输的负荷分担。


图1为现有技术中PPP over E1的传输方式结构示意图;图2为本发明中实现多链路传输的负荷分担的装置第一个较佳实施例的结构示意图;图3为图2所示实施例中负荷分担计算模块的内部结构示意图;
图4为本发明中实现多链路传输的负荷分担的装置第二个较佳实施例的结构示意图;图5为本发明中实现多链路传输的负荷分担的装置第三个较佳实施例的结构示意图;图6为本发明中实现多链路传输的负荷分担的方法实施例的总体流程图;图7为图6所示实施例中步骤602的详细流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明的基本思想是通过动态监测各条链路的质量,即是否故障、拥塞或恢复以及正常等情况,为当前IP数据包动态分配可用的链路通道,从而达到负荷分担的均衡。
下面结合具体实施例对本发明的实现多链路传输的负荷分担的装置进行进一步描述。
实施例一参见图2,图2为本发明一种实现多链路负荷分担的装置的第一个较佳实施例的结构示意图。如图所示,该装置包括8条PPP链路,其中每条PPP链路都有一个LCP处理模块200,并且多个LCP处理模块共用一个NCP处理模块和多链路控制协议(MLCP)处理模块,NCP处理模块和MLCP处理模块共同构成点对点多链路(PPP MP)处理模块230,另外还包含一个故障检测模块210和一个负荷分担计算模块220,其中PPP MP处理模块230与负荷分担计算模块220共同构成负荷分担调度模块。此外,为了完整描述对数据和语音的传输过程,该装置还包括一个IP协议处理模块240。
其中,LCP处理模块200,用于建立、配置和终止PPP连接;按照配置要求,启动认证过程;在认证成功后,通知PPP MP处理模块230启动网络层配置选项协商过程。在数据包传输过程中,LCP处理模块200用于接收PPP MP处理模块发送来的数据发送给远端,并接收远端传输过来的数据发送给PPP MP处理模块。
PPP MP处理模块230,用于聚集多条链路形成单一的高带宽束,即产生包括多条PPP链路的MP束;PPP MP处理模块230接收到LCP处理模块200发送的启动网络层配置选项协商过程的通知后,在建好的PPP链路上配置网络层协议选项,成功地完成协商后,通知网络层链路到达状态,同时启动传送和接收网络层数据包。在数据包传输过程中,PPP MP处理模块230接收到IP协议处理模块240发送的数据包后,向负荷分担计算模块220发出查询,查询为该IP数据包分配的可用链路通道,该查询方法可以通过调用负荷分担计算模块220提供的函数来实现,然后根据负荷分担计算模块220输出的结果从MP束中选取发送当前IP数据包的链路,将IP数据包发送到相应链路的LCP处理模块200;并将接收自LCP处理模块200的数据包发送给IP协议处理模块240。
IP协议处理模块240,用于处理互联网协议,包括接收PPP MP处理模块230发送过来的IP数据包,分析目的地址,选择IP数据包的路由,并将数据包发送到该路由对应的端口;或者发送IP数据包给PPP MP处理模块230。
故障检测模块210,用于动态监测链路质量,并将链路质量信息,如链路故障信息,链路拥塞信息,链路恢复信息以及链路正常信息等上报给负荷分担计算模块220。如一旦发现某条链路的误码率大于预置的阈值,则向负荷分担计算模块220发出链路故障通知。同样当链路恢复正常时,故障检测模块210向负荷分担计算模块220发出链路恢复通知等。
负荷分担计算模块220,用于负责在PPP MP束的多条活动的PPP链路之间实现负荷分担计算。即读取用户配置的控制参数,并根据故障检测模块210报告的链路质量信息,以及从PPP MP处理模块230中接收的当前IP数据包的IP地址,为该IP数据包的发送选择可用的,即没有出现故障或拥塞的链路通道,之后将选择结果输出给PPP MP处理模块230。其中的用户控制参数可以包括链路条数,本实施例中为8;链路初始偏移量,目的是为了避免初始分配时总是选取索引号较小的链路,故开始便增加一个偏移量,缺省选0;链路分配间隔,目的是为避免相邻的IP层用户在链路选择上过于靠近,设置一个分配间隔,缺省选1;以及链路选择步长,根据该步长值可以跳到下一条可用链路等。
其中,负荷分担计算模块220的内部结构可以进一步如图3所示,包括IP地址转换模块221,运算模块222,链路索引转换模块223,用户控制参数存储模块224以及链路质量信息存储模块225。
其中,用户控制参数存储模块224,用于存储用户输入的与负荷分担计算有关的用户控制参数。
链路质量信息存储模块225,用于动态存储故障检测模块210发送来的有关链路故障、拥塞或恢复等信息。
IP地址转换模块221,用于将IP地址转换成IP地址索引号,输出给运算模块222。
运算模块222,用于进行负荷分担计算,通过读取用户控制参数存储模块224中的用户控制参数以及链路质量信息存储模块225中的链路质量信息,再根据IP地址转换模块221输入的IP地址索引号计算出当前可用的链路通道索引号,将链路通道索引号输出给链路标识转换模块223。
链路标识转换模块223,用于将运算模块222输出的链路通道索引号转换成链路标识,输出给PPP MP处理模块230。
如果具体到本端装置时,该负荷分担计算模块220只在数据发送时对多条链路进行负荷分担计算,而在数据接收时,则由对端装置中的负荷分担计算模块完成对端发送IP数据包的链路通道,即本端接收该IP数据包的链路通道的分配。因此,为了描述的更清楚,下面分别对发送过程和接收过程中信息在各模块之间的传输进行详细描述。
发送过程
IP协议处理模块240将需要向对端发送的数据以及数据发送的源地址和目的地址,业务类型等参数,组装成IP数据包,传输给PPP MP处理模块230。
PPP MP处理模块230接收到该IP数据包后,调用负荷分担计算模块220提供的函数。
负荷分担计算模块220读取用户配置的用户控制参数,并根据故障检测模块210报告的链路质量信息,以及从PPP MP处理模块230中接收的当前IP数据包的IP地址,为该IP数据包的发送选择可用的,即没有出现故障或拥塞的链路通道,将结果返回给PPP MP处理模块230。
PPP MP处理模块230根据负荷分担计算模块220返回的结果,将发送当前IP数据包的链路查找出来,然后将该IP数据包发送到对应PPP链路的LCP处理模块200进行处理。在此期间,如果MLCP处理模块或NCP处理模块需要向对方发出控制信息,MLCP处理模块或NCP处理模块本身就可以发起,直接向远端发出控制数据信息,并将数据发送到LCP处理模块200。
接收过程从远端到本端的数据包,在物理层接收到数据包后,发送给LCP处理模块200。LCP处理模块200对数据进行分析后,按照RFC1661规定进行处理如果是控制信息,LCP处理模块200本身就可以处理,直接向远端回应控制数据信息或者进行链路控制操作;如果是数据信息,则将其中的数据包解析出来,发送给PPP MP处理模块230。
PPP MP处理模块230接收到数据包后,发现如果是MLCP控制信息,则按照RFC1990进行处理,直接向远端回应控制数据报文或者进行链路控制操作;如果是NCP控制信息,则按照RFC1661进行处理,直接向远端回应控制数据信息或者进行链路控制操作;如果是数据信息,则将其中的数据包解析出来,发送给IP协议处理模块240。
IP协议处理模块240接收到数据后,解析其中的目的地址,找到对应的路由,并将数据包转发到指定端口。
从上述过程可以发现,在接收数据时,负荷分担计算模块220对链路不做任何处理,因为用来接收该IP数据包的链路已经由对端的负荷分担计算模块220按照负荷分担算法分配好。
实际应用中,多条PPP链路共用的NCP处理模块也可以不设置在PPPMP处理模块中。
实施例二参见图4,图4为本发明中一种实现多链路负荷分担的装置的第二个较佳实施例的结构示意图。该实施例的装置中,包括的多条PPP链路的每条PPP链路分别包括LCP处理模块和NCP处理模块,并形成单独的模块400,此外PPP MP处理模块410中只包含MLCP处理模块,其它模块的功能及连接关系与图2所示实施例中相同。
其中,PPP MP处理模块410,用于聚集多条链路形成单一的高带宽束,即产生包括多条PPP链路的MP束;PPP MP处理模块410接收到数据后,向负荷分担计算模块220发出查询,查询为当前IP数据包分配的可用链路通道,该查询方法可以通过调用负荷分担计算模块220提供的函数来实现,然后根据负荷分担计算模块220输出的结果从MP束中选取发送当前IP包的链路,将IP数据包发送到相应链路的模块400,由该模块400按照传统模式进行数据传输。
可见,关于多链路传输本身的实现形式可以有很多种情况,图2与图4所示实施例只是其中的两种具体实现方式。
实施例三参见图5,图5为本发明中一种实现多链路负荷分担的装置的第三个较佳实施例的结构示意图。该实施例在图2所示实施例的基础上为了完整描述对信令的传输过程,增加了一个TCP/SCTP处理模块500,用于实现数据重传,以保证数据完整地被接收。发送数据时,TCP/SCTP协议处理模块500将需要向对端发送的数据打包,发送给对应的IP处理模块240;接收数据时,TCP/SCTP协议处理模块500对接收到的IP处理模块发送过来的数据进行解析,检查其中的接收序号是否正常。一旦发现有数据包丢失,则向对方发出数据重传请求,直到接收到完整的数据;或者重传失败预先指定的次数后放弃重传请求,转而通过故障管理系统发出告警。
其中,传输的数据中也可以包括信令数据。由于该装置中增加了TCP/SCTP处理模块500,具有了重传机制,从而该装置可用于传输信令。此外,为了实现信令的传输,本装置中的TCP/SCTP处理模块500也可以为其它的具有重传机制的处理模块。
上述三个实施例中的故障检测模块210还可内置在负荷分担计算模块220中,形成单独的负荷分担计算模块,用于动态监测各条PPP链路的质量,并形成链路质量信息动态存储在内部的链路质量信息存储模块中,进行负荷分担计算时根据该动态存储的链路质量信息对各条PPP链路进行负荷分担计算。
下面结合具体实施例对本发明的实现多链路传输的负荷分担的方法进行进一步描述。
实施例四参见图6,图6为本发明中实现多链路传输的负荷分担的方法实施例的总体流程图。该流程包括如下步骤步骤601,动态监测各条PPP链路质量,并生成链路质量信息。
本步骤中,各链路的质量状况一直处于动态监测中。其中,可以由故障检测模块对各条PPP链路进行动态监测,并将监测结果进行动态存储,用于步骤602使用。
其中,链路质量信息包括链路故障信息、链路拥塞信息、链路恢复信息以及链路正常信息中的一个或多于一个的任意组合。
步骤602,根据链路质量信息对各条链路进行负荷分担处理。
本步骤中,根据步骤602中动态监测的各条链路的链路质量信息,选取当前可用的链路进行分配,即选取质量信息为链路正常或链路恢复的链路作为可用链路为当前IP数据包进行分配。
至此,本实施例的流程结束。其中,步骤602根据链路质量信息对各条链路进行负荷分担处理的具体实现方法有很多种,下面列举一种较佳的实现方法。
参见图7,图7为图6所示实施例中步骤602的详细流程图。该流程包括如下步骤步骤701,输入IP数据包的IP地址。
步骤702,将该IP地址转换为IP索引号。
本实施例中,为了节省空间并提高计算速度,设置了将IP地址转换为IP索引号的步骤,该步骤中,为每个IP地址设置一个IP索引号,当输入IP地址后,根据设置的对应关系,将IP地址转换为IP索引号。实际应用中,如果不考虑空间与速度的问题,可以省略本步骤702。
步骤703,读取配置的用户控制参数。
本步骤中,用户已将用户控制参数配置好,这些用户控制参数可以包括链路条数,本实施例中取8;链路初始偏移量,目的是为了避免初始分配时总是选取索引号较小的链路,故开始便增加一个偏移量,缺省值为0,即不偏移,本实施例中取1;链路分配间隔,目的是为避免相邻的IP层用户在链路选择上过于靠近,设置一个分配间隔,缺省值为1,本实施例中取2;以及链路选择步长,用户根据该步长值可以跳到下一条可用链路,本实施例中取3等。
实际应用中,可以无需设置用户控制参数,也可以只设置上述用户控制参数中的一个参数或多于一个的参数。
步骤704,判断这些用户控制参数是否有效。如果有效,则执行步骤705;否则本过程终止,并提示错误。
本步骤中,有效性的判断可以依据数据类型,取值范围等。
步骤705,进行负荷分担计算,选取初始链路。
本步骤中,可以先将链路初始偏移量赋给链路初值,然后为每个IP索引号分配的链路通道索引号为IP索引号乘以链路分配间隔再加上链路初值。则根据读取的用户控制参数中链路初始偏移量为1,链路分配间隔为3,则为IP索引号为1的数据包分配的链路通道为索引号为4的链路通道,即链路初值1加上IP索引号1乘以链路分配间隔2得到3;则为IP索引号为2的数据包分配的链路通道为索引号为5的链路通道,即链路初值1加上IP索引号2乘以链路分配间隔2,得到5。此外,本步骤中,还包括如果链路索引号大于最大允许的链路索引号,则对其进行模除链路条数8,使其重新回到合法区间,即该链路索引号是重复使用的。举例来说,如果选择的链路索引号为10,大于最大索引号8,则将其模除8得到2,即为其分配链路索引号为2的通路。
或者本步骤中,假设链路初值为1,然后为每个IP索引号分配的链路通道索引号为链路初值+链路初始偏移量+(IP索引号-1)×链路分配间隔。即根据读取的用户控制参数中链路初始偏移量为1,链路分配间隔为3,则为IP索引号为1的数据包分配的链路通道为索引号为2的链路通道,即链路初值1+链路初始偏移量1+(IP索引号1-1)×链路分配间隔2,得到2;则为IP索引号为2的数据包分配的链路通道为索引号为4的链路通道,即链路初值1+链路初始偏移量1+(IP索引号2-1)×链路分配间隔2,得到4。
可见,实际应用中具体的计算方法有很多种,上述只是列举了其中的两种,因此采用何种计算方法并不用于限定本发明的保护范围。
其中,若步骤703中所述的用户控制参数中没有设置链路分配间隔以及链路初始偏移量的话,则本步骤中,可默认为链路分配间隔为1,并且初始偏移量为0,然后进行计算。
步骤706,读取该链路的链路质量信息。
本步骤中,读取图6所示流程中的步骤601的监测结果,即各链路的链路质量信息。
步骤707,判断该链路质量状况,如果链路质量状况为正常,即没有故障或拥塞,则将链路索引号转换为链路标识输出,并通过与该链路标识对应的链路为当前IP数据包进行数据传输;否则执行步骤708。
步骤708,选取下一条可用链路。之后返回执行步骤706,直到选出可用链路通道。
本步骤中,如果步骤705中为IP索引号为1的数据包选取的链路索引号为3的链路通道发生故障,则将该链路索引号3加上一个链路选择步长,根据读取的用户控制参数中链路选择步长为3,则为该IP数据包选取的下一条可用链路为索引号为6的链路通道,之后返回执行步骤706,读取链路索引号为6的链路的状态,判断是否正常,正常则将链路索引号转换为链路标识输出;如果不正常,将其再加上一个链路选择步长3,选择链路索引号为9的链路通道,本步骤中,也包括如果链路索引号大于最大允许的链路索引号,则对其进行模除链路条数处理,使其重新回到合法区间,即因为9大于本实施例中的链路条数8,则将其模除8后得到1。之后返回执行步骤706,读取链路索引号为1的链路的状态,判断是否正常,依次类推,直到选取出一条可用的链路,输出链路标识,并通过与该链路标识对应的链路为当前IP数据包进行数据传输。
实际应用中,若步骤703中所述的用户控制参数中没有设置链路选择步长的话,则本步骤中,可默认为链路链路选择步长为1,然后进行计算。
至此,本流程结束。
上述各实施例只是本发明思想的一种展示,并非用于限定本发明的保护范围,另外可以理解的是,本发明关于实现多链路传输的负荷分担的装置及方法并不受多链路传输本身的实现形式的限制,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现多链路传输的负荷分担的装置,包括多条点对点PPP链路,其特征在于,该装置还包括故障检测模块和负荷分担调度模块,其中,故障检测模块,用于动态监测各条PPP链路质量,并将链路质量信息报告给负荷分担调度模块;负荷分担调度模块,用于根据由故障检测模块报告的链路质量信息,对各链路进行负荷分担处理。
2.如权利要求1所述的装置,其特征在于,所述故障检测模块设置在所述负荷分担调度模块内。
3.如权利要求1或2所述的装置,其特征在于,所述负荷分担调度模块包括负荷分担计算模块和点对点多链路PPP MP处理模块,其中,负荷分担计算模块,用于根据由故障检测模块报告的链路质量信息,对各链路进行负荷分担计算,并将计算结果输出给PPP MP处理模块;PPP MP处理模块,用于聚集多条PPP链路形成单一的高带宽束MP束;PPP MP处理模块根据负荷分担计算模块输出的对链路进行负荷分担计算的结果从MP束中选取发送当前IP数据包的链路,从而实现各PPP链路之间的负荷均衡。
4.如权利要求3所述的装置,其特征在于,所述负荷分担计算模块包括运算模块,用户控制参数存储模块和链路质量信息存储模块,其中,用户控制参数存储模块,用于存储用户输入的与负荷分担计算有关的用户控制参数;链路质量信息存储模块,用于动态存储故障检测模块发送来的链路质量信息;运算模块,用于从PPP MP处理模块中读取当前IP数据包的IP地址,并读取用户控制参数存储模块中的用户控制参数,然后根据链路质量信息存储模块中的链路质量信息,对各链路进行负荷分担计算,为当前IP数据包计算出当前可用的链路通道号,并输出给PPP MP处理模块。
5.如权利要求4所述的装置,其特征在于,所述负荷分担计算模块进一步包括IP地址转换模块和链路标识转换模块,其中,IP地址转换模块,用于将所述从PPP MP处理模块中读取的当前IP数据包的IP地址转换成IP地址索引号,输出给运算模块;运算模块接收该IP地址索引号,结合已读取的用户控制参数,根据链路质量信息为当前IP数据包计算出可用的链路通道索引号,输出给链路标识转换模块;链路标识转换模块,用于将运算模块输出的链路通道索引号转换成链路标识,输出给PPP MP处理模块。
6.如权利要求1或2所述的装置,其特征在于,所述多条PPP链路的每条PPP链路包括链路控制协议LCP处理模块和网络控制协议NCP处理模块;或者所述多条PPP链路的每条PPP链路只包括LCP处理模块,并且多条PPP链路共用一个NCP处理模块。
7.如权利要求6所述的装置,其特征在于,所述多条PPP链路共用的NCP处理模块设置在所述PPP MP处理模块中。
8.一种实现多链路传输的负荷分担的方法,其特征在于,该方法包括如下步骤A、动态监测各条PPP链路质量,并生成链路质量信息;B、根据链路质量信息对各条链路进行负荷分担处理。
9.如权利要求8所述的方法,其特征在于,步骤B中所述链路质量信息包括链路故障信息、链路拥塞信息、链路恢复信息以及链路正常信息中的一个或多于一个的任意组合;则所述进行负荷分担处理为根据各条链路的上述质量信息,选取当前质量信息为链路正常或链路恢复的链路作为可用链路为当前IP数据包进行分配。
10.如权利要求8所述的方法,其特征在于,所述步骤B在进行负荷分担处理前进一步包括读取用户控制参数;则所述进行负荷分担处理时进一步包括根据用户控制参数进行负荷分担计算。
11.如权利要求10所述的方法,其特征在于,所述用户控制参数包括链路选择步长;则所述进行负荷分担处理时,如果为IP数据包分配的当前链路通道故障或拥塞时,则根据该链路选择步长为当前IP数据包分配下一条可用链路通道。
12.如权利要求11所述的方法,其特征在于,所述用户控制参数还包括链路初始偏移;则所述进行负荷分担处理时,为当前IP数据包分配可用链路时,根据该链路初始偏移选择初始链路。
13.如权利要求10或11所述的方法,其特征在于,所述用户控制参数还包括链路分配间隔;则所述进行负荷分担处理时,为不同IP数据包分配可用链路时,根据链路分配间隔选择不同的初始链路。
14.如权利要求8所述的方法,其特征在于,所述步骤B中进一步包括输入IP数据包的目的IP地址;则所述进行负荷分担处理时,根据该IP地址对各链路进行负荷分担计算,为该IP数据包分配当前可用的链路。
15.如权利要求14所述的方法,其特征在于,所述步骤B中输入IP地址后进一步包括将IP地址转换为IP索引号;则所述进行负荷分担处理时,根据该IP索引号对各链路进行负荷分担计算,为该IP地址的IP数据包分配当前可用的链路。
16.如权利要求8、14或15所述的方法,其特征在于,所述步骤B进行负荷分担处理时,为当前IP数据包先计算出可用的链路索引号,之后再将链路索引号转换为链路标识,按照链路标识分配链路通道。
17.如权利要求16所述的方法,其特征在于,该方法中,预先设置链路条数,并且所述链路索引号是循环使用的,如果分配的链路索引号超过最大链路索引号,则将该链路索引号进行模除链路条数,使所述链路索引号重新回到合法区间。
全文摘要
本发明公开了一种实现多链路传输的负荷分担的装置,通过增加用于动态监测各条链路质量的故障检测模块,以及根据故障检测模块上报的结果为IP数据包动态分配可用链路通道的负荷分担调度模块,从而使该装置实现了多链路传输的负荷分担,有效缓解了单条链路的负荷压力。此外,本发明还公开了一种实现多链路传输的负荷分担的方法,通过对多链路传输中的各条链路质量进行动态监测,并根据该监测结果,为IP数据包动态分配可用的链路通道,从而实现了多链路传输的负荷分担。
文档编号H04L12/24GK1889527SQ200610103569
公开日2007年1月3日 申请日期2006年7月25日 优先权日2006年7月25日
发明者喻建华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1