一种网络拨号方法、装置及存储介质与流程

文档序号:15296755发布日期:2018-08-31 19:28阅读:121来源:国知局

本发明实施例涉及网络通信技术领域,尤其涉及一种网络拨号方法、装置及存储介质。



背景技术:

ppp(pointtopointprotocol,点到点协议)是链路层协议,实现点到点通信。ppp协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。ppp协议简单、具备用户验证能力且可以解决ip(internetprotocol,互联网协议)地址分配,是目前广域网上应用最广泛的协议之一。pppoe(pointtopointprotocoloverethernet,通过以太网传输点到点协议)利用以太网将大量主机组成网络,客户端通过一个远端服务器连入网络,服务器对接入的客户端实现控制以及计费功能。由于pppoe具有高性价比、认证及计费管理安全方便等特点,在小区组网或社区组网建设等一系列应用中均被广泛采用。目前家庭中使用最多的宽带接入方式就是pppoe,ppp负责在客户端和运营商的接入服务器之间建立通信链路。

目前,ppp拨号成功建立连接后,通常客户端会向服务器发送链路检测请求,服务器收到之后反馈相应的回答,以验证链路是否畅通,如果客户端一定时长内没有收到服务器反馈的回答,或客户端发送了指定数量的链路检测请求后,一直未收到服务器反馈的回答,则认为链路不通,客户端主动终止链路,重新发起新的连接。或者,ppp服务器也可以向客户端发送链路检测请求,客户端收到后反馈相应的回答,如果服务器发送了一定数量的链路检测请求后,一直未收到相应的回答,则服务端主动终止链路,客户端需要重新发起新的连接请求。但是,由于现实中的ppp/pppoe拨号网络环境复杂,例如可能包括小区拨号网络或者社区拨号网络,且小运营商的拨号网络不够规范,有的拨号服务器主动按固定间隔发送链路检测请求,有的拨号服务器按不固定间隔发送链路检测请求,还有的拨号服务器不发送链路检测请求,也有的拨号服务器不反馈相应回答的,更有的拨号服务器偶尔反馈相应回答的,还有的拨号服务器定时重启的等等。如果按照常规拨号方法应对上述不规范的服务器,有两种弊端:一是定时向服务器发送链路检测请求,若未收到服务器的回答,则客户端与这类不规范的ppp/pppoe拨号服务器频繁断链重连,网络不可用;二是客户端不发送链路检测请求,那么当链路异常时(例如服务器定时重启或服务器未按规范主动终止异常连接等情况),客户端不会感知异常,不重新发起拨号请求,导致网络不可用。

因此,需要对现有的拨号方法进行改进,以适应复杂的拨号网络环境。



技术实现要素:

本发明实施例提供一种网络拨号方法、装置及存储介质,通过该方法可以准确识别当前通信链路是否畅通,保证客户端网络正常。

为实现上述目的,本发明实施例采用如下技术方案:

第一方面,本发明实施例提供了一种网络拨号方法,所述方法包括:

当客户端与拨号服务器之间进入会话保持阶段时,基于设定频率向拨号服务器发送链路检测请求;

当向所述拨号服务器发送链路检测请求的数量超过阈值时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则执行预设的上网任务;

若所述预设的上网任务执行成功,则确定所述客户端与所述拨号服务器之间的链路通信正常,保持所述客户端与所述拨号服务器之间当前的链路;

若所述预设的上网任务执行失败,则确定所述客户端与所述拨号服务器之间的链路通信不正常,终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

进一步的,所述预设的上网任务包括:

dns域名解析和/或ntp时间同步。

进一步的,所述执行预设的上网任务,包括:

从dns配置文件中获取预设的域名,并对所述域名进行域名解析。

进一步的,所述对所述域名进行域名解析之前,所述方法还包括:

清除客户端的dns缓存。

进一步的,所述预设的域名数量为至少两个;

对应的,若对所述预设的至少两个域名中的其中一个解析成功,则确定所述客户端与所述拨号服务器之间的链路通信正常。

