作为互联网用户,或多或少听过IPv4地址枯竭的消息,而对于定义IPv4的IETF(互联网工程任务组)来说,也没有预料到如今的互联网会出现如此庞大的用户量增长。
IPv4的网络地址资源局限,已经严重制约了互联网的应用和发展。目前常用的NAT(网络地址转换)技术只能缓解公网IP数量不足的燃眉之急,而真正能从根本解决IP地址数量问题和推进互联网发展的技术方案还得依靠IPv6(Internet Protocol Version 6,互联网协议第6版)。
随着各国及各大运营商对IPv6的发展推动,IPv6已经渐渐进入用户的生活当中,例如我们在打开某些APP的开启画面中会看到IPv6的标示。
那么为什么越来越多的APP会将IPv6的标示写入启动界面,IPv6仅仅只是让IP地址数量变多吗?
一、IPv6地址数量
在IPv4中规定IP地址长度为32位二进制数,约等于2^32个网络地址。而IPv6具有更大的地址空间,长度为128位二进制数,约等于2^128个网络地址(约3.4×10^38),这个数量已经远远大于人们对互联网发展规模的想象。
二、IPv6地址格式
IPv6因为地址长度较大,相对的地址格式也会复杂不少,而且采用的为16进制的表示方式(数字0-9加上字母A-F),想要记住一个IPv6地址并不容易。
IPv6地址是可以进行缩写表示的,例如冒号分隔的每组数值前面的0可以省略不写,例如:
冒号分隔的一组或者连续几组全0数值,可以用双冒号表示(一个IP地址最多只可出现一次::缩写),例如:
三、ipv6的网络标示与主机标示
在IPv4中,大多数用户知道是用子网掩码来划分IP地址的网络号和主机号,从而得知IP地址所属的网段,例如:192.168.1.2 (255.255.255.0),我们可以通过这个IP的掩码长度来确定这个IP的网络标识为前24位,即192.168.1.0为它的网段,主机标识为后8位。
1. 那么IPv6如何划分网段?
IPv6的地址长度为128位(比特),默认后64位(比特)为接口ID,即主机标识。主机标识默认是由48位MAC地址加上IEEE分配的ID,依照EUI64转换算法,进行转换得来的,这就可以极大地降低IP地址出现重复的可能。
2. 全局单播地址
全局单播地址是最常用的IPv6地址类型,即全球唯一的IP地址,等同于IPv4的公网IP地址。
除了大多数全局单播地址,以下还有几个特殊地址类型需要进行区分:
四、IPv6的优点
1. 更庞大的网络地址数量
2. 更小的路由表
因为IPv6在地址分配时遵循聚类原则,相同区域默认分配相同前缀IP地址。当路由在查找和传递过程中,可以更高效地选择最优路由进行传递,大大节省传递时的开销。
3. IPv6的分段处理
在IPv4的网络中,数据包在传输过程中,路由器会根据其设置的MTU值(最大传输单元,默认为1500字节)来对数据包进行分片传输。
而在IPv6的网络中,主机在发出数据包时,就已经对数据包进行分片处理(默认最小MTU为1280字节),这样在数据传输的过程中就不需要路由器来担任分片工作,大大提高了数据传输的效率。
4. 即插即用
在IPv4的网络中,如果用户不想手动配置IP地址,就得依赖DHCP服务来进行地址自动分配。在IPv6中同样可以通过DHCPv6进行有状态地址分配,但是也可以不依赖DHCPv6来进行无状态地址分配(SLAAC)。
IPv6可以通过NDP进行路由请求和通告,获取IPv6地址的网络前缀,而 IPv6地址的后64位是由网卡的物理地址(MAC)加上转换算法得来,本身就是全球唯一的地址,所以也就很难遇到IP地址冲突现象。
5. 传输安全性
在IPv6网络中,除了对以往IPv4的报文精简改进,最大的区别就是强制使用IPSec安全加密传输,让用户不再担心数据抓包导致信息泄密,也避免了大多数据数欺骗攻击。
五、IPv6与IPv4如何互通
文章开头提到,为什么那么多APP会特别标注支持IPv6网络,原因就是,IPv4与IPv6之间网络默认是不能互通的,而支持IPv6的APP即可以在IPv6网络下直接进行访问。
那么,目前互联网上绝大多数设备依然在使用IPv4网络,不可能让所有设备同时切换到IPv6的网络上,在IPv4向IPv6过渡的漫长阶段中,如何使二者网络下的设备能正常访问互联网及互相通讯呢?
1. 双协议栈技术
双协议栈技术是指在路由器或者主机上同时运行IPv4和IPv6协议。
其中大多数应用服务器采用的为双栈主机的解决方案,严格意义上它并不是解决IPv4与IPv6互通的问题,而是适配两种网络模式来为不同网络下的客户端提供服务。
当IPv4网络下的客户端发起请求时,服务器及链路会在IPv4网络下进行响应。同理,当发起客户端处于IPv6网络时,服务器会在IPv6网络下进行响应。
反之,也可以在客户终端上配置双协议栈,来分别访问不同网络协议下的服务器。
2. 隧道技术
目前常见的IPv6隧道传输方案有手工隧道与自动隧道,例如6 over 4、6 to 4等。其中自动隧道因为需要同时配置IPv4和IPv6地址,所以需要双协议栈路由器支持。
隧道技术是指将IPv6的数据包封装在IPv4的数据包里进行发送,它好处就是不需要对现有的IPv4网络进行改造,就可以直接利用隧道来传输IPv6的数据包。
隧道技术主要是为了向IPv6网络过渡过程中减少搭建设备的成本,但是它依然无法解决纯IPv4主机与IPv6主机的互通问题。
3. 网络协议转换技术
IPv6上的网络协议转换技术类似于IPv4上经常使用的NAT技术,但是转换的内容不一样。早期的翻译网关采用的为NAT-PT技术,但是因为技术的局限性和安全性,最终还是改用了NAT64转换技术。
NAT64的工作原理就是搭建一台翻译网关位于IPv4与IPv6网络之间,将通过网关的IPv6与IPv4的数据包进行翻译传输。NAT64一般只能单方向的将发往IPv4网络的IPv6报文进行翻译,而不能主动翻译反方向的IPv4发往IPv6的报文,需要进行静态条目绑定才能真正实现IPv4访问IPv6网络,在技术实现上成本较高。
4. IVI技术
IVI技术是国内研发的翻译网关技术,虽然都属于翻译网关,但是NAT64转换基于状态,而IVI可以进行无状态的映射。
网络运营商通过对一部分IPv4和IPv6地址进行映射,生成IVI专用地址。IPv6网络的用户如果想访问IPv4网络,可以通过IVI网关的映射表获得IPv4地址来直接访问IPv4网络。而IPv4用户如果需要访问IPv6网络,则会通过IVI网关获得IVI-6地址来访问IPv6网络。
目前IVI是IPv4向IPv6过渡的较优方案,原因就是它不需要改变用户的使用习惯和成本,可以直接由运营商进行搭建翻译网关来进行双网互访。
六、总结
随着互联网规模的快速发展,IPv4向IPv6转变是必然趋势。
而各国和运营商对IPv6的推动,在不久的将来会有更多的设备和产品加入物联网大环境,原本的设备互联问题将发生巨大改变,作为普通互联网用户也能享受IPv6带来的便利。