一种主动终结残留会话的拨号方法技术

技术编号:18662640 阅读:82 留言:0更新日期:2018-08-11 16:26
本发明专利技术公开了一种主动终结残留会话的拨号方法。本发明专利技术基于局域网的点对点通讯协议,在拨号成功后记录本次会话信息,第二次拨号前读取上一次拨号成功的会话信息,根据上次拨号成功的会话信息向服务器发送PADT报文主动终结残留会话,然后再进行拨号。通过在设备重启拨号前先发送PADT报文主动终结残留会话,从而避免因为设备异常断电用户重启拨号需等待会话超时的问题。

A dial-up method for active termination of residual session

The invention discloses a dial-up method for initiatively ending residual sessions. Based on the point-to-point communication protocol of the local area network, the session information is recorded after the dialing is successful, and the session information of the last dialing is read before the second dialing, and the PADT message is sent to the server to actively terminate the residual session according to the session information of the last dialing success, and then the dialing is made. By sending a PADT message before the device restarts dialing, the residual session is terminated actively, thus avoiding the problem of waiting for the session to time out when the user restarts dialing because the device is abnormally powered off.

【技术实现步骤摘要】
一种主动终结残留会话的拨号方法
本专利技术涉及数据交换网络领域,尤其涉及基于局域网的点对点通讯协议的拨号接入互联网方法。
技术介绍
PPPOE:PointtoPointProtocoloverEthernet基于局域网的点对点通讯协议。基于局域网的点对点通讯协议拨号接入互联网是很多电信运营商给家庭用户设置的一种上网方式,但是电信运营商的PPPoE服务器往往会设置成单个会话模式,也就是说一个MAC地址同时只能拨号成功一次。当在第一次拨号成功的会话未结束的时候再进行第二次拨号时,PPPoE服务器将会拒绝,直至前面的会话结束为止。而电信运营商设置的PPPoE服务器会话超时时间一般在5~10分钟不等,也就是说一旦设备掉电重启,用户将在5~10分钟内无法拨号上网。这种情况经常发生在设备断电重启之后,设备来不及中断之前建立的会话,导致重启后拨号不成功,只能等待前面的会话超时释放后才能拨号成功。
技术实现思路
为了解决上述技术问题,本专利技术的目的是提供一种主动终结残留会话的拨号方法,解决了因为设备异常断电,用户重启拨号需等待超时会话的问题。本专利技术所采用的技术方案是:一种主动终结残留会话的拨号方法,该方法包括以下步骤:步骤1:当设备拨号成功时,记录拨号成功的会话信息;步骤2:当设备断电重启时,读取上一次拨号的会话信息;步骤3:根据会话信息发送PADT报文;所述PADT报文用于主动终结残留会话。进一步地,所述拨号方法还包括判断上一次拨号的会话信息是否保存成功。进一步地,所述所述拨号方法还包括解析会话信息。进一步地,所述拨号方法还包括判断会话信息是否解析成功。进一步地,所述会话信息包括会话ID、服务器MAC地址和客户端MAC地址。进一步地,所述拨号设备可以是家庭网关和/或路由器。进一步地,所述拨号方法基于局域网的点对点通讯协议即PPPOE协议,可通过pppd源码实现。进一步地,所述拨号设备基于PPPOE协议与运营商服务器交互通信。进一步地,所述步骤3在pppd开源流程的discovery阶段进行。进一步地,所述方法在OpenWRT系统下运行,会话信息保存在可写文件系统中。本专利技术的有益效果是:本专利技术提供了一种主动终结残留会话的拨号方法,通过在设备重启拨号前先发送PADT报文主动终结残留会话,解决了因为设备异常断电用户重启拨号需等待超时会话的问题,便于用户重新拨号时快速接入互联网。附图说明图1是savePPPoESession函数接口流程图图2是terminateLastSession函数接口流程图图3是主动终结残留会话的拨号方法的一具体实施例示意流程图具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术提供了一种主动终结残留会话的拨号方法,本专利技术基于局域网的点对点通讯协议,在拨号成功后记录本次会话信息,第二次拨号前读取上一次拨号成功的会话信息,根据上次拨号成功的会话信息向服务器发送PADT报文主动终结残留会话,然后再进行拨号。本实施例中,路由器和/或家庭网关与运营商服务器通信后进入代理状态,路由器和/或家庭网关与用户通信后进入预拨状态。本实施例中拨号方法的步骤为:设备拨号成功;记录拨号成功的会话信息;设备断电重启;读取上一次拨号的会话信息;根据会话信息发送PADT报文终结上一次会话;重新拨号;重新拨号成功。本实施例中定义了savePPPoESession函数,用于保存拨号成功的会话信息,savePPPoESession函数可被waitForPADS函数调用。本实施例同时还定义了terminateLastSession函数,用于发送PADT报文,终结上一次会话。下面结合附图对本专利技术的具体实施方式作进一步说明:参考图1,图1是savePPPoESession函数接口流程图。事实上,此流程用于定义savePPPoESession函数接口,该函数将PPPoE拨号成功的会话信息按照[会话ID]:[PPPoE服务器MAC地址][PPPoE客户端MAC地址]的格式保存到文件/etc/ppp/lastsession中。此函数流程包括以下步骤:步骤A1:函数开始;步骤A2:将PPPoE拨号信息按照[会话ID]:[PPPoE服务器MAC地址][PPPoE客户端MAC地址]的格式拼接成PPPoE会话信息;步骤A3:打开/etc/ppp/lastsession文件;步骤A4:判断打开/etc/ppp/lastsession文件是否成功,如果成功则进入步骤A5处理;否则进入A7处理;步骤A5:将PPPoE会话信息写入到/etc/ppp/lastsession文件;步骤A6:本步骤为关闭/etc/ppp/lastsession文件;步骤A7:函数结束。参考图2,图2是terminateLastSession函数接口流程图。事实上,此流程用于定义terminateLastSession函数接口,该函数首先打开/etc/ppp/lastsession文件,若该文件不存在或者内容为空,则表示之前没有拨号成功,这时函数返回;若文件存在且不为空,则按照[会话ID]:[PPPoE服务器MAC地址][PPPoE客户端MAC地址]的格式解析文件内容,获取到会话ID,PPPoE服务器MAC地址和PPPoE客户端MAC地址;然后将PPPoE服务器MAC地址和PPPoE客户端MAC地址更新到conn连接中;接着用更新后的conn连接发送PADT报文终结上一次残留会话此函数流程包括以下步骤:步骤B1:本步骤为函数开始;步骤B2:本步骤为打开/etc/ppp/lastsession文件;步骤B3:本步骤为判断打开/etc/ppp/lastsession文件是否成功,如果成功则进入步骤B4处理;否则进入A8处理;步骤B4:本步骤为判断读取/etc/ppp/lastsession文件是否成功且文件不为空,如果成功则进入步骤B5处理;否则进入B7处理;步骤B5:本步骤为按照[会话ID]:[PPPoE服务器MAC地址][PPPoE客户端MAC地址]格式解析会话信息是否成功,如果成功则进入步骤B6处理;否则进入B7处理;步骤B6:本步骤为使用解析成功的会话信息发送PADT报文主动终结残留会话;步骤B7:本步骤为函数结束。下面结合一具体实施例对本专利技术的具体实施方式作进一步说明:参考图3,图3为主动终结残留会话的拨号方法的一具体实施例示意流程图。拨号方法包括以下步骤:步骤S1:本步骤为设备第一次拨号成功;步骤S2:本步骤为开源pppd进程进入会话阶段;步骤S3:本步骤为开源pppd进程调用savePPPoESession函数接口保存拨号会话信息;步骤S4:本步骤为设备掉电重启;步骤S5:本步骤为设备重启后开源pppd进程调用terminateLastSession函数接口主动终结上一次拨号残留的PPPoE会话;步骤S6:本步骤为开源pppd进程重新拨号;步骤S7:本步骤为设备重新拨号成功。事实上,本方法在pppd开源流程中的waitForPADS函数中,拨号成功进入PPPoE会话阶段后调用savePPPoESession函数接口保存PPPoE拨号信息。最后在pppd开源流程中的discovery阶段,发送PADI报文拨号前调用terminat本文档来自技高网...