进一步的,所述方法还包括:

每向拨号服务器发送一次链路检测请求,超时计数器的计数数值增加1。

进一步的,所述方法还包括:

若确定所述客户端与所述拨号服务器之间的链路通信正常,则将所述超时计数器的计数数值清零。

第二方面,本发明实施例提供了一种网络拨号装置,所述装置包括:

检测请求发送模块,用于当客户端与拨号服务器之间进入会话保持阶段时,基于设定频率向拨号服务器发送链路检测请求;

执行模块,用于当向所述拨号服务器发送链路检测请求的数量超过阈值时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则执行预设的上网任务;

保持模块,用于若所述预设的上网任务执行成功,则确定所述客户端与所述拨号服务器之间的链路通信正常,保持所述客户端与所述拨号服务器之间当前的链路;

终止模块,用于若所述预设的上网任务执行失败,则确定所述客户端与所述拨号服务器之间的链路通信不正常,终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种网络拨号方法。

第四方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现如上述第一方面所述的一种网络拨号方法。

本发明实施例提供的一种网络拨号方法,当向拨号服务器发送链路检测请求的数量超过阈值时,仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则执行预设的上网任务,并根据执行结果判断所述客户端与所述拨号服务器之间的链路通信是否正常的技术手段,实现了准确识别当前通信链路是否畅通,以保证客户端网络正常的目的。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。

图1为本发明实施例一提供的一种网络拨号方法流程示意图;

图2为本发明实施例二提供的一种网络拨号方法流程示意图;

图3为本发明实施例二提供的一种网络拨号系统架构示意图;

图4为本发明实施例三提供的一种网络拨号装置结构示意图;

图5为本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例一提供的一种网络拨号方法流程示意图。本实施例提供的一种网络拨号方法可以由网络拨号装置来执行。其中该方法可由软件和/或硬件实现,一般可集成在客户端中,更具体的,所述客户端可以是家用路由器。具体参见图1所示,该方法包括如下步骤:

110、当客户端与拨号服务器之间进入会话保持阶段时,基于设定频率向拨号服务器发送链路检测请求。

其中,所述客户端在连接ppp/pppoe拨号网络之前,向ppp/pppoe拨号服务器发起连接请求,拨号服务器接收到连接请求之后,客户端与拨号服务器之间进行pppoed/ppp协议交互,经过发现阶段(pppoed:pppoediscovery)、lcp链路协商、认证阶段、ncp协商阶段后,成功建立ppp/pppoe会话连接,客户端与拨号服务器之间进入会话保持阶段。在会话保持阶段,客户端基于设定频率向拨号服务器发送链路检测请求,以检测当前链路通信是否正常。具体的,所述链路检测请求可以为lcpechorequest,若当前链路通信正常,则拨号服务器接收到该lcpechorequest后,会相应反馈回答信息lcpechoreply,因此,只要接收到拨号服务器反馈的lcpechoreply,则可以确定客户端与拨号服务器之间的链路通信正常。

120、当向所述拨号服务器发送链路检测请求的数量超过阈值时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则执行预设的上网任务。

目前,有的拨号服务器自带链路检测功能,当客户端与拨号服务器之间进行会话保持阶段后,拨号服务器会主动向客户端发送链路检测信息lcpechorequest,因此,若客户端仅接收到拨号服务器发送的lcpechorequest,则也可以确定客户端与拨号服务器之间的链路通信正常。

由于,实际中的拨号网络环境复杂,存在各种各样小运营商管理的不规范的ppp/pppoe拨号服务器,这些不规范的拨号服务器有些即使接收到来自客户端的链路检测请求lcpechorequest,也不向客户端反馈相应的回答信息lcpechoreply,这种情况下,由于客户端一直接收不到相应的lcpechoreply,因此确定客户端与拨号服务器之间的链路通信异常,客户端会断开当前的链路,并重新再发送一次拨号请求,导致客户端频繁地断链重连,使得客户端网络不可用。有些情况下,由于网络干扰等因素导致客户端发出的lcpechorequest或者拨号服务器反馈的lcpechoreply丢失,客户端也会认为是当前链路通信异常,出现误判的情况。

