CN111585852B - 一种双栈拨号方法、设备及存储介质 - Google Patents
一种双栈拨号方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111585852B CN111585852B CN202010307416.3A CN202010307416A CN111585852B CN 111585852 B CN111585852 B CN 111585852B CN 202010307416 A CN202010307416 A CN 202010307416A CN 111585852 B CN111585852 B CN 111585852B
- Authority
- CN
- China
- Prior art keywords
- message
- pado
- negotiation
- pppoe
- dialing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2858—Access network architectures
- H04L12/2859—Point-to-point connection between the data network and the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种双栈拨号方法、设备及存储介质,所述方法包括:发起双栈协商并发送PADI广播报文,接收查询到的服务器回复的PADO报文并保存在链表中;开启两条会话通道进行双栈拨号;取出一条未处理的PADO报文,向发送该条未处理的报文的服务器发送PADR报文;向当前正在处理的PADO报文的服务器发起PPP LCP协商;当协商通过时,进行PPP认证;当认证成功时,根据此时的会话通道发送对应的协议报文至此时的服务器进行NCP协商,并在协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。本发明可使得局域网内存在多台支持协议不同的服务器时,也不会导致双栈拨号失败或只有一种协议能拨号成功。
Description
技术领域
本发明涉及计算机网络通信领域,具体涉及一种双栈拨号方法、设备及存储介质。
背景技术
目前,双栈PPPoE(以太网承载PPP协议)拨号方法一般是按照以下流程进行:
步骤一:PPPoE Client(PPPoE客户端)发起PPPoE发现阶段协商,发送PADI(PPPoEActive Discovery Initiation,PPPoE主动发现初始)广播报文;
步骤二:PPPoE Server(PPPoE协议的服务器)收到PPPoE Client发送的PADI报文后,会回复一个PADO(PPPoE Active Discovery Offer,PPPoE主动发现提供)报文,通知PPPoE Client服务器的MAC地址,允许PPPoE客户端发起连接;
步骤三:PPPoE Client收到PPPoE协议的服务器发送的PADO报文后,会根据PADO报文中的MAC地址发送一个PADR(PPPoE Active Discovery Request,PPPoE主动发现请求)报文,后续收到其他PPPoE协议的服务器发送的PADO报文不再处理;
步骤四:PPPoE Server收到PADR报文后会给PPPoE Client回复一个PADS(PPPoEActive Discovery Session-confirmation,PPPoE主动发现会话确认)报文,此时PPPoE发现阶段协商过程结束,开始PPP LCP协商;
步骤五:协商双方互相发送一个LCP Config-Request报文,确认收到的Config-Request报文中的协商选项,根据这些选项的支持与接受情况,做出适当的回应。若两端都回应了Config-ACK(配置确认),则标志LCP链路建立成功,否则会继续发送Request报文,直到对端回应了ACK报文为止;
步骤六:PAP/CHAP阶段PPPoE Client端会发送用户名、密码给PPPoE Server,PPPoE Server进行认证;
步骤七:在PPP NCP阶段是PPPoE Client会同时发送ipcp和ipv6cp报文开始双栈拨号,协商ip地址、DNS服务器地址和接口描述符等字段,协商通过后PPPoE双栈拨号成功。
目前的双栈PPPoE拨号方法存在以下缺陷:
缺陷一:如果在网络内存在多台PPPoE Server的情况时,PPPoE Client先接收到无法认证的PPPoE Server回复的PADO报文时会导致PPPoE拨号失败。
缺陷二:如果在网络中ipv4和ipv6的PPPoE Server不是同一台服务器时,会导致只能进行ipv4或ipv6的NCP协商。
缺陷三:如果在网络中ipv4和ipv6的PPPoE Server不是同一台服务器时,且ipcp协议报文发送到ipv6的PPPoE服务器,ipv6cp协议报文发送到ipv4的PPPoE服务器时导致拨号失败。
即当PPPoE Client发送PADI报文时,PADI是一个广播报文,广播报文发出后,局域网内的所有设备都会收到该报文,如果此时网络内存在多台PPPoE Server,那么多台PPPoEServer都会回复给PPPoE Client PADO报文,目前国内各大厂家的处理方式是,当收到第一个PADO报文后,后续的PADO报文都不在处理,因此PPPoEClient端发送发起连接的PPPoE服务器可能只支持单协议,无法满足双栈拨号的场景。
如果再次发起协商,流程和上面相同,所以导致一直无法双栈拨号成功。
因而现有技术还有待于改进和提高。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种双栈拨号方法、设备及存储介质,可使得局域网内存在多台支持协议不同的PPPoE Server时,也不会导致双栈拨号失败,进而使PPPoE双栈协商过程更加稳定。
为了达到上述目的,本发明采取了以下技术方案:
一方面,本发明提供了一种双栈拨号方法,包括如下步骤:
S1、发起双栈协商并发送PADI广播报文,以查询PPPoE服务器,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中;
S2、开启两条会话通道进行双栈拨号;
S3、取出一条未处理的PADO报文进行处理,向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,并在接收到该条未处理的PADO报文的PPPoE服务器反馈的PADS报文时执行步骤S4,否则处理下一条未处理的PADO报文;
S4、向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,并在PPP LCP协商不通过时,处理下一条未处理的PADO报文;
S5、当PPP LCP协商通过时,进行PPP认证,并在认证不通过时处理下一条未处理的PADO报文;
S6、当PPP认证成功时,根据此时的会话通道发送对应的协议报文至此时的PPPoE服务器进行NCP协商,并在NCP协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。
另一方面,本发明还提供了一种双栈拨号设备,包括处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上所述的双栈拨号方法中的步骤。
又一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的双栈拨号方法中的步骤。
本发明提供的双栈拨号方法、设备及存储介质中,所述方法包括:发起双栈协商并发送PADI广播报文,以查询PPPoE服务器,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中;开启两条会话通道进行双栈拨号;取出一条未处理的PADO报文进行处理,向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文;向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商;当PPP LCP协商通过时,进行PPP认证;当PPP认证成功时,根据此时的会话通道发送对应的协议报文至此时的PPPoE服务器进行NCP协商,并在NCP协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。本发明可使得局域网内存在多台支持协议不同的PPPoE Server时,也不会导致双栈拨号失败,或只有一种协议能拨号成功,进而使PPPoE双栈协商过程更加稳定。
附图说明
图1为本发明提供的双栈拨号方法的一较佳实施例的流程图;
图2为本发明双栈拨号程序的较佳实施例的运行环境示意图。
图3为本发明安装双栈拨号程序的系统较佳实施例的功能模块图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明实施例提供的双栈拨号方法,包括如下步骤:
S1、发起双栈协商并发送PADI广播报文,以查询PPPoE服务器,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中。
具体的,在进行双栈拨号时,PPPoE发现阶段的第一步,即为PPPoE客户端首先发送一个PADI报文,PPPoE客户端是以广播的方式发送PADI报文,所以所述PADI报文所对应的以太网帧的目的地址域应填充为全1,而源地址填充用户主机的MAC地址,广播包可能会被多个PPPoE服务器接收到,在PPPoE发现阶段的第二步,即为PPPoE服务器回应PPPoE客户端发送的PADI广播报文,反馈一个PADO报文给所述PPPoE客户端,此时该报文所对应的以太网帧的源地址填充PPPoE服务器的MAC地址,而目的地址则填充从PADI报文中所获取的PPPoE客户端的MAC地址,各个PPPoE服务器反馈的PADO报文保存在一链表中,以供后续集中进行处理。具体的,所述步骤S1具体包括:
发起双栈协商并发送PADI广播报文,并启动拨号定时器,当所述拨号定时器未超时时,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中,否则重新发送PADI广播报文。
具体来说,本实施例中通过设置拨号定时器,在未超时时,接收PPPoE服务器反馈的PADO报文,在超时后,则表示本次本地拨号失败,需要重新进行双栈拨号,即重新发送PADI广播报文,进而可以防止等待时间过长,加快双栈拨号的效率。
S2、开启两条会话通道进行双栈拨号。
本实施例中,,两条会话通道分别用于访问ipv4和ipv6的PPPoE服务器,由于反馈PADO报文的PPPoE服务器可能为ipv4的服务器或者ipv6的服务器,故本发明设置有两条会话通道,分别用于访问ipv4的PPPoE服务器或者ipv6的PPPoE服务器,两条通道的协商过程一致,只是NCP协商阶段的报文分别为ipcp和ipv6cp,进而能够使得局域网内存在多台支持协议不同的PPPoE服务器时,也不会导致双栈拨号失败或者只有一种协议能够拨号成功,从而使PPPoE双栈协商过程更加稳定。
S3、取出一条未处理的PADO报文进行处理,向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,并在接收到该条未处理的PADO报文的PPPoE服务器反馈的PADS报文时执行步骤S4,否则处理下一条未处理的PADO报文。
本实施例中,在进行双栈拨号时,本发明提供的PPPoE客户端依次对保存在链表中的PADO报文进行处理,具体的,PPPoE客户端从链表中取出第一个未处理的PADO报文,并向发送该PADO报文的PPPoE服务器发送PADR报文,同时将该PADO报文设置为正在处理中,避免后续重复进行处理,其中,PADR报文是PPPoE发现阶段的第三步,也即是由PPPoE客户端向PPPoE服务器发送单播的请求报文,当PPPoE客户端收到PADO报文后,就获知了发送该PADO报文的PPPoE服务器的MAC地址,因此PADR报文所对应的以太网帧的源地址填充PPPoE客户端的MAC地址,而以太网的目的地址填充为发送该PADO报文的PPPoE服务器的MAC地址。当PPPoE服务器接收到PADR报文时,则进行PPPoE发现阶段的最后一步,就准备进入开始一个PPP的会话了,此时PPPoE服务器就会为这个会话分配一个唯一的会话进程ID,并发送给PPPoE客户端一个PADS报文,且在该PADS报文上携带上这个会话ID,如果PPPDE客户端没有接收到任何PADS报文,则表示此条PADO报文处理失败。具体的,所述步骤S3具体包括;
取出一条未处理的PADO报文进行处理,并向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,同时将该条未处理的PADO报文设置为正在处理中;
启动报文定时器,当定时器未超时且接收到发送该条未处理的PADO报文的PPPoE服务器回复的PADS报文时,刷新报文定时器,并开始PPP LCP协商阶段,否则将当前处理的PADO报文标记为处理失败并处理下一条未处理的PADO报文,同时删除报文定时器。
具体来说,本发明实施例通过设置报文定时器来判断PADO报文是否处理失败,如果超时未接受到PADS报文,则表示词条PADO报文处理失败,直接处理下一条未处理的PADO报文,进而可以防止等待时间过长,加快双栈拨号的效率。
S4、向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,并在PPP LCP协商不通过时,处理下一条未处理的PADO报文。
本实施例中,当接收到PADS报文时,表示双栈拨号的发现阶段成功完成,此时则开始进入PPP LCP协商阶段,具体的,协商双方(PPPoE客户端以及发送正在处理的PADO报文的PPPoE服务器)互相发送一个LCP Config-Request报文,确认收到的Config-Request报文中的协商选项,根据这些选项的支持与接受情况,做出适当的回应。若两端都回应了Config-ACK,则标志LCP链路建立成功,否则,协商不通过,表示PPP LCP协商失败。具体的,所述步骤S4具体包括:
向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,当未向正在处理的PADO报文的PPPoE服务器回应Config-ACK或者未接收到正在处理的PADO报文的PPPoE服务器回应的Config-ACK时,处理下一条未处理的PADO报文,并删除报文定时器。
S5、当PPP LCP协商通过时,进行PPP认证,并在认证不通过时处理下一条未处理的PADO报文。
本实施例中,当PPP LCP协商通过后,开始进行PPP认证,具体的,所述步骤S5具体包括:
当PPP LCP协商通过时,向正在处理的PADO报文的PPPoE服务器发送用户名和密码,由所述正在处理的PADO报文的PPPoE服务器进行认证,如果认证不通过则处理下一条未处理的PADO报文,并删除报文定时器。
S6、当PPP认证成功时,根据此时的会话通道发送对应的协议报文至此时的PPPoE服务器进行NCP协商,并在NCP协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。
本实施例中,当PPP认证成功后,开始NCP协商阶段,具体的,所述步骤S6具体包括;
当PPP认证成功时,如果此时为ipv4的PPPoE客户端通道,则发送ipcp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv4拨号状态设置为成功,以完成双栈拨号;如果此时为ipv6de PPPoE客户端通道,则发送ipv6cp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv6拨号状态设置为成功,以完成双栈拨号。
优选的,所述双栈拨号方法还包括:
当所述链表中的所有PADO报文均处理失败时,发出登陆失败提示。
换而言之,如果链表中的所有未处理PADO报文均依次处理且处理失败,表示此次登录失败,即此次双栈拨号不成功,则提示用户重新进行双栈拨号。
本发明可使得局域网内存在多台支持协议不同的PPPoE Server时,也不会导致双栈拨号失败或只有一种协议能拨号成功,进而使PPPoE双栈协商过程更加稳定。
如图2所示,基于上述双栈拨号方法,本发明还相应提供了一种双栈拨号设备,所述双栈拨号设备可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该双栈拨号设备包括处理器10、存储器20及显示器30。图2仅示出了双栈拨号设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述双栈拨号设备的内部存储单元,例如双栈拨号设备的硬盘或内存。所述存储器20在另一些实施例中也可以是所述双栈拨号设备的外部存储设备,例如所述双栈拨号设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括双栈拨号设备的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述双栈拨号设备的应用软件及各类数据,例如所述安装双栈拨号设备的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有双栈拨号程序40,该双栈拨号程序40可被处理器10所执行,从而实现本申请各实施例的双栈拨号方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述双栈拨号方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述双栈拨号设备的信息以及用于显示可视化的用户界面。所述双栈拨号设备的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中双栈拨号程序40时实现以下步骤:
S1、发起双栈协商并发送PADI广播报文,以查询PPPoE服务器,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中;
S2、开启两条会话通道进行双栈拨号;
S3、取出一条未处理的PADO报文进行处理,向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,并在接收到该条未处理的PADO报文的PPPoE服务器反馈的PADS报文时执行步骤S4,否则处理下一条未处理的PADO报文;
S4、向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,并在PPP LCP协商不通过时,处理下一条未处理的PADO报文;
S5、当PPP LCP协商通过时,进行PPP认证,并在认证不通过时处理下一条未处理的PADO报文;
S6、当PPP认证成功时,根据此时的会话通道发送对应的协议报文至此时的PPPoE服务器进行NCP协商,并在NCP协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。
两条会话通道分别用于访问ipv4和ipv6的PPPoE服务器。
进一步地,所述步骤S1具体包括:
发起双栈协商并发送PADI广播报文,并启动拨号定时器,当所述拨号定时器未超时时,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中,否则重新发送PADI广播报文。
进一步地,所述步骤S3具体包括:
取出一条未处理的PADO报文进行处理,并向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,同时将该条未处理的PADO报文设置为正在处理中;
启动报文定时器,当定时器未超时且接收到发送该条未处理的PADO报文的PPPoE服务器回复的PADS报文时,刷新报文定时器,并开始PPP LCP协商阶段,否则将当前处理的PADO报文标记为处理失败并处理下一条未处理的PADO报文。
进一步地,所述步骤S4包括:
向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,当未向正在处理的PADO报文的PPPoE服务器回应Config-ACK或者未接收到正在处理的PADO报文的PPPoE服务器回应的Config-ACK时,处理下一条未处理的PADO报文,并删除报文定时器。
进一步地,所述步骤S5具体包括:
当PPP LCP协商通过时,向正在处理的PADO报文的PPPoE服务器发送用户名和密码,由所述正在处理的PADO报文的PPPoE服务器进行认证,如果认证不通过则处理下一条未处理的PADO报文,并删除报文定时器。
进一步地,所述步骤S6具体包括;
当PPP认证成功时,如果此时为ipv4的PPPoE客户端通道,则发送ipcp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv4拨号状态设置为成功,以完成双栈拨号;如果此时为ipv6de PPPoE客户端通道,则发送ipv6cp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv6拨号状态设置为成功,以完成双栈拨号。
进一步地,当处理器10执行所述存储器20中双栈拨号程序40时还实现:
当所述链表中的所有PADO报文均处理失败时,发出登陆失败提示。
请参阅图3,其为本发明安装双栈拨号程序的系统较佳实施例的功能模块图。在本实施例中,安装双栈拨号程序的系统可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器20中,并由一个或多个处理器(本实施例为所述处理器10)所执行,以完成本发明。例如,在图3中,安装双栈拨号程序的系统可以被分割成发起模块21、通道开启模块22、PADO报文处理模块23、PPP LCP协商模块24、PPP认证模块25和NCP协商模块26。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述双栈拨号程序在所述双栈拨号设备中的执行过程。以下描述将具体介绍所述模块21-26的功能。
发起模块21,用于发起双栈协商并发送PADI广播报文,以查询PPPoE服务器,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中;
通道开启模块22,用于开启两条会话通道进行双栈拨号;
PADO报文处理模块23,用于取出一条未处理的PADO报文进行处理,向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,并在接收到该条未处理的PADO报文的PPPoE服务器反馈的PADS报文时执行步骤S4,否则处理下一条未处理的PADO报文;
PPP LCP协商模块24,用于向当前正在处理的PADO报文的PPPoE服务器发起PPPLCP协商,并在PPP LCP协商不通过时,处理下一条未处理的PADO报文;
PPP认证模块25,用于当PPP LCP协商通过时,进行PPP认证,并在认证不通过时处理下一条未处理的PADO报文;
NCP协商模块26,用于当PPP认证成功时,根据此时的会话通道发送对应的协议报文至此时的PPPoE服务器进行NCP协商,并在NCP协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。
其中,两条会话通道分别用于访问ipv4和ipv6的PPPoE服务器。
所述发起模块21具体用于:
发起双栈协商并发送PADI广播报文,并启动拨号定时器,当所述拨号定时器未超时时,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中,否则重新发送PADI广播报文。
所述PADO报文处理模块23具体用于:
取出一条未处理的PADO报文进行处理,并向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,同时将该条未处理的PADO报文设置为正在处理中;
启动报文定时器,当定时器未超时且接收到发送该条未处理的PADO报文的PPPoE服务器回复的PADS报文时,刷新报文定时器,并开始PPP LCP协商阶段,否则将当前处理的PADO报文标记为处理失败并处理下一条未处理的PADO报文。
所述PPP LCP协商模块24具体用于:
向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,当未向正在处理的PADO报文的PPPoE服务器回应Config-ACK或者未接收到正在处理的PADO报文的PPPoE服务器回应的Config-ACK时,处理下一条未处理的PADO报文,并删除报文定时器。
所述PPP认证模块25具体用于:
当PPP LCP协商通过时,向正在处理的PADO报文的PPPoE服务器发送用户名和密码,由所述正在处理的PADO报文的PPPoE服务器进行认证,如果认证不通过则处理下一条未处理的PADO报文,并删除报文定时器。
所述NCP协商模块26具体用于:
当PPP认证成功时,如果此时为ipv4的PPPoE客户端通道,则发送ipcp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv4拨号状态设置为成功,以完成双栈拨号;如果此时为ipv6de PPPoE客户端通道,则发送ipv6cp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv6拨号状态设置为成功,以完成双栈拨号。
优选的,安装双栈拨号程序的系统还包括:
拨号失败提示模块,用于当所述链表中的所有PADO报文均处理失败时,发出登陆失败提示。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种双栈拨号方法,其特征在于,包括如下步骤:
S1、发起双栈协商并发送PADI广播报文,以查询PPPoE服务器,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中;
S2、开启两条会话通道进行双栈拨号;
S3、取出一条未处理的PADO报文进行处理,向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,并在接收到该条未处理的PADO报文的PPPoE服务器反馈的PADS报文时执行步骤S4,否则处理下一条未处理的PADO报文;
S4、向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,并在PPP LCP协商不通过时,处理下一条未处理的PADO报文;
S5、当PPP LCP协商通过时,进行PPP认证,并在认证不通过时处理下一条未处理的PADO报文;
S6、当PPP认证成功时,根据此时的会话通道发送对应的协议报文至此时的PPPoE服务器进行NCP协商,并在NCP协商成功时,将ipv4或ipv6拨号状态都设置成功,以完成双栈拨号。
2.根据权利要求1所述的双栈拨号方法,其特征在于,两条会话通道分别用于访问ipv4和ipv6的PPPoE服务器。
3.根据权利要求2所述的双栈拨号方法,其特征在于,所述步骤S1具体包括:
发起双栈协商并发送PADI广播报文,并启动拨号定时器,当所述拨号定时器未超时时,接收查询到的PPPoE服务器回复的PADO报文并保存在链表中,否则重新发送PADI广播报文。
4.根据权利要求3所述的双栈拨号方法,其特征在于,所述步骤S3具体包括:
取出一条未处理的PADO报文进行处理,并向发送该条未处理的PADO报文的PPPoE服务器发送PADR报文,同时将该条未处理的PADO报文设置为正在处理中;
启动报文定时器,当定时器未超时且接收到发送该条未处理的PADO报文的PPPoE服务器回复的PADS报文时,刷新报文定时器,并开始PPP LCP协商阶段,否则将当前处理的PADO报文标记为处理失败并处理下一条未处理的PADO报文。
5.根据权利要求4所述的双栈拨号方法,其特征在于,所述步骤S4包括:
向当前正在处理的PADO报文的PPPoE服务器发起PPP LCP协商,当未向正在处理的PADO报文的PPPoE服务器回应Config-ACK或者未接收到正在处理的PADO报文的PPPoE服务器回应的Config-ACK时,处理下一条未处理的PADO报文,并删除报文定时器。
6.根据权利要求5所述的双栈拨号方法,其特征在于,所述步骤S5具体包括:
当PPP LCP协商通过时,向正在处理的PADO报文的PPPoE服务器发送用户名和密码,由所述正在处理的PADO报文的PPPoE服务器进行认证,如果认证不通过则处理下一条未处理的PADO报文,并删除报文定时器。
7.根据权利要求6所述的双栈拨号方法,其特征在于,所述步骤S6具体包括;
当PPP认证成功时,如果此时为ipv4的PPPoE客户端通道,则发送ipcp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv4拨号状态设置为成功,以完成双栈拨号;如果此时为ipv6的PPPoE客户端通道,则发送ipv6cp协议报文至正在处理的PADO报文的PPPoE服务器进行NCP协商,当NCP协商成功时,将ipv6拨号状态设置为成功,以完成双栈拨号。
8.根据权利要求1所述的双栈拨号方法,其特征在于,还包括:
当所述链表中的所有PADO报文均处理失败时,发出登陆失败提示。
9.一种双栈拨号设备,其特征在于,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的双栈拨号方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任意一项所述的双栈拨号方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010307416.3A CN111585852B (zh) | 2020-04-17 | 2020-04-17 | 一种双栈拨号方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010307416.3A CN111585852B (zh) | 2020-04-17 | 2020-04-17 | 一种双栈拨号方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585852A CN111585852A (zh) | 2020-08-25 |
CN111585852B true CN111585852B (zh) | 2021-05-18 |
Family
ID=72124492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010307416.3A Active CN111585852B (zh) | 2020-04-17 | 2020-04-17 | 一种双栈拨号方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111585852B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492089B (zh) * | 2020-11-09 | 2022-05-24 | 普联技术有限公司 | 通信设备的拨号方法、系统和通信设备 |
CN113206827B (zh) * | 2021-03-29 | 2022-10-21 | 北京华三通信技术有限公司 | 报文处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925489A (zh) * | 2006-09-21 | 2007-03-07 | 王辉 | 一种改进的PPPoE认证方法 |
CN100561969C (zh) * | 2007-04-03 | 2009-11-18 | 中兴通讯股份有限公司 | 一种基于PPPoE的宽带接入方法 |
CN102457548A (zh) * | 2010-10-20 | 2012-05-16 | 中兴通讯股份有限公司 | 一种获取IPv6接口标识的方法及装置 |
CN102685118A (zh) * | 2012-05-02 | 2012-09-19 | 中兴通讯股份有限公司 | 单pdp双栈串行拨号方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011004024A (ja) * | 2009-06-17 | 2011-01-06 | Hitachi Ltd | 通信装置 |
-
2020
- 2020-04-17 CN CN202010307416.3A patent/CN111585852B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925489A (zh) * | 2006-09-21 | 2007-03-07 | 王辉 | 一种改进的PPPoE认证方法 |
CN100561969C (zh) * | 2007-04-03 | 2009-11-18 | 中兴通讯股份有限公司 | 一种基于PPPoE的宽带接入方法 |
CN102457548A (zh) * | 2010-10-20 | 2012-05-16 | 中兴通讯股份有限公司 | 一种获取IPv6接口标识的方法及装置 |
CN102685118A (zh) * | 2012-05-02 | 2012-09-19 | 中兴通讯股份有限公司 | 单pdp双栈串行拨号方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111585852A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6958996B2 (en) | Router with automatic protocol configuration and methods of use | |
CN111585852B (zh) | 一种双栈拨号方法、设备及存储介质 | |
US8856290B2 (en) | Method and apparatus for exchanging configuration information in a wireless local area network | |
US9265075B2 (en) | Data card and method for quickly establishing dial-up connection thereof | |
US10813156B2 (en) | Method and apparatus for processing network connection | |
WO2009097776A1 (zh) | 一种实现业务升级的系统、装置及方法 | |
CN111147314A (zh) | 交换机升级方法、装置及存储介质 | |
WO2017092519A1 (zh) | 一种获取家庭基站的ip地址的装置及方法 | |
US9634984B2 (en) | Method for configuring DNS server and driving apparatus of wireless data access device | |
WO2017080335A1 (zh) | 一种基于pppoe网络的拨号方法、拨号系统及路由器 | |
JPH10112740A (ja) | 情報処理装置、通信方法および記憶媒体 | |
CN102685118B (zh) | 单pdp双栈串行拨号方法和系统 | |
CN104092687A (zh) | 一种bgp会话建立方法和装置 | |
US6973567B1 (en) | Early authentication during modem training | |
CN109951832B (zh) | 用于在蓝牙Mesh网络中进行启动配置的方法 | |
WO2013178164A1 (zh) | IPv6域名服务器DNS地址分配、获取方法及装置 | |
WO2020153133A1 (ja) | 通信管理システム、管理サーバ、vpnサーバ、端末、通信管理方法、及びプログラム | |
WO2023077922A1 (zh) | 设备连接方法、装置、电子设备和计算机可读存储介质 | |
US8285853B2 (en) | Message and system for implementing the inter-access of stack members | |
CN113179293A (zh) | Web端远程批量操作客户端的方法 | |
CN106911696B (zh) | 一种保活报文传输方法和装置 | |
CN114339769B (zh) | 一种wifi用户接入核心网方法及系统 | |
CN115150363B (zh) | Ip地址更新方法、网关设备、网关下挂设备和存储介质 | |
JP5215232B2 (ja) | インターネット用のデータ通信装置 | |
CN107547322B (zh) | 一种报文处理方法、装置及宽带远程接入服务器bras |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |