| Linux操作系统下IP隧道深入研究(二) |
|
| |
|
|
三、为实现VPN的扩展 实际上Linux只为实现隧道机制提供了一个框架,图二中的封包协议头在Linux中被忽略了,也就是说,封包头只含封包IP头,其后紧跟原IP数据包。这样的结构用于传输公开数据没有关系,但对于一个VPN来说,安全保密是不可缺少的重要功能。我们希望通过隧道的数据可靠且不可窃取和冒充的,那么,加密和认证就必不可少。为实现这一构想,设计以下封包协议头:
0 4 8 16 24 31
+-----+-----+-----------+------------------------+
| ver |type | hlen | OldPacketLen |
+-----------------------+------------------------+
| DeviceID | EncapID |
+-----------------------+------------------------+
| Flags | CheckSum |
+------------------------------------------------+
| IPIP Options( If any ) |
+------------------------------------------------+
. | padding |
. .
+------------------------------------------------+ 图三 IPIP头设想图ver: 版本号,利于扩展; type: 用于建立不同目的的隧道(可能处理上有差别); OldPacketLen: 进入隧道的原数据包长度; DeviceID: 对数据包进行封装的设备标识; EncapID: 此封包的ID号。 Flags: 标志位,共16位,初步定义如下: 0 保留; 1 有否加密; 2 有否做摘要; 3 有否签名; 4 保留; 5 有否传送消息密钥; 6 消息密钥有否加密; 7 消息密钥是否需保留; 8-15 保留。 Linux联盟收集整理
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-2-4 20:25:00 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|
|
|
| 教程录入:itqoo 责任编辑:itqoo |
|
上一个教程: 编译内核以使其支持PS并口改装手柄
下一个教程: 重新编译Linux操作系统的内核指南 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |