一种PPPoE的负荷分担和保护倒换的方法

文档序号:7765681阅读:222来源:国知局
专利名称:一种PPPoE的负荷分担和保护倒换的方法
技术领域
本发明涉及一种通信技术,确切地说是一种在宽带接入服务器上实现PPPoE(PPP Over Ethernet)会话的负荷分担和保护倒换的方法,以保护宽带接入用户的业务最大程度不受损失。
背景技术
PPPoE是当前宽带接入服务中广泛采用的一种技术。无论在ADSL接入方式、LAN接入方式,PPPoE作为一种接入控制技术发挥着非常重要的作用。
一般的宽带接入服务器在处理用户的PPPoE会话时,很多是没有负荷分担和保护倒换的,这样的设备可用性比较低,导致服务质量下降。也有一些设备采用了一些保护倒换的办法,但是却没有负荷分担,这样设备的利用率下降,造成运营商设备投资增加,成本上升。在保护方面,现在的设备有以下几种方式要么是接口板直接终结PPPoE,这样在接口板的PPPoE逻辑发生故障时,该接口板正在处理的PPP会话就会丢失,为了实现保护倒换,所有终结PPPoE的接口板都必须和每一个用户实施物理联通;要么采用集中的主控模块的方式,即PPPoE在一个集中的主控模块上终结,但一般情况下主控模块是“一加一”主备冗余备份,平时不能实现负荷分担。这两种情况要么容易导致保护倒换不及时,造成用户业务损失,要么设备利用率低,不能充分利用系统的处理能力。

