【论文】略读笔记73-经典-大规模网络函数请求可重用部署与流量调度

【论文】略读笔记73-经典-大规模网络函数请求可重用部署与流量调度

Fre5h1nd Lv5

📖《A Scalable Stateful Approach for Virtual Security Functions Orchestration》

2021 年 Shahid Beheshti University(SBU,前身为伊朗国立大学)团队 发表于 CCF-A 类期刊 TPDS。

🎯需求

  • 网络函数虚拟化(NFV)是一种通过虚拟化技术促进网络服务动态供应的模式。在这一场景中,网络服务可以通过具有虚拟化能力的硬件上的软件模块来实现,即虚拟网络函数(VNF)。
  • 另一方面,软件定义网络(SDN)是对 NFV 的补充,可在虚拟函数之间提供动态流量工程和动态管理设施。这是通过转发功能的完全可编程性实现的。
  • 入侵检测系统 (IDS)、防火墙 (FW)、深度包检测 (DPI)、流量监控、负载平衡器 (LB) 等软件中间件被广泛用于云中,以检测和反击攻击。它们根据云用户应用需求动态部署/销毁
    • 例如,假设云用户有一个基于云的分布式应用,突然它的性能下降了。
      • 此时,可在云的不同位置部署多个 IDS 作为协同检测策略,以查看是否发生了分布式拒绝服务攻击。
      • 作为缓解方案,我们可以部署一个负载平衡器来克隆分布式应用的某些组件,或者在云的边界部署几个 FW 来过滤某些流量。
      • 一段时间后,如果流量正常,我们可以销毁所有创建的中间件、IDS、LB 和 FW。
  • 请注意,在本文中,我们重点关注的是东西向流量,以确保不同应用的通信安全,并动态放置所需的中间件,如图所示。
    图

🚧现状

  • 以往的研究提出了不同的服务链实施方法。它们的目标是提高中间件的性能,满足云提供商和用户的期望。为了满足这些期望,需要考虑延迟因素(即通过低成本路径的流量)和最佳节点处理位置因素
    • 服务链由一系列中间件组成,流量必须按特定顺序通过中间件。一般来说,两个虚拟机之间的流量需要部署服务链,以管理用户请求、提高性能或增强安全性。
      • 由于云数据中心承载着成千上万的用户和应用程序,因此创建或删除服务链的实时性要求很高。因此,必须改善这些中间件的性能,提高服务质量
    • 近年来,许多人都在努力优化中间件的放置,以满足策略执行(如服务链中的内联服务顺序)的要求。
      • 优化放置的两个主要目标是最大限度地减少流量端到端延迟和网络交换机上的处理成本。
        • 端到端延迟是通过路径上所有链路的延迟总和。链路延迟可根据以下四个基本因素建模:
          • i) 当前可用带宽;
          • ii) 已消耗带宽;
          • iii) 通过链路的流量转向数量;
          • iv) 每个转向流量的发送速率。
        • 此外,在网络中选择部署中间件的最佳节点处理位置还要考虑:
          • i) 节点的可用空间(vCPU 和 vMem);
          • ii) 资源消耗;
          • iii) 当前活动的中间件;
          • iv) 每个中间件的输入流量速率。
        • 我们认为,根据上述参数制定节点和边的成本需要独立的研究,超出了本文的范围。
      • 只考虑其中一个目标并不会导致另一个目标的实现。因此,需要同时考虑这两个目标。同时实现这两个目标会使中间件的最佳放置变成一个 NP 难问题。因此,当问题规模较大时,在合理的时间内获得最优解是不可行的。
  • 之前的研究中没有考虑的另一个重要问题是接收到新请求时的有状态优化放置。由于资源限制以及客户的经济成本,不可能为所有请求创建功能。因此,不仅可以在新流量之间集成相同的网络功能,还可以在新的按需网络功能和现有功能之间进行检查。
    • 将类似函数结合起来会有很多好处。例如,我们可以降低安装成本或资源消耗,如 CPU 和内存或共享存储空间。
    • 因此,非常重要的一点是,我们可以将安全函数拆分成几块,它们之间有相似的任务,这样我们就可以利用作业搭配的优势。
    • 这可能会引起不同客户的担忧,但对于每个客户来说,都可以轻松应用拼凑策略。作业搭配操作既可以在新请求之间进行,也可以在新请求的安全函数和当前活动函数之间进行。
    • 我们将我们的解决方案称为有状态配置,以区别于之前的工作。
    • 一般来说,中间件放置问题本身就是一个 NP 难问题,尤其是最近的大多数研究成果都无法在大型网络中扩展。因此,对常见的放置问题采用有状态的方法,也会使当前的数据中心更难实时解决这个问题。有几种启发式方法被用来克服可扩展性问题。

