2024年5月27日发(作者:)

IPv6

建设与应用

南京工业大学IPv4/IPv6流量优化方案

文 / 崔北亮

1

许晓冯

2

不同,设置了去往教育网地址段

[3]

的选择

教育网出口,除教育网地址段的流量选择

自2017年底中共中央办公厅、国务

电信网出口,对一些特殊的IPv4地址配

院办公厅印发《推进互联网协议第六版

置采取策略路由

[4]

(基于源IPv4地址进行

规模部署行动计划》(以下简称《行

路由,譬如某些服务器)。

动计划》)以来,越来越多的单位开通了

4中的流量路径选择问题

IPv6,尤其是高校。随着商用IPv6的普及,

终端访问某个网站时(这里以淘宝

越来越多的商用网站也支持了IPv6访问。

为例),终端把域名请

但是,很多开通IPv6的单位因为配置不

求发往学校的DNS服务器,学校的DNS

当,导致访问互联网网站的速度比纯IPv4

服务器上查找不到该域名,在没有配置

反而还慢很多。本文首先分析了 IPv6环

DNS转发的情况下,学校DNS服务器把

境下访问网站变慢的原因,并给出多运营

域名查询转发给DNS根域名服务器,经

商出口下IPv4和IPv6流量的各自优化配

过DNS的递归查询

[5]

,学校DNS服务器

置方案。

最终从淘宝的DNS服务器中查询到www.

对应的IPv4地址。一些大型商

IPv4环境下的流量优化

用网站公司会架设智能DNS,并在多运

营商的网络中部署镜像服务器,智能DNS

考虑到用户出口情况各异,这里以

根据查询域名的源IP地址所在的运营商

最典型的多出口案例进行介绍。如图1

网络回复对应运营商服务器的IP地址。

所示,南京工业大学以1Gbps链路接入

这里存在两个主要问题:

中国教育和科研计算机网(以下简称教

问题1:学校DNS服务器要频繁访问

育网),以4Gbps链路接入中国电信网

DNS根域名服务器进行域名查询,在国内

(以下简称电信网,有些高校接

入的可能是其他运营商网络,

这里仅以电信网为例),学校

的域名是,DNS

服务器支持双栈

[1]

,IPv4地址

是202.119.248.66,IPv6地址

是2001:da8:1011:3248::66,其他

Web服务器配置教育网公网IPv4

地址

[2]

和IPv6地址,终端用户

配置私有的IPv4地址。

出口防火墙根据数据包目

的IPv4地址进行选路并采取

NAT

[2]

,由于两家运营出口带宽

图1 高校网络拓扑示例

没有配置DNS根域名服务器镜像的情况

下,需要经过慢速的国际链路进行查询,

费时费力;

问题2:由于学校DNS服务器选择的

是教育网出口,智能DNS回复的多是教

育网IP地址,导致教育网的链路负载较重。

2. IPv4中的流量优化

鉴于上述问题,在学校的DNS服务

器配置基于域名的转发,譬如所有edu.

cn的域名转发给教育网的DNS服务器进

行查询,除此之外的域名转发给电信网的

DNS服务器进行查询。下面代码是Bind

DNS中的配置:

zone "" {

type forward;

forwarders {202.112.23.161;}; //此处是教育

网的DNS服务器IP地址

forward only;

};

zone "" {

type forward;

forwarders {218.2.135.1;}; //此处是电信网的

DNS服务器IP地址

forward only;

};

这样不仅实现了域名的快速查询,而

且可以根据要访问网站的域名转发到某个

运营商的DNS服务器,进而调整互联网

的出口负载。

IPv6环境下的流量优化

1.高校IPv6部署现状

随着《行动计划》的推进,为了促

进IPv6发展,教育网推出了开通IPv4赠

送等带宽IPv6等激励活动,因此,目前

很多高校都开通了IPv6。南京工业大学

开通了教育网的IPv6链路,并申请到

2021.2-3中国教育网络

55

(IPv6)

建设与应用

IPv6

2001:da8:1011::/48前缀的IPv6地址,对

服务器和终端用户提供双栈支持。

由于电信网IPv6带宽并不免费,而

很多高校使用教育网对外提供服务,普遍

缺乏多运营商IPv6的运维经验,现阶段

很少有高校同时开通了多运营商链路的

IPv6服务。

6环境下访问变慢原因分析

教育网链路开通IPv6后,据使用双

栈的终端用户反映,访问网站的速度往往

会变慢。这里以淘宝网为例,经ping测试,

显示如下:

C:>ping -n 1

正在 Ping e.

com [240e:e9:8819:0:3::3f9] 具有 32 字节的

数据:

来自 240e:e9:8819:0:3::3f9 的回复: 时间

=73ms

这里使用参数“-n 1”,只ping一个包。

双栈的情况下,默认IPv6优先,时间73

毫秒。

继续进行IPv4的ping测试,显示如下:

C:>ping -4 -n 1

正在 Ping e.

com [61.155.221.227] 具有 32 字节的数据:

来自 61.155.221.227 的回复: 字节=32 时间

=6ms TTL=55

这里使用参数“-4”,使用IPv4测试,

时间是6毫秒。

Ping可以使用 -4 或 -6 参数来指定使

用IPv4还是IPv6测试,但浏览器不支持

指定使用IPv4还是IPv6,只能使用默认

的IPv6优先(可以通过调整前缀策略表

[6]

改变默认的IPv4/IPv6优先顺序,甚至可

以调整部分IPv4/IPv6的优先顺序)。终

端用户禁用IPv6协议后,访问淘宝网快

了10多倍,启用IPv6协议后明显感觉访

问网站变慢。

追踪IPv4的路由,显示如下:

C:>tracert -d -4

通过最多30个跃点跟踪到.

[221.229.203.214]的路由:

56

中国教育网络 2021.2-3

1 <1 毫秒 <1 毫秒 <1 毫秒 10.0.248.1

2 <1 毫秒 <1 毫秒 <1 毫秒 10.255.0.2

32 ms2 ms2 ms 192.168.3.1

43 ms2 ms2 ms 222.190.3.73

省略6~9

108 ms7 ms7 ms 221.229.203.214

跟踪完成。

可在IP查询网站

[7]

查询到

IP“221.229.203.214”来自江苏省徐州市

电信。tracert命令的-d参数是为了加快

执行速度,-4是指定使用IPv4追踪,

前2跳在单位内网,第3跳192.168.3.1

是电信网的互联地址,到第4跳的

“222.190.3.73”是江苏省南京市电信,

第6~9跳都是电信网地址,这里不再列出。

进一步追踪IPv6的路由,显示如下:

C:>tracert -d -6

通过最多 30 个跃点跟踪到 .

[240e:e9:8819:0:3::3f9]

的路由:

1 <1 毫秒 <1 毫秒 <1 毫秒

2001:da8:1011:248::1

2 <1 毫秒 <1 毫秒 <1 毫秒

2001:da8:1011:f02::2

3 46 ms1 ms1 ms 2001:da8:a3:a007::1

41 ms <1 毫秒 <1 毫秒 2001:da8:a3:11::1

省略5-15

16 65 ms 67 ms 65 ms

2001:da8:257:0:101:4:114:76

17* * *请求超时。

18 65 ms 63 ms 63 ms

240e::c:3:6200:202

省略19-24

25 73 ms 73 ms 73 ms

240e:e9:8819:0:3::3f9

跟踪完成。

可在IP查询网站

[7]

查询到

IPv6“240e:e9:8819:0:3::3f9”来自江苏省

苏州市电信。tracert命令-6是指定使用

IPv6追踪,前2跳在单位内网,第3跳

2001:da8:a3:a007::1是教育网的互联地址,

到第4~16跳的都是教育网地址,第16跳

2001:da8:257:0:101:4:114:76是赛尔网络总

部的IPv6地址,第17跳拒绝追踪,第18

跳是中国电信骨干网,第19~25跳都是电

信网地址,这里不再列出。

从上面ping和tracert命令的输出中,

可以看出IPv4访问淘宝,由于单位DNS

服务器对的域名解析默认转发

给了电信网中的DNS服务器,解析出的

是电信网中淘宝服务器的IPv4地址,并

选择单位的IPv4电信出口,总共10跳,

延时只有6毫秒。可以看出IPv6访问淘

宝,同IPv4一样,解析出的是电信网中

淘宝服务器的IPv6地址,单位只有教育

网IPv6出口,只能选择教育网的IPv6出

口,数据包到达教育网骨干,再经过运营

商间的慢速互连,到达电信网骨干,最终

到达电信网中的服务器,跳数多达25跳,

延时73毫秒。

6中的流量优化

通过前面的介绍和分析,IPv6中的流

量优化方案有以下两种方式。

方案一:调整DNS域名解析。经了解,

为了提升不同运营商终端用户的体验,大

型商业网站在每家运营商的IDC机房都部

署了镜像服务器。调整单位的DNS服务

器,把特定域名的解析转发到指定的DNS

服务器(譬如把的域名解析转

发到教育网的DNS服务器上)。这种解

决方案可以解决大型商业网站IPv6访问

慢的问题,但对一些没有在教育网中部署

IPv6镜像服务器的小型商业网站,则无能

为力。

方案二:开通电信网的IPv6服务。

现阶段,几大运营商网络都支持双栈接入

申请,图1的IPv4的电信链路上也开通

了IPv6服务,并申请到240E:6A0:31::/48

前缀的IPv6地址。

IPv6多出口的具体解决方案可以有多

[8]

方法一:为终端用户只分配某个运营

商的IPv6地址,防火墙根据目的IPv6地

址选择运营商出口,若选择与源IPv6地

IPv6

建设与应用

址相同的运营商出口,则源IPv6地址不变,

况下,优先选择源路由。只有在电信网链路故

76 ms6 ms5 ms 240e:1a:50:2117::3

若选择与源IPv6地址不同的运营商出口,

则进行NAT66

[9]

转换。

方法二:为终端用户分配每个运营商

的IPv6地址,终端用户会根据目的IPv6

地址最长匹配选择源IPv6地址

[6]

,防火墙

根据源IPv6地址执行策略路由,选择对

应的运营商出口。

方法二相较于方法一有更广泛的适用

性,这里仅演示方案二中方法二的实现。

防火墙关键部分的配置如下:

track "telcom" //创建追踪对像telcom,追踪电

信网出口,若电信网出口IPv6地址ping不通,

则接口路由失效,与下面配置的与该接口相关

的默认路由和源路由也失效。

icmp6 240E:6A0:0:F::2 interface ethernet0/2

src-interface ethernet0/2

exit

interface ethernet0/2 //电信网接口调用追踪对

像telcom

monitor track "telcom"

exit

track "edu" //创建追踪对像edu,追踪教育网

出口。

icmp6 2001:DA8:A3:A007::1 interface

ethernet0/1 src-interface ethernet0/1

exit

interface ethernet0/1 //教育网接口调用追踪对

像edu

monitor track "edu"

exit

ip vrouter "trust-vr"

ipv6 route source 240E:6A0:31::/48

240E:6A0:0:F::2 //电信网源IPv6地址选择电

信网出口

ipv6 route source 2001:DA8:1011::/48

2001:DA8:A3:A007::1 //教育网源IPv6地址

选择教育网出口

ipv6 route ::/0 240E:6A0:0:F::2 //默认路由选

择电信网出口,两条运营链路都正常的情况下,

优先选择源路由。只有在教育网链路故障时,

教育网的源路由和默认路由都失效,教育网的

源IPv6地址才会使用到此路由。

ipv6 route ::/0 2001:DA8:A3:A007::1 //默认路

由选择教育网出口,两条运营链路都正常的情

障时,电信网的源路由和默认路由都失效,电

信网的源IPv6地址才会使用到此路由。

snatrule id 1 from "240E:6A0:31::/48" to

"::/0" service "Any" eif ethernet0/1 trans-to

2001:da8:1011:9999:1::/120 mode dynamicport

//电信网出口故障时,把电信网的源IPv6地址

进行NAT66转换,转换成教育网的IPv6地址,

