专利名称:一种使用点到点协议时防止ip地址泄漏的方法
技术领域:
本发明涉及网络接入技术,具体涉及一种使用PPP(The Point-to-PointProtocol,点到点协议)时防止IP(Internet Protocol,互联网络协议)地址泄漏的方法。
背景技术:
目前,PPP接入已成为主流的宽带接入应用方式,尤其是PPPoE(AMethod for Transmitting PPP Over Ethernet,以太网上的点到点协议)技术规范得到了广泛的支持,目前成为宽带接入运营商首选的宽带接入方式。
宽带接入服务器实现PPP会话的IP地址分配过程如图1所示,PPP会话通过AAA(Authentication、Authorization、Account,认证、授权、计费)客户端认证来分配IP地址,通过发送计费停止请求或者计费拒绝请求来释放IP地址。计费开始请求是在PPP IPCP协商完成后发送的,计费停止请求在计费开始请求发送完成后才能发送。计费拒绝请求是在计费开始请求发送前PPP会话发生异常时发送的,计费拒绝请求只是本地异常处理过程,不向RADIUS(Remote Authentication Dial In UserService,远程拨入用户认证服务)服务器发送计费包,不是RADIUS协议标准。
但是在宽带接入服务器提供PPP接入业务时,经常出现PPP会话的IP地址泄漏问题,导致用户可用的IP地址减少,甚至没有IP地址可用。产生这个问题的原因在于PPP状态机的复杂性,在LCP(Link ControlProtocol,链路控制协议)协商阶段和认证阶段完成后,AAA客户端就已经给用户分配了IP地址,但是在LCP和IPCP(The PPP Internet ProtocolControl Protocol,PPP IP控制协议)协商包重传时,会导致LCP和IPCP状态机的振荡,即一个PPP会话进行重复协商,导致一个PPP会话的多次认证过程,从而给用户分配了多个IP地址,导致IP地址泄漏。对于这个问题,目前的PPP协议没有给出解决的方法,也没有其它的协议标准来解决。
发明内容
本发明的目的是提供一种使用PPP(点到点协议)时防止IP地址泄漏的方法,从而保证宽带接入服务器提供正常稳定的PPP服务业务。
本发明的技术方案如下一种使用点到点协议时防止IP地址泄漏的方法,包括以下步骤第一步启动PPP会话,进行所述PPP会话的初始化;第二步进行PPP LCP协商,在协商的过程中,限定所述PPP LCP协商成功的次数;第三步进行PPP认证,在认证过程中,向AAA客户端只分配一次IP地址;第四步进行PPP IPCP协商,在协商过程中,只发送一次计费开始请求,并限定所述PPP IPCP协商成功的次数;第五步终止所述PPP会话,释放所述IP地址。
所述方法,其中所述第一步包括以下步骤初始化认证成功标志的值为不成功,初始化发送计费开始请求标志的值为没有发送,初始化LCP协商成功计数的值为零,初始化IPCP协商成功计数的值为零,初始化认证请求标志的值为没有发送。
所述方法,其中所述第二步包括以下步骤a1)判断所述PPP LCP协商是否成功;a2)若否则执行所述第五步;a3)若是则执行下面的步骤
a31)所述LCP协商成功计数加1;a32)判断所述LCP协商成功计数是否超过第一限定次数;a33)如果没有超过,则执行所述第三步,否则执行所述第五步。所述方法,其中所述第三步包括以下步骤b1)接收认证请求包;b2)检查所述认证成功标志;b3)如果所述认证成功标志的值为成功,则向用户发送认证成功包并返回,否则执行下一步;b4)检查所述发送认证请求标志;b5)如果所述发送认证请求标志的值为已经发送,则等待返回认证结果,否则执行下一步;b6)发送认证请求,并将所述发送认证请求标志的值设置为已经发送;b7)认证结果返回,判断认证结果,如果认证失败,则执行所述第五步,否则执行下一步;b8)检查PPP状态机是否为开启状态,如果不是,则通知AAA客户端释放IP地址,执行所述第五步并返回,否则执行下一步;b9)设置所述认证成功标志的值为成功,向用户发送认证成功包;b10)执行所述第四步。
所述方法,其中所述第四步包括以下步骤c1)判断所述PPP IPCP协商是否成功;c2)若否则执行所述第五步;c3)若是则执行下面的步骤c31)所述IPCP协商成功计数加1;c32)判断所述IPCP协商成功计数是否超过第二限定次数;c33)如果超过,则执行所述第五步,否则执行下一步;
c34)检查发送计费开始请求标志;c35)判断是否已经发送了计费开始请求;c36)如果已经发送了所述计费开始请求,则返回,否则设置所述发送计费开始请求标志,发送所述计费开始请求。
所述方法,其中所述第五步包括以下步骤d1)拆除PPP会话;d2)检查所述认证成功标志;d3)如果所述认证成功标志的值为不成功,则执行步骤d6),否则执行下一步;d4)检查发送计费开始请求标志;d5)判断是否发送了计费开始请求,如已发送,则发送计费结束请求,同时释放IP地址;否则发送计费拒绝请求,同时释放IP地址;d6)释放PPP会话实体,返回。
所述方法,其中所述第一限定次数设置为3。
所述方法,其中所述第二限定次数设置为3。
采用本发明所述方法,宽带接入服务器可以有效防止PPP会话的IP地址泄漏,提高了宽带接入服务器在提供PPP业务时的稳定性。
图1是现有技术中PPP会话的IP地址分配过程示意图;图2是本发明的操作流程图;图3是本发明的PPP LCP协商流程图;图4是本发明的PPP认证流程图;图5是本发明的PPP IPCP协商流程图;图6是本发明的PPP会话终止流程图;图7是本发明的PPP会话状态机示意图。
具体实施例方式
下面结合附图对本发明的技术方案的实施作进一步的详细描述。
本发明用来防止PPP会话的IP地址泄漏,可以确保接入服务器对PPP会话的IP地址进行正确分配,接入服务器可以可靠提供PPP业务。
本发明的实施步骤如图2所示第一步启动PPP会话,进行所述PPP会话的初始化;第二步进行PPP LCP协商,在协商的过程中,限定所述PPP LCP协商成功的次数;第三步进行PPP认证,在认证过程中,对AAA客户端只分配一次IP地址;第四步进行PPP IPCP协商,在协商过程中,只发送一次计费开始请求,并限定所述PPP IPCP协商成功的次数;第五步终止所述PPP会话,释放所述IP地址。
PPP会话初始化在PPP会话初始化阶段,初始化用于PPP会话的标志和计数,在为一个PPP会话分配完资源后,进行初始化。
本发明在PPP会话过程中使用如下标志和计数认证成功标志,标志此PPP会话是否已经认证成功;发送计费开始请求标志,标志此PPP会话是否已经向AAA客户端发送了计费开始请求;LCP协商成功计数,标志此PPP会话LCP协商成功的次数,即LCP状态机起来(up)的次数;IPCP协商成功计数,标志此PPP会话IPCP协商成功的次数,即IPCP状态机起来(up)的次数;向AAA客户端发送认证请求标志,标志此PPP会话是否已经向AAA客户端发送了认证请求。
PPP会话的初始化包括以下内容初始化认证成功标志的值为不成功;初始化发送计费开始请求标志的值为没有发送;初始化LCP协商成功计数的值为零;初始化IPCP协商成功计数的值为零;初始化向AAA客户端发送认证请求标志的值为没有发送。
PPP LCP协商流程如图3所示在PPP LCP协商阶段,限定所述PPP LCP协商成功的次数,即防止LCP状态机过多的振荡。
1.进行LCP协商;2.根据协商是否成功进行相应的处理;协商成功的标志是PPPLCP状态机到达了开启(Opened)状态;如果协商失败,则进入第五步的PPP会话终止流程;如果协商成功,则进行下面的操作增加LCP协商成功的计数;判断计数是否超过允许的最大次数,最大允许次数是3;如果没有超过,则进入下面的认证流程,否则进入第五步的PPP会话终止流程。
PPP认证流程如图4所示在PPP认证阶段,由于只向AAA客户端发送一次认证请求,从而保证AAA客户端只分配一次IP地址。
接收认证请求包;检查认证成功标志;如果认证成功标志显示成功,则向用户发送认证成功包并返回,否则进行下一步;检查向AAA客户端发送认证请求标志;如果向AAA客户端发送认证请求标志的值为已经发送,则等待认证结果返回,否则进行下一步;发送认证请求,并设置向AAA客户端发送过认证请求标志为已经发送;认证结果返回,判断认证结果,如果认证失败,则进入第五步的PPP会话终止流程,否则进行下一步;检查PPP LCP状态机是否在开启(opened)状态,如果不是,则通知AAA客户端释放IP地址,并返回,否则进行下一步;设置认证成功标志,向用户发送认证成功包;进入IPCP协商流程。
PPP IPCP协商流程如图5所示在PPP IPCP协商阶段,保证只发送一次计费开始请求,并限定PPP IPCP协商成功的次数,即防止IPCP状态机过多的振荡。
进行IPCP协商;根据协商是否成功进行相应的处理;协商成功的标志是PPP IPCP状态机到达了开启(Opened)状态;如果协商失败,则进入第五步的PPP会话终止流程;如果协商成功,则进行下面的操作增加IPCP协商成功的计数;判断计数是否超过允许的最大次数,最大允许次数是3;如果超过,则进入第五步的PPP会话终止流程,否则进行下一步;检查发送计费开始请求标志;判断是否已经发送了计费开始请求;如果已经发送了计费开始请求,则返回,否则设置发送计费开始请求标志,向AAA客户端发送计费开始请求。
PPP会话终止流程如图6所示在PPP会话终止阶段,保证释放IP地址。
d1)拆除PPP会话;d2)检查所述认证成功标志;d3)如果所述认证成功标志的值为不成功,则执行步骤d6),否则执行下一步;d4)检查发送计费开始请求标志;d5)判断是否发送了计费开始请求,如已发送,则发送计费结束请求,同时释放IP地址;否则发送计费拒绝请求,同时释放IP地址;d6)释放PPP会话实体,返回。
权利要求
1.一种使用点到点协议时防止IP地址泄漏的方法,其特征是,包括以下步骤第一步启动PPP会话,进行所述PPP会话的初始化;第二步进行PPP LCP协商,在协商的过程中,限定所述PPP LCP协商成功的次数;第三步进行PPP认证,在认证过程中,向AAA客户端只分配一次IP地址;第四步进行PPP IPCP协商,在协商过程中,只发送一次计费开始请求,并限定所述PPP IPCP协商成功的次数;第五步终止所述PPP会话,释放所述IP地址。
2.根据权利要求1所述的方法,其特征是,所述第一步包括以下步骤初始化认证成功标志的值为不成功,初始化发送计费开始请求标志的值为没有发送,初始化LCP协商成功计数的值为零,初始化IPCP协商成功计数的值为零,初始化认证请求标志的值为没有发送。
3.根据权利要求2所述的方法,其特征是,所述第二步包括以下步骤a1)判断所述PPP LCP协商是否成功;a2)若否则执行所述第五步;a3)若是则执行下面的步骤a31)所述LCP协商成功计数加1;a32)判断所述LCP协商成功计数是否超过第一限定次数;a33)如果没有超过所述第一限定次数,执行所述第三步,否则执行所述第五步。
4.根据权利要求3所述的方法,其特征是,所述第三步包括以下步骤b1)接收认证请求包;b2)检查所述认证成功标志;b3)如果所述认证成功标志的值为成功,则向用户发送认证成功包并返回,否则执行下一步;b4)检查所述发送认证请求标志;b5)如果所述发送认证请求标志的值为已经发送,则等待返回认证结果,否则执行下一步;b6)发送认证请求,并将所述发送认证请求标志的值设置为已经发送;b7)认证结果返回,判断认证结果,如果认证失败,则执行所述第五步,否则执行下一步;b8)检查PPP状态机是否为开启状态,如果不是,则通知AAA客户端释放IP地址,并返回,否则执行下一步;b9)设置所述认证成功标志的值为成功,向用户发送认证成功包;b10)执行所述第四步。
5.根据权利要求4所述的方法,其特征是,所述第四步包括以下步骤c1)判断所述PPP IPCP协商是否成功;c2)若否则执行所述第五步;c3)若是则执行下面的步骤c31)所述IPCP协商成功计数加1;c32)判断所述IPCP协商成功计数是否超过第二限定次数;c33)如果超过,则执行所述第五步,否则执行下一步;c34)检查发送计费开始请求标志;c35)判断是否已经发送了计费开始请求;c36)如果已经发送了所述计费开始请求,则返回,否则设置所述发送计费开始请求标志,发送所述计费开始请求。
6.根据权利要求5所述的方法,其特征是,所述第五步包括以下步骤d1)拆除PPP会话;d2)检查所述认证成功标志;d3)如果所述认证成功标志的值为不成功,则执行步骤d6),否则执行下一步;d4)检查发送计费开始请求标志;d5)判断是否发送了计费开始请求,如已发送,则发送计费结束请求,同时释放IP地址;否则发送计费拒绝请求,同时释放IP地址;d6)释放PPP会话实体,返回。
7.根据权利要求3所述的方法,其特征是,所述第一限定次数设置为3。
8.根据权利要求5所述的方法,其特征是,所述第二限定次数设置为3。
全文摘要
本发明公开了一种使用点到点协议时防止IP地址泄漏的方法,包括步骤第一步启动PPP会话,进行所述PPP会话的初始化;第二步进行PPP LCP协商,在协商的过程中,限定所述PPP LCP协商成功的次数;第三步进行PPP认证,在认证过程中,对AAA客户端只分配一次IP地址;第四步进行PPP IPCP协商,在协商过程中,只发送一次计费开始请求,并限定所述PPP IPCP协商成功的次数;第五步终止所述PPP会话,释放所述IP地址。采用本发明所述方法,宽带接入服务器可以有效防止PPP会话的IP地址泄漏,提高了宽带接入服务器在提供PPP业务时的稳定性。
文档编号H04L29/06GK1719764SQ20041002802
公开日2006年1月11日 申请日期2004年7月8日 优先权日2004年7月8日
发明者曹文利 申请人:中兴通讯股份有限公司