一种基于IPV6IPV4的CDN平台访问方法及系统与流程

文档序号:21478365发布日期:2020-07-14 17:04阅读:1046来源:国知局
一种基于IPV6 IPV4的CDN平台访问方法及系统与流程

本发明属于源站ipv6改造技术领域,具体涉及一种基于ipv6ipv4的cdn平台访问方法及系统。



背景技术:

ipv4地址空间的不足阻碍和限制了互联网的发展,因此ipv6取代ipv4已成必然趋势。当前大多数解决源站ipv6升级的方案是:在源站前端部署ipv6到ipv4的转换设备,使得源站支持ipv6,还会支持网站第三方外链改写,以解决天窗问题。现有的互联网环境下,随着用户对网络性能要求的提高,大部分网站都需要使用cdn提升访问速度,改善用户体验。

现有源站ipv6改造技术存在以下两个弊端:

1.在源站前端部署ipv6改造设备,需要改动源站的网络部署,比较麻烦。

2.若使用cdn,无法将支持ipv6的用户解析回支持ipv6的源站,同时兼容ipv6、ipv4的用户访问的是ipv4环境,仅支持ipv6的用户无法访问。



技术实现要素:

针对现有技术中的缺陷,本发明提供了一种基于ipv6和ipv4的cdn平台部署方法及系统,在源站不做任何改动的情况下支持ipv6;ipv6和ipv4的用户可以共用缓存资源,保证ipv6的cdn加速效果;通过部署的天窗改造装置,对网站的外链进行改写,解决纯ipv6环境下用户访问外链存在的天窗问题。

第一方面,本发明提供了一种基于ipv6ipv4的cdn平台访问方法,包括以下步骤:

用户终端向dns服务器发送dns请求,dns服务器根据dns请求向用户反馈dns响应;

用户终端根据dns响应得到的ipv6地址或ipv4地址,向cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求得到响应内容,并将响应内容发送给天窗改造装置;

天窗改造装置根据响应内容判断用户是否为ipv6用户,如果是ipv6用户,则判断响应内容是否存在外链,如果存在外链,则将响应内容进行外链改写后反馈给用户终端。

优选地,所述用户终端向dns服务器发送dns请求,dns服务器根据dns请求向用户反馈dns响应,具体为:

用户终端根据本地网络环境发起网站域名的ipv4或ipv6的dns请求;

dns服务器根据dns请求中的用户ip得到用户所属的区域运营商,并查询到区域运营商服务的cdn边缘节点服务器的ipv4地址和ipv6地址;

根据dns请求判断响应ipv4地址还是ipv6地址,若是dns请求aaaa记录,则向用户终端反馈cdn边缘节点服务器的ipv6地址,若是dns请求a记录,则向用户终端反馈cdn边缘节点服务器的ipv4地址。

优选地,所述用户终端根据dns响应得到的ipv6地址或ipv4地址,向cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求得到响应内容,并将响应内容发送给天窗改造装置,具体为:

用户终端根据ipv6地址或ipv4地址,向对应的cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求进行本地查询,并判断是否有本地缓存,若有本地缓存,则读取响应内容并将响应内容发送给天窗改造装置,若没有本地缓存,则向源站或cdn父节点发起请求,获取源站或cdn父节点反馈的响应内容,并将响应内容发送给天窗改造装置。

优选地,所述天窗改造装置根据响应内容判断用户是否为ipv6用户,如果是ipv6用户,则判断响应内容是否存在外链,如果存在外链,则将响应内容进行外链改写后反馈给用户终端,具体为:

天窗改造装置根据响应内容中的用户ip判断用户是否为ipv6用户;若是ipv6用户,则进一步判断响应内容是否存在外链,若存在外链,则将响应内容进行外链改写后反馈给用户终端,若不存在外链,则直接反馈响应内容给用户终端;若不是ipv6用户,则直接反馈响应内容给用户终端。

优选地,所述将响应内容进行外链改写后反馈给用户终端,具体为:

提取响应内容中的外链域名,根据改写规则得到对应的支持ipv6的外链新域名;将外链域名改写为外链新域名,并将外链改写后的响应内容反馈给用户终端。

