一种快速建立pppoe链路层连接的方法和装置的制作方法

文档序号:7760465阅读:209来源:国知局
专利名称:一种快速建立pppoe链路层连接的方法和装置的制作方法
技术领域
本发明涉及链路层连接方法,一种快速建立PPPOE链路层连接的方法和装置。
背景技术
建立 PPPOE (point-to-point protocol over Ethernet)连接一般都要经历发现 阶段(Discover)和会话阶段(Session),在发现阶段服务端给客户端发送PADS数据包后, 服务端和客户端就进入会话阶段,会话阶段的第一个步骤接就是建立LCP链路层连接。但 是由于服务端和客户端设计的差异,哪一方先发起请求(request)数据包没有统一的规 定,因此容易引起状态的混乱。如果双方都先发起请求数据包,必定会有一方在发起请求 后才收到对方的请求包,因而此时双方的状态均为等待对方的确认或拒绝(ACK/NAK)数据 包,但得到的却是一个请求数据包,一个解决方法是不发送任何反馈的数据包,或者只返 回一个请求数据包,这样的容易造成超时后需重新建立LCP连接或者状态混乱无法建立 LCP链路层会话,最终导致PPPOE连接的超时或失败。此外,在PC机或者其他具有PPPOE接入功能的终端设备上,经常由于LCP链路会 话的状态不同步导致PPPOE连接建立的失败,网络抖动延迟及其他不稳定因素,建立一个 PPPOE连接,往往需要一个很长的等待时间。目前的解决方法有一方不先主动发送请求数据包,等到对方的请求数据包到达 后返回响应数据包,再发送自己的请求数据包进行双方的信息同步。这种方法需要在双方 设计时都遵循一端先发而另一端后发的原则,如果其他的PPPOE终端设备不遵循这种方 式,此外,如果终端也主动发起请求数据包,则会导致双方状态的混乱,最终导致LCP链路 建立的失败或超时。

