linux XFRM整体框架简单分析

2023-10-26

author: jonathan

本文档的CopyRight归jonathan所有,可自由转载,转载时请保持文档的完整性。
/*----------------------------------------------------------------------------------------------------------------------------*/

Linux 的 XFRM框架多简单阿。6年前整理过,到现在还记得基本原理,说明xfrm设计的是多么简单明了。
不过网上都是基于代码的分析,很少有从整体框架上来描述,大家都被code淹没了。

0 前言

Linux引入XFRM是在不打乱原有的网络协议结构和HOOK点安全架构设计前提下,成功引入了一种基于策略的高扩展性的网络安全架构。

有人会说在HOOK点也能实现IPSEC的问题,为何还要XFRM?!!好问题,但是不是一两句话能把你说明白,只有去设计一安全网络系统才能深深体会到好处。这里就不过多描述。

1 静态框架

1.1 组建构成

    XFRM 框架数据接收协议(如AH/ESP,与TCP/UDP并列属于4层网络协议)

    XFRM 框架数据发送协议(相当于虚拟网卡驱动)

    XFRM 框架策略引擎(与策略路有整合再一起)

1.2 结构图

   此图还真不好画,简单描述一下就OK。有问题自己去解决把。
      
/* ------------------------------------------------------------------------ */
       XFRM 框架策略引擎                             TCP/UDP/XFRM

         OUT点                                         IN点
            
                          forward点
                       (XFRM 框架策略引擎)

         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体现的思想应用到其他方面,就看你的思维是否灵活;

   学习不是最终目的,创造才是追求的。不是为了学习而学习,是为了创造而学习。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux XFRM整体框架简单分析 的相关文章

随机推荐

  • 24

    以下内容出自 MySQL 实战 45 讲 https time geekbang org column article 76446 24 MySQL是怎么保证主备一致的 MySQL 主备的基本原理 如图所示就是基本的主备切换流程 M S结构
  • socket可读,可写的条件

    socket可读可写条件 经常做为面试题被问 因为它考察被面试者对网络编程的基础了解的是不是够深入 要了解socket可读可写条件 我们先了解几个概念 1 接收缓存区低水位标记 用于读 和发送缓存区低水位标记 用于写 每个套接字有一个接收低
  • Oracle数据库运维、备份常用指令

    Oracle数据库运维 备份常用指令 1 Oracle数据泵备份导出 1 1 准备工作 在linux系统下创建导出结果存放的文件夹 切记要切换到oracle用户创建 否则会出现权限问题 su oracle mkdir home oracle
  • keepalived高可用服务的VIP地址无法访问

    环境 keepalived nginx实现高可用 VIP地址可以正常生成 也可正常漂移 可以实现故障切换 VIP地址只能在本地服务器ping通 其他内网服务器上无法ping通VIP地址 防火墙和selinux都已关闭 原因一 服务器启动了i
  • day37 445 数字反转 (字符串处理、模拟)

    445 数字反转 给定一个整数 请将该数各个位上数字反转得到一个新数 新数也应满足整数的常见形式 即除非给定的原数为零 否则反转后得到的新数的最高位数字不应为零 输入格式 输入共1行 1个整数N 输出格式 输出共1行 1个整数表示反转后的新
  • 集群基础7——keepalived脑裂

    文章目录 一 脑裂概念 二 脑裂产生原因 三 解决方案 四 脑裂监控 一 脑裂概念 在高可用 HA 系统中 当联系2个节点的 心跳线 断开时 本来为一整体 动作协调的HA系统 就分裂成为2个独立的个体 由于相互失去了联系 都以为是对方出了故
  • 常用 Git 命令行操作

    本文记录了一些常用 Git 命令行操作的具体使用方式 git clone git clone REPOSITORY URL 拉取仓库 并使用仓库名作为本地文件名 git clone REPOSITORY URL FOLDER 拉取仓库 并使
  • android new intent(),Android:关于onNewIntent()触发机制及注意事项

    在阅读该篇日志前 先熟悉一下Android的四种启动模式 因为onNewIntent并不是在所有启动模式下都会执行的 一 onNewIntent 在IntentActivity中重写下列方法 onCreate onStart onResta
  • Flink水位线不触发问题

    窗口计算时遇到好几次水位线不触发的情况 简单总结下 首先 介绍下Flink的事件时间 EventTime 和水位线 Watermarks 的概念 一 处理时间 如果要构造一个实时的流式应用 或早或晚都会接触到EventTime这个概念 现实
  • 用vscode写markdown的正确姿势

    写markdown一直没找到特别顺手的工具 这两天试了试vscode 被惊艳到到了 特此记录一下 1 安装vscode 之所以罗嗦一下安装 是因为安装版明显不如解压绿色版好用 特此标记一下 2 安装markdown插件 vscode默认是支
  • 机器学习——模型评估

    在学习得到的模型投放使用之前 通常需要对其进行性能评估 为此 需使用一个 测试集 testing set 来测试模型对新样本的泛化能力 然后以测试集上的 测试误差 tootino error 作为泛化误差的近似 我们假设测试集是从样本真实分
  • Shiro

    文章目录 资料 概念 基本功能 架构原理 登录认证 概念 流程 角色授权 概念 流程 代码 大致流程 shiro配置解读 ShiroConfig 登录 认证 授权 详细代码 pom login html index html UserCon
  • 表面缺陷检测的几种方法

    1 location blob feature 2 location differ feature 3 frequency domain spatial domain 4 photometric stereo 5 calibration f
  • python之迷你版Httpd服务器

    miniHttpd py import os sys platform import posixpath import BaseHTTPServer from SocketServer import ThreadingMixIn impor
  • 软件测试的心理学和经济学、软件测试的原则

    软件测试的艺术 读书笔记 第二章 第二章 软件测试的心理学和经济学 前言 软件测试是一项技术性工作 但同时涉及经济学和人类心理学的一些重要因素 在理想情况下 我们会测试程序的所有可能执行情况 而在大多数情况下 这几乎是不可能的 即使是一个简
  • 荔枝派Zero(全志V3S)基于QT实现在LCD显示图片

    文章目录 前言 一 配置 buildroot 及编译 二 写 QT 代码 三 编译可执行文件 四 拷贝到 SD 卡 五 上板子测试 六 资源自取 前言 有这样一个需求 通过配置 QT 在 linux 下实现显示我所想要显示的图片 实现的方式
  • 首页生成静态的html,关于网站生成静态html文件的两种方案思考

    关于网站生成静态文件有利有弊 通常来讲交互性的站点不太适合静态化 如社交网站 论坛之类的站点等等 如果以资讯内容展示为主 生成静态文件能够很好的提高服务器吞吐量 下面提供两种生成静态文件的方案 分析下其中的利和弊 1 后台增加生成静态页面功
  • hexo博客配置

    title hexo博客配置 cover img 2 jpg categories HEXO博客 1 网站图标更换 themes hexo theme Annie layout partial head ejs 我中间这个hexo them
  • NUC980开源项目8-官方Uboot编译

    上面是我的微信和QQ群 欢迎新朋友的加入 项目码云地址 国内下载速度快 https gitee com jun626 nuc980 open source project 项目github地址 https github com Jun117
  • linux XFRM整体框架简单分析

    author jonathan 本文档的CopyRight归jonathan所有 可自由转载 转载时请保持文档的完整性 Linux 的 XFRM框架多简单阿 6年前整理过 到现在还记得基本原理 说明xfrm设计的是多么简单明了 不过网上都是