优选地,所述支持ipv6的外链新域名,即为支持ipv6域名解析且可重新解析到本系统的域名。

优选地,还包括以下步骤:

用户终端进行外链访问时,天窗改造装置进行安全合法性验证和原始url还原,并根据原始url获取响应内容,将响应内容反馈给用户终端。

优选地,所述用用户终端进行外链访问时,天窗改造装置进行安全合法性验证和原始url还原,并根据原始url获取响应内容,将响应内容反馈给用户终端,具体为:

用户终端访问改写后的外链,天窗改造装置对改写后的外链进行安全合法性验证,若验证是经过本系统改写的,则根据外链新域名还原原始url,通过原始url获取响应内容,若验证不是本系统改写的,则向用户终端响应403拒绝服务或断开连接不响应。

第二方面,本发明提供了一种基于ipv6和ipv4的cdn平台系统,适用于第一方面所述的一种基于ipv6ipv4的cdn平台访问方法,包括:dns服务器、cdn边缘节点服务器和天窗改造装置;

用户终端向dns服务器发送dns请求,dns服务器根据dns请求向用户反馈dns响应;

用户终端根据dns响应得到的ipv6地址或ipv4地址,向cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求得到响应内容,并将响应内容发送给天窗改造装置;

天窗改造装置根据响应内容判断用户是否为ipv6用户,如果是ipv6用户,则判断响应内容是否存在外链,如果存在外链,则将响应内容进行外链改写后反馈给用户终端。

优选地,所述天窗改造装置部署在cdn边缘节点服务器内,或者所述天窗改造装置部署在一个单独的服务器内。

本发明的技术方案,在源站不做任何改动的情况下支持ipv6;ipv6和ipv4的用户可以共用缓存资源,保证ipv6的cdn加速效果;通过部署的天窗改造装置,对网站的外链进行改写,解决纯ipv6环境下用户访问外链存在的天窗问题。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本实施例中基于ipv6ipv4的cdn平台访问方法的流程图;

图2为本实施例中基于ipv6ipv4的cdn平台系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和、或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和、或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和、或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“若”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“若确定”或“若检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例一:

本实施例提供了一种基于ipv6ipv4的cdn平台访问方法,如图1所示,包括以下步骤:

s1,用户终端向dns服务器发送dns请求,dns服务器根据dns请求向用户反馈dns响应;

s2,用户终端根据dns响应得到的ipv6地址或ipv4地址,向cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求得到响应内容,并将响应内容发送给天窗改造装置;

s3,天窗改造装置根据响应内容判断用户是否为ipv6用户,如果是ipv6用户,则判断响应内容是否存在外链,如果存在外链,则将响应内容进行外链改写后反馈给用户终端;

s4,用户终端进行外链访问时,天窗改造装置进行安全合法性验证和原始url还原,并根据原始url获取响应内容,将响应内容反馈给用户终端。

本实施例的步骤s1具体包括:

用户终端根据本地网络环境发起网站域名的ipv4或ipv6的dns请求;

dns服务器根据dns请求中的用户ip得到用户所属的区域运营商,并查询到区域运营商服务的cdn边缘节点服务器的ipv4地址和ipv6地址;

根据dns请求判断响应ipv4地址还是ipv6地址,若是dns请求aaaa记录,则向用户终端反馈cdn边缘节点服务器的ipv6地址,若是dns请求a记录,则向用户终端反馈cdn边缘节点服务器的ipv4地址。

本实施例中,用户向dns服务器发起查询请求后,dns服务器根据dns请求,向用户反馈对应的cdn边缘节点服务器ip地址。dns请求a记录,则向用户反馈cdn边缘节点服务器的ipv4地址,dns请求aaaa记录,则向用户反馈cdn边缘节点服务器的ipv6地址。(备注:ipv6用户一般情况下会发起dns请求aaaa记录)

本实施例的步骤s2具体包括:

用户终端根据ipv6地址或ipv4地址,向对应的cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求进行本地查询,并判断是否有本地缓存,若有本地缓存,则读取响应内容并将响应内容发送给天窗改造装置,若没有本地缓存,则向源站或cdn父节点发起请求,获取源站或cdn父节点反馈的响应内容,并将响应内容发送给天窗改造装置。