发明内容
本发明的目的是提供一种PPPoE的负荷分担和保护倒换的方法,以解决宽带接入服务器类系统平时不能对PPPoE会话进行合理负荷分配,或不能实现冗余保护的问题。利用本发明,对一个宽带接入服务器节点,用户的所有PPPoE会话处理会按照处理开销均衡的策略分布在多个PPPoE处理单元之间;只要节点中尚存在一个PPPoE处理单元,用户的PPPoE会话就不会受损失;PPPoE处理单元发生故障时,用户PPPoE会话的切换对用户是透明的,无需用户有额外操作;当故障单元恢复时,本发明提供的方法会重新按照均衡策略分担会话处理开销。
本发明的目的是这样实现的宽带接入服务器上有多个PPPoE处理单元。在逻辑上,这些PPPoE处理单元呈现给用户的是多个PPPoE服务器,它们根据其在系统中所在的槽位配备MAC地址,具体的MAC地址可由实现者规定。尽管宽带接入服务器中配置有多个PPPoE处理单元,但每个时刻只能有1个单元应答一个特定用户的PPPoE主动发现发起请求(PPPoEActive Discovery Initiation,缩写为PADI),即回应PPPoE Active Discovery Offer包。这可以通过令牌来控制每一时刻只有一个PPPoE处理单元拥有令牌,只有拥有令牌的单元才能回应PPPoE Active Discovery Offer包。每个PPPoE处理单元在成功地建立了PPP会话,或拆除了PPP会话后,都通过内部通信方式告知主控单元,主控单元据此统计和维护每个PPPoE处理单元承担的PPP会话数目。
宽带接入服务器上还包括至少一个L2(即MAC层)交换单元。用户的PPPoE帧在到达PPPoE处理单元之前,首先进入L2交换单元。L2交换单元经配置后可以把承载PPPoE帧的MAC帧转发到同一设备节点上的任何一个PPPoE处理单元。
宽带接入服务器包含一个集中的主控单元,所有接入到宽带接入服务器节点的PPPoE会话的状态,包括正在建立、稳定、正在拆除等状态均由该主控单元保存和维护。该主控单元还保存每个在线的PPPoE处理单元当前各有多少活动的PPP会话正在处理。主控单元根据其对各PPPoE处理单元承担的PPP会话数目的统计,按照下述步骤进行负荷分配A.每当有PPPoE处理单元送来建立了PPP会话或拆除了PPP会话的消息,则激活以下步骤B~G;否则不执行以下步骤;B.重新统计各PPPoE处理单元承担的PPP会话数目;C.比较当前拥有令牌的PPPoE处理单元和其余PPPoE处理单元各自承担的已经稳定的PPP会话数目,确认当前拥有令牌的PPPoE处理单元承担的已经稳定的PPP会话数目是否少于或等于其它任何一个单元;D.如果是,由该当前拥有令牌的PPPoE处理单元回应,即不发生令牌切换,然后转A;E.如果否,那么当前拥有令牌的PPPoE处理单元承担的已经稳定的PPP会话数目与当前承担最少的单元的PPP会话数目的差是否小于或等于N,N是一个设定的常量;F.如果是,转A;G.如果否,以内部通信方式通知当前拥有令牌的PPPoE处理单元交出令牌,把令牌发给当前承担PPP会话数目最少的单元,然后转A。
如果一个活动的PPPoE处理单元被热拔去或出现故障而无法承担PPPoE会话,那么原来由它处理的PPP会话必须转移到系统中当前承担PPP会话数目最少的单元上去。主控单元通过修改L2交换单元中的MAC地址表项,把用户的PPP会话流重定向到当前承担PPP会话数目最少的单元,实现业务的保护倒换。
当一个空槽位上插上一个正常的PPPoE处理单元时,主控单元通过往L2交换单元增加一条相关的MAC地址表项,如果此前曾经发生过该槽位的业务倒换,则被倒换的PPP会话将被重新倒换回来。
为了避免令牌转移过程中,PPPoE主动发现发起请求(PADI)处理的丢失和混淆,可以采用下述方法实现1)主控单元首先发消息给当前拥有令牌的PPPoE处理单元,要求其让出令牌,该PPPoE处理单元回应确认消息,但此时它继续处理PADI,直到主控单元发来令牌交接完成消息为止;当前承担PPP会话数目最少的单元接收到主控单元发来的令牌赋予消息后应答确认消息;主控单元收到确认消息后即向当前拥有令牌的PPPoE处理单元发送令牌交接完成消息。2)为了使无论当前拥有令牌的PPPoE处理单元还是当前承担PPP会话数目最少的单元有明确的处理或不处理PADI的分界线,它们对从用户收到的PADI消息和从主控单元收到的令牌控制消息进行入先入先出(FIFO)队列的序列化,这样以令牌控制消息为分界线就可以决定是否处理PADI。
所述的宽带接入服务器为具有PPPoE接入功能的接入服务系统,不排除具备其它接入功能和部件。PPPoE在所述的宽带接入服务器节点可以终结,也可以通过L2TP等方式隧道出去,本发明对这两种情况均适用。
所述的PPPoE处理单元是宽带接入服务器上的一个功能部件,它至少能完成互联网工程任务组草案标准(IETF RFC)规定的PPPoE服务器功能,以及完整的PPP协议族的LCP、认证、NCP等功能。
所述的L2交换单元是宽带接入服务器上的一个功能部件或这些功能部件的组合,这些功能部件是指具有MAC层交换功能的任何接口类型的以太网接口单元。所述的配置L2交换单元,使得广播帧能到达任何PPPoE处理单元,就是配置虚拟局域网(VLAN),使得PPPoE处理单元和用户连接在L2交换单元上的端口至少属于同一个VLAN。
所述的主控单元是宽带接入服务器上的一个功能部件,它负责按本发明提供的策略实现PPPoE负荷分担,以及保护倒换的过程。
所述的已经稳定的PPP会话是指已经通过NCP阶段、又尚未终止的PPP会话。
所述的MAC地址表是指驻留在L2交换单元的符合IEEE 802.1D标准的单播MAC地址过滤数据库。本发明涉及的往该MAC地址表增加或修改的MAC地址表项的属性为静态的。
步骤E中设置可变量N的目的是为了避免在系统中频繁切换令牌而导致系统颠簸、增大CPU和内部通信带宽开销。N可以在具体实现中设定,如可以设为在突发情况下,单个PPPoE处理单元所能正确处理的PPP会话数或更小,N的最小值为1。
本发明提供了一个在宽带接入服务器中PPPoE负荷分担和保护倒换的实现方法,该方法利用了L2交换的灵活性,以及集中控制方法的简易性,运用了每个PPPoE处理单元处理的PPP会话数目差距不超过设定数的均衡策略,通过设定的步骤实现该策略。
本发明的有益效果是使得宽带接入服务器对PPPoE的处理达到节点内部的均衡分布,充分利用了系统的能力,提高了处理性能,降低了业务损失的风险。这不仅从性能和保护业务不受损失方面给最终用户带来高质量的服务,而且为运营商提供了极大的运营便利性,为它赢得信誉和竞争力。


