一种网络连接IP地址选择方法及相关设备技术

技术编号:36974107 阅读:62 留言:0更新日期:2023-03-25 17:54
本发明专利技术公开了一种网络连接IP地址选择方法及相关设备,涉及网络通信领域。该方法包括:判断网络环境是否同时支持IPv4和IPv6;解析网络请求的IP地址;在所述网络环境同时支持IPv4和IPv6时,将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中;根据第一变量和第二变量执行IP地址的选择策略。实现在用户进行网络请求时,准确快速地选择正确的IP地址进行连接,进而解决现有技术在选择IP地址进行网络连接时成功率低,并且造成资源浪费和耗时较长的问题。问题。问题。

【技术实现步骤摘要】
一种网络连接IP地址选择方法及相关设备


[0001]本专利技术涉及网络通信领域,尤其涉及一种网络连接IP地址选择方法及相关设备。

技术介绍

[0002]IP地址可以分为IPv4(Internet Protocol version 4,网际协议第4版)和IPv6(Internet Protocol version 6,网际协议第6版)两种,这两种IP地址的格式以及相关处理存在很大的差异,基于IPv4地址的网络为IPv4网络,基于IPv6地址的网络为IPv6网络。现有的网络环境越来越多的支持了IPv6网络,同时也存在一些仅支持IPv4网络的网络环境。
[0003]目前,对于网络请求来说,现有技术通常都是优先选择连接IPv4地址或是优先选择连接IPv6地址。由于相关规范要求支持IPv6的地址要同时支持IPv4地址,因此如果先尝试连接IPv4地址,则该IPv4地址总是可用的,从而导致IPv6地址得不到使用,降低用户体验;如果先尝试连接IPv6地址,则对于现网中大量只支持IPv4地址的网络而言,总是存在多次连接失败的情况,造成资源浪费。

技术实现思路

