1. IPv4 overIPv4隧道协议简介
IPv4 over IPv4 隧道( RFC1853 )协议是对 IP 数据报进行封装,使得一个 IPv4 网络的数据能够在另一个 IPv4 网络中传输。
2. 报文封装及解封装
报文在 Tunnel 中传输经过封装与解封装两个过程,以下图为例说明这两个过程:
4 IPv4 隧道原理图
l               封装流程
Router A 连接 IPv4 主机所在子网的接口收到 IP 数据报后,首先交由 IP 协议栈处理。 IP 协议栈根据 IP 报头中的目的地址来确定如何路由此包。如果报文要路由到与 Router B 相连的 IPv4 主机的地址,则将此报文发给 Route A 上连接 Router B Tunnel 接口。
Tunnel 接口收到此包后,进行 IPv4 over IPv4 的封装,封装完成后重新交给 IP 协议栈处理, IP 协议栈根据添加的 IP 报头确定出接口。
l               解封装流程
解封装过程和封装的过程相反。从网络接口收到的 IP 报文被送到 IP 协议栈, IP 协议栈检查 IP 报头的协议号;若发现此协议号为 4 IPv4 ,则将此 IP 数据包发送到隧道模块进行解封装处理;解封装之后的 IP 报文将重新被送到 IP 协议栈进行处理。

IPv4IPv6 over IPv6隧道

1. IPv4IPv6 over IPv6隧道协议简介
IPv4 IPv6 over IPv6 隧道( RFC2473 )协议是对 IPv4 或者 IPv6 的数据报进行封装,使这些被封装的数据报能够在另一个 IPv6 网络中传输,封装后的数据报文即 IPv6 隧道报文。
5 IPv6 隧道原理图
如图 5 所示, Original data IPv4 IPv6 报文。
2. 报文封装及解封装
l               封装流程
Router A 连接网络 A 的接口收到原始数据报后,首先交由对应的数据转发模块进行处理,并确定如何路由此数据包;若确定此数据包要路由到与 Router B 相连的 Host B 的地址,则将此报文发给 Router A 上连接 IPv6 网络的 Router B Tunnel 接口。
Tunnel 口收到此包后添加 IPv6 报文头,封装完成后交给 IPv6 模块处理; IPv6 协议模块根据 IPv6 隧道头的目的地址重新决定路由。
l               解封装流程
解封装过程和封装的过程相反。从 IPv6 网络接口接收的数据包被送到 IPv6 协议模块进行处理;若乘客协议为 IPv4 IPv6 ,则数据包进入隧道处理模块进行解封装处理;解封装之后的数据包被送往相应的协议模块进行二次路由处理。