发明内容
本发明要解决的技术问题在于,需要经过很长的等待时间来建立PPPOE连接,双 方都发送请求数据包时会导致双方状态的混乱,甚至导致LCP链路建立的失败或超时,针 对现有技术的上述缺陷,提供一种快速建立PPPOE链路层连接的方法及装置。本发明解决其技术问题所采用的技术方案是—种快速建立PPPOE链路层连接的方法,在客户端建立两路状态,分别为A路状 态、B路状态,其中,A路状态用于处理服务端主动发起的会话,B路状态用于处理由客户端 主动发起的会话,所述方法包括a、客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送的 请求数据包,所述处理包括确认和拒绝;b、客户端在B路状态直接发起请求数据包,并在B路状态处理服务端返回的处理 数据包,所述处理数据包包括确认数据包和拒绝数据包;C、当在所述A路状态和所述B路状态都处理完确认数据包后,客户端对所述A路 状态、所述B路状态进行状态协商,所述在所述A路状态和所述B路状态都处理完确认数据包包括在A路状态给服务端发送确认数据包和客户端在B路状态接收到服务端返回的确认 数据包。 优选地,所述方法还包括所述客户端对所述A路状态、所述B路状态进行状态协商 完成后,进入认证状态。优选地,所述请求数据包、确认数据包和拒绝数据包都携带选择字段;所述客户端在A路状态等待服务端的请求数据包之前还包括服务端给客户端发 送PADS数据包;所述客户端对所述A路状态、所述B路状态进行状态协商之后还包括客户端给服 务端发送LCP Echo请求数据包,客户端返回LCP Echo应答数据包。优选地,客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送的请 求数据包具体包括当服务端发送的请求数据包携带的选择字段与客户端在B路状态发送 的请求数据包携带的选择字段不冲突时,客户端在A路状态向服务端发送确认数据包,否 则客户端在A路状态向服务端发送拒绝数据包,服务端继续发送与该拒绝数据包相对应的 请求数据包,直到客户端在A路状态向服务端发送确认数据包;所述客户端在B路状态直接发起请求数据包,并在B路状态处理服务端返回的处 理数据包具体包括当客户端在B路状态向服务端发送请求数据包之后接收到服务端向客 户端返回的拒绝数据包时,客户端在B路状态继续发送与该拒绝数据包相对应的请求数据 包,直到服务端返回确认数据包。优选地,所述客户端对所述A路状态、所述B路状态进行状态协商具体包括以由服务端发送的确认数据包携带的选择字段为基准,若所述由服务端发送的选 择字段与所述由客户端在B路状态发送的选择字段发生冲突,则需要在B路状态发送与该 冲突的选择字段相对应的请求数据包,接收到确认数据包后重新进行协商,直到由所述服 务端发送的确认数据包携带的选择字段与客户端的数据包携带的选择字段没有冲突。本发明还提供一种实现上述方法的装置;一种快速建立PPPOE链路层连接的装置,客户端设置有两路状态,分别为A路状 态、B路状态,其中,A路状态用于处理服务端主动发起的会话,B路状态用于处理由客户端 主动发起的会话,所述装置包括用于客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送 的请求数据包的A路处理模块,所述处理包括确认和拒绝;用于客户端在B路状态直接发起请求包,并在B路状态处理服务端返回的处理数 据包的B路处理模块,所述处理数据包包括确认数据包和拒绝数据包;当服务端和客户端都收到对方的确认数据包后,用于客户端对所述A路状态、所 述B路状态进行状态协商的协商模块。优选地,所述装置还包括用于进入认证状态的认证模块。优选地,所述请求数据包携带选择字段;
所述A路处理模块包括用于接收服务端发送的请求数据包的A路接收模块;用于判断服务端发送的请求数据包携带的选择字段是否与客户端在B路状态发 送的请求数据包携带的选择字段相冲突的A路判断模块;当服务端发送的请求数据包与客户端在B路状态发送的请求数据包相冲突时,用 于产生拒绝数据包及当服务端发送的请求数据包与客户端在B路状态发送的请求数据包 所携带的选择字段不冲突时,用于产生确认数据包的A路反馈模块;用于发送确认数据包和拒绝数据包的A路发送模块;所述B路处理模块包括用于接收服务端发送的处理数据包的B路接收模块;当服务端发送拒绝数据包时,用于产生与该拒绝数据包相对应的请求数据包的B 路反馈模块,;用于向服务端发送请求数据包的B路发送模块。优选地,所述确认数据包和拒绝数据包都携带选择字段;所述协商模块包括用于判断在A路状态接收的由服务端发送的确认数据包携带的选择字段与所述 由客户端在B路状态发送的确认数据包携带的选择字段是否发生冲突的判断模块;用于根据所述判断模块的判断结果相应地启动B路状态处理模块的控制模块。优选地,所述B路发送模块还用于给服务端发送LCP Echo请求数据包;及所述B路接收模块还用于接收服务端发送的PADS数据包及服务端返回的LCP Echo应答数据包。实施本发明的技术方案,具有以下有益效果本发明的技术方案中,采用双路状态 的思想,其中一路状态来处理客户端主动发起的会话,另外一路状态来处理由服务端主动 发起的会话,这样可以避免数据包收发的混乱,可较大限度地保证双方状态的同步,降低连 接失败概率及减少链路层连接建立的时间,此外,本发明方案采用双路状态协商,在一定程 度上降低链路层连接建立失败的概率,提高了链路层连接的效率。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明的一种快速建立PPPOE链路层连接的装置结构图;图2是本发明的一种快速建立PPPOE链路层连接的方法流程图;图3是本发明一实施例的一种快速建立PPPOE链路层连接的装置结构图;图4是本发明一实施例的一种快速建立PPPOE链路层连接的方法流程图;图5是本发明另一实施例的一种快速建立PPPOE链路层连接的方法流程图。
具体实施例方式本发明涉及一种快速建立PPPOE链路层连接的方法和装置,客户端设置有两路状态,分别为A路状态、B路状态,其中,A路状态用于处理服务端主动发起的会话,B路状态用 于处理由客户端主动发起的会话。如图1所示,是本发明实施例的一种快速建立PPPOE链路层连接的装置示意图,其 中,该装置包括A路状态处理模块101、B路状态处理模块102、协商模块103。在PPPOE链路层连接的过程中,A路状态处理模块101等待并处理由服务端发送 的请求数据包,具体地,所述处理包括确认和拒绝;B路状态处理模块102来直接向服务端 发送请求数据包,并处理服务端返回的与该B路状态处理模块102发送的请求数据包相对 应的处理数据包,具体地,该处理数据包包括确认数据包和拒绝数据包,当在所述A路状态 和所述B路状态都处理完确认数据包后,客户端对所述A路状态、所述B路状态进行状态协 商,所述在A路状态处理完确认数据包包括在A路状态给服务端发送确认数据包,所述在B 路状态都处理完确认数据包包括客户端在B路状态接收到服务端返回的确认数据包,协商 模块103对A路状态和B路状态进行状态协商。图2是本发明的一种快速建立PPPOE链路层连接的方法的流程示意图,如图2所 示,在步骤201中,A路状态处理模块101在A路状态等待服务端发送的请求数据包,并处 理该请求数据包,具体地,该处理包括确认和拒绝;接着步骤202中,B路状态处理模块102 在B路状态直接向服务端发送请求数据包,并处理由服务端返回的、与B路状态处理模块 102发送的请求数据包相对应的处理数据包,具体地,该处理数据包包括确认数据包和拒绝 数据包,在步骤203中,当在所述A路状态和所述B路状态都处理完确认数据包后,客户端 对所述A路状态、所述B路状态进行状态协商,所述在A路状态处理完确认数据包包括在A 路状态给服务端发送确认数据包,所述在B路状态都处理完确认数据包包括客户端在B路 状态接收到服务端返回的确认数据包,即服务端和客户端都收到确认数据包之后,启动协 商模块103对该A路状态和B路状态进行状态协商。本实施例中,步骤201与步骤202可调换次序,即首先进行步骤202,接着进行步骤 201,此外,还可以是步骤201与步骤202同时执行,但是同样可以在一定程度上减少因为 状态不同步而导致的链接失败的概率,也可提高LCP链路层链接的效率,因此,此处不作限 制。本实施例中,采用双路状态来处理请求数据包及处理数据包,有效地避免双方状 态的混乱,增加了 PPPOE连接建立的成功率,此外,本实施例中,采用状态协商可最大限度 地提高建立LCP连接的效率。图3是本发明的一实施例的一种快速建立PPPOE链路层连接的装置示意图,如图 3所示,所述装置包括A路状态处理模块301,B路状态处理模块302,协商模块303,认证 模块304,其中,A路状态处理模块301具体包括·Λ路状态接收模块3011,A路状态判断模 块3012,A路状态反馈模块3013,A路状态发送模块3014 ;B路状态处理模块302具体包 括Β路状态接收模块3021,Β路状态反馈模块3022,Β路状态发送模块3023 ;协商模块303 具体包括判断模块3031,控制模块3032,具体地,该判断模块3031还包括第一判断模块 30311,第二判断模块30312。在PPPOE链路层连接的过程中,启动A路状态处理模块301等待服务端发送的请 求数据包,并处理该请求数据包,具体地,A路状态接收模块3011接收由服务端发送的请求 数据包,其中,该请求数据包携带选择字段,A路状态判断模块3012分析所接收的请求数据
7包,判断该请求数据包携带的选择字段是否与B路状态发送模块中的请求数据包携带的选 择字段相冲突,如果不冲突,则启动A路反馈模块3013生成确认数据包,接着由A路状态发 送模块3014发送该确认数据包;否则启动A路反馈模块3013生成拒绝数据包,A路状态发 送模块3014向服务端发送拒绝数据包,服务端会继续发送请求数据包,直到客户端在A路 状态向服务端发送确认数据包。启动B路状态处理模块302直接向服务端发送请求数据包,并处理由服务端返回 的与该请求数据包相对应的处理数据包,具体地,B路状态发送模块3023向服务端发送请 求数据包,接着B路状态接收模块3021接收服务端返回的处理数据包,其中,该处理数据包 包括确认数据包和拒绝数据包,但是每次返回的处理数据包只能是确认数据包和拒绝数据 包中的一种;B路状态判断模块3022判断该处理数据包,当服务端发送的处理数据包为拒 绝数据包时,启动B路状态反馈模块3023产生与该拒绝数据包相对应的请求数据包,B路 状态发送模块30M向服务端发送该请求数据包,直到该服务端发送确认数据包。当在所述A路状态和所述B路状态都处理完确认数据包后,客户端对所述A路状 态、所述B路状态进行状态协商,所述在A路状态处理完确认数据包包括在A路状态给服 务端发送确认数据包,所述在B路状态都处理完确认数据包包括客户端在B路状态接收到 服务端返回的确认数据包。,启动协商模块303对A路和B路状态进行状态协商,此时以服 务端发送的确认数据包携带的选择字段为基准作为状态协商原则,具体地,该确认数据包 携带选择字段,该选择字段包括,其中该选择字段包括值域ID、数据包大小和认证方式的指 示,第一判断模块30311以B路状态接收模块3021中的确认数据包携带的选择字段为基 准,判断A路状态反馈模块3014中产生的确认数据包携带的选择字段与B路状态接收模 块3021中的确认数据包携带的选择字段是否一致,当二者选择字段不一致时,即二者的选 择字段发生冲突,此时需要对A路状态与B路状态进行状态协商,控制模块3032生成指令, 该指令用于启动B路状态处理模块30M调整客户端自身的选择字段,接着第二判断模块 30312判断调整选择字段是否成功,如果成功,则B路状态发送模块30M向服务端发送确认 数据包,如果不成功,B路状态发送模块30M向服务端发送拒绝数据包,接着向服务端发送 请求数据包,重新执行在B路状态接收及处理服务端发送的处理数据包的步骤,直到服务 端返回确认数据包,之后再对A路和B路状态进行状态协商,直到由所述服务端发送的确认 数据包携带的选择字段与客户端的数据包携带的选择字段没有冲突,即A路状态与B路状 态不发生冲突,此时状态协商完成。当状态协商完成后,B路状态发送模块30M向服务端发送LCP Echo请求数据包, B路状态接收模块30M接收到服务端返回的应答之后,启动认证模块304,进入认证阶段。本实施例中,启动A路状态处理模块301及启动B路状态处理模块302没有严格 的先后顺序,可以先启动A路状态处理模块301,接着启动B路状态处理模块302,也可先启 动B路状态处理模块302,接着启动A路状态处理模块301,还可以同时启动A路状态处理 模块301和B路状态处理模块302,此处不作限制。图4是本发明的一实施例的一种快速建立PPPOE链路层连接的方法流程图,本实 施例中,建立PPPOE连接需要经历发现阶段和会话阶段,发现阶段(图中标号401)结束后, 连接进入会话阶段,会话阶段第一个步骤就是建立LCP链路层连接,如图4所示,客户端建 立双路状态,分别为A路状态和B路状态,其中A路状态用于处理服务端主动发起的会话,而B路状态用于处理客户端主动发起的会话,当在客户端建立好双路状态后,客户端随即 在B路状态向服务端发送请求数据包(图中标号40 ,在A路状态等待服务端发送的请求 数据包(图中标号40 ,其中,A路状态和B路状态的请求数据包都携带选择字段。在建立LCP链路层连接的过程中,如图4所示,在A路状态中分析所接收的请求数 据包,如果该请求数据包携带的选择字段与客户端在B路状态发送的请求数据包携带的选 择字段相冲突,则在A路状态向服务端发送拒绝数据包,而服务端会继续发送与该拒绝数 据包相对应的请求数据包,直到客户端在A路状态向该服务端发送确认数据包,如果不冲 突,则向服务端发送确认数据包;在B路状态接收到服务端的处理数据包后,如果该处理数 据包为拒绝数据包,则在B路状态发送与该拒绝数据包携带的选择字段相对应的请求数据 包,直到服务端返回确认数据包。在A路状态接收到服务端发送的确认数据包及在B路状态接收到服务端发送的 确认数据包之后,进入状态协商状态(图中标号404),对A路和B路状态进行状态协商,具 体地,处理数据包包括确认数据包和拒绝数据包,请求数据包、确认数据包和拒绝数据包都 携带选择字段,判断此时在A路状态向服务端发送的确认数据包携带的选择字段和在B路 状态接收到服务端发送的确认数据包携带的选择字段是否相冲突,如果相冲突,则认为是 状态协商失败,此时需要在B路状态向服务端发送与该冲突的选择字段相对应的请求数据 包,如果服务端返回的是拒绝数据包,客户端会继续在B路状态发送请求数据包,直到服务 端返回确认数据包,之后再进行状态协商,如果此时在A路状态向服务端发送的确认数据 包携带的选择字段和在B路状态接收到服务端发送的确认数据包携带的选择字段相冲突, 则继续执行上述在B路状态继续向服务端发送与该冲突字段相对应的请求数据包及接收 到服务端发送的确认数据包这个步骤,当在A路状态向服务端发送的确认数据包携带的选 择字段和在B路状态接收到服务端发送的确认数据包携带的选择字段不冲突时,即A路状 态和B路状态不发生冲突,表示状态协商完成,之后进入认证状态(图中标号405)。需要说明的是,本实施例中,判断在A路状态接收的请求数据包携带的选择字段 与在B路状态发送的请求数据包携带的选择字段是否相冲突和判断在A路状态发送的确认 数据包携带的选择字段与在B路状态接收的确认数据包携带的选择字段是否相冲突的判 断方法是一样的。图5是本发明的一实施例的一种快速建立PPPOE链路层连接的方法流程图,如图5 所示,在步骤501中,服务端向客户端发送请求数据包,该数据包携带选选择字段,具体地, 该选择字段包括值域ID,数据包大小,认证方式的指示,在步骤502中,客户端在B路状态 向服务端发送请求数据包,转到在步骤503中,客户端在A路状态接收到服务端的请求数据 包,A路状态接收模块3011接收到请求数据包后转到步骤504,在A路状态分析所接收的请 求数据包,同样地,该数据包携带选择字段,具体地,该选择字段包括该选择字段包括值域 ID,数据包大小,认证方式的指示,其中,该值域ID表明紧跟在后面的数据指示的是何种数 据,A状态判断模块3012首先分析所接收的请求数据包,接着转到步骤505。在步骤505中,以服务端发送的确认数据包携带的选择字段为基准作为状态协商 原则,A路状态判断模块3012判断该请求数据包携带的选择字段是否与客户端在B路状态 向服务端发送的请求数据包携带的选择字段相冲突,如果不冲突,则转到步骤5051,启动A 路状态反馈模块3013产生拒绝数据包,接着在步骤5052,A路发送模块3014向服务端发送该拒绝数据包,在步骤5053中,服务端接收到该拒绝数据包后继续向客户端发送与该拒绝 数据包携带的选择字段相对应的请求数据包,之后转到步骤503,继续执行步骤503,步骤 504及步骤505,直到服务端发送的请求数据包携带的选择字段与客户端在B路状态向服务 端发送的请求数据包携带的选择字段不冲突,接着转到步骤50M。在步骤505中,以服务端发送的确认数据包携带的选择字段为基准作为状态协商 原则,如果判断该请求数据包携带的选择字段与客户端在B路状态向服务端发送的请求数 据包携带的选择字段不冲突,则转到步骤50M,A路状态反馈模块3013产生确认数据包,接 着在步骤5055中,A路发送模块3014向服务端发送确认数据包,接着转到步骤508。当服务端向客户端发送处理数据包时,具体地,该处理数据包包括确认数据包和 拒绝数据包,转到步骤506,客户端在B路状态接收到服务端发送的处理数据包,接在在步 骤507中,启动B路状态判断模块3022分析该处理数据包,如果该处理数据包是拒绝数据 包,则转到步骤5071,B路状态反馈模块3023产生与该拒绝数据包携带的选择字段相对应 的请求数据包,并启动B路状态发送模块3034给服务端发送该请求数据包,接着转到步骤 506,重复步骤506及步骤507,直到该处理数据包为确认数据包;如果该处理数据包为确认 数据包,直接转到步骤508。在步骤508中,客户端对A路状态和B路状态进行状态协商,启动协商模块303,对 A路状态和B路状态进行状态协商。本实施例中,客户端和服务端发送的确认数据包都携带选择字段,该选择字段包 括值域ID,数据包大小,认证方式的指示,其中,值域ID表明紧跟在后面的数据指示的是何 种数据,值域ID和数据包大小用于对A路和B路状态进行状态协商,认证方式的指示是链 路层连接进入认证状态时所选择的认证的方式。具体地,以B路状态接收模块3021接收到的确认数据包携带的选择字段为基准, 启动第一判断模块30311,比较A路状态反馈模块3013中产生的确认数据包携带的选择字 段的值域ID与B路状态接收模块3021接收到的确认数据包携带的选择字段的有值域ID 是否一致,具体地,如果二者的值域ID不一致则表示状态发生冲突,则转到步骤5081 ;如果 二者的值域ID —致则接着判断二者的值域ID对应的值是否一致,如果对应的值一致则表 明状态不发生冲突,转到步骤509 ;如果不一致,则表明状态发生冲突,转到步骤5081。在步骤5081中,客户端调整自身的选择字段,具体地,如果二者的值域ID不一致, 则客户端需要设置与该冲突字段相对应的选择字段的信息,如果二者的值域ID—致,而二 者的值域ID对应的值不一致,客户端需要在B路状态调整自己的值域ID对应的值,接着转 到步骤5082,第二判断模块30312判断调整是否成功,如果调整成功则转到步骤5083,客户 端在B路状态向服务端发送确认数据包,接着转到步骤509 ;如果调整不成功,则转到步骤 5084 ;在步骤5084中,启动控制模块3032生成拒绝指令,命令B路状态反馈模块3023生成 拒绝数据包,表明发生状态冲突,其中,该拒绝数据包携带的选择字段包含所调整的值域ID 和该值域ID对应的值,B路状态发送模块30M向服务端发送该该拒绝数据包,接着转到步 骤5071,继续执行步骤5071、步骤506及步骤507,直到服务端返回确认数据包,之后再对 A路状态和B路状态进行状态协商,继续执行上述状态协商步骤,直到由所述服务端发送的 确认数据包携带的选择字段与客户端的数据包携带的选择字段没有冲突,即A路状态与B 路状态不发生冲突,此时状态协商完成,之后转到步骤509。
在步骤509中,启动B路状态发送模块30 向服务端发送LCP Echo请求数据包, 并得到服务端返回的应答之后转到步骤510,链路层连接进入认证状态,具体地,启动认证 模块304对客户端的PPPOE账号密码是否正确进行验证,本实施例中,认证的方式有多种, 此处不作限制。本实施例中,判断在A路状态接收的请求数据包携带的选择字段与在B路状态发 送的请求数据包携带的选择字段是否相冲突和判断在A路状态发送的确认数据包携带的 选择字段与在B路状态接收的确认数据包携带的选择字段是否相冲突的判断方法是一样 的。需要说明的是,本实施例只是实现本发明的方法的一种实施方式,对于服务端向 客户端发送请求数据包及客户端向服务端发送请求数据包的先后顺序,此处不作限制,服 务端可以先向客户端发送请求数据包,接着客户端可以向服务端发送请求数据包之后再向 服务端发送处理数据包,也可以向服务端发送处理数据包之后再发送请求数据包;还可以 是,客户端先向服务端发送请求数据包,服务端向客户端发送请求数据包之后再发送处理 数据包,服务端也可以向客户端发送处理数据包之后再发送请求数据包,此处不作限制。本发明的技术方案中,采用双路状态的思想,其中一路状态来处理客户端主动发 起的会话,另外一路状态来处理由服务端主动发起的会话,这样可以避免数据包收发的混 乱,可较大限度地保证双方状态的同步,降低连接失败概率及减少链路层连接建立的时间, 此外,本发明方案采用双路状态协商,在一定程度上降低链路层连接建立失败的概率,提高 了链路层连接的效率。
权利要求
1.一种快速建立PPPOE链路层连接的方法,其特征在于,在客户端建立两路状态,分别 为A路状态、B路状态,其中,A路状态用于处理服务端主动发起的会话,B路状态用于处理 由客户端主动发起的会话,所述方法包括a、客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送的请求 数据包,所述处理包括确认和拒绝;b、客户端在B路状态直接发起请求数据包,并在B路状态处理服务端返回的处理数据 包,所述处理数据包包括确认数据包和拒绝数据包;c、当在所述A路状态和所述B路状态都处理完确认数据包后,客户端对所述A路状态、 所述B路状态进行状态协商,所述在所述A路状态和所述B路状态都处理完确认数据包包 括在A路状态给服务端发送确认数据包和客户端在B路状态接收到服务端返回的确认数据 包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括所述客户端对所述A路状 态、所述B路状态进行状态协商完成后,进入认证状态。
3.根据权利要求2所述的方法,其特征在于,还包括所述客户端在A路状态等待服务端的请求数据包之前还包括服务端给客户端发送 PADS数据包;所述客户端对所述A路状态、所述B路状态进行状态协商之后还包括客户端给服务端 发送LCP Echo请求数据包,客户端返回LCP Echo应答数据包。
4.根据权利要求1所述的方法,其特征在于,包括所述请求数据包携带选择字段;客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送的请求数 据包具体包括当服务端发送的请求数据包携带的选择字段与客户端在B路状态发送的请 求数据包携带的选择字段不冲突时,客户端在A路状态向服务端发送确认数据包,否则客 户端在A路状态向服务端发送拒绝数据包,服务端继续发送与该拒绝数据包相对应的请求 数据包,直到客户端在A路状态向服务端发送确认数据包;所述客户端在B路状态直接发起请求数据包,并在B路状态处理服务端返回的处理数 据包具体包括当客户端在B路状态向服务端发送请求数据包之后接收到服务端向客户端 返回的拒绝数据包时,客户端在B路状态继续发送与该拒绝数据包相对应的请求数据包, 直到服务端返回确认数据包。
5.根据权利要求1所述的方法,其特征在于,所述确认数据包和拒绝数据包都携带选择字段;所述客户端对所述A路状态、所述B路状态进行状态协商具体包括以由服务端发送的确认数据包携带的选择字段为基准,若所述由服务端发送的选择字 段与所述由客户端在B路状态发送的选择字段发生冲突,则需要在B路状态发送与该冲突 的选择字段相对应的请求数据包,接收到确认数据包后重新进行协商,直到由所述服务端 发送的确认数据包携带的选择字段与客户端的数据包携带的选择字段没有冲突。
6.一种快速建立PPPOE链路层连接的装置,其特征在于,客户端设置有两路状态,分别 为A路状态、B路状态,其中,A路状态用于处理服务端主动发起的会话,B路状态用于处理 由客户端主动发起的会话,所述装置包括用于客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送的请 求数据包的A路处理模块,所述处理包括确认和拒绝;用于客户端在B路状态直接发起请求包,并在B路状态处理服务端返回的处理数据包 的B路处理模块,所述处理数据包包括确认数据包和拒绝数据包;当服务端和客户端都收到对方的确认数据包后,用于客户端对所述A路状态、所述B路 状态进行状态协商的协商模块。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括用于进入认证状态的认 证模块。
8.根据权利要求6所述的装置,其特征在于,包括 所述请求数据包携带选择字段;所述A路处理模块包括用于接收服务端发送的请求数据包的A路接收模块;用于判断服务端发送的请求数据包携带的选择字段是否与客户端在B路状态发送的 请求数据包携带的选择字段相冲突的A路判断模块;当服务端发送的请求数据包与客户端在B路状态发送的请求数据包相冲突时,用于产 生拒绝数据包及当服务端发送的请求数据包与客户端在B路状态发送的请求数据包所携 带的选择字段不冲突时,用于产生确认数据包的A路反馈模块; 用于发送确认数据包和拒绝数据包的A路发送模块; 所述B路处理模块包括用于接收服务端发送的处理数据包的B路接收模块;当服务端发送拒绝数据包时,用于产生与该拒绝数据包相对应的请求数据包的B路反 馈模块,;用于向服务端发送请求数据包的B路发送模块。
9.根据权利要求6所述的装置,其特征在于,包括 所述确认数据包和拒绝数据包都携带选择字段; 所述协商模块包括用于判断在A路状态接收的由服务端发送的确认数据包携带的选择字段与所述由客 户端在B路状态发送的确认数据包携带的选择字段是否发生冲突的判断模块; 用于根据所述判断模块的判断结果相应地启动B路状态处理模块的控制模块。
10.根据权利要求8所述的装置,其特征在于,包括所述B路发送模块还用于给服务端发送LCP Echo请求数据包;及 所述B路接收模块还用于接收服务端发送的PADS数据包及服务端返回的LCP Echo应 答数据包。
全文摘要
本发明公开了一种快速建立PPPOE链路层连接的方法和装置,客户端在A路状态等待服务端的请求数据包,并在A路状态处理服务端发送的请求数据包,客户端在B路状态直接发起请求包,并在B路状态处理服务端返回的处理数据包,其中处理数据包包括确认数据包和拒绝数据包,当在所述A路状态和所述B路状态都处理完确认数据包后,客户端对A路状态和B路状态进行状态协商。本发明的技术方案中,采用双路状态的思想,其中一路状态来处理由客户端主动发起的会话,另一路状态来处理由服务端主动发起的会话,避免数据包收发的混乱,保证双方状态的同步,降低连接失败概率及减少链路层连接建立的时间,此外,本发明方案采用双路状态协商,提高链路层连接的效率。
文档编号H04L29/06GK102065072SQ20101028881
公开日2011年5月18日 申请日期2010年9月21日 优先权日2010年9月21日
发明者邓锋贤 申请人:深圳市九洲电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1