🛩创新

  • 我们的最佳中间件放置方法同时考虑了这两个目标,即选择高效的交换机来部署中间件(服务部署),同时通过端到端延迟最小的链路来路由流量(流量调度)。除了之前的工作,我们还考虑了另一个目标,即在考虑可用的已部署中间件的情况下优化布局。为了实现这一目标,我们在请求的安全函数和当前函数之间执行了作业搭配操作。
  • 我们提出的方法不仅可以减少创建对客户而言具有成本效益的网络功能,而且由于将以前的网络功能(与按需网络功能整合)迁移到优化新请求上,总体而言,它将随着时间的推移优化整个网络成本。我们将该问题表述为 0-1 编程问题。本文的结果基于一个胖树数据中心。为了证明我们的有状态解决方案在大型网络中的可扩展性,我们使用了网络分区和拓扑分区启发式方法。
  • 总的来说,本文的主要贡献如下:
    • 1)与该领域的前人不同,我们的优化布局目标主要基于以下五个方面:
      • i) 尽量减少端到端延迟;
      • ii) 尽量减少交换机处理成本;
      • iii) 通过将流量的安全函数配置在同一交换机上,尽量减少流量对网络的影响。这样,我们只需为网络中的每个流量支付一项成本(信息解析和所需的预处理),
      • iv) 尽量减少新请求中同类型安全函数的数量和相关成本。具体做法是在同一交换机上集成同一类型的功能,
      • v) 考虑到现有功能,降低创建新请求安全函数的成本。这可以通过检查当前部署的函数的当前容量并优化请求流量到该区域的路由,或将当前函数迁移到另一个最佳区域来实现。
    • 2)据我们所知,我们是第一个将服务链安置的有状态方法表述为 0-1 编程问题的人。尽可能防止创建新的请求安全函数。具体做法是检查整合同类安全函数的可能性。
    • 3)安置问题的适用性对于大型网络来说非常重要。因此,我们采用了一些启发式方法(即限制旧函数迁移区域、限制新函数创建区域),我们的方法可以扩展到拥有 54K 个节点和 1.5M 条边的网络。

📊效果

  • 我们的模拟结果表明,我们能够将我们的放置模型扩展到拥有 54K 个节点和 150 万条边的网络。

⛳️未来机会

  • 未来,我们希望分析我们的模型,以最大限度地提高虚拟内容分发网络(CDN)中虚拟流媒体服务的体验质量。

🧠疑问

  1. 逻辑怪怪的,比较难懂。


  • 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
  • 如果你喜欢这篇文章,欢迎动动小手 给我一个follow或star。

🗺参考文献

[1] N. Moradi, A. Shameli-Sendi and A. Khajouei, “A Scalable Stateful Approach for Virtual Security Functions Orchestration,” in IEEE Transactions on Parallel and Distributed Systems, vol. 32, no. 6, pp. 1383-1394, 1 June 2021, doi: 10.1109/TPDS.2021.3049804.

  • 标题: 【论文】略读笔记73-经典-大规模网络函数请求可重用部署与流量调度
  • 作者: Fre5h1nd
  • 创建于 : 2024-10-18 08:45:13
  • 更新于 : 2024-10-18 16:00:25
  • 链接: https://freshwlnd.github.io/2024/10/18/literature/literatureNotes73/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论