扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
三、为实现VPN的扩展
实际上Linux只为实现隧道机制提供了一个框架,图二中的封包协议头在Linux中被忽略了,也就是说,封包头只含封包IP头,其后紧跟原IP数据包。这样的结构用于传输公开数据没有关系,但对于一个VPN来说,安全保密是不可缺少的重要功能。我们希望通过隧道的数据可靠且不可窃取和冒充的,那么,加密和认证就必不可少。为实现这一构想,设计以下封包协议头:
|
ver: 版本号,利于扩展;
type: 用于建立不同目的的隧道(可能处理上有差别);
OldPacketLen: 进入隧道的原数据包长度;
DeviceID: 对数据包进行封装的设备标识;
EncapID: 此封包的ID号。
Flags: 标志位,共16位,初步定义如下:
0 保留;
1 有否加密;
2 有否做摘要;
3 有否签名;
4 保留;
5 有否传送消息密钥;
6 消息密钥有否加密;
7 消息密钥是否需保留;
8-15 保留。
CheckSum: 头校验
IPIP Options: 用来传送一些必要的数据,比如消息密钥、签名等。
格式:
|
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。