CN103888552A - 快速访问互联网的方法、系统与终端装置 - Google Patents
快速访问互联网的方法、系统与终端装置 Download PDFInfo
- Publication number
- CN103888552A CN103888552A CN201210566578.4A CN201210566578A CN103888552A CN 103888552 A CN103888552 A CN 103888552A CN 201210566578 A CN201210566578 A CN 201210566578A CN 103888552 A CN103888552 A CN 103888552A
- Authority
- CN
- China
- Prior art keywords
- application server
- server address
- address
- domain name
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种快速访问互联网的方法、系统与终端装置。该方法包括发起域名解析请求;接收域名解析服务器返回的与域名对应的应用服务器地址列表;判断缓存记录中是否存在与域名对应的应用服务器地址;如存在,则将缓存的应用服务器地址插入到应用服务器地址列表中,并作为最优先尝试的应用服务器地址;同时向处理后的应用服务器地址列表中的应用服务器地址发起通信连接请求;选择最先响应的应用服务器地址进行通信。本公开在域名解析服务器返回的与域名对应的应用服务器地址较多时能够快速选择可达的服务器地址。
Description
技术领域
本公开涉及下一代互联网技术领域,特别地,涉及一种快速访问互联网的方法、系统与终端装置。
背景技术
由于全球IPv4地址资源已经分配完毕,用户、网络与应用服务器都需要向IPv6演进,通常需要保持双栈运行。不同网络由于IPv6部署的进度不同,尤其无法在短期内达到IPv4的覆盖范围,导致互联网部分区域只支持IPv4,不支持IPv6。当双栈终端装置通过IPv6访问双栈服务器并需要经过不支持IPv6的网段时,双栈终端装置与应用服务器分别位于不同的IPv6孤岛,从而影响用户的访问。在IPv6过渡后期,IPv4覆盖范围逐渐缩小,并退化到局部网络支持IPv4,大部分网络只支持IPv6,从而形成IPv4孤岛。无论IPv6或IPv4孤岛,都可能出现孤岛间无法正常通信的情况。
一个简单的例子是:终端装置和应用服务器在不同IPv6孤岛中,但域名解析查询能够获得服务器的IPv6地址,而终端装置优选IPv6进行通信,从而导致终端装置持续尝试应用服务器的IPv6地址,可能导致长达几十秒的时延,严重影响了用户体验。实际上,在IPv6过渡部署中,除了IPv6孤岛之外,不正确的路由同样导致服务器不可达,从而影响用户访问。
在通常的域名解析查询中,终端装置发送域名解析查询请求,域名解析服务器根据请求的记录类型,例如,A或AAAA,分别返回与域名对应的服务器的IPv4或IPv6地址。同时,域名解析查询请求可以通过IPv4报文或IPv6报文同时承载A或AAAA记录,即在IPv4报文里封装A记录或AAAA记录;或者在IPv6报文里封装A记录或AAAA记录。域名解析软件的这种特点可以明显降低网络覆盖不完整对域名解析的影响,即使IPv6网络出现孤岛,但IPv4仍是可达的,终端可以通过IPv4报文获得服务器的IPv6地址。
在很多情况下,A记录和AAAA记录都可能不止一个服务器地址。在访问应用服务器时,终端装置需要从这些地址中选择一个地址进行通信。对于这些地址,在A记录列表中,终端装置可以从该A记录列表中选择第一个地址进行通信。对于AAAA记录列表,终端装置也可以通过类似的方法进行选择。这种选择方式通常是终端装置的缺省方式。在A记录列表的第一个地址和AAAA记录列表的第一个地址之间,如RFC3484等标准文档、windows操作系统等都缺省支持优先选择IPv6地址。当应用服务器可达时,通信过程可以很快建立起来;当应用服务器不可达时,传输层协议或应用层协议的报文重传机制会重传报文直到超时或者最终确定服务器不可达,全部尝试过程可能会导致长达几十秒的时延,严重影响了用户体验。
发明内容
本公开鉴于以上问题中的至少一个提出了新的技术方案。
本公开在其一个方面提供了一种快速访问互联网的方法,其在域名解析服务器返回的与域名对应的应用服务器地址较多时能够快速选择可达的服务器地址。
本公开在其另一方面提供了一种终端装置,其在域名解析服务器返回的与域名对应的应用服务器地址较多时能够快速选择可达的服务器地址。
本公开在其又一方面提供了一种快速访问互联网的系统,其在域名解析服务器返回的与域名对应的应用服务器地址较多时能够快速选择可达的服务器地址。
根据本公开,提供一种快速访问互联网的方法,包括:
发起域名解析请求;
接收域名解析服务器返回的与域名对应的应用服务器地址列表,在应用服务器地址列表中包含IPv4服务器地址表和/或IPv6服务器地址表;
判断缓存记录中是否存在与域名对应的应用服务器地址;
如存在,则将缓存的与域名对应的应用服务器地址插入到应用服务器地址列表中,并作为最优先尝试的应用服务器地址,其中,缓存的与域名对应的应用服务器地址为最近成功访问过的与域名对应的应用服务器地址,并且缓存的与域名对应的应用服务器地址为IPv4地址和/或IPv6地址;
同时向处理后的应用服务器地址列表中的应用服务器地址发起通信连接请求;
选择最先响应的应用服务器地址进行通信。
在本公开的一些实施例中,该方法还包括:
在处理后的应用服务器地址列表中的地址个数超过设定的个数门限的情况下,对应用服务器地址列表中的所有应用服务器地址进行分组;
将缓存的与域名对应的应用服务器地址分在第一组中;
自第一组开始发起通信连接请求,如果在设定时间内未收到第一组内任何应用服务器地址的响应,则按照分组的顺序依次对各组地址发起通信连接请求直至在设定时间内找到最先响应的应用服务器地址或发现没有可通信的应用服务器地址,其中,针对同一组,对组内的各应用服务器地址同时发起通信连接请求。
在本公开的一些实施例中,该方法还包括:
在多个应用服务器地址同时响应时,首选在应用服务器地址列表中位置靠前的应用服务器地址进行通信。
在本公开的一些实施例中,该方法还包括:
利用成功进行通信时所使用的应用服务器地址更新缓存的与域名对应的IPv4地址或IPv6地址。
在本公开的一些实施例中,在对应用服务器地址列表中的所有应用服务器地址进行分组时,在每组中交叉排列与域名对应的IPv4地址和与域名对应的IPv6地址。
在本公开的一些实施例中,该方法还包括:
如果在设定时间内未收到同一组内任何应用服务器地址的响应,则在向下一组中的所有应用服务器地址发起连接请求的同时,再次向该同一组内所有应用服务器地址发起通信连接请求,直至在设定时间内找到最先响应的应用服务器地址或针对同一组的通信连接请求重发次数达到设定的次数门限。
在本公开的一些实施例中,该方法还包括:
在域名解析服务器返回的与域名对应的应用服务器地址列表中包含和缓存的与域名对应的应用服务器地址相同的地址的情况下,在处理后的应用服务器地址列表中只保留相同地址中的一个,并将相同地址提前到应用服务器地址列表的表头。
根据本公开,还提供了一种终端装置,包括:
请求发起单元,用于发起域名解析请求;
地址列表接收单元,用于接收域名解析服务器返回的与域名对应的应用服务器地址列表,在应用服务器地址列表中包含IPv4服务器地址表和/或IPv6服务器地址表;
判断单元,用于判断缓存记录中是否存在与域名对应的应用服务器地址;
地址插入单元,用于如存在,则将缓存的与域名对应的应用服务器地址插入到应用服务器地址列表中,并作为最优先尝试的应用服务器地址,其中,缓存的与域名对应的应用服务器地址为最近成功访问过的与域名对应的应用服务器地址,并且缓存的与域名对应的应用服务器地址为IPv4地址和/或IPv6地址;
通信请求单元,用于同时向处理后的应用服务器地址列表中的应用服务器地址发起通信连接请求;
地址选择单元,用于选择最先响应的应用服务器地址进行通信。
在本公开的一些实施例中,该装置还包括:
地址分组单元,用于在处理后的应用服务器地址列表中的地址个数超过设定的个数门限的情况下,对应用服务器地址列表中的所有应用服务器地址进行分组,将缓存的与域名对应的应用服务器地址分在第一组中,自第一组开始发起通信连接请求,如果在设定时间内未收到第一组内任何应用服务器地址的响应,则按照分组的顺序依次对各组地址发起通信连接请求直至在设定时间内找到最先响应的应用服务器地址或发现没有可通信的应用服务器地址,其中,针对同一组,对组内的各应用服务器地址同时发起通信连接请求。
在本公开的一些实施例中,地址选择单元还在多个应用服务器地址同时响应时首选在应用服务器地址列表中位置靠前的应用服务器地址进行通信。
在本公开的一些实施例中,该装置还包括:
缓存更新单元,用于利用成功进行通信时所使用的应用服务器地址更新缓存的与域名对应的IPv4地址或IPv6地址。
在本公开的一些实施例中,地址分组单元还在对应用服务器地址列表中的所有应用服务器地址进行分组时,在每组中交叉排列与域名对应的IPv4地址和与域名对应的IPv6地址。
在本公开的一些实施例中,地址插入单元还在域名解析服务器返回的与域名对应的应用服务器地址列表中包含和缓存的与域名对应的应用服务器地址相同的地址的情况下,在处理后的应用服务器地址列表中只保留相同地址中的一个,并将相同地址提前到应用服务器地址列表的表头。
根据本公开,还提出了一种快速访问互联网的系统,包括域名解析服务器、与域名对应的应用服务器以及前述实施例中的终端装置。
在本公开的技术方案中,由于将缓存的与域名对应的应用服务器地址插入到了域名解析服务器返回的与域名对应的应用服务器地址列表中,并且将其作为最优先尝试的应用服务器地址。同时,基于该缓存的与域名对应的应用服务器是最近成功访问或的应用服务器地址,因此,增大了访问的成功率并且提高了访问速度。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分。在附图中:
图1是本公开一个实施例的快速访问互联网的方法的流程示意图。
图2是本公开另一实施例的快速访问互联网的方法的流程示意图。
图3是本公开中多组服务器地址发起请求的示意图。
图4是本公开一个实施例的终端装置的结构示意图。
图5是本公开另一实施例的终端装置的结构示意图。
图6是本公开又一实施例的终端装置的结构示意图。
图7是本公开一个实施例的快速访问互联网的系统的结构示意图。
具体实施方式
下面将参照附图描述本公开。要注意的是,以下的描述在本质上仅是解释性和示例性的,决不作为对本公开及其应用或使用的任何限制。除非另外特别说明,否则,在实施例中阐述的部件和步骤的相对布置以及数字表达式和数值并不限制本公开的范围。另外,本领域技术人员已知的技术、方法和装置可能不被详细讨论,但在适当的情况下意在成为说明书的一部分。
当与域名对应的应用服务器存在多个地址时,例如,多个IPv4地址和/或多个IPv6地址,本公开的下述实施例为终端装置提供了快速选择可达的服务器地址以确保通信连接的快速建立的技术方案。
在该技术方案中,终端装置维护各域名的A或AAAA记录中曾经成功访问的服务器地址。在域名解析响应列表处理中,终端装置发起域名解析请求,域名解析服务器返回应用服务器地址列表。终端装置把缓存的服务器地址插入到域名解析响应报文的服务器地址列表中,作为第一个备选服务器地址。这种方式把以前成功访问的服务器地址作为本次访问的优选地址,从而提高了选择速率。
进一步地,在地址分组尝试功能中,如果域名解析服务器返回的地址数目较多,则可以把备选服务器地址分成多个组,同一组内同时发送通信连接请求,选择最先响应的服务器地址进行通信。如果该组任何地址在一定时间间隔内均没有响应,则尝试下一组,直到找到最先响应的服务器地址。
图1是本公开一个实施例的快速访问互联网的方法的流程示意图。
如图1所示,该实施例可以包括以下步骤:
S102,发起域名解析请求;
S104,接收域名解析服务器返回的与域名对应的应用服务器地址列表,在应用服务器地址列表中可以包含IPv4服务器地址表和/或IPv6服务器地址表;
S106,判断缓存记录中是否存在与域名对应的应用服务器地址;
S108,如存在,则将缓存的与域名对应的应用服务器地址插入到域名解析服务器返回的应用服务器地址列表中,并作为最优先尝试的应用服务器地址,否则,无需插入,具体地,如果只有1个缓存地址,则只插入1个地址,如果有两个缓存地址,则需要插入两个地址,其中,缓存的与域名对应的应用服务器地址为最近成功访问过的与域名对应的应用服务器地址,并且缓存的与域名对应的应用服务器地址可以为IPv4地址和/或IPv6地址;
S110,同时向处理后的应用服务器地址列表(即,插入有缓存的与域名对应的应用服务器地址的应用服务器地址列表)中的应用服务器地址发起通信连接请求;
S112,选择最先响应的应用服务器地址进行通信。
在该实施例中,由于将缓存的与域名对应的应用服务器地址插入到了域名解析服务器返回的与域名对应的应用服务器地址列表中,并且将其作为最优先尝试的应用服务器地址。同时,基于该缓存的与域名对应的应用服务器是最近成功访问的应用服务器地址,因此,增大了访问的成功率并且提高了访问速度,进而提升了用户访问体验。
在步骤S112之后,可以利用成功进行通信时所使用的应用服务器地址更新缓存的与域名对应的IPv4地址或IPv6地址,以将最新的可用IP地址缓存在终端中,提高后续的接入成功率。
在步骤S108中,在域名解析服务器返回的与域名对应的应用服务器地址列表中包含和缓存的与域名对应的应用服务器地址相同的地址的情况下,在处理后的应用服务器地址列表中只保留相同地址中的一个,并将该地址提前到应用服务器地址列表的表头。
在域名解析服务器返回的与域名对应的应用服务器地址列表中的地址个数较多时,可以采用下述方式处理:
例如,在处理后的应用服务器地址列表中的地址个数超过设定的个数门限的情况下,可以对应用服务器地址列表中的所有应用服务器地址进行分组;
将缓存的与域名对应的应用服务器地址分在第一组中;
自第一组开始发起通信连接请求,如果在设定时间内未收到第一组内任何应用服务器地址的响应,则按照分组的顺序依次对各组地址发起通信连接请求直至在设定时间内找到最先响应的应用服务器地址或发现没有可通信的应用服务器地址,其中,针对同一组,对组内的各应用服务器地址同时发起通信连接请求。
进一步地,在对应用服务器地址列表中的所有应用服务器地址进行分组时,在每组中交叉排列与域名对应的IPv4地址和与域名对应的IPv6地址,这样可以防止在出现IPv4孤岛或IPv6孤岛的情况下导致接入速率降低的问题。
如果在设定时间内未收到同一组内任何应用服务器地址的响应,则在向下一组中的所有应用服务器地址发起连接请求的同时,再次向该同一组内所有应用服务器地址发起通信连接请求,直至在设定时间内找到最先响应的应用服务器地址或针对同一组的通信连接请求重发次数达到设定的次数门限。
此外,在多个应用服务器地址同时响应时,首选在应用服务器地址列表中位置靠前的应用服务器地址进行通信。
图2是本公开另一实施例的快速访问互联网的方法的流程示意图。
如图2所示,该实施例可以包括以下步骤:
S202,终端装置发起域名解析查询,获得服务器地址列表。
S204,终端装置把缓存的服务器地址插入到域名服务器返回的服务器地址列表的表头,缓存的服务器地址与域名解析的服务器地址列表拥有相同的域名,如果有多个缓存地址,则同时插入到服务器地址列表的表头,通常来说,IPv4最多缓存一个,IPv6最多缓存1个,相互之间在服务器地址列表中的排序可以按照终端装置的缺省设置,即,如果IPv6优先则将缓存的IPv6c排在前面;如果IPv4优先,则将缓存的IPv4c排在前面,如果终端装置只记录了IPv4c和IPv6c中的一个,则只在域名解析服务器反馈的列表中插入IPv4c或IPv6c,其中,缓存记录中的IPv4地址可以用IPv4c表示,缓存记录中的IPv6地址可以用IPv6c表示;
需要指出的是,终端本地缓存的记录格式可以包括但不限于采用A或AAAA记录形式;
例如,缓存记录中记录了以前成功访问的服务器域名、IPv4地址和/或IPv6地址、及其对应的A或AAAA记录,例如,www.a.com:A/a.b.c.d,AAAA/abcd::efgh,表示域名www.a.com的A记录的IPv4地址为a.b.c.d和AAAA记录的IPv6地址为abcd::efgh;www.b.com:A/b.c.d.e,AAAA/bcde::fghi,表示域名www.b.com的A记录的IPv4地址为b.c.d.e和AAAA记录的IPv6地址为bcde::fghi等。
S206,终端装置对处理后的服务器地址列表进行分组,并从第一组开始发起服务请求,尝试完成通信,终端装置选择最先响应的服务器地址保持通信,直到通信结束,其中,分组长度大于等于2,即,每组至少包括1个IPv4地址和1个IPv6地址以提高应用服务器地址的命中率,或者两个IPv4地址,或者两个IPv6地址。
S208,终端装置利用完成通信的服务器地址更新缓存中的服务器IPv4c或IPv6c及其域名作为A或AAAA记录进行缓存,其中,利用完成通信的IPv4服务器地址更新IPv4c,利用完成通信的IPv6服务器地址更新IPv6c。
接下来,通过一个具体实例进行详细的说明:
当主机需要访问域名为www.a.com的服务器时,主机发送域名解析请求,域名解析服务器按照正常的方式返回域名查询结果,例如,域名解析返回结果如下:
www.a.com:IP_1,IP_2,…..,IP_n。
主机缓存的记录是:www.a.com:IPv4_c。
这里的IP_1,……,IP_n,IP_c可以是IPv4地址,也可以是IPv6地址。域名解析返回列表一般是IPv4的地址连在一起,IPv6的地址连在一起,上述列表也就是把IPv4子列表和IPv6子列表连在一起。当IP_c是IPv4地址时,IP_1,……,IP_n可以是IPv6地址;反之也成立。由于IP_c记录了域名www.a.com以前成功访问的地址,因此把IP_c插入到DNS响应列表中的第一个位置,形成如下列表:
www.a.com:IP_c,IP_1,IP_2,……,IP_n (1)
其中,IP_c与IP_1,……,IP_n可以是不同的地址类型。
上述形成如(1)所示列表的过程称为域名解析响应列表处理过程。
在生成如(1)所示的域名解析响应列表后,终端装置对域名解析响应列表进行分组,并逐组发起通信请求尝试,具体流程如下:
第一步:服务器地址分组。
把如(1)所示服务器地址列表分组,假定按照5个地址为一组,可以分成如下k组:
第一组:IP_c,IP_1,IP_2,IP_3,IP_4;
......
第k组:IP_(n-4),IP_(n-3),IP_(n-2),IP_(n-1),IP_n。
其中,组k代表最后一个分组,可以小于指定的分组长度。
分组可以有多种方法:(a)按照(1)所示的服务器地址列表依次分成k组;(b)将(1)所示的服务器地址列表中的IPv4地址与IPv6地址交叉排列,例如,IPv4_c,IPv6_c,IPv4_1,IPv6_1,……,或者,IPv6_c,IPv4_c,IPv6_1,IPv4_1,……,IPv4地址与IPv6地址的顺序可以参照终端装置的默认设置。
这种交叉排列可以帮助终端在IPv4和IPv6两个平面同时发起通信尝试,提高命中率。实际上,IPv4通常是可达的,即IPv4服务器地址可以保证能够实现通信,但IPv6是我们希望优先选择的服务器地址。当IPv6能够更快到达时,则访问成功质量会更优。
无论如何分组,都要保证缓存的服务器地址IP_c分在第一组中,但是,由于同一组同时发起通信请求,因此,在第一组中的任意位置均可。
第二步:通信分组尝试。
通信尝试的方式如下:
终端装置同时向第一组的所有服务器地址发送通信请求报文。当服务器地址是IPv4地址时,按照IPv4报文格式封装请求报文;当服务器地址是IPv6地址时,按照IPv6报文格式封装请求报文。
终端装置在等待门限(例如,300ms)内等待第一组中各服务器地址的响应报文。当在等待门限内,终端首先接收到来自某个服务器地址(例如,IP_r)的响应报文,并成功建立通信连接,则终止对后续各组的尝试,继续保持与IP_r的通信连接,完成通信。当在等待门限内,终端未接收到第一组中任何服务器地址的响应,则终端重复发送尝试请求,与此同时,终端发送对第二组中所有服务器地址的通信尝试,如图3所示。各组服务器地址的通信尝试次数不超过3次。当全部k组的所有服务器地址都尝试完毕并且没有发现可以通信的服务器地址,则终端放弃本次通信。
当终端与某个服务器地址IP_r的通信完毕,则终端用IP_r替换原来缓存的地址IP_c,并作为新的IP_c进行缓存。
本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
图4是本公开一个实施例的终端装置的结构示意图。
如图4所示,该实施例中的终端装置40可以包括请求发起单元402、地址列表接收单元404、判断单元406、地址插入单元408、通信请求单元410和地址选择单元412。其中。
请求发起单元402,用于发起域名解析请求;
地址列表接收单元404,用于接收域名解析服务器返回的与域名对应的应用服务器地址列表,在应用服务器地址列表中包含IPv4服务器地址表和/或IPv6服务器地址表;
判断单元406,用于判断缓存记录中是否存在与域名对应的应用服务器地址;
地址插入单元408,用于如存在,则将缓存的与域名对应的应用服务器地址插入到应用服务器地址列表中,并作为最优先尝试的应用服务器地址,其中,缓存的与域名对应的应用服务器地址为最近成功访问过的与域名对应的应用服务器地址,并且缓存的与域名对应的应用服务器地址为IPv4地址和/或IPv6地址;
通信请求单元410,用于同时向处理后的应用服务器地址列表中的应用服务器地址发起通信连接请求;
地址选择单元412,用于选择最先响应的应用服务器地址进行通信。
在该实施例中,由于将缓存的与域名对应的应用服务器地址插入到了域名解析服务器返回的与域名对应的应用服务器地址列表中,并且将其作为最优先尝试的应用服务器地址。同时,基于该缓存的与域名对应的应用服务器是最近成功访问或的应用服务器地址,因此,增大了访问的成功率并且提高了访问速度,进而提升了用户访问体验。
进一步地,地址选择单元还在多个应用服务器地址同时响应时首选在应用服务器地址列表中位置靠前的应用服务器地址进行通信。
进一步地,地址分组单元还在对应用服务器地址列表中的所有应用服务器地址进行分组时,在每组中交叉排列与域名对应的IPv4地址和与域名对应的IPv6地址。
图5是本公开另一实施例的终端装置的结构示意图。
如图5所示,与图4中的实施例相比,该实施例中的终端装置50还可以包括:
缓存更新单元502,用于利用成功进行通信时所使用的应用服务器地址更新缓存的与域名对应的IPv4地址或IPv6地址。
图6是本公开又一实施例的终端装置的结构示意图。
如图6所示,与图4中的实施例相比,该实施例中的终端装置60还可以包括:
地址分组单元602,用于在处理后的应用服务器地址列表中的地址个数超过设定的个数门限的情况下,对应用服务器地址列表中的所有应用服务器地址进行分组,将缓存的与域名对应的应用服务器地址分在第一组中,自第一组开始发起通信连接请求,如果在设定时间内未收到第一组内任何应用服务器地址的响应,则按照分组的顺序依次对各组地址发起通信连接请求直至在设定时间内找到最先响应的应用服务器地址或发现没有可通信的应用服务器地址,其中,针对同一组,对组内的各应用服务器地址同时发起通信连接请求。
进一步地,图6中的终端装置60还可以包括缓存更新单元502,用于利用成功进行通信时所使用的应用服务器地址更新缓存的与域名对应的IPv4地址或IPv6地址。
图7是本公开一个实施例的快速访问互联网的系统的结构示意图。
如图7所示,该实施例中的系统70可以包括域名解析服务器702、与域名对应的应用服务器704以及终端装置706。
其中,终端装置706可以通过前述实施例实现。
进一步地,地址插入单元还在域名解析服务器返回的与域名对应的应用服务器地址列表中包含和缓存的与域名对应的应用服务器地址相同的地址的情况下,在处理后的应用服务器地址列表中只保留相同地址中的一个,并将相同地址提前到应用服务器地址列表的表头。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
本公开上述实施例通过在终端装置中引入域名解析响应列表处理功能和地址分组尝试功能,无需对网关装置、网络设备、域名服务器和应用服务器做改造,即可完成对服务器地址的快速选择,提升了用户体验。
虽然已参照示例性实施例描述了本公开,但应理解,本公开不限于上述的示例性实施例。对于本领域技术人员显然的是,可以在不背离本公开的范围和精神的条件下修改上述的示例性实施例。所附的权利要求的范围应被赋予最宽的解释,以包含所有这样的修改以及等同的结构和功能。
Claims (14)
1.一种快速访问互联网的方法,其特征在于,包括:
发起域名解析请求;
接收域名解析服务器返回的与所述域名对应的应用服务器地址列表,在所述应用服务器地址列表中包含IPv4服务器地址表和/或IPv6服务器地址表;
判断缓存记录中是否存在与所述域名对应的应用服务器地址;
如存在,则将缓存的与所述域名对应的应用服务器地址插入到所述应用服务器地址列表中,并作为最优先尝试的应用服务器地址,其中,缓存的与所述域名对应的应用服务器地址为最近成功访问过的与所述域名对应的应用服务器地址,并且缓存的与所述域名对应的应用服务器地址为IPv4地址和/或IPv6地址;
同时向处理后的应用服务器地址列表中的应用服务器地址发起通信连接请求;
选择最先响应的应用服务器地址进行通信。
2.根据权利要求1所述的快速访问互联网的方法,其特征在于,所述方法还包括:
在处理后的应用服务器地址列表中的地址个数超过设定的个数门限的情况下,对所述应用服务器地址列表中的所有应用服务器地址进行分组;
将缓存的与所述域名对应的应用服务器地址分在第一组中;
自第一组开始发起通信连接请求,如果在设定时间内未收到第一组内任何应用服务器地址的响应,则按照分组的顺序依次对各组地址发起通信连接请求直至在设定时间内找到最先响应的应用服务器地址或发现没有可通信的应用服务器地址,其中,针对同一组,对组内的各应用服务器地址同时发起通信连接请求。
3.根据权利要求1所述的快速访问互联网的方法,其特征在于,所述方法还包括:
在多个应用服务器地址同时响应时,首选在所述应用服务器地址列表中位置靠前的应用服务器地址进行通信。
4.根据权利要求1或3所述的快速访问互联网的方法,其特征在于,所述方法还包括:
利用成功进行通信时所使用的应用服务器地址更新缓存的与所述域名对应的IPv4地址或IPv6地址。
5.根据权利要求2所述的快速访问互联网的方法,其特征在于,在对所述应用服务器地址列表中的所有应用服务器地址进行分组时,在每组中交叉排列与所述域名对应的IPv4地址和与所述域名对应的IPv6地址。
6.根据权利要求2所述的快速访问互联网的方法,其特征在于,所述方法还包括:
如果在设定时间内未收到同一组内任何应用服务器地址的响应,则在向下一组中的所有应用服务器地址发起连接请求的同时,再次向该同一组内所有应用服务器地址发起通信连接请求,直至在设定时间内找到最先响应的应用服务器地址或针对同一组的通信连接请求重发次数达到设定的次数门限。
7.根据权利要求1所述的快速访问互联网的方法,其特征在于,所述方法还包括:
在所述域名解析服务器返回的与域名对应的应用服务器地址列表中包含和缓存的与域名对应的应用服务器地址相同的地址的情况下,在处理后的应用服务器地址列表中只保留相同地址中的一个,并将所述相同地址提前到应用服务器地址列表的表头。
8.一种终端装置,其特征在于,包括:
请求发起单元,用于发起域名解析请求;
地址列表接收单元,用于接收域名解析服务器返回的与所述域名对应的应用服务器地址列表,在所述应用服务器地址列表中包含IPv4服务器地址表和/或IPv6服务器地址表;
判断单元,用于判断缓存记录中是否存在与所述域名对应的应用服务器地址;
地址插入单元,用于如存在,则将缓存的与所述域名对应的应用服务器地址插入到所述应用服务器地址列表中,并作为最优先尝试的应用服务器地址,其中,缓存的与所述域名对应的应用服务器地址为最近成功访问过的与所述域名对应的应用服务器地址,并且缓存的与所述域名对应的应用服务器地址为IPv4地址和/或IPv6地址;
通信请求单元,用于同时向处理后的应用服务器地址列表中的应用服务器地址发起通信连接请求;
地址选择单元,用于选择最先响应的应用服务器地址进行通信。
9.根据权利要求8所述的终端装置,其特征在于,还包括:
地址分组单元,用于在处理后的应用服务器地址列表中的地址个数超过设定的个数门限的情况下,对所述应用服务器地址列表中的所有应用服务器地址进行分组,将缓存的与所述域名对应的应用服务器地址分在第一组中,自第一组开始发起通信连接请求,如果在设定时间内未收到第一组内任何应用服务器地址的响应,则按照分组的顺序依次对各组地址发起通信连接请求直至在设定时间内找到最先响应的应用服务器地址或发现没有可通信的应用服务器地址,其中,针对同一组,对组内的各应用服务器地址同时发起通信连接请求。
10.根据权利要求8所述的终端装置,其特征在于,所述地址选择单元还在多个应用服务器地址同时响应时首选在所述应用服务器地址列表中位置靠前的应用服务器地址进行通信。
11.根据权利要求8或10所述的终端装置,其特征在于,还包括:
缓存更新单元,用于利用成功进行通信时所使用的应用服务器地址更新缓存的与所述域名对应的IPv4地址或IPv6地址。
12.根据权利要求9所述的终端装置,其特征在于,所述地址分组单元还在对所述应用服务器地址列表中的所有应用服务器地址进行分组时,在每组中交叉排列与所述域名对应的IPv4地址和与所述域名对应的IPv6地址。
13.根据权利要求8所述的终端装置,其特征在于,所述地址插入单元还在域名解析服务器返回的与域名对应的应用服务器地址列表中包含和缓存的与域名对应的应用服务器地址相同的地址的情况下,在处理后的应用服务器地址列表中只保留相同地址中的一个,并将所述相同地址提前到应用服务器地址列表的表头。
14.一种快速访问互联网的系统,其特征在于,包括域名解析服务器、与域名对应的应用服务器以及权利要求8至13中任一项所述的终端装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566578.4A CN103888552B (zh) | 2012-12-24 | 2012-12-24 | 快速访问互联网的方法、系统与终端装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566578.4A CN103888552B (zh) | 2012-12-24 | 2012-12-24 | 快速访问互联网的方法、系统与终端装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888552A true CN103888552A (zh) | 2014-06-25 |
CN103888552B CN103888552B (zh) | 2018-04-13 |
Family
ID=50957268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210566578.4A Active CN103888552B (zh) | 2012-12-24 | 2012-12-24 | 快速访问互联网的方法、系统与终端装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888552B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410725A (zh) * | 2014-09-17 | 2015-03-11 | 广州杰赛科技股份有限公司 | Gpu的处理方法、系统以及基于gpu的dns解析方法和系统 |
CN106210155A (zh) * | 2015-04-29 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 连接应用服务器的方法和装置 |
CN106254576A (zh) * | 2016-09-12 | 2016-12-21 | 杭州华三通信技术有限公司 | 一种报文转发方法及装置 |
CN109462668A (zh) * | 2018-10-25 | 2019-03-12 | 维沃移动通信有限公司 | 一种处理域名解析请求的方法和装置 |
CN112165538A (zh) * | 2020-09-22 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 双栈终端的网络访问方法、装置、设备及可读存储介质 |
CN112218131A (zh) * | 2019-07-09 | 2021-01-12 | 中国移动通信集团吉林有限公司 | 机顶盒工作方法及装置、电子设备和计算机可读存储介质 |
CN113395364A (zh) * | 2020-03-11 | 2021-09-14 | 华为技术有限公司 | 一种应用服务器的访问方法及终端 |
CN113824805A (zh) * | 2020-06-19 | 2021-12-21 | 中国电信股份有限公司 | 域名寻址方法及装置、计算机可存储介质 |
CN114143230A (zh) * | 2020-09-02 | 2022-03-04 | 中国移动通信集团安徽有限公司 | 双栈用户dns解析时长计算方法及装置 |
CN115086332A (zh) * | 2022-06-27 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
CN115412531A (zh) * | 2022-08-31 | 2022-11-29 | 深圳市创维软件有限公司 | 网络查询方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070041393A1 (en) * | 2005-08-19 | 2007-02-22 | Microsoft Corporation | Branch office DNS storage and resolution |
CN101610222A (zh) * | 2009-07-20 | 2009-12-23 | 中兴通讯股份有限公司 | 基于客户端的服务器选择方法及装置 |
CN102196060A (zh) * | 2011-06-15 | 2011-09-21 | 北京蓝汛通信技术有限责任公司 | 一种Cache服务器选择源站的方法和系统 |
CN102801823A (zh) * | 2012-08-23 | 2012-11-28 | 神州数码网络(北京)有限公司 | 一种dns中继方法和装置 |
-
2012
- 2012-12-24 CN CN201210566578.4A patent/CN103888552B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070041393A1 (en) * | 2005-08-19 | 2007-02-22 | Microsoft Corporation | Branch office DNS storage and resolution |
CN101610222A (zh) * | 2009-07-20 | 2009-12-23 | 中兴通讯股份有限公司 | 基于客户端的服务器选择方法及装置 |
CN102196060A (zh) * | 2011-06-15 | 2011-09-21 | 北京蓝汛通信技术有限责任公司 | 一种Cache服务器选择源站的方法和系统 |
CN102801823A (zh) * | 2012-08-23 | 2012-11-28 | 神州数码网络(北京)有限公司 | 一种dns中继方法和装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410725A (zh) * | 2014-09-17 | 2015-03-11 | 广州杰赛科技股份有限公司 | Gpu的处理方法、系统以及基于gpu的dns解析方法和系统 |
CN106210155A (zh) * | 2015-04-29 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 连接应用服务器的方法和装置 |
CN106254576A (zh) * | 2016-09-12 | 2016-12-21 | 杭州华三通信技术有限公司 | 一种报文转发方法及装置 |
CN106254576B (zh) * | 2016-09-12 | 2020-01-03 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN109462668A (zh) * | 2018-10-25 | 2019-03-12 | 维沃移动通信有限公司 | 一种处理域名解析请求的方法和装置 |
CN112218131A (zh) * | 2019-07-09 | 2021-01-12 | 中国移动通信集团吉林有限公司 | 机顶盒工作方法及装置、电子设备和计算机可读存储介质 |
CN113395364B (zh) * | 2020-03-11 | 2023-02-14 | 华为技术有限公司 | 一种应用服务器的访问方法及终端 |
CN113395364A (zh) * | 2020-03-11 | 2021-09-14 | 华为技术有限公司 | 一种应用服务器的访问方法及终端 |
US11895215B2 (en) | 2020-03-11 | 2024-02-06 | Huawei Technologies Co., Ltd. | Application server access method and terminal |
CN113824805A (zh) * | 2020-06-19 | 2021-12-21 | 中国电信股份有限公司 | 域名寻址方法及装置、计算机可存储介质 |
CN114143230A (zh) * | 2020-09-02 | 2022-03-04 | 中国移动通信集团安徽有限公司 | 双栈用户dns解析时长计算方法及装置 |
CN114143230B (zh) * | 2020-09-02 | 2023-07-21 | 中国移动通信集团安徽有限公司 | 双栈用户dns解析时长计算方法及装置 |
CN112165538A (zh) * | 2020-09-22 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 双栈终端的网络访问方法、装置、设备及可读存储介质 |
CN112165538B (zh) * | 2020-09-22 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 双栈终端的网络访问方法、装置、设备及可读存储介质 |
CN115086332A (zh) * | 2022-06-27 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
CN115086332B (zh) * | 2022-06-27 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
CN115412531A (zh) * | 2022-08-31 | 2022-11-29 | 深圳市创维软件有限公司 | 网络查询方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103888552B (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888552A (zh) | 快速访问互联网的方法、系统与终端装置 | |
US7599328B2 (en) | System and method for efficient selection of a packet data servicing node | |
US10263950B2 (en) | Directing clients based on communication format | |
EP2267984B1 (en) | Address configuring method, apparatus and system | |
CN1889572B (zh) | 因特网协议地址分配方法及动态主机配置协议中继 | |
JP2010518759A5 (zh) | ||
CN102291320A (zh) | Mac地址学习方法和边缘设备 | |
JP2002169694A (ja) | ネットワーク上のpxeクライアントにdhcpサーバを介してブート・サーバを自動的に割り当てる方法とシステム | |
CN111212134A (zh) | 一种请求报文处理方法、装置、边缘计算系统和电子设备 | |
CN104144123B (zh) | 访问互联网的方法、系统与路由型网关装置 | |
CN1929497B (zh) | 一种获取移动节点家乡代理信息的方法和系统 | |
US20040032865A1 (en) | Apparatus and method for establishing a call connection state in a packet data communication system | |
US20080120684A1 (en) | Method and System for Upgrading Distributed Set Top Box and Device thereof | |
WO2021104458A1 (zh) | 域名查询方法以及相关设备 | |
CN106470251A (zh) | 域名解析方法及虚拟dns权威服务器 | |
CN101753458A (zh) | 一种nd邻居表项的处理方法及装置 | |
CN102984295A (zh) | 一种移动终端及其地址分配方法 | |
CN104601743A (zh) | 基于以太的IP转发IPoE双栈用户接入控制方法和设备 | |
CN111431871A (zh) | Tcp半透明代理的处理方法和装置 | |
CN104969521A (zh) | 数据发送处理方法及路由器 | |
CN102137172A (zh) | 一种dns服务器访问方法及一种访问设备 | |
CN105827420A (zh) | 一种识别非法服务器的方法和装置 | |
KR101548959B1 (ko) | 패킷 통신 시스템에서 네트워크 주소 설정을 위한 장치 및방법 | |
CN101686265B (zh) | 网络设备、网络系统以及建立数据通讯的方法 | |
CN114745353A (zh) | IPv4端访问IPv4/IPv6网络的流量调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |