阿里云
云栖社区2017年度内容特辑
发表主题 回复主题
  • 1646阅读
  • 0回复

[基础常识]在全面部署 IPV6 前,你需要了解都在这儿

级别: 论坛版主
发帖
9276
云币
13830
— 本帖被 不靠谱贝贝 设置为精华(2017-12-16) —
IPv6 的发展形势 <RGH+4LF  
;CYoc4e  
oP&/>GmXL  
近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《计划》),加快推进基于 IPv6 的下一代互联网规模部署,计划指出到 2018 年末国内 IPv6 活跃用户数要达到2亿,2020年末达到5亿,2025年末中国 IPv6 规模要达到世界第一。 sdFHr4  
`q^#u  
$%y q[$^  
随着移动互联网、智能设备、车联网、智慧城市等新一代信息技术产业的蓬勃发展使得对 IP 地址的需求量大大增加,根据预测未来 5年 中国的 IP 地址需求总量将高达 345 亿。在 IPv4 地址告罄的情况下目前运营商通过 NAT 技术勉强支撑但是却极大的降低了租户的可用性,IPv6 的商用价值和战略意义正在凸显,而《计划》的发布更标志着中国的 IPV6 正式进入部署阶段,对世界 IPV6 的发展也将有着不小的意义。 *]$B 9zVs!  
36 "n7  
8tj]@GE  
在IPv6方面,中国可谓是 “起了大早赶了晚集”,到2016年底,中国拥有IPv6地址申请总量超过2万块,数量为美国的一半,全球排名仅次于美国。但被路由器宣告的IPv6地址仅占中国已申请获得的IPv6地址总量的7.5%,承载真实流量的IPv6地址路由器数量仅有3%。中国2016年IPv6用户占比在全球排名66位,排在印度、越南等国之后。不过不要泄气,要知道 2025 年我国 IPv6 网络规模将居世界第一位,估计会是其他国家难以超越的存在。 NAGM3{\5v$  
Pq;OShU_  
IPV6 带来的极大改变 (2g a: }K  
9`tK 9  
fF@w:;u  
不再被内网 k^J8 p#`6  
IPQRdBQ  
hbw(o  
《计划》中明确有提到 “新增网络地址不再使用私有IPv4地址” ,的确近年来很多人都再抱怨己 “被内网” 了,因为亚洲的 IPV4 资源其实很早就已经枯竭了,但是互联网却一直在发展,因此只有通过 NAT 方式来续命了。而 IPV6 拥有给每粒沙子赋予一条 IP 的 IP 数量,所以我们根本不用担心 IP 不够了! 1[%3kY-h  
xe@1H\7:  
|7qt/z  
2Ez<Iw  
yPN'@{ 5#  
LOh2eZ"n  
)GD7 rsC`<  
HBlk~eZ  
|cvU2JI@  
为物联网的爆发做铺垫 W__ArV2Z_  
9]4Q@%  
kpm;ohd  
在未来万物互联,我们的每台电脑、每台手机、每台插线板、每件衣服甚至每粒纽扣都可能被赋予 IP 地址以连接网络。但是仅仅42亿个地址的 IPV6 到每台手机这里就已经十分勉强了,更别说每粒纽扣了。因此未来的物联网大爆发必定需要 IPV6。 HQqFrR  
OUX7 *_  
2~4:rEPJ:  
更高效的信息传输 O'<V[Y} 6  
=rjU=3!&(  
#N|\7(#~u  
依旧是前面提到的 NAT, IPV4 由于使用大量 NAT 来连接设备,这让网络模型变得越来越复杂。 ^HKXm#vAB  
c_J9CKqc  
$O"ss>8Se  
rB>ge]$.  
}w0pi  
lx)^wAO4  
iq#{*:1  
可以看到 IPV6 相比 IPV4 的包头精简了很多因此也会获得性能上的提升,极大的提高了信息的传输效率,简单的归纳就是:1.简化头,少处理;2.不分片,无重组;3.去校验,省资源 2HX/@ERhmu  
JJ: ku&Mb  
,}oAc  
更安全互联网 bi<<z-q`wJ  
Jw)JV~/0  
iT]t`7R  
在 IPv6 的部署中是可以配置 IPSec 的,这意味着在IPv6地址之间传输数据往往是经由加密的,信息不再会被轻易窃 听、劫持。在 IPv4 体系中,大量信息采用明文传输,DNS污染、HTTP劫持等现象层出不穷,相比你也是忍了手机看网页的时候下边那个查流量的按钮很久了吧。如果部署了 IPSec,互联网理论上更加安全、畅通。 ]C_+u_9  
mRk)5{  
odv2(\  
不过在云栖社区的聚能聊里,很多网友还是对 IPV6 表示了一定的担忧: ;%e&6  
M0V<Ay\%O  
n]%- 2`}(  
比如说:
tl#sCf!c  
ipv6地址难记是真的,但是换成ipv6地址能大大简化网络行为。其一,大家都有固定ip地址了,寻址更容易,如果玩局域网游戏就可以直接输入ipv6进入,不需要查询动态ipv4地址。其二,作为网络交换器再也不需要让路由器24小时开启维持ip地址不变了。其三,网络犯罪更容易抓获。因为ipv6地址是固定的,就相当于网络身份证,你犯罪了可以直接用过ip地址定位,而变动的ipv4地址却无法做到这一点。
kAftW '  
还有:
inut'@=G/  
IPv6说了多少年了,有多少部署,有多大的产业?个人感觉,再有20年,IPv6也不会大范围推开。现在IPv4+NAT方式会一直使用下去(好处也很多啊),既得利益者不会轻易让它消失。我预测,在未来10年内,会有一项新的基础技术产生,从而彻底取代IP (v6 and v4)。
,AP&N'  
不知道大家怎么看待 IPV6 呢?大家可以在 《厉害了我的网 中国计划部署推进IPv6》 参与话题拿大奖。 9YzV48su#  
 X\^nV  
IPV6 的实现形势 u`bD`kfT>  
Uh }PB3WZ  
W06aj ~7Z  
阿里在 《计划》 公布后就第一时间宣布了 将全面提供IPv6服务 但是距离正式提供 IPV6 还有一段时间,那么在这以前我们应该如何曲线实现 IPV6 呢? O?uICnmi6  
waMF~#PJlt  
K<S3gb?0  
在《计划》发布前最让站长心急的时候,苹果的 “IPv6审核机制” 真正让 IPV6 狠刷了一波存在感,所有提交到 AppStore 的应用必须通过苹果 AppStore 审核人员在美国的 IPv6-Only 环境下对应用进行访问。一些因为无法过审的应用才开始意识到要对 IPV6 支持。 Kz HYh  
`fv5U%  
DiJLWXs  
一般来说大家为了获得 IPV6 主要是为了通过苹果的 AppStore 的 IPV6-Only 审核,但其实果 AppStore 在做 IPv6 审核的时候,并不需要DNS或者服务支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果 AppStore 审核时的 DNS64+NAT64 转换为IPv6地址进行通信。
如果,应用在苹果进行 IPv6 审核时不通过,可能原因主要有两方面:
  1. 应用本身不兼容 IPv6。此时,最好的办法是让应用本身兼容 IPv6;
  2. 跨国网络问题导致苹果 AppStore 所在的网络在审核时连接不通国内的服务器。
Q,U0xGGz  
此时推荐使用云解析付费版(具有海外DNS BGP节点)以及阿里云海外地域的ECS DiFLat]X  
-/f$s1  
fz'qB-F Y  
什么是 “DNS64+NAT64访问机制” 呢? L\Se ,  
I}C2;[aB  
3>O|i2U  
DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示: 'l*X?ccKy  
y`I>|5[ `  
VjQ&A#   
\xYVnjG,  
q*I*B1p[m  
^<I(  
;[<(4v$  
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示: Tzq@ic#!B  
jJ$\WUQ.  
$xO8?  
( bwD:G9  
'a#lBzu\b  
mjeJoMvN)H  
PK|-2R"M  
如果有强制的 IPV6 需求需要一个 IPV6 地址的话,那么就必须使用前文提到的曲线实现了。目前有三种可行的 IPV6 支持方案:
  1. 服务器在第三层(网络层)使用隧道传输来曲线支持 IPV6
  2. HTTP Proxy ,让支持 IPV6 的服务器做反向代理,将 AAAA 记录解析到代理服务器上
  3. 使用 CDN 缓存,像 CloudFlare 这样的 CDN 只要使用就可以支持 IPV6
-FZC|[is  
不过,上述的三种,都有一定缺陷,其中第一种即隧道传输缺陷最少,几乎原生;而反代受限于反代服务器的延时,而且建设成本也挺高的;CDN 缓存么,像 Cloudflare 在国内速度并不理想。 ]#:WL)@  
k:0j;\Sx  
F!+1w(b:  
那么如何再阿里云的 ECS 上实现 IPV6 的隧道传输呢?阿里云有如下教程: Z?)g'n  
abo=v<mR  
zxR]+9Zh  
通过 IPV6 地址访问域名,如何设置域名解析? pz%s_g'  
g~hMOI?KK^  
2<D| {  
Windows 设置: ,s8/6n#  
{'b;lA]0  
t2[/eM.G  
为阿里云ECS(Windows 2012)创建IPv6隧道地址 ^exU]5nvz  
y:'Ns$+  
hGtz[u#p  
类 Unix 通用设置: (b25g!  
<KMCNCU\+  
*5)UIRd  
https://bbs.aliyun.com/read/302778.html bP18w0>,  
* %D_\0;  
G6p gG+w  
检测网站和访问者是否已经支持 IPV6: '=dQ$fs  
T^v763%  
VLXA6+  
http://ipv6-test.com/validate.php / VYT](  
g p:0Y  
IPV6 的原生展望  ?eS;Yc  
$DHE%IN`  
WvfP9(-  
像云数据库 for MySQL、OSS、CDN 这样的 PaaS 产品其实是不需要我们进行过多的设置的,自动就会支持 IPV6,这就是 PaaS 最能令运维人员感受到幸福感的地方了。 _3Eo{^  
LG[N\%<!H  
PUR,r%K`  
而 ECS 上就会是 IPV6 攻坚的重点了,ECS 需要有支持了 IPV6 后需要我们额外的设置网卡以及想 Nginx、Apache Httpd、Tomcat 这样的 Web 服务器软件也需要进行 IPV6 的设置。 }0'LKwIR  
jQ{ @ol}n  
 2%@tnk|@  
例如低版本的 Nginx 如果编译时不带 –with-ipv6 参数就不会支持 IPV6 环境,同时还要在虚拟主机的配置文件中加入 listen [::]:80; 来支持监听 IPV4 和 IPV6 的 80 端口,对的,只需要 这一个参数就可以两种网络的监听。 Pe<VPf9+  
Wga2).j6  
2uj .*  
有些教程和环境一键包盲目的追求所谓的性能,会在内核配置文件中将 IPV6 给禁用了,这就导致了分配了 IPV6 地址也依旧无法使用。 <K CI@  
修改 /etc/sysctl.conf 文件将一下部分改为 Ohm{m^VD"  
5wue2/gl  
Skr (C5T  
  1. net.ipv6.conf.all.disable_ipv6 = 0
  2. net.ipv6.conf.default.disable_ipv6 = 0
  3. net.ipv6.conf.lo.disable_ipv6 = 0
<^YvgQ,m  
nM[yBA  
m.D8@[y  
然后执行 ~4 fE`-O  
vl:~&I&y;R  
  1. sysctl -p
OBWb0t5H?  
以生效。 /43l}6I  
\c2x udU  
)U~|QdZ  
总而言之,当分配了 IPV6 后,各位运维人员以及个人站长还需要进行一定的调试才能更好的支持 IPV6,而云栖社区也一定会提供更多 IPV6 有关的教程来帮助大家解决问题。
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个