技术详解:太一星晨T-Force ADC全面支持IPv6网络

最近,工信部发布了关于贯彻落实《推进互联网协议第六版(IPv6)规模部署行动计划》(厅字〔2017〕47号,以下简称《行动计划》)的通知。通知明确要求,到2025年末,我国IPv6网络规模、用户规模、流量规模将位居世界第一位,网络、应用、终端需全面支持IPv6。

要迁移到IPv6,需要升级软件或者更换硬件。

在IPv4迁移到IPv6网络的过程中,经常会遇到一部分电脑或者服务器是 IPv4的,另一部分是IPv6的,这时候网络中的数通设备往往需要支持v4-v6双栈,甚至要支持能从IPv4到IPv6的跨协议转换。

如果您使用的正好是太一星晨的应用交付产品,Congratulations!您的应用交付已经全面支持IPv6了!

从2013年第一个版本开始

太一星晨应用交付T-Force ADC已经前瞻性地支持IPv4/IPv6双栈。

所以,使用太一星晨T-Force ADC,无需升级,您就可以随时在IPv6和IPv4网络中切换,更重要的是,性能还没有损耗。

• • • • • • • • • • • • 正文分割线• • • • • • • • • • • •

1.1 双栈功能

在细说双栈功能之前,有必要先认识一下应用交付的主要功能之一:服务器负载均衡,即虚拟服务功能。

简单来说,虚拟服务就是这个样子的:

* 将提供同一组业务的服务器用一个服务池圈起来。

* ADC上对外发布一个IP地址 + 端口。

* 大量用户都来访问100.1.10:80。

* 访问被均匀地调度到各个服务器上。

当然,虚拟服务还涉及很多功能,如会话保持,健康检查,调度算法等等,这里就不一一赘述了。

那么,太一星晨的虚拟服务功能如何支持IPV6?

1.2纯IPv6的虚拟服务

* 在配置上,和IPv4的虚拟服务没什么区别,只是地址是IPv6的而已。

* ADC不仅仅支持L4的高性能模式负载,L7的HTTP代理同样毫无压力。

* 除了实现负载均衡,IPv6在安全方面,还可以通过配置防火墙策略,完成基本的安全防护。

Bingo!

太一星晨T-Force ADC主要功能对IPv6的支持,和IPv4差异不大,基本保持一致:从负载功能到安全功能,均很完备。

1.3虚拟服务的跨协议转换

跨协议转换包括NAT64和NAT46的转换。

太一星晨的虚拟服务支持各种转换:发布IPv4或者IPv6的虚拟服务,后端的服务池里面既有IPv6的服务器,又有IPv4的服务器。从IPv4到IPv6,或者从IPv6到IPv4,跨与不跨,各种玩法,怎么任性怎么来。

如上,访问 http://100.1.1.10/或者 http://[2001::ABCD]/的业务流量可以均匀地负载到四台服务器上。

我们以访问 http://100.1.1.10/,调度到IPv6服务器1为例,来详细描述一下这个NAT46的转换过程:

* ADC收到访问请求,调度到服务器1,发现服务器1为IPv6地址;

* 从IPv4到IPv6需要执行跨协议转换,目的地址转换为服务器1的地址,源地址默认使用GE1接口上的IPv6地址,完成转换后,记录v4-v6的转换表项;

* 收到服务器IPV6回包,查询v4-v6表项,还原转换后,发送IPv4的应答。

IPv6网络访问转换到IPv4网络也是一样的道理,会记录v6-v4的转换表项。

Bingo!

太一星晨T-Force ADC是一个功能完备的跨协议转换网关,通过记录状态表项,无论用户使用IPv6还是IPv4,也不管服务器是IPv6的还是IPv4的,都可以实现服务器负载均衡,且整个配置逻辑上与标准虚拟服务配置保持一致。

不仅如此,尽管ADC要记录和查询转换表项,但是经过了优化后,性能测试数据与不跨协议转换对比,基本没有损耗。

1.4 全局的跨协议转换

全局的跨协议转换,即全局支持的功能,不限于虚拟服务的使用场景,可以把ADC直接当作跨协议转换网关来使用。

这种无状态的跨协议转换包含:IVI地址转换,以及嵌入地址转换

IVI地址转换

IVI方案是由CNGI-CERNET2的研究人员、清华大学李星教授提出的IPv4和IPv6的翻译技术。

“IVI”的命名灵感来源于罗马字码,IV是四,VI是六,所以IVI可代表IPv4和IPv6的过渡和互访。

>> IVI的地址格式

PREFIX由ISP提供,为32位,SUFFIX一般是全0。

>> IVI的基本原理

ADC指定好需要转换的IPv6地址前缀,通过IVI规定的特殊的地址关系,IPv4和IPv6之间可以互相转换,并得到唯一的转换结果。

:举个例子:

从IVI 的IPv6转换到IPv4,ADC上配置好策略,源地址前缀和目标地址前缀符合配置的,进入IVI的转换:

3001:1000:ff64:101:6400:: 100.1.1.100

5001:0:ff0a:101:a00::10.1.1.10

从左往右,为NAT64的转换;

从右往左看,是IVI的nat46的转换。

>>嵌入地址转换

所谓嵌入地址转换,就是指转换的目的IPv4地址是从原有的目的IPv6地址中截取出来的,具体截取哪一部分,取决于用户配置的目的地址前缀(不得超过96位)。

:举个例子:

用户配置前缀为3001::/96,那么10.1.1.10对应的IPv6的嵌入地址为3001::a01:10a,可以直接写成这样的格式:3001::10.1.1.10。

基于这种约定,我们可以从IPv6地址中提取出IPv4地址,也可以将IPv4地址补充为IPv6地址,从而实现跨协议的转换。

Bingo!

以上两种转换方式,规定了特殊的地址映射关系,使IPv6地址和IPv4地址形成了一对一的转换关系,因此可以进行无状态的跨协议转换。

无状态的地址转换技术因为无需记录和查询转换表项,能为网关设备节省一定的性能开销。

1.5 DNS64

在IPv4向IPv6过渡的进程中,大部分需求是IPv6孤岛需要访问公网的IPv4服务器,如果直接提供了IPv4的服务器地址,只需进行IPv6到IPv4的跨协议转换,即可实现访问。

但是,很多IPv4的公共资源是域名方式提供的,且不提供AAAA记录,这样就给访问造成了困难。

为了解决IPv6访问IPv4域名资源的问题,就有了DNS64这个技术,大致原理如下图:

* ADC收到客户端的DNS AAAA请求,将其转换为A记录请求,发送到IPv4网络中的DNS服务器203.5.5.5上。

* ADC收到DNS服务器的A记录回复,提取查询结果100.100.100.100,根据自己的配置,将查询结果转换为IPv6地址5001::100.100.100.100,并构造一个IPv6的AAAA回复,发送给客户端。

* 这样,IPv6域名请求成功,接下来就向5001::100.100.100.100发起数据请求。

显然5001::100.100.100.100是一个假的IPv6地址,数据到达ADC后,再经过ADC配置好的NAT64的转换规则,就可以将5001::100.100.100.100地址再转换成100.100.100.100,从而实现数据的跨协议通信。

Bingo!

DNS64和NAT64一般都是结合在一起使用的;DNS64完成DNS协议层面的地址转换,NAT64完成IP地址层面的地址转换,两者结合,形成了一个非常实用的解决方案。

综上所述,无论是通过ADC上网访问IPv6网络,又或者是基于IPv6对外提供业务访问,有了太一星晨T-Force ADC,您就可以在IPv4与IPv6中随意遨游!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180829A0OHLR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券