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

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

级别: 论坛版主
发帖
9333
云币
14095
— 本帖被 不靠谱贝贝 设置为精华(2017-12-16) —
IPv6 的发展形势 { %af  
R"JT+m  
{F*81q\  
近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《计划》),加快推进基于 IPv6 的下一代互联网规模部署,计划指出到 2018 年末国内 IPv6 活跃用户数要达到2亿,2020年末达到5亿,2025年末中国 IPv6 规模要达到世界第一。 (#r>v h(  
3Ett9fBd  
,N2|P:x  
随着移动互联网、智能设备、车联网、智慧城市等新一代信息技术产业的蓬勃发展使得对 IP 地址的需求量大大增加,根据预测未来 5年 中国的 IP 地址需求总量将高达 345 亿。在 IPv4 地址告罄的情况下目前运营商通过 NAT 技术勉强支撑但是却极大的降低了租户的可用性,IPv6 的商用价值和战略意义正在凸显,而《计划》的发布更标志着中国的 IPV6 正式进入部署阶段,对世界 IPV6 的发展也将有着不小的意义。 /A%31WE&1  
T_4y;mf!@O  
X>s'_F?  
在IPv6方面,中国可谓是 “起了大早赶了晚集”,到2016年底,中国拥有IPv6地址申请总量超过2万块,数量为美国的一半,全球排名仅次于美国。但被路由器宣告的IPv6地址仅占中国已申请获得的IPv6地址总量的7.5%,承载真实流量的IPv6地址路由器数量仅有3%。中国2016年IPv6用户占比在全球排名66位,排在印度、越南等国之后。不过不要泄气,要知道 2025 年我国 IPv6 网络规模将居世界第一位,估计会是其他国家难以超越的存在。 f`,isy[  
sfEy  
IPV6 带来的极大改变 0tah$;c e  
K<D=QweOon  
lEiOE]  
不再被内网 PQ`~qM:3st  
mM;p 7 sJ  
oi/bp#(fa  
《计划》中明确有提到 “新增网络地址不再使用私有IPv4地址” ,的确近年来很多人都再抱怨己 “被内网” 了,因为亚洲的 IPV4 资源其实很早就已经枯竭了,但是互联网却一直在发展,因此只有通过 NAT 方式来续命了。而 IPV6 拥有给每粒沙子赋予一条 IP 的 IP 数量,所以我们根本不用担心 IP 不够了! ){,v&[  
t(.xEl;Ma  
gye'_AR?k  
]tDuCZA  
C\C*'l6d  
I'T@}{h  
:=^_N}  
}6^d/nE*T  
t"L-9kCM  
为物联网的爆发做铺垫 N\WEp?%~  
^bDh[O  
> z1q\cz  
在未来万物互联,我们的每台电脑、每台手机、每台插线板、每件衣服甚至每粒纽扣都可能被赋予 IP 地址以连接网络。但是仅仅42亿个地址的 IPV6 到每台手机这里就已经十分勉强了,更别说每粒纽扣了。因此未来的物联网大爆发必定需要 IPV6。 fp2.2 @[  
vB9v8@[I&  
Ct,|g =(  
更高效的信息传输 W_P&;)E  
()I';o  
%Ut7%obpi  
依旧是前面提到的 NAT, IPV4 由于使用大量 NAT 来连接设备,这让网络模型变得越来越复杂。 OKp0@A)8  
[qGj*`@C  
bB`p-1  
%nkP?gn"a  
('7qJkV  
l^*'W(%  
vpl> 5%  
可以看到 IPV6 相比 IPV4 的包头精简了很多因此也会获得性能上的提升,极大的提高了信息的传输效率,简单的归纳就是:1.简化头,少处理;2.不分片,无重组;3.去校验,省资源 XrD@q  
,Rh6( I  
(lBwkQNQGd  
更安全互联网 ",gWO 8T  
1:r8p6  
+Tug.[A  
在 IPv6 的部署中是可以配置 IPSec 的,这意味着在IPv6地址之间传输数据往往是经由加密的,信息不再会被轻易窃 听、劫持。在 IPv4 体系中,大量信息采用明文传输,DNS污染、HTTP劫持等现象层出不穷,相比你也是忍了手机看网页的时候下边那个查流量的按钮很久了吧。如果部署了 IPSec,互联网理论上更加安全、畅通。 b _#r_`  
ic_q<Y}  
 UX& ?^]  
不过在云栖社区的聚能聊里,很多网友还是对 IPV6 表示了一定的担忧: 0j )D[K  
bW9a_myE  
-l# h^  
比如说:
G uLU7a  
ipv6地址难记是真的,但是换成ipv6地址能大大简化网络行为。其一,大家都有固定ip地址了,寻址更容易,如果玩局域网游戏就可以直接输入ipv6进入,不需要查询动态ipv4地址。其二,作为网络交换器再也不需要让路由器24小时开启维持ip地址不变了。其三,网络犯罪更容易抓获。因为ipv6地址是固定的,就相当于网络身份证,你犯罪了可以直接用过ip地址定位,而变动的ipv4地址却无法做到这一点。
b^~"4fU  
还有:
R8U?s/*  
IPv6说了多少年了,有多少部署,有多大的产业?个人感觉,再有20年,IPv6也不会大范围推开。现在IPv4+NAT方式会一直使用下去(好处也很多啊),既得利益者不会轻易让它消失。我预测,在未来10年内,会有一项新的基础技术产生,从而彻底取代IP (v6 and v4)。
ClvqI"Rd  
不知道大家怎么看待 IPV6 呢?大家可以在 《厉害了我的网 中国计划部署推进IPv6》 参与话题拿大奖。 VS{po:]A  
Z*Fxr;)d  
IPV6 的实现形势 ..g?po  
;$Q&2}L[  
N @24)g?  
阿里在 《计划》 公布后就第一时间宣布了 将全面提供IPv6服务 但是距离正式提供 IPV6 还有一段时间,那么在这以前我们应该如何曲线实现 IPV6 呢? x8]5> G8(r  
:QV-!  
XpLK0YI  
在《计划》发布前最让站长心急的时候,苹果的 “IPv6审核机制” 真正让 IPV6 狠刷了一波存在感,所有提交到 AppStore 的应用必须通过苹果 AppStore 审核人员在美国的 IPv6-Only 环境下对应用进行访问。一些因为无法过审的应用才开始意识到要对 IPV6 支持。 TZ2-%k#  
l6wN&JHTh  
~rWys=  
一般来说大家为了获得 IPV6 主要是为了通过苹果的 AppStore 的 IPV6-Only 审核,但其实果 AppStore 在做 IPv6 审核的时候,并不需要DNS或者服务支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果 AppStore 审核时的 DNS64+NAT64 转换为IPv6地址进行通信。
如果,应用在苹果进行 IPv6 审核时不通过,可能原因主要有两方面:
  1. 应用本身不兼容 IPv6。此时,最好的办法是让应用本身兼容 IPv6;
  2. 跨国网络问题导致苹果 AppStore 所在的网络在审核时连接不通国内的服务器。
pS vqGJU3  
此时推荐使用云解析付费版(具有海外DNS BGP节点)以及阿里云海外地域的ECS 3{wmKo|_X  
.(7 end<  
e{"r3*  
什么是 “DNS64+NAT64访问机制” 呢? B?c n5  
#:y h2y7a%  
t69C48}15  
DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示: M+akD  
]26 Q*.1~  
>*hY1@N1  
!G0OD$  
<]jKpJ{3N  
|@a.dgz,  
yJj$iri  
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示: 0pYCh$TL1  
nsRZy0@$t  
\,b@^W6e>  
7 fE QD?C  
Q/y^ff]=  
? ^E B"{  
uEK9  
如果有强制的 IPV6 需求需要一个 IPV6 地址的话,那么就必须使用前文提到的曲线实现了。目前有三种可行的 IPV6 支持方案:
  1. 服务器在第三层(网络层)使用隧道传输来曲线支持 IPV6
  2. HTTP Proxy ,让支持 IPV6 的服务器做反向代理,将 AAAA 记录解析到代理服务器上
  3. 使用 CDN 缓存,像 CloudFlare 这样的 CDN 只要使用就可以支持 IPV6
?W#>9WQi  
不过,上述的三种,都有一定缺陷,其中第一种即隧道传输缺陷最少,几乎原生;而反代受限于反代服务器的延时,而且建设成本也挺高的;CDN 缓存么,像 Cloudflare 在国内速度并不理想。 bR6g^Yf  
: " ([i"  
^X&n-ui   
那么如何再阿里云的 ECS 上实现 IPV6 的隧道传输呢?阿里云有如下教程: <0Mc\wy  
eC9nOwp]xH  
eX;Tufe*(Q  
通过 IPV6 地址访问域名,如何设置域名解析? {iyO96YI[^  
`*A!vO8  
k,~I>qg  
Windows 设置: R::0.*FF  
*K{-J*   
Kc6p||<  
为阿里云ECS(Windows 2012)创建IPv6隧道地址 6vx0F?>_  
P4M*vZq)  
@_gCGI>Q  
类 Unix 通用设置: KxEy N(n  
%Fh*$gzh*5  
PRs[! EB6  
https://bbs.aliyun.com/read/302778.html Fp)+>o T  
dSD7(s!  
Ur`jmB  
检测网站和访问者是否已经支持 IPV6: 9q?\F  
}b// oe7  
l5> H\  
http://ipv6-test.com/validate.php ?!N@%R>5rN  
rmX'Ym9#  
IPV6 的原生展望 %0>DjzYt  
.|[5*-  
(<= &#e?  
像云数据库 for MySQL、OSS、CDN 这样的 PaaS 产品其实是不需要我们进行过多的设置的,自动就会支持 IPV6,这就是 PaaS 最能令运维人员感受到幸福感的地方了。 'T(7EL3$}  
.L,xqd[zC  
#].n0[  
而 ECS 上就会是 IPV6 攻坚的重点了,ECS 需要有支持了 IPV6 后需要我们额外的设置网卡以及想 Nginx、Apache Httpd、Tomcat 这样的 Web 服务器软件也需要进行 IPV6 的设置。 :YL`GSl  
-~nU&$ccL  
$6W o$c%  
例如低版本的 Nginx 如果编译时不带 –with-ipv6 参数就不会支持 IPV6 环境,同时还要在虚拟主机的配置文件中加入 listen [::]:80; 来支持监听 IPV4 和 IPV6 的 80 端口,对的,只需要 这一个参数就可以两种网络的监听。 eXHk6[%[  
$ekB+ t:cj  
HFJna2B`  
有些教程和环境一键包盲目的追求所谓的性能,会在内核配置文件中将 IPV6 给禁用了,这就导致了分配了 IPV6 地址也依旧无法使用。 C~16Jj:v  
修改 /etc/sysctl.conf 文件将一下部分改为 3?Ml]=u  
2"31k2H[  
6x1 !!X+)+  
  1. net.ipv6.conf.all.disable_ipv6 = 0
  2. net.ipv6.conf.default.disable_ipv6 = 0
  3. net.ipv6.conf.lo.disable_ipv6 = 0
8Ol#-2>k$  
'6^20rj  
*Q?ZJS ~  
然后执行 ~16QdwK  
a ?LrSk`  
  1. sysctl -p
K~j&Q{yws@  
以生效。 LX%K*nlj  
 E*[dc  
&kR+7  
总而言之,当分配了 IPV6 后,各位运维人员以及个人站长还需要进行一定的调试才能更好的支持 IPV6,而云栖社区也一定会提供更多 IPV6 有关的教程来帮助大家解决问题。
级别: 架构狮
发帖
1240
云币
2008
只看该作者 沙发  发表于: 01-24
您的无私奉献精神值得我们学习!向您致敬!
级别: 架构狮
发帖
1240
云币
2008
只看该作者 板凳  发表于: 01-24
您的无私奉献精神值得我们学习!向您致敬!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个