本实施例中,用户终端在得到ipv6地址和ipv4地址后,向对应的cdn边缘节点服务器发起请求。如果cdn边缘节点服务器内有用户请求的内容,则直接将响应内容发送给天窗改造装置处理,如果cdn边缘节点服务器内没有用户请求的内容,需要从源站或cdn父节点获取响应内容,再将响应内容转发给天窗改造装置。

本实施例的步骤s3具体包括:

天窗改造装置根据响应内容中的用户ip判断用户是否为ipv6用户;若是ipv6用户,则进一步判断响应内容是否存在外链,若存在外链,则将响应内容进行外链改写后反馈给用户终端,若不存在外链,则直接反馈响应内容给用户终端;若不是ipv6用户,则直接反馈响应内容给用户终端。

随着网络技术的发展,现有的ipv4网络逐渐升级为ipv6网络,天窗问题是发展下一代互联网升级ipv6网络中,必然会遇到的问题。天窗问题,即当网页包含其它网站内容的链接(外链)时,ipv6用户访问该网站时会出现部分内容无法显示,部分功能无法使用等情况。因此本实施例通过部署的天窗改造装置来处理天窗问题。根据响应内容要反馈的对象,知道用户类型,如果是ipv4用户,则不存在天窗问题,直接反馈响应内容给用户终端。如果是ipv6用户,则可能存在天窗问题,因此要进一步判断响应内容中是否存在外链,不存在外链,直接反馈响应内容给用户终端,存在外链,则对外链进行改写,将外链改写后的响应内容反馈给用户终端。

其中,所述将响应内容进行外链改写后反馈给用户终端,具体为:

提取响应内容中的外链域名,根据改写规则得到对应的支持ipv6的外链新域名;将外链域名改写为外链新域名,并将外链改写后的响应内容反馈给用户终端。

本实施例的所述支持ipv6的外链新域名,即为支持ipv6域名解析且可重新解析到本系统的域名。外链改写的注意点:1.天窗改造装置要确保改写后的外链资源过来访问的时候能够按照一定的规则还原到原始的url;2.外链改写规则要避免出现各级域名长度或者域名总长度过长的情况,否则会出现域名无法解析;3.改写的规则最好有自己的加密方法,用于防止其他人轻易识别系统的改写规则,利用改写规则将非服务的请求导入到系统,对系统的安全合法性造成影响。

本实施例的步骤s4具体包括:

用户终端访问改写后的外链,天窗改造装置对改写后的外链进行安全合法性验证,若验证是经过本系统改写的,则根据外链新域名还原原始url,通过原始url获取响应内容,若验证不是本系统改写的,则向用户终端响应403拒绝服务或断开连接不响应。

本实施例中,用户得到改写后的页面,在访问外链资源时会访问到ipv6cdn边缘节点服务器,ipv6cdn边缘节点服务器对应的天窗改造装置会将外链还原为原始url,通过原始url进行访问,如果有本地缓存,则读取缓存响应用户,如果没有本地缓存,则通过回源获取响应并反馈用户。

对于外链的改写和访问,下面举例说明。

例如用户访问www.wanwuyunlian.com,该页面可能包含不支持ipv6的外链资源,比如外链域名:

http://www.ipv4.com/1.jpg或者http://112.45.10.114/2.jpg

需要将这些外链域名使用一定的改写规则进行改写,比如改写后的外链新域名为:

http://www--ipv4--com--a8x0.wanwuyunlian.com/1.jpg或者http://112--45--10--114--xu2k/2.jpg

在用户重新过来访问时,进行安全合法性验证和原始url还原处理以反馈正确的响应内容。安全合法性验证:比如两个url中的a8x0和xu2k是根据一定的加密方式算出来的加密串,可以根据加密串判断该url是否为本系统改写的,还是其他非法恶意的请求。在原始url还原时,可以根据改写规则还原出原始的url,如还原为

http://www.ipv4.com/1.jpg或者http://112.45.10.114/2.jpg

