您的位置:首页 > 参评方案展示 > 下一代互联网

南昌大学:IPv6过渡阶段基于双栈反向代理技术的应用研究

  0 引 言

  自从全球地址分配机构(IANA)于2011年2月3日正式宣布,将其最后的IPv4地址平均分配到全球5个地区的互联网络信息中心;目前仅剩下非洲互联网信息中心(AFRINIC)可正常分配IPv4地址[1]。IPv4向IPv6的全面过渡更加紧迫,但由于互联网的复杂性和多样性,这个过渡必将是一个漫长的过程。由于IPv4协议和IPv6协议本质上不兼容,在过渡阶段如何快速有效的向纯IPv4和纯IPv6用户提供支持IPv4/IPv6的服务,最终实现平滑过渡,是必须要考虑和解决的问题。

  本文首先介绍了IPv6过渡阶段的WEB服务过渡机制,然后设计了采用双栈反向代理服务实现同时支持IPv4/IPv6的WEB服务方案,并针对IPv6过渡的4个阶段制定了双栈反向代理的过渡策略,最后对基于双栈反向代理的方案与其他常用过渡机制进行比较并得出结论。

  1 IPv6过渡阶段的WEB服务过渡策略介绍

  文献[2]将IPv6过渡分为4个阶段:纯IPv4(阶段0),IPv4为主、存在少量的IPv6(阶段1),IPv6为主、存在少量的IPv4(阶段2)和纯IPv6(阶段3).由于阶段0和阶段3通信需求仅限于IPv4、IPv6同协议访问,其中阶段1和阶段2的不同点在于纯IPv4网络、双栈网络、纯IPv6网络接入类型所占比例的多少。本文主要讨论阶段1和阶段2的场景,需要同时满足终端IPv4/IPv6用户访问IPv6/IPv4WEB服务的需求。如表1所示只有双栈方式接入的终端用户能够访问所有的IPv4/IPv6服务,纯IPv4用户不能访问纯IPv6服务,纯IPv6用户不能访问纯IPv4服务。要满足所有终端用户同时能够访问IPv4/IPv6服务,需要终端用户通过IPv4-over-IPv6或IPv6-over-IPv4隧道的方式建立另外一种协议的通信通道,隧道的建立需要终端用户做一定的配置,对于情况各异的用户来说难以大规模使用。

  表1 终端用户在IPv6过渡阶段访问IPv4/IPv6WEB服务的方式

用户类型

IPv4服务

双栈服务

IPv6服务

 

方式

用户透明

方式

用户透明

方式

用户透明

IPv4

直接IPv4路由

直接IPv4路由

IPv4-over-IPv6隧道

双栈

直接IPv4路由

直接路由

直接IPv6路由

IPv6

IPv6-over-IPv4隧道

直接IPv6路由

直接IPv6路由

  因此需要从WEB服务端实现纯IPv4和纯IPv6用户的访问,通常有以下两种方法:1)服务器基于双栈提供WEB服务,原生支持IPv4/IPv6;2)IPv4-IPv6翻译,通过一个翻译模块将IPv4 数据包和IPv6 数据包互相转换,翻译机制可以分为无状态翻译,如SIIT(stateless IP/ICMP translation)和IVI(IV stands for 4 and VI stands for 6),以及有状态翻译,如NAT-PT(NAT-protocol translation)和NAT64。[3-5]

  WEB服务本身采用双栈方式是首选,它可避免因转换导致的任何复杂性,并为服务器提供最多信息。[6]双栈方式需要整个链路上的设备均支持双栈,包括服务器和应用本身,这意味着可能涉及到网络改造和软硬件设备更新,且公网双栈需要消耗公网IPv4地址。IPv4-IPv6翻译机制需要在边界部署路由或网关,无状态翻译机制不需要维护会话的状态,具有一定的灵活性,但它是以消耗IPv4地址空间的代价来实现双向通信,有状态翻译机制需要翻译器维护一个动态的地址(地址和端口)映射和一个IPv4地址资源池。

  由于公网双栈方式和无状态翻译机制WEB服务本身需要消耗公网IPv4地址空间,他们没有解决IPv6协议主要解决的地址空间的问题;私网双栈虽然不消耗公网IPv4地址但仍然需要链路上设备的支持;另外,私网双栈和有状态翻译机制需要部署路由或网关并维护会话状态,增加了网络复杂性。因此,为了降低IPv6过渡期间WEB服务部署实施的复杂度,本文提出采用双栈反向代理的方式实现过渡时期对WEB服务的访问,通过将反向代理服务器部署在双栈环境中,WEB服务可以只接入纯IPv4或纯IPv6,不需要对现有网络结构做任何改变,进而逐步完成向IPv6的过渡。

  2 双栈反向代理服务方案的设计

  反向代理是指由代理服务器来接收来自互联网的访问请求,再把访问请求转发到对应的网站服务器,并从对应网站服务器获取结果返回给访问用户。[7]对于终端用户来说,用户正常访问网页即可,不需要做任何改变或配置。文献[7-10]介绍了反向代理在WEB服务中的应用,并介绍了在安全、负载均衡、公网地址消耗等方面的优势,但这些文献均未涉及IPv4/IPv6双栈环境的场景。

  双栈反向代理的方式是指将反向代理服务器部署在双栈环境中,同时分别监听IPv4和IPv6服务端口,WEB服务可以只接入纯IPv4或纯IPv6网络,纯IPv4和纯IPv6终端用户可以通过反向代理服务器进行代理访问另一协议的WEB服务。由于采用双栈代理后WEB内容可能存在跨协议的资源引用问题,本文设计采用在反向代理服务内设置过滤转换器和通用代理器来实现跨协议访问。

来源:中国教育网作者:邓庚盛 鄢志辉 邹伟平 鲁喆
《中国教育网络》
杂志微信公众号
高校信息化应用
微信公众号
高校网络安全
微信公众号
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?b841bd73360946ada23db9fa82c9c6ae"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();