[发明专利]一种适用于IOS VPN的网络感知及无缝切换方法有效
申请号: | 201810908284.2 | 申请日: | 2018-08-10 |
公开(公告)号: | CN108924889B | 公开(公告)日: | 2020-11-13 |
发明(设计)人: | 傅春乐;王佰玲;辛国栋;王巍;刘扬;孙云霄 | 申请(专利权)人: | 哈尔滨工业大学(威海) |
主分类号: | H04W36/00 | 分类号: | H04W36/00;H04W24/08;H04W76/12;G06F9/455 |
代理公司: | 济南舜昊专利代理事务所(特殊普通合伙) 37249 | 代理人: | 李舜江 |
地址: | 264209 山东省威海市哈*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 ios vpn 网络 感知 无缝 切换 方法 | ||
1.一种适用于IOS VPN的网络感知及无缝切换方法,其特征在于,方法包括:套接字状态获取模块,通信接口状态获取模块,网络感知模块以及无缝切换模块;
套接字状态获取模块获取创建VPN套接字状态,通信接口状态获取模块获取IOS移动终端通信接口状态;
通信接口状态获取模块监测到网络通信接口网络状态改变,将识别的网络通信接口网络状态改变信息回传至网络感知模块;
网络感知模块对IOS移动终端通信接口经历的网络状态改变信息进行处理;
判断defaultPath的status属性;若是invalid,则说明当前网络状态无法评估,返回NET_UNCERTAIN;若是satisfied,则说明当前网络可用,继续判断defaultPath的isExpensive属性来区分是蜂窝移动网或是Wi-Fi网络,为yes说明是蜂窝移动网,返回NET_CELLULAR;否则是Wi-Fi网络,返回NET_WIFI;若是unsatisfied则说明当前网络不可用,返回NET_NONE;最后一种情况是satisfiable,说明当前网络状态并不可用,返回NET_UNCERTAIN;
S1:判断defaultPath对象status属性是否为invalid,若不是,执行S2;否则,执行S5;
S2:判断defaultPath对象status属性是否为satisfied,若是,执行S3;否则,执行S4;
S3:判断defaultPath对象isExpensive属性是否为yes,若是,执行S6;否则,执行S7;
S4:判断defaultPath对象status属性是否为unsatisfied,若不是,执行S5;否则,执行S8;
S5:返回NET_UNCERTAIN;
S6:返回NET_CELLULAR;
S7:返回NET_WIFI;
S8:返回NET_NONE;
无缝切换模块根据网络感知模块对网络状态改变信息的处理以及套接字状态的输入信息,决策VPN套接字事件是关闭或重启套接字。
2.根据权利要求1所述的适用于IOS VPN的网络感知及无缝切换方法,其特征在于,
无缝切换模块根据网络感知模块对网络状态改变信息的处理以及套接字状态的输入信息,决策VPN套接字事件是关闭或重启套接字方法包括:
判断udp套接字的状态,若是无效状态Invalid,等待状态Waiting,准备状态Preparing中的一种,则不处理,否则获取当前网络状态nowNetState,并判断是否是NET_UNCERTAIN,若不是则判断之前网络状态lastNetState是否是不确定的网络NET_UNCERTAIN并将nowNetState与之前网络状态lastNetState比较,判断网络状态是否发生变化;
若lastNetState是不确定的网络NET_UNCERTAIN或者网络状态没有变化则更新lastNetState为当前网络状态;否则继续判断udp套接字是否是开启状态,udp套接字开启时,发生网络中断interrupt事件、网络切换swtich事件分别会触发VPN暂停pause,重启restart事件,udp套接字关闭时,发生网络恢复recover事件会触发VPN启动start事件;根据网络状态前后的变化判断出网络事件;若当前网络状态nowNetState为无网络连接NET_NONE,说明发生了网络中断interrupt事件;若当前网络状态nowNetState不为无网络连接NET_NONE,之前网络状态lastNetState不为无网络连接NET_NONE,说明发生了网络切换swtich事件;若当前网络状态nowNetState不为无网络连接NET_NONE,之前网络状态nowNetState为无网络连接NET_NONE,说明发生了网络恢复recover事件;分别调用相应函数触发VPN事件来处理。
3.根据权利要求2所述的适用于IOS VPN的网络感知及无缝切换方法,其特征在于,
VPN启动start和重启restart事件处理结束后检查VPN是否开启成功,如果开启失败,将VPN状态置为取消状态Cancelled;更新lastNetState为当前网络状态。
4.根据权利要求2所述的适用于IOS VPN的网络感知及无缝切换方法,其特征在于,
无缝切换模块根据网络感知模块对网络状态改变信息的处理以及套接字状态的输入信息,决策VPN套接字事件是关闭或重启套接字方法包括:
S1:判断udp套接字状态udpSessionState是否为Invalid,Waiting,Preparing中的一种,若是,则执行S15;否则,执行S2;
S2:获取当前网络状态nowNetState,执行S3;
S3:判断当前网络状态nowNetState是否为NET_UNCERTAIN,若是,执行S15;否则,执行S4;
S4:当前网络状态nowNetState不为NET_UNCERTAIN时,判断当前网络状态nowNetState与之前网络状态lastNetState是否相同,若是,执行S14;否则,执行S5;
S5:判断udp套接字状态udpSessionState是否是Ready,若是,则执行S6;否则,执行S10;
S6:判断nowNetState是否为NET_NONE,若是,则执行S7;否则,执行S8;
S7:调用stopUDPSession(),进行网络中断处理,执行S14;
S8:判断lastNetState是否为NET_NONE,若是,则执行S11;否则,执行S9;
S9:调用restartUDPSession(),进行网络切换处理,执行S12;
S10:判断nowNetState是否不为NET_NONE并且lastNetState为NET_NONE,若是,则执行S11;否则,执行S14;
S11:调用startUDPSession(),进行网络恢复处理,执行S12;
S12:VPN启动start和重启restart事件处理结束后要检查VPN是否开启成功,若是,执行S14;否则,执行S13;
S13:如果开启失败,需要将VPN状态置为取消状态Cancelled;执行S14;
S14:将lastNetState更新当前网络状态nowNetState;
S15:执行结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学(威海),未经哈尔滨工业大学(威海)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810908284.2/1.html,转载请声明来源钻瓜专利网。