IPv4和IPv6最直观差异是地址长度。IPv4为32位,四段数字格式,举例192.168.1.1,总地址量约43亿。看着数量不小,但电脑、手机、服务器、监控摄像头、智能家居设备都要占用地址,地址资源早已耗尽。IPv6是128位,八组十六进制字符,类似2001:0db8:85a3:0000:0000:8a2e:0370:7334。地址总量极其庞大,有人估算地球上每一粒沙子都可以分配多个IPv6地址。这不只是简单加长地址位数,从根源解决地址枯竭问题。
IPv4地址不足,衍生出很多补救方案,NAT最普遍。家里所有设备共用一个公网IP,路由器做地址转换,外部网络仅能看到路由器公网地址。节省地址资源的同时,破坏端到端通信。外部网络主动访问家里NAS、监控摄像头,需要配置端口映射,部分运营商甚至不分配公网IPv4。IPv6不存在这个问题,每台设备都可以拥有独立公网地址,恢复原生端到端通信。当然防火墙依旧需要配置,不然设备直接暴露公网存在安全风险。

地址写法上IPv4使用点分十进制,直观简单。IPv6冒号分隔十六进制,地址很长,支持压缩。连续多组0可以用双冒号替换,但是单个地址只能使用一次压缩。2001:db8::1就是压缩写法,比完整八组简洁。DNS记录类型随之区分,IPv4使用A记录,IPv6是AAAA记录。域名可以同时配置两种记录,客户端根据自身网络协议自动选择访问。
头部结构是容易被忽略的差别。IPv4头部长度不固定,最小20字节,开启选项最大60字节,路由器转发需要额外计算头部长度,影响转发效率。IPv6头部固定40字节,精简多余字段,路由器转发速度更快。数据包分片机制改动明显,IPv4允许链路中间路由器拆分数据包,增加中间设备负担。IPv6只在源主机分片,链路路由器不做拆包,依靠路径MTU发现机制规避分片。降低中间设备负载,传输稳定性更好。
配置方式,IPv4依靠手动设置或者DHCP,设备连接WiFi,路由器分配地址,租期到期重新申请。IPv6除DHCPv6,支持无状态地址自动配置SLAAC。设备读取路由器广播前缀,自行生成IPv6地址,不需要服务器分配。插网线或者连上WiFi,几秒自动获取可用IPv6地址,很适合物联网设备大规模接入,减少集中分配瓶颈。
安全层面有个常见误区,很多人认为IPv6天然更安全,协议内置IPsec。实际IPsec只是IPv6协议栈预留能力,默认不会启用,安全防护依旧依靠防火墙、访问控制、上层加密协议。IPv6没有广播机制,改用组播、任意播,ARP协议替换成邻居发现协议。减少局域网广播流量,但不能自动解决全部安全隐患。
日常网络大多是双栈架构。手机、电脑、服务器同时支持IPv4、IPv6,访问网站优先尝试IPv6,连接失败自动回退IPv4。国内宽带、手机流量大多已经分配IPv6地址,只是用户很少留意。大型网站基本支持IPv6,小型站点很多还没有适配。过渡技术有三类,双栈最简单;隧道将IPv6数据包封装在IPv4传输;协议翻译实现两种协议互相转换。每种技术适配场景不同,不存在万能方案。
IPv6路由聚合能力更强。IPv4地址分配碎片化,路由表条目庞大,骨干路由器负载高。IPv6地址块分配集中,路由条目更少,转发效率提升。移动性方面IPv6内置移动IPv6标准,设备切换网络,地址可以保持不变,连接不容易中断。IPv4时代移动IP标准落地很少,IPv6把这项能力完善落地。
简单来说IPv4和IPv6不只是版本升级。地址空间、头部格式、配置方式、分片逻辑、广播机制、安全模型,几乎每一层都重新设计。IPv4还会长期使用,但新设备、新网络、新应用默认向IPv6过渡已经是趋势。平时感知不到差异,是双栈屏蔽底层区别。等到IPv4逐步退网,这些差异才会明显体现。