IVI翻译机制在Netfilter框架中的设计与实现*
2012-10-08王相林沈清姿陈国峰
王相林,朱 晨,沈清姿,陈国峰
(杭州电子科技大学计算机学院 杭州 310018)
1 引言
随着人们对网络应用及其服务性能要求的提高,IPv4(internet protocol version 4)[1]显现出许多难以克服的不足,IPv4向下一代网络协议 IPv6(internet protocol version 6)[2~4]的过渡刻不容缓。由于IPv4向IPv6的过渡得经历一段相当长的时间,所以在短时间内Intranet不可能实现将所有资源转移至IPv6,如何选取一种IPv6过渡策略,实现IPv4向IPv6的平滑过渡成为目前所必须面对的重要问题。2008年12月,李星教授团队提出了“基于无状态地址映射的IPv4与IPv6网络互连技术——IVI”[5~7],IVI翻译机制可以实现纯IPv6节点与纯IPv4节点之间的相互通信,且具有高效的翻译性能。本文的设计思路是基于Netfilter框架以扩展模块形式配合使用Xtables-addons插件,在Linux内核中实现了IVI翻译机制,并对其匹配模块、目标模块两大模块的具体实现进行详细分析,并将其应用于真实网络中进行测试,为Intranet设计实现了一种相对平滑的IPv6过渡方案。
2 IPv4向IPv6过渡技术的研究现状及进展
在IPv4网络向IPv6网络过渡的时期,改变整个网络硬件基础架构显得很困难,而通过软件形式来更新则显得相对容易且更加实际。在这期间产生了多种过渡策略,IVI过渡策略就是其中重要的一种。
2.1 主要的过渡技术
(1)双协议栈技术
双协议栈(dual stack)技术[8]是主机在同一网络接口上同时启用IPv4与IPv6协议栈,并分别配置IPv4地址与IPv6地址,然后通过这两套协议栈来各自访问IPv4网络和IPv6网络。当数据分组属于IPv4网络时,就走IPv4协议栈流程,而当数据分组是IPv6网络时,则通过IPv6协议栈,两种协议同时存在,互不影响[9,10]。……