保证可以继续访问外网。

snatrule id 2 from "2001:DA8:1011::/48" to

"::/0" service "Any" eif ethernet0/2 trans-to

240E:6A0:31:9999::/120 mode dynamicport

//教育网出口故障时,把教育网的源IPv6地址

进行NAT66转换,转换成电信网的IPv6地址,

保证可以继续访问外网。

exit

终端用户的IPv6地址显示如下:

C:>ipconfig

以太网适配器 以太网:

连接特定的 DNS 后缀 . . . . . . . :

IPv6 地址 . . . . . . . . . . . . : 2001:da8:1011:248

:640a:302:12e9:e26f //教育网IPv6地址

IPv6 地址 . . . . . . . . . . . . : 240e:6a0:31:248:6

40a:302:12e9:e26f //电信网IPv6地址

本地链接 IPv6 地址. . . . . . . . :

fe80::640a:302:12e9:e26f%12

IPv4 地址 . . . . . . . . . . . . : 10.0.248.15

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . :

fe80::274:9cff:fe25:a0a5%12

10.0.248.1

再次追踪去往淘宝路由,显示如下:

C:>tracert -d -6

通过最多 30 个跃点跟踪

[240e:e9:8819:0:3::3f9] 的路由:

1 <1 毫秒 <1 毫秒 <1 毫秒

240e:6a0:31:248::1

2 <1 毫秒 <1 毫秒 <1 毫秒

240E:6A0:31:F02::2

33 ms1 ms2 ms 240e:6a0:0:f::2

42 ms2 ms2 ms 240e:1a:2000:1150::2

51 ms1 ms1 ms 240e:1a:2000:f115::2

65 ms 15 ms5 ms 240e:1a:50:f203::3

85 ms5 ms5 ms 240e:e9:8800:67::3

95 ms5 ms5 ms 240e:e9:8819:0:3::3f9

跟踪完成。

从上面的输出中可知此时到淘宝网只

有9跳,ping也只有5毫秒延时,目的服

务器来自电信网,所经过的路径也全是电

信网。

至此,完成了IPv6环境下的流量优化。

IPv6规模部署行动符合国家战略需

要、顺应历史潮流,对于出现的问题,我

们需要积极应对、找出解决办法,改善用

户服务的体验。本文分析了双栈环境下网

站访问速度变慢的问题及其原因,进而提

出了相应解决方案。如多运营商出口同时

开通IPv6,为终端用户分配多运营商IPv6

前缀,利用源IPv6地址和目的IPv6地址

最长匹配的规则,根据选定的源IPv6地址,

执行源路由选择源IPv6地址对应的运营

商出口,避免IPv6流量穿越不同的运营商,

减少IPv6的跳数,降低时延和提升吞吐量,

优化IPv6流量,从而推进IPv6的规模部署。

(责编:项阳)

(作者单位1为南京工业大学信息中心,2为江苏省

电化教育馆)

参考文献

[1] 秦丰林,仇一泓,郭晓东. 双栈环境下的DNS

可靠性增强方法[J]. 东南大学学报(自然科学版),

2017,47(sup);86-89.

[2] esh, Network Address

Translator (NAT) Terminology and Considerations[M].

RFC2663,1999;5-20.

[3] 各运营地址段查询. /.

[4] 崔北亮,史亚香,丁勇.网络管理从入门到精通[M].

北京:人民邮电出版社,2017;482-487.

[5] 曹雪峰,于万国,陈日升.虚拟网络环境下域

名系统原理综合实验设计[J].实验室研究与探索,

2017,36(5);97-100.

[6] Thaler Ed D,Matsumoto A. Default Address Selection

for Internet Protocol Version 6 (IPv6)[M].RFC6724,

2012;7-18.

[7] IPv4/IPv6地址归属查询,/

ipquery/.

[8] 崔北亮,徐斌,丁勇.IPv6网络部署实战[M]. 北京:

人民邮电出版社,2020;420-457.

[9] M Wasserman,F Baker. IPv6-to-IPv6 Network Prefix

Translation[M]. RFC6296, 2011;7-19.

2021.2-3中国教育网络

57