IPv6(Internet PRotocol Version 6)[1]是面向下一代Internet设计的网络层协议。由于IPv6和IPv4的报文格式并不兼容,人们设计了多种过渡机制,令IPv6能够在今天广泛使用的IPv4基础设施上实现虚拟网络互连[2]。隧道(tunneling)技术由于满足IPv6端到端通信的要求得到广泛的使用。无状态的隧道技术——6 to 4需要特定的地址空间(2002::/16),形成的虚拟网络规模单一(只有/48)[3],而拓扑结构又太过于自由——任何两个IPv4节点之间都可以随时使用6 to 4的无状态虚拟链路,不适用于自治系统(AS)内有层次的IPv6网络的组织,而且IPv6其网络标识也依赖于IPv4的地址。因此在很多场合下,有状态的隧道技术[4]仍然得到重视,并且广泛应用于今天的IPv6试验网络和早期商用网络。
“隧道”技术的核心是把IPv6的报文封装在IPv4的报文中,使用现有的支持IPv4的互联网传送IPv6的报文。如果两个IPv6节点A和B之间建立了一条隧道,那么当节点A要向节点B发送IPv6报文时,它把IPv6报文封装在以节点B的IPv4地址为目的地址的IPv4报文中发送出去,节点B收到此报文后则解除IPv4封装,取其中的IPv6报文放入自己的IPv6协议栈。因此,一条隧道的配置至少隧道两端交换各自的IPv4地址信息。对于有状态隧道的配置而言,两对参数需要由双边网络管理员相互约定、手工配置和维护。管理工作量大、工作效率低、容易出错。尽管相对于无状态的6 to 4技术来说,有状态隧道技术有上面提到的优点,它的应用却因为上述手工配置的缺点而受到很大限制。一般,只在大网之间进行IPv6互连并且隧道的数目并不太多的时候,才会考虑采用手工方式管理和配置隧道。