然后通过还原后的该url去源站获取响应或者从cdn边缘节点服务器的缓存中获取响应,将响应发送给用户。

综上所述,本实施例通过cdn平台支持ipv6,源站域名cname的方式接入,可以在源服务器网络部署无需做任何改变的情况下支持ipv6用户访问;通过在cdn平台中部署ipv6天窗改造装置,可以在源服务器的代码结构、业务逻辑无需任何改动的情况下解决ipv6用户访问网站外链存在的天窗问题。将ipv4、ipv6同时接入cdn,提升所有用户的访问速度,同时通过ipv4和ipv6用户共用缓存资源,提升ipv6的用户访问速度,并不因ipv6访问数量少,cdn缓存服务器上没有缓存需要回源,而导致访问速度慢的问题。

实施例二:

本实施例提供了一种基于ipv6和ipv4的cdn平台系统,适用于实施例一所述的一种基于ipv6ipv4的cdn平台访问方法,如图2所示,包括:dns服务器、cdn边缘节点服务器和天窗改造装置;

用户终端向dns服务器发送dns请求,dns服务器根据dns请求向用户反馈dns响应;

用户终端根据dns响应得到的ipv6地址或ipv4地址,向cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求得到响应内容,并将响应内容发送给天窗改造装置;

天窗改造装置根据响应内容判断用户是否为ipv6用户,如果是ipv6用户,则判断响应内容是否存在外链,如果存在外链,则将响应内容进行外链改写后反馈给用户终端;

用户终端进行外链访问时,天窗改造装置进行安全合法性验证和原始url还原,并根据原始url获取响应内容,将响应内容反馈给用户终端。

本实施例的所述天窗改造装置部署在cdn边缘节点服务器内,或者所述天窗改造装置部署在一个单独的服务器内。

用户终端根据本地网络环境发起网站域名的ipv4或ipv6的dns请求;dns服务器根据dns请求中的用户ip得到用户所属的区域运营商,并查询到区域运营商服务的cdn边缘节点服务器的ipv4地址和ipv6地址;

根据dns请求判断响应ipv4地址还是ipv6地址,若是dns请求aaaa记录,则向用户终端反馈cdn边缘节点服务器的ipv6地址,若是dns请求a记录,则向用户终端反馈cdn边缘节点服务器的ipv4地址。

本实施例中,用户向dns服务器发起查询请求后,dns服务器根据dns请求,向用户反馈对应的cdn边缘节点服务器ip地址。dns请求a记录,则向用户反馈cdn边缘节点服务器的ipv4地址,dns请求aaaa记录,则向用户反馈cdn边缘节点服务器的ipv6地址。

用户终端根据ipv6地址或ipv4地址,向对应的cdn边缘节点服务器发起http请求,cdn边缘节点服务器根据http请求进行本地查询,并判断是否有本地缓存,若有本地缓存,则读取响应内容并将响应内容发送给天窗改造装置,若没有本地缓存,则向源站或cdn父节点发起请求,获取源站或cdn父节点反馈的响应内容,并将响应内容发送给天窗改造装置。

本实施例中,用户终端在得到ipv6地址和ipv4地址后,向对应的cdn边缘节点服务器发起请求。如果cdn边缘节点服务器内有用户请求的内容,则直接将响应内容发送给天窗改造装置处理,如果cdn边缘节点服务器内没有用户请求的内容,需要从源站或cdn父节点获取响应内容,再将响应内容转发给天窗改造装置。

天窗改造装置根据响应内容中的用户ip判断用户是否为ipv6用户;若是ipv6用户,则进一步判断响应内容是否存在外链,若存在外链,则将响应内容进行外链改写后反馈给用户终端,若不存在外链,则直接反馈响应内容给用户终端;若不是ipv6用户,则直接反馈响应内容给用户终端。

随着网络技术的发展,现有的ipv4网络逐渐升级为ipv6网络,天窗问题是发展下一代互联网升级ipv6网络中,必然会遇到的问题。天窗问题,即当网页包含其它网站内容的链接(外链)时,ipv6用户访问该网站时会出现部分内容无法显示,部分功能无法使用等情况。因此本实施例通过部署的天窗改造装置来处理天窗问题。根据响应内容要反馈的对象,知道用户类型,如果是ipv4用户,则不存在天窗问题,直接反馈响应内容给用户终端。如果是ipv6用户,则可能存在天窗问题,因此要进一步判断响应内容中是否存在外链,不存在外链,直接反馈响应内容给用户终端,存在外链,则对外链进行改写,将外链改写后的响应内容反馈给用户终端。

其中,所述将响应内容进行外链改写后反馈给用户终端,具体为:

提取响应内容中的外链域名,根据改写规则得到对应的支持ipv6的外链新域名;将外链域名改写为外链新域名,并将外链改写后的响应内容反馈给用户终端。

本实施例的所述支持ipv6的外链新域名,即为支持ipv6域名解析且可重新解析到本系统的域名。外链改写的注意点:1.天窗改造装置要确保改写后的外链资源过来访问的时候能够按照一定的规则还原到原始的url;2.外链改写规则要避免出现各级域名长度或者域名总长度过长的情况,否则会出现域名无法解析;3.改写的规则最好有自己的加密方法,用于防止其他人轻易识别系统的改写规则,利用改写规则将非服务的请求导入到系统,对系统的安全合法性造成影响。

用户终端访问改写后的外链,天窗改造装置对改写后的外链进行安全合法性验证,若验证是经过本系统改写的,则根据外链新域名还原原始url,通过原始url获取响应内容,若验证不是本系统改写的,则向用户终端响应403拒绝服务或断开连接不响应。

本实施例中,用户得到改写后的页面,在访问外链资源时会访问到ipv6cdn边缘节点服务器,ipv6cdn边缘节点服务器对应的天窗改造装置会将外链还原为原始url,通过原始url进行访问,如果有本地缓存,则读取缓存响应用户,如果没有本地缓存,则通过回源获取响应并反馈用户。

对于外链的改写和访问,下面举例说明。

例如用户访问www.wanwuyunlian.com,该页面可能包含不支持ipv6的外链资源,比如外链域名:

http://www.ipv4.com/1.jpg或者http://112.45.10.114/2.jpg

需要将这些外链域名使用一定的改写规则进行改写,比如改写后的外链新域名为:

http://www--ipv4--com--a8x0.wanwuyunlian.com/1.jpg或者http://112--45--10--114--xu2k/2.jpg

在用户重新过来访问时,进行安全合法性验证和原始url还原处理以反馈正确的响应内容。安全合法性验证:比如两个url中的a8x0和xu2k是根据一定的加密方式算出来的加密串,可以根据加密串判断该url是否为本系统改写的,还是其他非法恶意的请求。在原始url还原时,可以根据改写规则还原出原始的url,如还原为

http://www.ipv4.com/1.jpg或者http://112.45.10.114/2.jpg

然后通过还原后的该url去源站获取响应或者从cdn边缘节点服务器的缓存中获取响应,将响应发送给用户。

综上所述,本实施例通过cdn平台支持ipv6,源站域名cname的方式接入,可以在源服务器网络部署无需做任何改变的情况下支持ipv6用户访问;通过在cdn平台中部署ipv6天窗改造装置,可以在源服务器的代码结构、业务逻辑无需任何改动的情况下解决ipv6用户访问网站外链存在的天窗问题。将ipv4、ipv6同时接入cdn,提升所有用户的访问速度,同时通过ipv4和ipv6用户共用缓存资源,提升ipv6的用户访问速度,并不因ipv6访问数量少,cdn缓存服务器上没有缓存需要回源,而导致访问速度慢的问题。

本发明的技术方案,在源站不做任何改动的情况下支持ipv6;ipv6和ipv4的用户可以共用缓存资源,保证ipv6的cdn加速效果;通过部署的天窗改造装置,对网站的外链进行改写,解决纯ipv6环境下用户访问外链存在的天窗问题。

此外,本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元或步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的实施例中,应该理解到,所述步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可结合为一个步骤,一个步骤可拆分为多个步骤,或一些特征可以忽略等。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1