首 页文章中心

Linux学习网

您的位置Linux学习网 > Linux综合 > 文章内容

Linux操作系统下IP隧道深入研究(二)

作者:佚名  来源:不详  发布时间:2007-12-21 16:40:00

三、为实现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 保留。

收藏本页到: 365Key | del.icio.us | | 添加到雅虎收藏+
  • 网站帮助 - 广告合作 - 网站地图