Linux中IP隧道 Contents 1 为什么需要IP隧道? 2 背景:隧道的多种理解和实现 3 封包协议的结构和实现 4 Linux中的实现 4.1 基本思路 5 为实现VPN的扩展 6 待完善 为什么需要IP隧道? 没有接触过这个概念的人自然提出这样的疑问。实际上概念 最初的提出很简单,为了在TCP/IP网络中传输其他协议的数据包。设想IPX协议或 X.25封装的数据包如何通过Internet网进行传输,在已经使用多年的桥接技术中是 通过在源协议数据包上再套上一个IP协议头来实现,形成的IP数据包通过Internet后 卸去IP头,还原成源协议数据包,传送给目的站点。对源协议数据来说,就如被IP 带着过了一条隧道。利用IP隧道来传送的协议包也包括IP数据包,本文主要分析的IPIP封包就是如此,从字 面来理解IPIP就对了,就是把一个IP数据包又套在一个IP包里。为什么要这么做呢? 多此一举嘛。其实不然,见过一些应用就会明白,移动IP(Mobile-IP)和IP多点广播 (IP-Multicast)是两个通常的例子。目前,IP隧道技术在构筑虚拟专网( Virtual Private Network)中也显示出极大的魅力。本文也将对利用IP隧道技术构筑VPN做 简单设想。 背景:隧道的多种理解和实现 Internet的研究者多年前就感到需要在网络中建立隧道,最初的理解是在网络 中建立一条固定的路径,以绕过一些可能失效的网关。可以说,