自动设置上网模式的处理方法和处理设备
技术领域
本发明实施例涉及通信技术,尤其涉及一种自动设置上网模式的处理方法和处理设备。
背景技术
基于以太网的点对点协议(Point-to-Point Protocol over Ethernet,PPPoE)是将点对点协议(Point-to-Point Protocol,PPP)封装在以太网框架中的一种网络隧道协议。终端可以通过PPPoE拨号接入互联网。
动态主机配置协议(Dynamic Host Configure Protocol,DHCP)可以为终端分配IP地址,以通过上行路由器接入互联网。
现有的一种终端可以通过PPPoE模式或者DHCP模式接入互联网。在自动检测时,终端可以分别发送PPPoE请求报文和DHCP请求报文,先收到哪种报文的响应报文,就将模式确定为哪种模式,并停止另一种模式的检测。当DHCP服务器与终端位于同一个局域网内,而PPPoE服务器在运营商组件的网络上时,由于DHCP服务器距离终端较近,会先收到DHCP响应报文,此时会将模式确定为DHCP模式,并停止对PPPoE模式的检测。但是,如果DHCP服务器上行没有接入互联网,采用DHCP模式就无法接入互联网,而此时可能通过PPPoE模式接入互联网。
因此,现有技术中这种接收到一种模式的响应报文后就停止另一种模式的检测可能会引起模式确定不准确。
发明内容
有鉴于此,本发明实施例提供了一种自动设置上网模式的处理方法和处理设备,用以提高模式检测的准确性。
第一方面,提供了一种自动设置上网模式的处理方法,包括:
分别发送基于以太网的点对点协议PPPoE请求消息和动态主机配置协议DHCP请求消息;
若在设定时间内先接收到所述DHCP请求消息对应的DHCP响应消息,确定上网模式为DHCP模式;
并在所述设定时间内后接收到所述PPPoE请求消息对应的PPPoE响应消息,确定所述上网模式从所述DHCP模式切换到PPPoE模式。
结合第一方面,在第一方面的第一种可能的实现方式中,所述分别发送PPPoE请求消息和DHCP请求消息之后,所述方法还包括:
若在所述设定时间内先接收到所述PPPoE响应消息,确定所述上网模式为PPPoE模式,并停止发送所述DHCP请求消息。。
结合第一方面,在第一方面的第二种可能的实现方式中,所述确定所述上网模式从所述DHCP模式切换到PPPoE模式之后,,所述方法还包括:
进行所述PPPoE模式拨号;
在所述PPPoE模式拨号失败后,确定所述上网模式从所述PPPoE模式切换回所述DHCP模式。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述分别发送PPPoE请求消息和DHCP请求消息之后,所述方法还包括:
若在所述设定时间内没有接收到所述PPPoE响应消息和所述DHCP响应消息,则确定所述上网模式检测失败。
结合第一方面或第一方面的第一种至第三种任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述分别发送PPPoE请求消息和DHCP请求消息,包括:
以2的指数倍为时间间隔,间隔发送所述PPPoE请求消息,以及,以2的指数倍为时间间隔,间隔发送所述DHCP请求消息。
第二方面,提供了一种处理设备,包括:
收发模块,分别发送基于以太网的点对点协议PPPoE请求消息和动态主机配置协议DHCP请求消息,及接收所述DHCP请求消息对应的DHCP响应消息和所述PPPoE请求消息对应的PPPoE响应消息;
处理模块,用于若在设定时间内确定所述收发模块先接收到所述DHCP请求消息对应的DHCP响应消息,确定上网模式为DHCP模式;
并在所述设定时间内确定所述收发模块后接收到所述PPPoE请求消息对应的PPPoE响应消息,确定所述上网模式从所述DHCP模式切换到PPPoE模式。
结合第二方面,在第二方面的第一种可能的实现方式中,所述处理模块还用于:
若在所述设定时间内确定所述收发模块先接收到所述PPPoE响应消息,确定所述上网模式为PPPoE模式,并控制所述收发模块停止发送所述DHCP请求消息。
结合第二方面,在第二方面的第二种可能的实现方式中,所述处理模块确定所述上网模式从所述DHCP模式切换到PPPoE模式后,还用于:
进行所述PPPoE模式拨号;
在所述PPPoE模式拨号失败后,确定所述上网模式从所述PPPoE模式切换回所述DHCP模式。
结合第二方面或第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述处理模块还用于:
若在所述设定时间内,确定所述收发模块没有接收到所述PPPoE响应消息和所述DHCP响应消息,确定所述上网模式检测失败。
结合第二方面或第二方面的第一种至第三种任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述收发模块用于:
以2的指数倍为时间间隔,间隔发送所述PPPoE请求消息,以及,以2的指数倍为时间间隔,间隔发送所述DHCP请求消息。
通过上述技术方案,在接收到DHCP响应消息后,本发明实施例并没有停止发送PPPoE请求消息,也就是继续发送PPPoE请求消息,并在设定时间内收到PPPoE响应消息后,从DHCP模式切换到PPPoE模式,也就是说,本发明实施例在接收到DHCP响应消息后并没有停止对PPPoE模式的检测,并且从DHCP模式切换到PPPoE模式,实现了PPPoE模式检测的优先,由于采用PPPoE模式相对于DHCP模式更容易成功接入互联网,那么本发明实施例给出的PPPoE模式检测优先的方案可以降低模式检测的误判,减少网络服务不可用的可能性,提升用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的终端接入互联网的系统结构示意图;
图2为本发明实施例提供的一种自动设置上网模式的处理方法的流程示意图;
图3为本发明实施例提供的另一种自动设置上网模式的处理方法的流程示意图;
图4为本发明实施例提供的一种自动设置上网模式的处理设备的结构示意图;
图5为本发明实施例提供的另一种自动设置上网模式的处理设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,终端11接入路由器13的网口_2,路由器13的网口_1接入互联网。该终端11可以为PC_1和PC_2提供互联网接入服务。该终端11可以是固网中的设备,例如为移动宽带上网卡等,或者,终端11也可以为移动网络中的设备,例如为手机。
该终端11可以采用PPPoE模式也可以采用DHCP模式接入互联网,此时该终端11中具备PPPoE客户端和DHCP客户端。
该路由器13集成了DHCP服务器功能。
在自动检测模式下,该终端11中的PPPoE客户端和DHCP客户端分别周期性发送请求消息,具体分别为PPPoE服务器14激活发现初始(PPPoE Active Discovery Initiation,PADI)报文和DHCP服务器发现(DHCP discover)报文,相应的响应报文分别为PPPoE激活发现提出(PPPoE Active Discovery Offer,PADO)报文和DHCP提出(DHCP offer)报文。例如,PPPoE客户端可以向PPPoE服务器发送PADI报文,之后,该PPPoE服务器收到该PADI报文后,可以向该PPPoE客户端响应PADO报文;DHCP客户端可以向DHCP服务器发送DHCP discover报文,之后,该DHCP服务器收到该DHCP discover报文后,可以向该DHCP客户端响应DHCPoffer报文。
现有技术中,当终端11先收到该PADO报文时就确定上网模式为PPPoE模式,并停止DHCP discover报文的发送,当终端11先收到该DHCP offer报文时就确定上网模式为该DHCP模式,并停止PADI报文的发送。
当确定上网模式为DHCP模式并停止PADI报文发送时,如果该路由器13上行没有接入互联网,那么在DHCP模式下该PPPoE客户端不再工作,也就无法接入互联网。而此时可能通过该PPPoE客户端就可以接入互联网。也就是说,如果采用PPPoE模式就可以接入互联网。因此,现有技术这种确定为DHCP模式就会造成模式检测误判。为了降低模式检测误判,本发明给出如下实施例。
图2为本发明实施例提供的一种自动设置上网模式的处理方法的流程示意图,本实施例的应用场景可以是:该终端11能够采用DHCP模式上网也能够采用PPPoE模式上网,且该终端11采用自动设置的方式确定上网模式是DHCP模式还是PPPoE模式。参见图2,本实施例包括:
21:该终端11分别发送PPPoE请求消息和DHCP请求消息;
其中,可以是该终端11内具有PPPoE客户端和DHCP客户端,PPPoE客户端可以向PPPoE服务器发送PPPoE请求消息,DHCP客户端可以向DHCP服务器发送DHCP请求消息。
该PPPoE请求消息可以具体为上述的PADI报文,该DHCP请求消息可以具体为上述的DHCP discover报文。
该PPPoE请求消息和DHCP请求消息可以是间隔发送的,例如,可选的,以2的指数倍为时间间隔,间隔发送所述PPPoE请求消息,以及,以2的指数倍为时间间隔,间隔发送所述DHCP请求消息。
具体可以是,同时发送PPPoE请求消息和DHCP请求消息,在同时发送时,可以是两者的每次时间间隔都是相同的,例如,第一次是同时发送PPPoE请求消息和DHCP消息,第二次是间隔1秒后再同时发送PPPoE请求消息和DHCP请求消息,第三次是再间隔2秒后再同时发送PPPoE请求消息和DHCP请求消息;或者,在同时发送时,也可以是两者间隔不同的时间间隔,例如,第一次是同时发送PPPoE请求消息和DHCP消息,间隔1秒后第二次发送PPPoE请求消息,相当于第一次再间隔2秒后第二次发送DHCP请求消息;或者,PPPoE请求消息和DHCP请求消息也可以是不同时发送的,例如,可以先发送PPPoE请求消息再发送DHCP请求消息,或者先发送DHCP请求消息再发送PPPoE请求消息,之后再按照各自的时间间隔发送PPPoE请求消息和DHCP请求消息。
22:该终端11若在设定时间内先接收到所述DHCP请求消息对应的DHCP响应消息,确定上网模式为DHCP模式;
23:并且该终端11在该设定时间内后接收到所述PPPoE请求消息对应的PPPoE响应消息,确定所述上网模式从所述DHCP模式切换到PPPoE模式。
如22所述,由于PPPoE请求消息是继续发送的,那么再次收到的响应消息就可能是PPPoE响应消息,也就是不仅接收到DHCP响应消息,也再收到了PPPoE响应消息,此时,可以将该上网模式从上述的DHCP模式切换到PPPoE模式,例如,将上网模式对应的字段值从指示为DHCP模式的值更新为指示为PPPoE模式的值。
其中,该DHCP响应消息是该DHCP服务器在收到该DHCP请求消息后响应的消息,具体可以为上述的该DHCP offer报文。
另外,该PPPoE响应消息是该PPPoE服务器在收到PPPoE请求消息后响应的消息,具体可以为上述的PADO报文。
该终端11可以设定一个时间,例如120秒,该设定的时间可以在发送该DHCP请求消息和该PPPoE请求消息后启动,例如,同时发送该PPPoE请求消息和该DHCP请求消息,之后启动定时器,该定时器设置的时间可以是120秒。之后,该终端11在该设定时间内第一次收到响应消息后,可以判断该响应消息是DHCP响应消息还是PPPoE响应消息,例如可以根据接收的响应消息中的type字段进行判断。
当判断该设定时间内第一次收到的响应消息是该DHCP响应消息后,也就是设定时间内先收到DHCP响应消息后,就可以确定上网模式为DHCP模式,例如,将上网模式对应的字段值设置为指示为DHCP模式的值。
并且,在确定为该DHCP模式后并不停止该PPPoE请求消息的发送,也就是说,继续按照步骤21中设定的时间间隔继续发送该PPPoE请求消息。
另外,可选的,该方法还可以包括:
若在该设定时间内先接收到该PPPoE响应消息,确定该上网模式为PPPoE模式,并停止发送该DHCP请求消息。
或者,可选的,该方法还可以包括:
若所述设定时间内没有接收到所述PPPoE响应消息和所述DHCP响应消息,则确定所述上网模式检测失败。
另外,可选的,该方法还可以包括:
进行所述PPPoE模式拨号;
在所述PPPoE模式拨号失败后,确定所述上网模式从所述PPPoE模式切换回所述DHCP模式。
与现有技术不同的是,现有技术在确定为DHCP模式后就停止PPPoE请求消息的发送,而本发明实施例继续PPPoE请求消息的发送,以实现PPPoE模式优先。
本实施例在接收到DHCP响应消息后,继续发送PPPoE请求消息,并在设定时间内收到PPPoE响应消息后,从DHCP模式切换到PPPoE模式,也就是说,本发明实施例在接收到DHCP响应消息后并没有停止对PPPoE模式的检测,并且从DHCP模式切换到PPPoE模式,实现了PPPoE模式检测的优先,由于采用PPPoE模式相对于DHCP模式更容易成功接入互联网,那么本发明实施例给出的PPPoE模式检测优先的方案可以降低模式检测的误判,减少网络服务不可用的可能性,提升用户体验。
图3为本发明实施例提供的另一种自动设置上网模式的处理方法的流程示意图,包括:
31:该终端11插入网口并上电。
例如,该终端11插入网口_2。
32:该终端11内的PPPoE客户端和DHCP客户端启动。
例如,可以通过Linux平台启动PPPoE进程和DHCP进程。
33:PPPoE客户端发送PADI报文,DHCP客户端发送DHCP发现(discover)报文。
其中,该PADI报文可以是PPPoE客户端发送给PPPoE服务器的,该DHCP discover报文可以是DHCP客户端发送给DHCP服务器的。
例如,该PPPoE客户端可以以1秒、2秒、4秒、8秒等2的指数倍的时间间隔发送PADI报文,该DHCP客户端也可以以1秒、2秒、4秒、8秒等2的指数倍的时间间隔发送DHCPdiscover报文,并且PADI报文和DHCP discover报文的发送起始时间可以相同或不同。通过上述不同的时间间隔,可以降低网络负担,避免网络拥塞。
34:该终端11确定在设定时间内先收到PADO报文,还是先收到DHCP提供(offer)报文,若先收到PADO报文,则执行35,若先收到DHCP offer报文,执行36。
其中,PADO报文是与PADI报文对应的响应报文,DHCP offer报文是与DHCPdiscover报文对应的响应报文。该终端11可以根据接收的第一次的响应报文中的type字段来确定先收到的是PADO报文还是DHCP offer报文。
35:该终端11停止DHCP客户端,确定上网模式为PPPoE模式并进行PPPoE非对称数字用户环路(Asymmetrical Digital Subscriber Loop,ADSL)拨号上网。
也就是说,当该终端11先收到PADO报文后就确定上网模式为PPPoE模式。
36:该终端11确定上网模式为DHCP模式,并接收DHCP服务器分配的IP地址。
37:该终端11的PPPoE客户端继续发送PADI报文,并判断在该设定时间内是否收到PADO报文,若是,执行38,否则执行39。
例如,可以设置该设定时间为120秒。
38:该终端11将上网模式从DHCP模式切换到PPPoE模式,并进行PPPoEADSL拨号上网。
39:该终端11确定最终模式为DHCP模式,并采用DHCP模式上网。
例如,在DHCP模式下,该终端11可以与具有DHCP服务器的路由器13建立连接,而该具有DHCP服务器的路由器13预先已与网络侧建立了连接,因此,在DHCP服务器为该终端11分配IP地址后,该终端11就可以上网了。
可选的,在步骤34时也可能是在设定时间,如120秒内既没有收到PADO报文也没有收到DHCP offer报文,此时可以确定检测失败。
可选的,在步骤38进行PPPoE ADSL拨号上网之后,可能拨号成功,也可能拨号失败,拨号成功就可以采用PPPoE方式上网了,在拨号失败后,可以从PPPoE模式切换回DHCP模式,采用DHCP方式上网。可以理解的是,采用DHCP方式上网时也可能成功或者失败,例如DHCP服务器已经与互联网侧的服务器(可以是PPPoE服务器,也可以是其它的服务器)成功接入后,终端就可以通过DHCP服务器接入互联网,否则,DHCP服务器没有与互联网侧的服务器完成接入,终端在采用DHCP方式上网时就会失败。
本实施例通过在确定为DHCP模式后继续PPPoE模式的检测,可以降低模式检测的误判,减少网络服务的不可用性,提升用户体验。可以根据实际场景配置设定时间,例如在实验环境中可以配置较小的值,在复杂的网络环境中可以配置较大的值,满足实现需求,提高检测准确度。
图4为本发明实施例提供的一种自动设置上网模式的处理设备的结构示意图,该设备可以是能够采用PPPoE模式和DHCP模式进行上网的终端,该终端40包括收发模块41和处理模块42;该收发模块41用于分别发送PPPoE请求消息和DHCP请求消息,及接收所述DHCP请求消息对应的DHCP响应消息和所述PPPoE请求消息对应的PPPoE响应消息;该处理模块42用于若在设定时间内确定所述收发模块41先接收到所述DHCP请求消息对应的DHCP响应消息,确定上网模式为DHCP模式并在所述设定时间内确定所述收发模块41后接收到所述PPPoE请求消息对应的PPPoE响应消息,确定所述上网模式从所述DHCP模式切换到PPPoE模式。
可选的,所述处理模块42还用于:若在所述设定时间内确定所述收发模块41先接收到所述PPPoE响应消息,确定所述上网模式为PPPoE模式,并控制所述收发模块41停止发送所述DHCP请求消息。
可选的,所述处理模块42确定所述上网模式从所述DHCP模式切换到PPPoE模式后,还用于:
进行所述PPPoE模式拨号;
在所述PPPoE模式拨号失败后,确定所述上网模式从所述PPPoE模式切换回所述DHCP模式。
可选的,所述处理模块42还用于:
若在所述设定时间内,确定所述收发模块41没有接收到所述PPPoE响应消息和所述DHCP响应消息,确定所述上网模式检测失败。
可选的,所述收发模块具体用于:
以2的指数倍为时间间隔,间隔发送所述PPPoE请求消息,以及,以2的指数倍为时间间隔,间隔发送所述DHCP请求消息。
参见图5,本发明实施例提供了另一种设备,该设备可以是具有PPPoE模式和DHCP模式的终端,该终端50包括收发器51和处理器52,收发器51用于分别发送PPPoE请求消息和DHCP请求消息及接收所述DHCP请求消息对应的DHCP响应消息和所述PPPoE请求消息对应的PPPoE响应消息;处理器具体用于若在设定时间内确定所述收发器51先接收到所述DHCP请求消息对应的DHCP响应消息,确定上网模式为DHCP模式,并在所述设定时间内确定所述收发器51后接收到所述PPPoE请求消息对应的PPPoE响应消息,确定所述上网模式从所述DHCP模式切换到PPPoE模式。
可选的,处理器52还用于若在所述设定时间内确定所述收发器51先接收到所述PPPoE响应消息,确定所述上网模式为PPPoE模式,并控制所述所述收发器51停止发送所述DHCP请求消息。
可选的,处理器52确定所述上网模式从所述DHCP模式切换到PPPoE模式后,还用于:进行所述PPPoE模式拨号;在所述PPPoE模式拨号失败后,确定所述上网模式从所述PPPoE模式切换回所述DHCP模式。
可选的,处理器52还用于若在所述设定时间内确定所述收发器51没有接收到所述PPPoE响应消息和所述DHCP响应消息,确定所述上网模式检测失败。
可选的,收发器51具体用于以2的指数倍为时间间隔,间隔发送所述PPPoE请求消息,以及,以2的指数倍为时间间隔,间隔发送所述DHCP请求消息。
以上的处理器可以为中央处理单元(CPU)、微处理器、单片机等。另外,该设备还可以包括存储器、输入输出装置、定时器等。
本实施例在接收到DHCP响应消息后,继续发送PPPoE请求消息,并在设定时间内收到PPPoE响应消息后,从DHCP模式切换到PPPoE模式,也就是说,本发明实施例在接收到DHCP响应消息后并没有停止对PPPoE模式的检测,并且从DHCP模式切换到PPPoE模式,实现了PPPoE模式检测的优先,由于采用PPPoE模式相对于DHCP模式更容易成功接入互联网,那么本发明实施例给出的PPPoE模式检测优先的方案可以降低模式检测的误判,减少网络服务不可用的可能性,提升用户体验。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。