从2010年IETF承认IPv6与IPv4不兼容开始,业内几乎到处都在讲“不兼容”的问题,似乎发现了新大陆一样。Ipbaobao曾经撰文探讨过,在网络世界里,什么叫“兼容”和“不兼容”,见相关的博文。
有人试图设计出一种解决地址短缺的方案,可以是和IPv4兼容的!ipbaobao以为,在得出“Ipv4和IPv6不兼容性”的结论时,其实是附带了诸多条件的。如果改变了这些context,说设计了一种兼容方案,是不准确的,有偷换概念之嫌。
比如,你不能说NAT/CGN方案是和IPv4兼容的,因为这里出现了翻译。翻译时,会损失一些IPv4的语义。你不能说DHCP协议和IPv4是兼容的,因为你损失了地址的“静态性”和“稳定性”。你不能说IPv4私有地址是和IPv4是兼容的,因为这里损失了地址的端到端“唯一性”。
更大范围内,用户使用习惯是否改变,也应纳入兼容性的讨论范畴!比如把电话号码从7位升为8位,在通信业范围内是兼容的,但用户需要重新修改电话号码本,就是不兼容的。
如果说是兼容的,应该是“完全”保持了IPv4原有私有属性的情况下的一种地址解决方案,但这在理论上是不可能的!因为地址是一种资源,扩充资源(IPv6)会让一种资源池大,一种资源池小,必然会出现大的资源池与小的资源池互访时,地址信息量不对称的问题,相互通信时造成信息的损伤是必然的!
设计新的IP协议时,只能是最大限度地保持与IPv4的兼容度。你甚至可以反过来说,IPv6是和IPv4兼容性最好的了(相比ATM, MPLS, Ethernet, X.25等)。
在“完全兼容”和“不兼容”之间,存在诸多层级的“部分兼容”的状态,不是非0即1的情况。因此在讨论兼容问题时,必须要仔细。