[0004]鉴于上述问题,本专利技术提供了一种网络连接IP地址选择方法及相关设备,解决了现有技术在选择IP地址进行网络连接时成功率低,并且造成资源浪费和耗时较长的问题。
[0005]为解决上述技术问题,第一方面,本专利技术提供了一种网络连接IP地址选择方法,该方法包括:
[0006]判断网络环境是否同时支持IPv4和IPv6;
[0007]解析网络请求的IP地址;
[0008]在所述网络环境同时支持IPv4和IPv6时,将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中,其中,所述IP地址包括至少一个所述IPv4地址和至少一个所述IPv6地址,所述连接信息包括成功信息和失败信息;
[0009]在所述第一变量连续存储的所述失败信息个数小于第一阈值,且所述第二变量连续存储的所述失败信息个数大于或等于第二阈值时,按照先所述IPv4地址后所述IPv6地址依次交替的顺序,进行网络连接的尝试,否则按照先所述IPv6地址后所述IPv4地址依次交替的顺序,进行网络连接的尝试,在通过任意一个所述IP地址连接成功时,停止所述网络连接的尝试。
[0010]可选的,所述判断网络环境是否同时支持IPv4和IPv6的步骤,包括:
[0011]在每次网络状况发生变化时,根据连接DNS服务器的结果判断所述网络环境是否同时支持IPv4和IPv6。
[0012]可选的,所述根据连接DNS服务器的结果判断所述网络环境是否同时支持IPv4和IPv6的步骤,包括:
[0013]创建IPv6链路来多次连接DNS服务器;
[0014]在连接失败的次数大于第三阈值时,判定所述网络环境仅支持IPv4;
[0015]在连接成功时,判定所述网络环境同时支持IPv4和IPv6。
[0016]可选的,在根据连接DNS服务器的结果判断所述网络环境是否同时支持IPv4和IPv6的步骤之后,方法还包括:
[0017]调用folly组件中的makeGuard函数进行多次关闭所述链路的操作,其中,所述folly组件为C++开源库。
[0018]可选的,所述解析网络请求的IP地址的步骤,包括:
[0019]在所述判断的结果显示所述网络环境只支持IPv4时,只解析出与所述网络请求对应的全部IPv4地址;
[0020]在所述判断的结果显示所述网络环境同时支持IPv4和IPv6时,解析出与所述网络请求对应的全部IPv4地址和全部IPv6地址;
[0021]可选的,所述将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中的步骤之前,所述方法还包括:
[0022]判断当前是否处于有网络的状态。
[0023]可选的,所述将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中的步骤,包括:
[0024]通过所述IP地址进行网络连接时,在当前连接与上次通过同一个所述IP地址连接的时间间隔小于或等于第四阈值时,不存储此次连接的所述连接信息,否则将所述连接信息分别存储到所述第一变量和所述第二变量中。
[0025]为了实现上述目的,根据本专利技术的第二方面,提供了一种网络连接IP地址装置,包括:
[0026]判断单元,用于判断网络环境是否同时支持IPv4和IPv6;
[0027]解析单元,用于解析网络请求的IP地址;
[0028]存储单元,在所述网络环境同时支持IPv4和IPv6时,将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中,其中,所述IP地址包括至少一个所述IPv4地址和至少一个所述IPv6地址,所述连接信息包括成功信息和失败信息;
[0029]连接单元,在所述第一变量连续存储的所述失败信息个数小于第一阈值,且所述第二变量连续存储的所述失败信息个数大于或等于第二阈值时,按照先所述IPv4地址后所述IPv6地址依次交替的顺序,进行网络连接的尝试,否则按照先所述IPv6地址后所述IPv4地址依次交替的顺序,进行网络连接的尝试,在通过任意一个所述IP地址连接成功时,停止所述网络连接的尝试。
[0030]为了实现上述目的,根据本专利技术的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面中任一项所述的网络连接IP地址选择方法。
[0031]为了实现上述目的,根据本专利技术的第四方面,提供了一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器;其中,所述处理器用于调用所述存储器中的程序指令,执行如第一方面中任意一项所述的网络连接IP地址选择方法。
[0032]借由上述技术方案,本专利技术提供了一种网络连接IP地址选择方法及相关设备,解
决了现有技术在选择IP地址进行网络连接时成功率低,并且造成资源浪费和耗时较长的问题。本专利技术通过判断网络环境是否同时支持IPv4和IPv6;解析网络请求的IP地址;在所述网络环境同时支持IPv4和IPv6时,将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中;在所述第一变量连续存储的所述失败信息个数小于第一阈值,且所述第二变量连续存储的所述失败信息个数大于或等于第二阈值时,按照先所述IPv4地址后所述IPv6地址依次交替的顺序,进行网络连接的尝试,否则按照先所述IPv6地址后所述IPv4地址依次交替的顺序,进行网络连接的尝试,在通过任意一个所述IP地址连接成功时,停止所述网络连接的尝试,实现了网络连接IP地址的选择。在上述方案中,通过判断网络环境是否同时支持IPv4和IPv6的操作,得到网络环境对网络协议版本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络连接IP地址选择方法,其特征在于,包括:判断网络环境是否同时支持IPv4和IPv6;解析网络请求的IP地址;在所述网络环境同时支持IPv4和IPv6时,将通过所述IP地址中的IPv4地址和IPv6地址进行网络连接的连接信息,分别存储到第一变量和第二变量中,其中,所述IP地址包括至少一个所述IPv4地址和至少一个所述IPv6地址,所述连接信息包括成功信息和失败信息;在所述第一变量连续存储的所述失败信息个数小于第一阈值,且所述第二变量连续存储的所述失败信息个数大于或等于第二阈值时,按照先所述IPv4地址后所述IPv6地址依次交替的顺序,进行网络连接的尝试,否则按照先所述IPv6地址后所述IPv4地址依次交替的顺序,进行网络连接的尝试,在通过任意一个所述IP地址连接成功时,停止所述网络连接的尝试。2.根据权利要求1所述的方法,其特征在于,所述判断网络环境是否同时支持IPv4和IPv6的步骤,包括:在每次网络状况发生变化时,根据连接DNS服务器的结果判断所述网络环境是否同时支持IPv4和IPv6。3.根据权利要求2所述的方法,其特征在于,所述根据连接DNS服务器的结果判断所述网络环境是否同时支持IPv4和IPv6的步骤,包括:创建IPv6链路来多次连接DNS服务器;在连接失败的次数大于第三阈值时,判定所述网络环境仅支持IPv4;在连接成功时,判定所述网络环境同时支持IPv4和IPv6。4.根据权利要求3所述的方法,其特征在于,在根据连接DNS服务器的结果判断所述网络环境是否同时支持IPv4和IPv6的步骤之后,方法还包括:调用folly组件中的makeGuard函数进行多次关闭所述链路的操作,其中,所述folly组件为C++开源库。5.根据权利要求1所述的方法,其特征在于,所述解析网络请求的IP地址的步骤,包括:在所述判断的结果显示所述网络环境只支持IPv4时,只解析出与所述网络请求对应的全部IPv4地址;在所述判断的结果显示所述网络环境同时支持IPv4和IPv6时,解析出与所述网络请求对应的全部IPv4地址和全...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:

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

1