下面结合实施实例及附图进一步说明本发明的技术图1是宽带接入服务器功能部件构成示意图。
图2是PPPoE处理单元热拔去或故障时的保护倒换示意图。
图3是新插一个PPPoE处理单元时的操作示意图。
图4是令牌切换协议示意图。
图5是通过消息序列化设置是否处理PPPoE主动发现发起请求(PADI)的分界线示意图。
具体实施例方式
如图1,本发明的实现要求在宽带接入服务器上至少配置符合本发明所述逻辑功能的3类功能部件,即PPPoE处理单元、L2交换单元和主控单元。PPPoE处理单元至少能完成互联网工程任务组草案标准(IETF RFC)规定的PPPoE服务器功能,以及完整的PPP协议族的LCP、认证、NCP等功能;L2交换单元是指具有MAC层交换功能的任何接口类型的以太网接口单元;主控单元是宽带接入服务器上的一个功能部件,负责按本发明方法实现PPPoE负荷分担,以及保护倒换的过程。本发明中,宽带接入服务器为具有PPPoE接入功能的接入服务系统,不排除具备其它接入功能和部件。PPPoE在所述的宽带接入服务器节点可以终结,也可以通过L2TP等方式隧道出去,本发明对这两种情况均适用。
宽带接入服务器上多个PPPoE处理单元在逻辑上呈现给用户的是多个PPPoE服务器,它们根据在系统所在的槽位配备MAC地址。具体的MAC地址可由实现者规定,如一个10槽位的宽带接入服务器,16进制下,槽位1到10对应的MAC地址可为xx-yy-zz-00-01~xx-yy-zz-00-0a,其中xx-yy-zz是制造宽带接入服务器的厂商的合法OUI。每个PPPoE处理单元在成功地建立了PPP会话,或拆除了PPP会话后,都通过内部通信方式告知主控单元,主控单元据此统计和维护每个PPPoE处理单元承担的PPP会话数目。
尽管宽带接入服务器中配置有多个PPPoE处理单元,但每个时刻只能有1个单元应答一个特定用户的PPPoE主动发现发起请求(PADI),即回应PPPoE Active Discovery Offer包。本发明是通过令牌来控制的,每一时刻只有一个PPPoE处理单元拥有令牌,只有拥有令牌的单元才能回应PPPoE Active Discovery Offer包。
L2交换单元处于用户和PPPoE处理单元之间。配置L2交换单元,即配置虚拟局域网(VLAN),使得PPPoE处理单元和用户连接在L2交换单元上的端口至少属于同一个VLAN,从而使得广播帧能到达任何PPPoE处理单元。在宽带接入服务器中,在用户的PPPoE帧到达PPPoE处理单元之前,首先进入L2交换单元,然后L2交换单元把承载PPPoE帧的MAC帧转发到同一设备节点上的任何一个PPPoE处理单元。
所有接入到宽带接入服务器节点的PPPoE会话的状态,包括正在建立、稳定、正在拆除等状态由主控单元保存和维护。主控单元还保存每个在线的PPPoE处理单元当前各有多少活动的PPP会话正在处理。主控单元根据其对各PPPoE处理单元承担的PPP会话数目的统计,按照下述步骤进行负荷分配A.每当有PPPoE处理单元送来建立了PPP会话,或拆除了PPP会话的消息,则激活以下步骤B~G;否则不执行以下步骤;B.重新统计各PPPoE处理单元承担的PPP会话数目;C.比较当前拥有令牌的PPPoE处理单元和其余PPPoE处理单元各自承担的已经稳定的PPP会话数目,确认当前拥有令牌的PPPoE处理单元(记为UnitToken)承担的已经稳定的PPP会话数目是否少于或等于其它任何一个单元;D.如果是,由该PPPoE处理单元(UnitToken)回应,即不发生令牌切换,转A;E.如果否,那么当前拥有令牌的PPPoE处理单元承担的已经稳定的PPP会话数目与承担PPP会话最少的单元(记为UnitLeast)的PPP会话数目的差是否小于或等于N,N是一个设定的常量;F.如果是,转A;G.如果否,以内部通信方式通知UnitToken交出令牌,把令牌发给UnitLeast,然后转A。
所述的已经稳定的PPP会话是指已经通过NCP阶段、又尚未终止的PPP会话。
步骤E中设置可变量N的目的是为了避免在系统中频繁切换令牌而导致系统颠簸、增大CPU和内部通信带宽开销。N可以在具体实现中设定,如可以设为在突发情况下,单个PPPoE处理单元所能正确处理的PPP会话数或更小,N的最小值为1。参照图1,设N=5,当前PPPoE处理单元1承担的已经稳定的PPP会话有30个,PPPoE处理单元2承担28个,PPPoE处理单元3承担26个,当前PPPoE处理单元1拥有令牌。随后,若PPPoE处理单元3拆除了一个PPP会话,并告知了主控单元,此时PPPoE处理单元3承担的PPP会话数目为25;由于30-25≤N=5,根据本发明方法不发生令牌切换。再随后,PPPoE处理单元1又新建立了一个稳定的PPP会话,此时它承担的PPP会话数达到31,并告知了主控单元,此时31-25>N=5,即发生令牌切换。
图2示意一个PPPoE处理单元被热拔去或发生故障。PPPoE处理单元被热拔去或出现故障,可以被系统的主控单元实时监控到。如果一个活动的PPPoE处理单元被热拔去或出现故障而无法承担PPPoE会话,该单元记为UnitFailure,那么原来由它处理的PPP会话必须转移到系统中当前承担会话数目最少的PPPoE处理单元上去,该单元记为UnitLeast。主控单元往L2交换单元修改以下MAC地址表项1)把UnitFailure所在槽位的MAC地址为索引的MAC地址表项的目的端口指向UnitLeast,2)如果UnitFailure承担有从其它PPPoE处理单元倒换过来的PPP会话,那么把它们相应的MAC地址对应的MAC地址表项的目的端口也指向UnitLeast。这样,以前流向UnitFailure的PPPoE帧此时全部流向UnitLeast,因此完成PPPoE会话的倒换,保护了用户的业务。
图3示意一个新的PPPoE处理单元插入系统。当一个空槽位上插上一个正常的PPPoE处理单元时,该单元记为UnitNew,主控单元向L2交换单元写一个MAC地址表项,MAC地址为该槽位对应的MAC地址,目的端口指向UnitNew。这样,如果该槽位上先前出现过PPPoE处理单元热拔或故障的情况,那么在另一个PPPoE处理单元(记为UnitBackup)上的被倒换会话将被重新倒换回UnitNew。
所述的MAC地址表是指驻留在L2交换单元的符合IEEE 802.1D标准的单播MAC地址过滤数据库。本发明涉及的往该MAC地址表增加或修改的MAC地址表项的属性为静态的。
为了避免令牌转移过程中,PPPoE主动发现发起请求(PADI)处理的丢失和混淆,本实施例采用以下方法实现1)主控单元首先发消息给UnitToken,记为TOKEN_TAKE_REQ,要求其让出令牌,UnitToken回应确认消息,记为TOKEN_TAKE_COMFIRM,但此时UnitToken继续处理PADI,直到主控单元发来令牌交接完成消息为止,记为TOKEN_SHIFT_COMPLETE;UnitLeast接收到主控单元发来的令牌赋予消息(记为TOKEN_GIVE_NOTIFY)后应答确认消息,记为TOKEN_GIVE_CONFIRM;主控单元收到TOKEN_GIVE_CONFIRM消息后即向UnitToken发送TOKEN_SHIFT_COMPLETE消息。2)为了使无论UnitToken还是UnitLeast有明确的处理或不处理PADI的分界线,它们对从用户收到的PADI消息和从主控单元收到的令牌控制消息进行入FIFO队列的序列化,这样以令牌控制消息为分界线就可以决定是否处理PADI。令牌切换的过程如图4所示,数字序号(1)~(5)反映了令牌切换控制中消息的顺序。
图5中,a)图是UnitToken的消息序列化示意图,以消息TOKEN_SHIFT_COMPLETE为分界线,它之前的PADI均处理和应答,它之后的PADI均忽略不处理,直到收到TOKEN_GIVE_NOTIFY为止;b)图是UnitLeast的消息序列化示意图,以消息TOKEN_GIVE_NOTIFY为分界线,它之前的PADI均忽略不处理,它之后的PADI均处理和应答,直到收到TOKEN_SHIFT_COMPLETE为止。
权利要求
1.一种PPPoE的负荷分担和保护倒换的方法,其特征在于宽带接入服务器中,配置有至少两个PPPoE处理单元、至少一个L2交换单元和一个主控单元;PPPoE处理单元至少能完成互联网工程任务组草案标准规定的PPPoE服务器功能,以及完整的PPP协议族的LCP、认证、NCP功能,各PPPoE处理单元根据其所在的槽位配备MAC地址,同一时刻只有一个PPPoE处理单元拥有令牌,只有拥有令牌的单元才能对PPPoE主动发现发起请求作出应答,每个PPPoE处理单元在成功地建立了PPP会话或拆除了PPP会话后,都通过内部通信方式告知主控单元;L2交换单元为具有MAC层交换功能的任何接口类型的以太网接口单元,处于用户和PPPoE处理单元之间,负责把承载PPPoE帧的MAC帧转发到同一服务器节点上的任何一个PPPoE处理单元,PPPoE处理单元和用户连接在L2交换单元上的端口至少属于同一个虚拟局域网;主控单元是宽带接入服务器上的一个功能部件,负责实现PPPoE负荷分担以及保护倒换的过程,所有接入到宽带接入服务器节点的PPPoE会话的状态,包括正在建立、稳定、正在拆除状态由主控单元保存和维护,主控单元还保存每个在线的PPPoE处理单元当前正在处理的PPP会话数目,主控单元根据其对各PPPoE处理单元承担的PPP会话数目的统计,按照下述步骤进行负荷分配A.每当有PPPoE处理单元送来建立了PPP会话或者拆除了PPP会话的消息,则激活以下步骤B~G;否则不执行以下步骤;B.重新统计各PPPoE处理单元承担的PPP会话数目;C.比较当前拥有令牌的PPPoE处理单元和其余PPPoE处理单元各自承担的已经稳定的PPP会话数目,确认当前拥有令牌的PPPoE处理单元承担的已经稳定的PPP会话数目是否少于或等于其它任何一个单元;D.如果是,由该PPPoE处理单元回应,即不发生令牌切换,转A;E.如果否,那么当前拥有令牌的PPPoE处理单元承担的已经稳定的PPP会话数目与承担PPP会话最少的单元的PPP会话数目的差是否小于或等于N,N是一个设定的大于或等于1的常数;F.如果是,转A;G.如果否,以内部通信方式通知当前拥有令牌的PPPoE处理单元交出令牌,把令牌发给当前承担PPP会话最少的PPPoE处理单元,然后转A;当一个活动的PPPoE处理单元被热拔去或出现故障时,主控单元通过修改L2交换单元中的MAC地址表项,把该单元所在槽位的MAC地址为索引的MAC地址表项的目的端口指向当前承担PPP会话数目最少的单元;如果该单元承担有从其它PPPoE处理单元倒换过来的PPP会话,把它们相应的MAC地址对应的MAC地址表项的目的端口也指向当前承担PPP会话数目最少的单元,从而把用户的PPP会话转移到当前承担PPP会话数目最少的单元;当一个空槽位上插上一个正常的PPPoE处理单元时,主控单元通过往L2交换单元增加一条相关的MAC地址表项,MAC地址为该槽位对应的MAC地址,目的端口指向该新的PPPoE处理单元,将此前曾经被倒换过的PPP会话重新倒换回来。
2.根据权利要求1所述的PPPoE的负荷分担和保护倒换的方法,其特征在于,所述的MAC地址表是指驻留在L2交换单元的符合IEEE 802.1D标准的单播MAC地址过滤数据库,往该MAC地址表增加或修改的MAC地址表项的属性为静态的。
3.根据权利要求1或2所述的PPPoE的负荷分担和保护倒换的方法,其特征在于,令牌转移过程中,主控单元首先发消息给当前拥有令牌单元,要求其让出令牌;然后令牌拥有单元回应确认消息,但此时令牌拥有单元继续处理PPPoE主动发现发起请求,直到主控单元发来令牌交接完成消息为止;PPPoE用户数最少的处理单元接收到主控单元发来的令牌赋予消息后应答确认消息;主控单元收到该确认消息后即向令牌拥有单元发送令牌切换成功消息。
4.根据权利要求3所述的PPPoE的负荷分担和保护倒换的方法,其特征在于,令牌转移过程中,当前拥有令牌的PPPoE处理单元和当前承担PPP会话数目最少的单元对从用户收到的PPPoE主动发现发起请求消息和从主控单元收到的令牌控制消息进行入先入先出队列的序列化。
5.根据权利要求1或2所述的PPPoE的负荷分担和保护倒换的方法,其特征在于,PPPoE在所述的宽带接入服务器节点终结,或者通过L2TP方式隧道出去。
6.根据权利要求3所述的PPPoE的负荷分担和保护倒换的方法,其特征在于,PPPoE在所述的宽带接入服务器节点终结,或者通过L2TP方式隧道出去。
7.根据权利要求4所述的PPPoE的负荷分担和保护倒换的方法,其特征在于,PPPoE在所述的宽带接入服务器节点终结,或者通过L2TP方式隧道出去。
全文摘要
本发明涉及一种通信技术,是一种在宽带接入服务器上实现PPPoE会话的负荷分担和保护倒换的方法,以保护宽带接入用户的业务最大程度不受损失。该方法利用了以太网第二层交换的灵活性,以及集中控制方法的简易性,运用了每个PPPoE处理单元处理的PPP会话数目差距不超过设定数的均衡策略,使得宽带接入服务器对PPPoE的处理达到节点内部的均衡分布,充分利用了系统的能力,提高了处理性能,降低了业务损失的风险。不仅从性能和保护业务不受损失方面给最终用户带来高质量的服务,而且为运营商提供了极大的运营便利性,为它赢得信誉和竞争力。
文档编号H04B7/005GK1581826SQ03153520
公开日2005年2月16日 申请日期2003年8月15日 优先权日2003年8月15日
发明者陈立挺 申请人:上海卓扬科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1