针对上述问题,本实施例通过向拨号服务器发送一定数量的链路检测请求,尽可能排除丢包的情况,若向拨号服务器发送链路检测请求的数量超过阈值时,仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息,则执行预设的上网任务,以排除所述拨号服务器为小运营商管理的不规范的ppp/pppoe拨号服务器。

具体的,所述预设的上网任务包括:dns域名解析和/或ntp时间同步。

对应的,所述执行预设的上网任务,包括:

从dns配置文件中获取预设的域名,并对所述域名进行域名解析;

为了排除域名异常,示例性的,所述预设的域名数量为至少两个,若对所述预设的至少两个域名中的其中一个解析成功,则确定所述客户端与所述拨号服务器之间的链路通信正常。

进一步的,对所述域名进行域名解析之前,所述方法还包括:

清除客户端的dns缓存,以确保所述域名解析是通过发生网络通信行为进行的,而不是直接从客户端本地的dns缓存中获取所述域名对应的ip地址。

典型的,所述预设的域名可以为www.qq.com、www.baidu.com、www.google.com或者www.microsoft.com。

130a、若所述预设的上网任务执行成功,则确定所述客户端与所述拨号服务器之间的链路通信正常,保持所述客户端与所述拨号服务器之间当前的链路。

若域名解析成功,或者ntp时间同步成功,则说明客户端可以进行正常的网络行为,客户端与拨号服务器之间当前链路通信正常,继续保持客户端与所述拨号服务器之间当前的链路即可,无需断链重连,以确保客户端网络正常。

130b、若所述预设的上网任务执行失败,则确定所述客户端与所述拨号服务器之间的链路通信不正常,终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

若域名解析失败,或者域名解析失败同时ntp时间同步也失败,则说明客户端不可以进行正常的网络行为,客户端与拨号服务器之间当前链路通信确实不正常,则终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

本实施例提供的网络拨号方法能够确保在复杂的ppp/pppoe拨号网络环境下,兼容适配规范的和不规范的ppp/pppoe拨号服务器的链路检测行为,保证各类拨号网络能正常,针对不按规范回应ppplcpechoreply的服务器,既能检测到链路异常重新拨号,又能确保避免将正常链路误判为异常链路从而导致正常网络重新拨号,实现了准确识别当前通信链路是否畅通,以保证客户端网络正常的目的。

实施例二

图2为本发明实施例二提供的一种网络拨号方法流程示意图。在上述实施例的基础上,本实施例提供了一种通过超时计数器对向拨号服务器发送的链路检测请求的数量进行计数的实现方式。通过设置超时计数器可以使系统较方便地获知向拨号服务器发送的链路检测请求的总数量。具体参见图2所示,所述方法具体包括如下步骤:

210、客户端与拨号服务器之间进入会话保持阶段。

220、基于设定频率向拨号服务器发送链路检测请求,且每向拨号服务器发送一次链路检测请求,超时计数器的计数数值增加1。

230、当所述超时计数器中的计数值达到2时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息,则执行预设的上网任务。

其中,所述超时计数器中的计数值达到的阈值可以根据实际情况进行设置,并不限定为2,本实施中仅以2为例进行解释说明,并不是对其的限定。

240、当所述超时计数器中的计数值达到3时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息,对所述上网任务的执行结果进行判断。

由于执行预设的上网任务需要一定的时间,在此期间,仍保持设定频率向拨号服务器发送链路检测请求,当所述超时计数器中的计数值达到3时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息,对所述上网任务的执行结果进行判断,若收到所述拨号服务器针对所述链路检测请求反馈的回答信息则可直接确定所述客户端与所述拨号服务器之间的链路通信正常。

250a、若所述预设的上网任务执行成功,则确定所述客户端与所述拨号服务器之间的链路通信正常,将所述超时计数器的计数数值清零,并返回步骤220,继续进行链路检测流程。

