有人可以从 OSI(或 TCP/IP)层的角度解释一下,当您通过 ICMP 协议(虽然我认为后者实际上不是后者)传输 IP 或 TCP 隧道时发生的情况有什么区别吗?
答案1
隧道是将一层封装在另一层的有效载荷中的过程。在 OSI 模型中。
IP 隧道:假设您将一个 IP 数据包通过隧道传输到另一个 IP 数据包中。在左侧,您可以看到要封装的数据包,在右侧,此数据包作为有效负载添加到另一个 IP 数据包中。
在接收端,该过程被逆转,有效载荷包被发送到堆栈的更高层。
IP 隧道可以有多种类型:ip over ip、ip6 over ip、ip over ip6。
在 TCP 隧道中,相同的过程在 TCP 级别完成。
TCP 隧道通常用于端口转发,因为可以根据目标端口有选择地转发流量。
以下是一些不错的文章:
IP 隧道。http://www.linuxfoundation.org/collaborate/workgroups/networking/tunneling
TCP 端口转发:http://www.cyberciti.biz/faq/linux-unix-tcp-port-forwarding/