阿里云
发表主题 回复主题
  • 2843阅读
  • 2回复

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

级别: 论坛版主
发帖
9342
云币
14133
— 本帖被 不靠谱贝贝 设置为精华(2017-12-16) —
IPv6 的发展形势 ?9gTk \s?R  
^L-w(r62<  
d=Df.H+3  
近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《计划》),加快推进基于 IPv6 的下一代互联网规模部署,计划指出到 2018 年末国内 IPv6 活跃用户数要达到2亿,2020年末达到5亿,2025年末中国 IPv6 规模要达到世界第一。 ?cs]#6^  
h#m:Y~GoF  
6snOMa GRu  
随着移动互联网、智能设备、车联网、智慧城市等新一代信息技术产业的蓬勃发展使得对 IP 地址的需求量大大增加,根据预测未来 5年 中国的 IP 地址需求总量将高达 345 亿。在 IPv4 地址告罄的情况下目前运营商通过 NAT 技术勉强支撑但是却极大的降低了租户的可用性,IPv6 的商用价值和战略意义正在凸显,而《计划》的发布更标志着中国的 IPV6 正式进入部署阶段,对世界 IPV6 的发展也将有着不小的意义。 ]C ~1]7vb  
m UWkb  
lTr*'fX  
在IPv6方面,中国可谓是 “起了大早赶了晚集”,到2016年底,中国拥有IPv6地址申请总量超过2万块,数量为美国的一半,全球排名仅次于美国。但被路由器宣告的IPv6地址仅占中国已申请获得的IPv6地址总量的7.5%,承载真实流量的IPv6地址路由器数量仅有3%。中国2016年IPv6用户占比在全球排名66位,排在印度、越南等国之后。不过不要泄气,要知道 2025 年我国 IPv6 网络规模将居世界第一位,估计会是其他国家难以超越的存在。 :K^gu%,&$  
G=Hf&l  
IPV6 带来的极大改变 z{@R.'BD  
R{) Q1~H=q  
)jlP cO-  
不再被内网 /$9BPjO{  
Cl6m$YUt  
R>d@tr  
《计划》中明确有提到 “新增网络地址不再使用私有IPv4地址” ,的确近年来很多人都再抱怨己 “被内网” 了,因为亚洲的 IPV4 资源其实很早就已经枯竭了,但是互联网却一直在发展,因此只有通过 NAT 方式来续命了。而 IPV6 拥有给每粒沙子赋予一条 IP 的 IP 数量,所以我们根本不用担心 IP 不够了! zRV!(Y  
}{5mH:  
e`Co,>W/  
@GG(7r\/B  
WgA`kT  
bR`rT4.F  
MCk^Tp!  
6X7s 4  
G[3k  
为物联网的爆发做铺垫 L`UG=7r q  
4l&"]9D  
!TP6=ks  
在未来万物互联,我们的每台电脑、每台手机、每台插线板、每件衣服甚至每粒纽扣都可能被赋予 IP 地址以连接网络。但是仅仅42亿个地址的 IPV6 到每台手机这里就已经十分勉强了,更别说每粒纽扣了。因此未来的物联网大爆发必定需要 IPV6。 g ?afX1Sg  
A3AP51 !  
4!l sk:R  
更高效的信息传输 F#(.v7Za  
u12zRdn  
-<^jGrb  
依旧是前面提到的 NAT, IPV4 由于使用大量 NAT 来连接设备,这让网络模型变得越来越复杂。 [J0*+C9P*  
YC]PN5[1!  
gbm0H-A:*  
Y4mC_4EU  
n6b3E *  
,>;!%Ui/p  
8HMo.*Ti9  
可以看到 IPV6 相比 IPV4 的包头精简了很多因此也会获得性能上的提升,极大的提高了信息的传输效率,简单的归纳就是:1.简化头,少处理;2.不分片,无重组;3.去校验,省资源 ?75\>NiR  
m CM|&u  
)`w=qCn1Y  
更安全互联网 &Hv;<  
fr+@HUOxsl  
cDCJ]iDs  
在 IPv6 的部署中是可以配置 IPSec 的,这意味着在IPv6地址之间传输数据往往是经由加密的,信息不再会被轻易窃 听、劫持。在 IPv4 体系中,大量信息采用明文传输,DNS污染、HTTP劫持等现象层出不穷,相比你也是忍了手机看网页的时候下边那个查流量的按钮很久了吧。如果部署了 IPSec,互联网理论上更加安全、畅通。 RCzV5g  
L 5+J ^  
'/k^C9~m r  
不过在云栖社区的聚能聊里,很多网友还是对 IPV6 表示了一定的担忧: >):m-I  
bSQRLxF  
z^r |3;  
比如说:
kLJlS,nh\r  
ipv6地址难记是真的,但是换成ipv6地址能大大简化网络行为。其一,大家都有固定ip地址了,寻址更容易,如果玩局域网游戏就可以直接输入ipv6进入,不需要查询动态ipv4地址。其二,作为网络交换器再也不需要让路由器24小时开启维持ip地址不变了。其三,网络犯罪更容易抓获。因为ipv6地址是固定的,就相当于网络身份证,你犯罪了可以直接用过ip地址定位,而变动的ipv4地址却无法做到这一点。
MRQZIi  
还有:
PdT83vOCE  
IPv6说了多少年了,有多少部署,有多大的产业?个人感觉,再有20年,IPv6也不会大范围推开。现在IPv4+NAT方式会一直使用下去(好处也很多啊),既得利益者不会轻易让它消失。我预测,在未来10年内,会有一项新的基础技术产生,从而彻底取代IP (v6 and v4)。
dY8(nQG  
不知道大家怎么看待 IPV6 呢?大家可以在 《厉害了我的网 中国计划部署推进IPv6》 参与话题拿大奖。 ( : {"C6x  
!Cw!+fZ\l  
IPV6 的实现形势 <yZP|_  
~;[&K%n  
lzEb5mg  
阿里在 《计划》 公布后就第一时间宣布了 将全面提供IPv6服务 但是距离正式提供 IPV6 还有一段时间,那么在这以前我们应该如何曲线实现 IPV6 呢? lWbZ=x_0  
vv &BhIf3  
Km,*)X.-5  
在《计划》发布前最让站长心急的时候,苹果的 “IPv6审核机制” 真正让 IPV6 狠刷了一波存在感,所有提交到 AppStore 的应用必须通过苹果 AppStore 审核人员在美国的 IPv6-Only 环境下对应用进行访问。一些因为无法过审的应用才开始意识到要对 IPV6 支持。 m%pBXXfGYj  
F"'n4|q4n  
?4 qkDtm  
一般来说大家为了获得 IPV6 主要是为了通过苹果的 AppStore 的 IPV6-Only 审核,但其实果 AppStore 在做 IPv6 审核的时候,并不需要DNS或者服务支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果 AppStore 审核时的 DNS64+NAT64 转换为IPv6地址进行通信。
如果,应用在苹果进行 IPv6 审核时不通过,可能原因主要有两方面:
  1. 应用本身不兼容 IPv6。此时,最好的办法是让应用本身兼容 IPv6;
  2. 跨国网络问题导致苹果 AppStore 所在的网络在审核时连接不通国内的服务器。
ZRnL_ z~  
此时推荐使用云解析付费版(具有海外DNS BGP节点)以及阿里云海外地域的ECS [(|^O>k8c  
8V-,Xig;`  
tjj^O%SV<  
什么是 “DNS64+NAT64访问机制” 呢? FI8k;4|V  
Vv8_\^g]  
)Vg2Jix,]  
DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示: sK&,):"]R  
=NZ[${7mq  
W5.Va.  
/THnfy \  
]9*;;4M g  
*_1[[~Aw  
\vCGU>UY  
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示: P]Xbjs<p  
W`rMtzL5  
b{M}5~e=B  
.wy$-sG81  
cwe1^SJ6y  
T6Ctf#  
wzh ]97b  
如果有强制的 IPV6 需求需要一个 IPV6 地址的话,那么就必须使用前文提到的曲线实现了。目前有三种可行的 IPV6 支持方案:
  1. 服务器在第三层(网络层)使用隧道传输来曲线支持 IPV6
  2. HTTP Proxy ,让支持 IPV6 的服务器做反向代理,将 AAAA 记录解析到代理服务器上
  3. 使用 CDN 缓存,像 CloudFlare 这样的 CDN 只要使用就可以支持 IPV6
pjw aL^  
不过,上述的三种,都有一定缺陷,其中第一种即隧道传输缺陷最少,几乎原生;而反代受限于反代服务器的延时,而且建设成本也挺高的;CDN 缓存么,像 Cloudflare 在国内速度并不理想。 8:thWGLN  
iY~rne"l  
'e@=^FC  
那么如何再阿里云的 ECS 上实现 IPV6 的隧道传输呢?阿里云有如下教程: pzhl*ss"6  
*5OCqU+g  
j1q[c,  
通过 IPV6 地址访问域名,如何设置域名解析? mI7~c;~  
8uch i  
vfwA$7N  
Windows 设置: v+=k-;-  
xx)-d,S  
Puh$%;x  
为阿里云ECS(Windows 2012)创建IPv6隧道地址 = 96P7#%  
{v` 2sB  
j U[ O  
类 Unix 通用设置: XIAeCU  
"e6|"w@8  
AIRr{Y  
https://bbs.aliyun.com/read/302778.html e ZLMP  
2p!"p`b~  
 c</1  
检测网站和访问者是否已经支持 IPV6: %gd(wzco  
5$rSEVg9  
/i_ @  
http://ipv6-test.com/validate.php <>Y?v C  
^qvZ XS  
IPV6 的原生展望 L}sx<=8.m  
T vtm`Yk\  
+jP~s  
像云数据库 for MySQL、OSS、CDN 这样的 PaaS 产品其实是不需要我们进行过多的设置的,自动就会支持 IPV6,这就是 PaaS 最能令运维人员感受到幸福感的地方了。 p$E8Bn%[  
g(ogXA1  
atF?OP|{,w  
而 ECS 上就会是 IPV6 攻坚的重点了,ECS 需要有支持了 IPV6 后需要我们额外的设置网卡以及想 Nginx、Apache Httpd、Tomcat 这样的 Web 服务器软件也需要进行 IPV6 的设置。 d s:->+o  
a%vrt)Gx  
A,gEM4  
例如低版本的 Nginx 如果编译时不带 –with-ipv6 参数就不会支持 IPV6 环境,同时还要在虚拟主机的配置文件中加入 listen [::]:80; 来支持监听 IPV4 和 IPV6 的 80 端口,对的,只需要 这一个参数就可以两种网络的监听。 mQ~:Y  
'%saL>0  
a W%5~3  
有些教程和环境一键包盲目的追求所谓的性能,会在内核配置文件中将 IPV6 给禁用了,这就导致了分配了 IPV6 地址也依旧无法使用。 E=]4ctK  
修改 /etc/sysctl.conf 文件将一下部分改为 sEc;!L  
58tVx'1y  
<Fz~7WVd  
  1. net.ipv6.conf.all.disable_ipv6 = 0
  2. net.ipv6.conf.default.disable_ipv6 = 0
  3. net.ipv6.conf.lo.disable_ipv6 = 0
Dw<k3zaW  
Tr&M~Lgb)  
O,@~L$a:YZ  
然后执行 zDTv\3rZ4X  
|JF@6  
  1. sysctl -p
PU<PhuMd  
以生效。 M]]pTU((  
O1&b]C#  
kgdT7  
总而言之,当分配了 IPV6 后,各位运维人员以及个人站长还需要进行一定的调试才能更好的支持 IPV6,而云栖社区也一定会提供更多 IPV6 有关的教程来帮助大家解决问题。
级别: 架构狮
发帖
1217
云币
1936
只看该作者 沙发  发表于: 01-24
您的无私奉献精神值得我们学习!向您致敬!
级别: 架构狮
发帖
1217
云币
1936
只看该作者 板凳  发表于: 01-24
您的无私奉献精神值得我们学习!向您致敬!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 51 + 27 = ?
上一个 下一个