【技术保护点】
1.一种主动终结残留会话的拨号方法,该方法包括以下步骤:步骤1:当设备拨号成功时,记录拨号成功的会话信息;步骤2:当设备断电重启时,读取上一次拨号的会话信息;步骤3:根据会话信息发送PADT报文;所述PADT报文用于主动终结残留会话。

【技术特征摘要】
1.一种主动终结残留会话的拨号方法,该方法包括以下步骤:步骤1:当设备拨号成功时,记录拨号成功的会话信息;步骤2:当设备断电重启时,读取上一次拨号的会话信息;步骤3:根据会话信息发送PADT报文;所述PADT报文用于主动终结残留会话。2.根据权利要求1所述的一种主动终结残留会话的拨号方法,其特征在于,所述拨号方法还包括判断上一次拨号的会话信息是否保存成功。3.根据权利要求1所述的一种主动终结残留会话的拨号方法,其特征在于,所述拨号方法还包括解析会话信息。4.根据权利要求1所述的一种主动终结残留会话的拨号方法,其特征在于,所述拨号方法还包括判断会话信息是否解析成功。5.根据权利要求1所述的一种主动终结残留会话的拨号方法,其特征在于,所述会话信息包括会话ID、服务器...

【专利技术属性】
技术研发人员:伍国祥
申请(专利权)人:深圳市共进电子股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1