****************************************************************
作者的话:
本文系在阅读Linux源码及一些相关资料的基础上写成的 。
欢迎就文章的各个方面提出建议和批评意见 , 作者希望更多的交流和探讨 。
欢迎在保留原文完整性的前提下在网上转贴 , 需部分引用请通知作者 。
传统媒体转载和引用此文 , 请务必经过作者同意 。
欢迎在实际的应用中使用此文提出的思想 , 希望同时知会作者 。
作者信箱: xiaoman04@hotmail.com
欢迎来信!!
*****************************************************************
O、
由于网络的日益普及 , 网络的安全成为目前的热门话题 。本文对隧道技术的分析 ,
就侧重安全领域 , 对利用隧道技术实现虚拟专网提出建议 。
为什么需要IP隧道?没有接触过这个概念的人自然提出这样的疑问 。实际上概念
最初的提出很简单 , 为了在TCP/IP网络中传输其他协议的数据包 。设想IPX协议或
X.25封装的数据包如何通过Internet网进行传输 , 在已经使用多年的桥接技术中是
通过在源协议数据包上再套上一个IP协议头来实现 , 形成的IP数据包通过Internet后
卸去IP头 , 还原成源协议数据包 , 传送给目的站点 。对源协议数据来说 , 就如被IP
带着过了一条隧道 。这种技术在业余无线网络(Amateur;Packet;Radio;network ,
应该怎么翻 , 请告诉我)得到了最广泛的应用 。
利用IP隧道来传送的协议包也包括IP数据包 , 本文主要分析的IPIP封包就是如此 , 从字
面来理解IPIP就对了 , 就是把一个IP数据包又套在一个IP包里 。为什么要这么做呢?
多此一举嘛 。其实不然 , 见过一些应用就会明白 , 移动IP(Mobile-IP)和IP多点广播
(IP-Multicast)是两个通常的例子 。目前 , IP隧道技术在构筑虚拟专网(;Virtual;
Private;Network)中也显示出极大的魅力 。本文也将对利用IP隧道技术构筑VPN做
简单设想 。
背景:隧道的多种理解和实现
Internet的研究者多年前就感到需要在网络中建立隧道 , 最初的理解是在网络
中建立一条固定的路径 , 以绕过一些可能失效的网关 。可以说 , 隧道就是一条
特定的路径 。
这样的隧道是通过IP报头中的源路由选项来实现的 , 在目前看来 , 这个方法的缺陷
十分明显 。要设置源路由选项就必须知道数据包要经过的确切路径 , 而且目前
多数路由实现中都不支持源路由 。
另一个实现隧道的机制是开发一种新的IP选项 , 用来表明源数据包的信息 , 原IP头
可能成为此选项的一部分 。这种隧道的意义与我们所说的隧道已十分接近 。但它的
不足在于要对目前IP选项的实现和处理做较大的修改 , 也缺乏灵活性 。
最后常用的一种实现方法是开发一种新的IP封包协议 , 仍然套用当前的IP头格式 。
通过IP封包 , 不须指明网络路径 , 封包就能透明地到达目的地 。也可以通过封包空
间把未直接连接的机器绑在一起 , 从而创建虚拟网络 。这种方法易行、可靠、可扩
展性强 , Linux采用了这一方法 , 这也是目前我们所理解的隧道思想 。
一、
封包协议的结构和实现
封包协议的实现原理十分简单 。先看看通过隧道传送的数据报在网络中如何流动 ,
如图一 。
为了叙述简便 , 我把在隧道中传送的IP数据包称为封包 。
--------------;;;;-----------
推荐阅读
- 三才杯中的杯身代表了
- oppoA7中将hd显示关闭具体操作步骤
- win7系统中将卸载软件后残留文件清除具体操作流程
- 对待LINUX的几点忠告
- 抖音中国驰名双标是什么梗
- oppoA7中将应用悬浮窗打开具体操作步骤
- 配置linux与win2000/XP/NT 双重引导
- 猪病防治用药中的注意事项
- 什么叫直流电源
- vivox27中将应用加密具体操作步骤