250b、若所述预设的上网任务执行失败,则确定所述客户端与所述拨号服务器之间的链路通信异常,终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

对应的,参见图3所示的一种网络拨号系统架构示意图,图3中以所述预设的上网任务为dns域名解析和ntp时间同步为例,客户端的链路检测模块具体包括dns检测模块和ntp检测模块。当客户端与拨号服务器之间进入会话保持阶段时,链路检测模块基于设定频率向拨号服务器发送链路检测请求,当向所述拨号服务器发送链路检测请求的数量超过阈值时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则启动dns检测模块和ntp检测模块,所述dns检测模块从dns配置文件中获取预设的典型域名进行域名解析,所述ntp检测模块负责实现ntp时间同步,若dns检测模块或ntp检测模块中的任意一个检测成功,则确定所述客户端与所述拨号服务器之间的链路通信正常。

本实施例提供的一种网络拨号方法,在lcpechorequest和lcpechoreply的检测中,结合dns域名解析和ntp时间同步,实现了准确识别当前通信链路是否畅通,以保证客户端网络正常的目的。

实施例三

图4为本发明实施例三提供的一种网络拨号装置结构示意图,参见图4所示,所述装置包括:检测请求发送模块410、执行模块420、保持模块430和终止模块440;

其中,检测请求发送模块410,用于当客户端与拨号服务器之间进入会话保持阶段时,基于设定频率向拨号服务器发送链路检测请求;

执行模块420,用于当向所述拨号服务器发送链路检测请求的数量超过阈值时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则执行预设的上网任务;

保持模块430,用于若所述预设的上网任务执行成功,则确定所述客户端与所述拨号服务器之间的链路通信正常,保持所述客户端与所述拨号服务器之间当前的链路;

终止模块440,用于若所述预设的上网任务执行失败,则确定所述客户端与所述拨号服务器之间的链路通信不正常,终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

本实施例提供的一种网络拨号装置,当向拨号服务器发送链路检测请求的数量超过阈值时,仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息或者所述拨号服务器发送的链路检测信息,则执行预设的上网任务,并根据执行结果判断所述客户端与所述拨号服务器之间的链路通信是否正常的技术手段,实现了准确识别当前通信链路是否畅通,以保证客户端网络正常的目的。

实施例四

图5为本发明实施例四提供的一种电子设备的结构示意图。如图5所示,该电子设备包括:处理器670、存储器671及存储在存储器671上并可在处理器670上运行的计算机程序;其中,处理器670的数量可以是一个或多个,图5中以一个处理器670为例;处理器670执行所述计算机程序时实现如上述实施例中所述的一种网络拨号方法。如图5所示,所述电子设备还可以包括输入装置672和输出装置673。处理器670、存储器671、输入装置672和输出装置673可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器671作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中一种网络拨号方法对应的程序指令/模块(例如,网络拨号装置中的检测请求发送模块510、执行模块520或者保持模块530等)。处理器670通过运行存储在存储器671中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种网络拨号方法。

存储器671可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器671可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器671可进一步包括相对于处理器670远程设置的存储器,这些远程存储器可以通过网络连接至电子设备/存储介质。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置672可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置673可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种网络拨号方法,该方法包括:

当客户端与拨号服务器之间进入会话保持阶段时,基于设定频率向拨号服务器发送链路检测请求;

当向所述拨号服务器发送链路检测请求的数量超过阈值时,若仍未收到所述拨号服务器针对所述链路检测请求反馈的回答信息,则执行预设的上网任务;

若所述预设的上网任务执行成功,则确定所述客户端与所述拨号服务器之间的链路通信正常,保持所述客户端与所述拨号服务器之间当前的链路;

若所述预设的上网任务执行失败,则确定所述客户端与所述拨号服务器之间的链路通信不正常,终止所述客户端与所述拨号服务器之间当前的链路,并向所述拨号服务器重新发起拨号请求。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种网络拨号方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,存储介质,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1