赞
踩
author: jonathan 本文档的CopyRight归jonathan所有,可自由转载,转载时请保持文档的完整性。 Linux 的 XFRM框架多简单阿。6年前整理过,到现在还记得基本原理,说明xfrm设计的是多么简单明了。 0 前言 有人会说在HOOK点也能实现IPSEC的问题,为何还要XFRM?!!好问题,但是不是一两句话能把你说明白,只有去设计一安全网络系统才能深深体会到好处。这里就不过多描述。 1 静态框架 1.1 组建构成 XFRM 框架数据接收协议(如AH/ESP,与TCP/UDP并列属于4层网络协议) XFRM 框架数据发送协议(相当于虚拟网卡驱动) XFRM 框架策略引擎(与策略路有整合再一起) 1.2 结构图 此图还真不好画,简单描述一下就OK。有问题自己去解决把。 POST点 PRE点 XFRM 框架数据发送协议 其它网卡驱动 /* ------------------------------------------------------------------------ */ 2 动态流程 2.1 发送数据 skb_buff XFRM 框架策略引擎命中策略(skb_buff明文) -> XFRM 框架数据发送协议处理->再次回到OUT点处理(skb_buff已经加密)->其它网卡驱动发送出去 2.2 接收数据 skb_buff PRE点(skb_buff加密)->路由查询 是本地数据 -> XFRM四层协议处理 ->再次回到PRE点处理(skb_buff已经解密)->根据路由转发/本地接收 2.3 转发数据 在forward点策略查询,然后根据是否命中策略,决点在POST点后是否加密还是直接发送出去。 3 总结 XFRM具有极大的扩展性,我现在的产品就是在此基础上实现了网络安全管理。学习架构,学习思想,永无止境。 可以此XFRM基础上设计添加新的架构,就看你的思维是否开阔; 可以把XFRM体现的思想应用到其他方面,就看你的思维是否灵活; 学习不是最终目的,创造才是追求的。不是为了学习而学习,是为了创造而学习。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。