全文摘要
本发明提供了IPv4\/IPv6地址转换系统,属于互联网数据传输技术领域,包括网关接口模块解析客户端的访问请求;主网关处理模块获取对应的IPv4目标网站的地址,通过下行网关接口模块,访问IPv4目标网站,获取访问资源;应用层转换模块将访问资源中的外链地址转换为IPv6协议支持的地址;地址解析模块解析获取IPv6协议支持的地址中的外链IPv4目标地址信息;应用网关处理模块获取对应的外链IPv4目标网站的地址通过下行网关接口模块访问外链IPv4目标网站,获取访问资源。本发明的转换系统包括网络层和应用层转换,实现了IPv4与IPv6网络的无缝对接,在解决了网络层转换存在的内容缺失问题的同时,又在应用层转换时避免使用域名泛解析,降低了技术成本,提高了系统安全性。
主设计要求
1.一种IPv4\/IPv6地址转换系统,其特征在于,包括:网关接口模块,用于解析客户端的访问请求,获取IPv4目标地址信息,发送给主网关处理模块;主网关处理模块,用于根据IPv4目标地址信息访问DNS,获取对应的IPv4目标网站的IP地址,并设置IPv4目标网站的请求头内容,并把IPv4目标网站的请求头内容发给下行网关接口模块,访问IPv4目标网站,获取访问资源;应用层转换模块,用于根据预先配置的转换规则,将所述访问资源中的IPv4外链地址转换为IPv6协议支持地址,并将含有该地址信息的文本文件发送到客户端;其中,所述转换规则包括采用固定域名或实际IP地址在前、被转换地址在后的地址写法;地址解析模块,用于解析客户端根据所述文本文件发送的外链访问请求,获取IPv6协议支持地址中的外链IPv4目标地址信息;应用网关处理模块,用于根据所述外链IPv4目标地址信息访问DNS,获取对应的外链IPv4目标网站的IP地址,并设置外链IPv4目标网站的请求头内容,并把外链IPv4目标网站的请求头内容发送给下行网关接口模块,访问外链IPv4目标网站,获取外链访问资源。
设计方案
1.一种IPv4\/IPv6地址转换系统,其特征在于,包括:
网关接口模块,用于解析客户端的访问请求,获取IPv4目标地址信息,发送给主网关处理模块;
主网关处理模块,用于根据IPv4目标地址信息访问DNS,获取对应的IPv4目标网站的IP地址,并设置IPv4目标网站的请求头内容,并把IPv4目标网站的请求头内容发给下行网关接口模块,访问IPv4目标网站,获取访问资源;
应用层转换模块,用于根据预先配置的转换规则,将所述访问资源中的IPv4外链地址转换为IPv6协议支持地址,并将含有该地址信息的文本文件发送到客户端;其中,所述转换规则包括采用固定域名或实际IP地址在前、被转换地址在后的地址写法;
地址解析模块,用于解析客户端根据所述文本文件发送的外链访问请求,获取IPv6协议支持地址中的外链IPv4目标地址信息;
应用网关处理模块,用于根据所述外链IPv4目标地址信息访问DNS,获取对应的外链IPv4目标网站的IP地址,并设置外链IPv4目标网站的请求头内容,并把外链IPv4目标网站的请求头内容发送给下行网关接口模块,访问外链IPv4目标网站,获取外链访问资源。
2.根据权利要求1所述的IPv4\/IPv6地址转换系统,其特征在于,所述文本文件包括HTML文本文件、JS文本文件。
3.根据权利要求1所述的IPv4\/IPv6地址转换系统,其特征在于,所述转换规则包括采用固定域名或实际IP地址作为主机名,被转换地址作为路径的地址写法。
4.根据权利要求3所述的IPv4\/IPv6地址转换系统,其特征在于,所述IPv6协议支持的地址包括IPv6固定域名和外链IPv4目标地址信息。
5.根据权利要求4所述的IPv4\/IPv6地址转换系统,其特征在于,还包括:
安全检测模块,用于根据检测规则检测所述外链IPv4目标地址信息是否合法有效,若有效,则将所述外链IPv4目标地址信息发送给应用网关处理模块。
6.根据权利要求5所述的IPv4\/IPv6地址转换系统,其特征在于,所述检测规则包括:
检测所述外链IPv4目标地址信息是否属于应用网关认可有效的地址范围;
通过页面链接过来的访问方式被判定有效,直接从浏览器的地址栏输入的请求则被判断无效,返回403错误。
设计说明书
技术领域
本发明涉及互联网数据传输技术领域,具体涉及一种IPv4\/IPv6地址转换系统。
背景技术
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基础的协议。1981年Jon Postel在RFC791中定义了IP,IPv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议)、卫星链路等。
IPv6,是Internet Protocol Version6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代IPv4的下一代IP协议。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。因此,原本仅支持用户通过IPv4协议访问并获取服务的网站,升级改造成还支持用户通过IPv6协议访问并获取服务,对于用于访问互联网的快速高效具有重要意义。
复杂来说,网站IPv6升级改造是指通过技术升级和改造,将涉及到网站业务交互的各类应用系统和设备全面支持IPv4和IPv6双协议栈,能同时完成基于IPv4和IPv6协议的业务交互;或者通过技术改造,在IPv6协议和IPv4协议之间建立映射联系,帮助IPv6用户能够正确的获得IPv4的资源。
当前,网站IPv6升级改造的技术从技术类型方面主要有以下三种技术路线。
一种是双协议栈技术,该技术原理如图1所示。涉及到网站业务交互的各类应用系统、网络设备、运营支撑系统的软硬件设备同时运行IPv4和IPv6两套协议栈,能够同时处理IPv4和IPv6数据包。
第二种是隧道技术,该技术原理如图2所示。两个同质网络之间存在一个或者多个非同质网络,导致两个同质网络无法通讯时,通过将数据包进行隧道封装穿越非同质网络完成通信的技术。在当前情况下,主要指在IPv4网络中建立隧道,将IPv6的数据包封装到IPv4数据包中,通过IPv4路由体系传输穿越IPv4网络,实现IPv6站点之间的通信。
第三种是网络地址\/协议翻译(NAT\/PT)技术,在网站IPv6升级改造中典型的网络地址\/协议翻译(NAT\/PT)技术的应用是七层反向代理技术,该技术原理如图3所示。在IPv6和IPv4网络节点之间部署一个协议转换设备,在IPv6和IPv4之间建立网络层地址和协议端口的映射关系,以实现透明的IPv6和IPv4互访问。
上述三种技术存在以下缺点:第一种技术对站点要求较高,可能牵涉到服务器和网络设备升级,软件代码升级,投资较大且改造周期较长,是一种长期演进的技术,短期内比较适合于架构和业务相对简单的网站IPv6升级改造。第二种技术涉及到较为复杂的隧道配置,在网络复杂的情况下难以工作,对网络提供商在运行维护方面带来了极大的复杂性。并且多次的封装和解封装操作极大的提升了网络设备的负载,降低了网络利用率。在网站IPv6升级改造过程中,不建议大规模采用隧道技术。第三种技术与业务应用存在着强耦合的关系,在普适性方面有局限,在面对部分业务应用或者加密应用时,需要特定的应用层网关(ALG)协同工作才能完成IPv4和IPv6之间的业务通信。
另,上述三种技术如果在网页中还存在未改造成双栈网站的外链图片或外链窗口,在网页中还会出现空白的“天窗”,影响正常使用。停留在网络层的协议转换,当网站页面中出现外链图片或外链窗口时,会出现空白“天窗”的问题。
发明内容
本发明的目的在于提供一种IPv4\/IPv6地址转换系统,以解决上述背景技术中存在的技术问题。
为了实现上述目的,本发明采取了如下技术方案:
本发明提供的一种IPv4\/IPv6地址转换系统,包括:
网关接口模块,用于解析客户端的访问请求,获取IPv4目标地址信息,发送给主网关处理模块;
主网关处理模块,用于根据IPv4目标地址信息访问DNS,获取对应的IPv4目标网站的IP地址,并设置IPv4目标网站的请求头内容,并把IPv4目标网站的请求头内容发给下行网关接口模块,访问IPv4目标网站,获取访问资源;
应用层转换模块,用于根据预先配置的转换规则,将所述访问资源中的IPv4外链地址转换为IPv6协议支持地址,并将含有该地址信息的文本文件发送到客户端;
地址解析模块,用于解析客户端根据所述文本文件发送的外链访问请求,获取IPv6协议支持地址中的外链IPv4目标地址信息;
应用网关处理模块,用于根据所述外链IPv4目标地址信息访问DNS,获取对应的外链IPv4目标网站的IP地址,并设置外链IPv4目标网站的请求头内容,并把外链IPv4目标网站的请求头内容发送给下行网关接口模块,访问外链IPv4目标网站,获取外链访问资源。
进一步的,所述文本文件包括HTML文本文件、JS文本文件。
进一步的,所述转换规则包括采用固定域名或实际IP地址在前、被转换地址在后的地址写法。
进一步的,所述转换规则包括采用固定域名或实际IP地址作为主机名,被转换地址作为路径的地址写法。
进一步的,所述IPv6协议支持的地址包括IPv6固定域名和外链IPv4目标地址信息。
进一步的,该系统还包括:
安全检测模块,用于根据检测规则检测所述外链IPv4目标地址信息是否合法有效,若有效,则将所述外链IPv4目标地址信息发送给应用网关处理模块;
进一步的,所述检测规则包括:
检测所述外链IPv4目标地址信息是否属于应用网关认可有效的地址范围;
通过页面链接过来的访问方式被判定有效,直接从浏览器的地址栏输入的请求则被判断无效,返回403错误。
本发明有益效果:有效解决网络层地址转换技术普遍存在的内容缺失(天窗)问题,同时能作为内容分发网络,为网站加速,提供互联网综合业务服务,有效保护设备投资,网站无需更改现有系统结构和软硬件设施,实现IPv4与IPv6网络的无缝对接;采用固定域名或实际IP地址在前、被转换地址在后,并将固定域名或实际IP地址作为主机名,被转换地址作为路径的地址写法,在满足地址转换的同时,特别是相比把部分被转换地址写在域名中的地址写法,提高了系统的安全性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中双协议栈转换技术的原理框图。
图2为现有技术中隧道转换技术的原理框图。
图3为现有技术中七层反向代理技术的原理框图。
图4为本发明实施例一所述的IPv4\/IPv6地址转换系统的原理框图。
图5为本发明实施例二所述的所述的IPv4\/IPv6地址转换系统在主网关处理中的原理框图。
图6为为本发明实施例二所述的所述的IPv4\/IPv6地址转换系统在应用网关处理中的原理框图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的模块。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和\/或模块,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、模块和\/或它们的组。
需要说明的是,在本发明所述的实施例中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,可以是固定连接,也可以是可拆卸连接,或成一体,可以是机械连接,也可以是电连接,可以是直接连接,也可以是通过中间媒介间接连接,可以是两个元件内部的连通,或两个元件的相互作用关系,除非具有明确的限定。对于本领域技术人员而言,可以根据具体情况理解上述术语在本发明实施例中的具体含义。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且实施例并不构成对本发明实施例的限定。
本领域普通技术人员应当理解的是,附图只是一个实施例的示意图,附图中的部件或装置并不一定是实施本发明所必须的。
实施例一
如图4所示,本发明实施例一提供了一种IPv4\/IPv6地址转换系统,该系统包括:
网关接口模块,用于解析客户端的访问请求,获取IPv4目标地址信息,发送给主网关处理模块;
主网关处理模块,用于根据IPv4目标地址信息访问DNS,获取对应的IPv4目标网站的IP地址,并设置IPv4目标网站的请求头内容,并把IPv4目标网站的请求头内容发给下行网关接口模块,访问IPv4目标网站,获取访问资源;
应用层转换模块,用于根据预先配置的转换规则,将所述访问资源中的IPv4外链地址转换为IPv6协议支持地址,并将含有该地址信息的文本文件发送到客户端;
地址解析模块,用于解析客户端根据所述文本文件发送的外链访问请求,获取IPv6协议支持地址中的外链IPv4目标地址信息;
应用网关处理模块,用于根据所述外链IPv4目标地址信息访问DNS,获取对应的外链IPv4目标网站的IP地址,并设置外链IPv4目标网站的请求头内容,并把外链IPv4目标网站的请求头内容发送给下行网关接口模块,访问外链IPv4目标网站,获取外链访问资源。
在本发明的具体实施例一中,所述文本文件包括HTML文本文件、JS文本文件。
在本发明的具体实施例一中,所述转换规则包括采用固定域名或实际IP地址在前、被转换地址在后的地址写法。
在本发明的具体实施例一中,所述转换规则包括采用固定域名或实际IP地址作为主机名,被转换地址作为路径的地址写法。
在本发明的具体实施例一中,所述IPv6协议支持的地址包括IPv6固定域名和外链IPv4目标地址信息。
在本发明的具体实施例一中,该系统还包括:
安全检测模块,用于根据检测规则检测所述外链IPv4目标地址信息是否合法有效,若有效,则将所述外链IPv4目标地址信息发送给应用网关处理模块;
在本发明的具体实施例一中,所述检测规则包括:
检测所述外链IPv4目标地址信息是否属于应用网关认可有效的地址范围;
通过页面链接过来的访问方式被判定有效,直接从浏览器的地址栏输入的请求则被判断无效,返回403错误。
实施例二
如图5所示,本发明实施例二提供一种IPv4\/IPv6地址转换系统,在主网关处理流程中,客户端浏览器通过IPv6协议向主网关发起http请求,网关接口模块通过监听端口接收到请求之后,对请求地址进行解析,得到要访问的服务器主机名和URL(统一资源定位符)名称,根据配置程序中的定义,并访问DNS,找到对应的IPv4服务器的地址,完成网络层地址转换,然后通过下行网关接口向IPv4服务器的URL发起访问请求。
应答结果由下行网关接口接收,并交由主处理模块处理,然后交由应用层转换模块进行处理,每个应用层转换模块定义了多个不同的转换规则,按顺序处理地址数据。应用层转换模块主要功能是识别外链地址,并对外链地址进行处理,转换其中的地址信息,新地址指向应用网关地址。
所有应用层转换都完成之后,最终的转换结果发回到客户端。
客户端接收到主网关发回的应答结果之后,其中的外链地址都已做了处理并指向应用网关地址,当客户端触发了对外链地址的请求,例如:资源类图片请求(src)等,应用网关则会接收到该请求。
系统对外链地址的处理,采用了特殊的处理方法,在每个需要被转换的地址之前,加上应用网关的固定域名或IP地址,并加上端口号,如果是80或443端口,可以省略端口号,实现对应用网关的寻址,而被转换地址信息作为请求信息,放在应用网关域名或IP地址的后面,被转换地址可以直接写在应用网关地址后面作为路径,也可以按照一定规则做一些加密变换。
格式如下:
http:\/\/应用网关的固定域名或IP地址\/需要被转换的原地址信息
http:\/\/应用网关的固定域名或IP地址:端口号\/需要被转换的原地址信息
https:\/\/应用网关的固定域名或IP地址\/需要被转换的原地址信息
https:\/\/应用网关的固定域名或IP地址:端口号\/需要被转换的原地址信息
\/\/应用网关的固定域名或IP地址\/需要被转换的原地址信息
\/\/应用网关的固定域名或IP地址:端口号\/需要被转换的原地址信息
示例如下:
http:\/\/ipv6.voicesky.cn\/www.sohu.com\/pic\/photo.jpg
http:\/\/ipv6.voicesky.cn:8080\/www.sohu.com\/pic\/photo.jpg
https:\/\/ipv6.voicesky.cn\/www.sohu.com\/pic\/photo.jpg
https:\/\/[2408:1800:512:330::2]\/www.sohu.com\/pic\/photo.jpg
https:\/\/123.25.38.100\/www.sohu.com\/pic\/photo.jpg
https:\/\/123.25.38.100:8088\/www.sohu.com\/pic\/photo.jpg
其中,ipv6.voicesky.cn是应用网关的固定域名示例,
www.sohu.com\/pic\/photo.jpg是需要被转换的原地址示例。
这种对地址转换的处理方法,即能有效把需要转换的地址数据传输到应用网关,同时也能保证原请求地址信息的完整。
通常情况下,访问应用网关只需要通过服务器的80端口或443端口,不需要开启其它端口,即可实现应用层的地址转换,降低了服务器的安全风险。
客户端浏览器接收到主网关返回的应答HTML、JS等文件之后,HTML、JS文件中所有涉及到外链资源的地址都已做了应用层转换。
浏览器按照转换后的地址访问指定资源,转换后的地址指向了应用网关,外链资源的数据获取由应用网关完成。
如图6所示,本发明实施例二所述的系统,在应用网关处理流程中,http请求进入应用网关的监听端口之后,首先由地址解析模块对接收到的请求地址(URL)进行解析,提取其中实际要访问的地址,例如:
应用网关接收到的地址为(示例):
http:\/\/ipv6.test.com\/www.sohu.com\/pic\/photo1.jpg
经过地址解析之后,得到实际需要访问的地址为(示例):
http:\/\/www.sohu.com\/pic\/photo1.jpg
之后进入安全检测模块,安全检测模块主要检测请求的地址是否合法有效,检测规则包括:
请求地址是否属于应用网关认可有效的地址范围。
客户端浏览器的请求方式,通过页面链接过来的访问方式被判定有效,如果是直接从浏览器的地址栏输入的请求则被判断无效,返回403错误。
当请求地址被判定有效时,主处理模块开始处理请求地址,通过下行网关接口向要访问的IPv4网站发送地址请求,并把IPv4网站的返回结果发送到应用层转换模块。
应用层转换模块包括多个转换规则,应用层转换模块主要功能是识别外链地址,并对外链地址进行处理,转换其中的地址信息,新地址指向应用网关地址。地址的转换方式和主网关处理中的应用层地址转换方式相同。
由于浏览器会反复向我们的主网关和应用网关发送请求,我们只是对请求的地址格式进行解析,并对返回结果进行应用层转换。
例如,当浏览器发送http:\/\/www.abc.com请求时,由于域名www.abc.com的实际IP地址指向了主网关的IP,因此主网关收到了该请求,并从IPv4网站获取数据,应用层转换会处理获取到的数据,找寻其中需要被转换的地址,这些转换规则是预先由人定义好的,例如:其中有地址为src='http:\/\/www.sohu.com\/pic.jpg',由于www.sohu.com只有IPv4网站,IPv6客户端无法访问,需要对该地址进行转换。
转换为:http:\/\/ipv6.abc.com\/www.sohu.com\/pic.jpg。并把含有这个地址的HTML文本文件发送到客户端。客户端会继续打开网页的过程,它会继续加载其中的各类资源,如果涉及到了外链资源,例如上述地址中的pic.jpg,则会访问http:\/\/ipv6.abc.com\/www.sohu.com\/pic.jpg地址,由于ipv6.abc.com这个IP地址指向了我们的应用网关,所以这个请求由应用网关来处理。应用网关从IPv4网站获取数据,这个例子中是pic.jpg文件,然后交由应用转换层处理,由于这次是图片文件,应用转换层不需要处理,如果是html或js等文本文件,则查找是否有对应的转换规则,如果存在规则,则会完成转换,并把结果返回客户端。
转换规则示例:把src='\/\/123.23.55.120:8080\/test.js'替换为src='http:\/\/ipv6.abc.com\/123.23.55.120:8080\/test.js'。
综上所述,本发明实施例所述的IPv4\/IPv6地址转换平台,融合了应用层协议转换和网络层协议转换技术,同时从应用层和网络层对IPv4\/IPv6协议进行转换,有效解决网络层转换技术普遍存在的内容缺失(天窗)问题,具有更优的转换效果。可以快速实现从IPv4到IPv6的升级,而不需对原IPv4系统进行改造,同时保证两个系统都能正常运行,降低了技术改造成本。采用固定域名或IP地址的应用网关,在满足协议转换的同时,相比泛解析域名的应用网关,也增加了系统的安全性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
设计图
相关信息详情
申请码:申请号:CN201910002333.0
申请日:2019-01-02
公开号:CN109451097A
公开日:2019-03-08
国家:CN
国家/省市:11(北京)
授权编号:CN109451097B
授权时间:20190712
主分类号:H04L 29/12
专利分类号:H04L29/12
范畴分类:39B;
申请人:北京宏图佳都通信设备有限公司
第一申请人:北京宏图佳都通信设备有限公司
申请人地址:100012 北京市朝阳区大屯路222号院2号楼7层701
发明人:李浩
第一发明人:李浩
当前权利人:北京宏图佳都通信设备有限公司
代理人:邹芳德
代理机构:11255
代理机构编号:北京市商泰律师事务所
优先权:关键词:当前状态:审核中
类型名称:外观设计
标签:应用层论文; ipv6论文; 内部网关协议论文; dns论文; 地址论文; 域名服务器论文; 外链论文; ipv4论文; ip协议论文; http请求论文;