• DPDK系列之十八DPDK网络虚拟化


    一、NFV和VNF

    Virtual Network Function(VNF)虚拟网络功能,Network Function Virtualization(NFV),网络功能虚拟化。VNF是NFV的重要组成部分之一。那么NFV是什么?其实很简明了,重点在虚拟化。虚拟化对谁来说是最重要的?对重设备厂商来说是最重要的。再换句话说,是云厂商。这样说当然不是特别准确,但基本上现在的主流就是这些。不知道大家对前些年电信公司对微信的占用信令的讨伐还有没有印象。可是现在为什么没有了?
    当然直接的原因和NFV没有太大关系,但是NFV却是后来者居上。
    云化,是未来发展的方向,所以云上一个重要的部分就是网络通信,那么NFV和提供VNF,就是一种必然的选择。
    OPNFV,网络功能虚拟化开放平台,是由Linux基金会创建的,主要由电信厂商和IT提供商共同创建发起的,用来加速NFV技术演进和商用进程的一个开放平台。网络功能可以通过虚拟化的方式展现出来,对应用层隔离,对硬件隔离,既方便扩展又可以更高效的利用硬件。这本身对电信和IT厂商是非常有利的一件事,也不怪他们努力推进这个平台。

    VNF,主要是通过软件来实现网络功能,也就前面反复提到的隔离硬件,它可以做为一个类似于网络中的一个节点,来实现节点的各种功能。可以认为这是一种新型的网络设备部署方式(NFV)中的一个实例(VNF)。这样,动态的根据实际情况进行伸缩,正是云厂商的一个痛点,大家广为理解的双11等促销时,对节点的渴求和之后对节点的浪费就容易消弥其中的代价了。
    同样,NFV,提供了VNF所需的基础设施,通过软硬件的管理,实现对整体网络需求的一个系统支撑。也就是说,NFV通过提供VNF来实现虚拟化功能后,可以更好的进行网络的弹性扩容并找到最佳的软硬件结合点,便于对不同平台的移植和提升资源的利用率。

    二、VNF和DPDK

    DPDK做为一个数据平台的开发套件,本身就已经成为VNF和NFV的一个重要组件。所以VNF的发展,其实DPDK可以在其中起到基础框架的作用。DPDK跳过内核,而VNF隔离软硬件,通过不断的解耦,让二者可以更加良好的结合来达到高速网络通信。而通过前面的分析,DPDK对主流的硬件主机和虚拟化主机(全虚拟化和半虚拟化)都已经支持的比较完善。
    DPDK对硬件虚拟化和基于Virtio的半虚拟化,都提供了用户态的加速方案即DPDK PF和DPDK VF驱动和基于DPDK的软件交换机。同样,针对云上应用的容器化,DPDK也提供了virtio-user,可以说实现了对容器支持的专门定制。对于硬真能方式,DPDK驱动也实现了对网卡设备的支持的不断完善,几乎达到了和裸机效果一致。
    DPDK提供了对多种设备的抽象,实现了较好的NFVi(网络功能的基础设施层)。目前来看,基于DPDK的优化NFVi方案是业内的主流形式,DPDK的硬件抽象,大大降低了对硬件的差异导致的各种问题。
    除此之外,DPDK还在一些基础软件应用上,对NFV进行支持,比如网络应用中的数据压缩和数据加密等等,这些都是在网络应用中广泛采用的技术。同时,在一些虚拟的网络应用如网关、路由器等上都可以一展身手。

    三、总结

    虽然说起网络很多人都觉得明白,没啥,可较起真来,又发现一头雾水,啥SDN啊,NFV啊,这些都不明所以,实话实说,这个东西可不是一天两天就能搞明白,真正想搞网络的。还是要认真的从概念开始,先混个脸熟,然后再一步步的深入进去,中学时体育老师说:“不怕慢,就怕站”。学习是一个长跑,慢慢坚持努力!

  • 相关阅读:
    通过配置文件修改docker容器端口映射
    python基于GDAL的多线程高速批量重采样、对齐栅格、对齐行列数,并无损压缩
    持安科技何艺:基于可信验证的应用访问安全模型 | CCS2023演讲分享
    MYSQL 是如何保证binlog 和redo log同时提交的?
    HashMap深入底层源码思考问题
    Springboot毕设项目律师事务所管理系统g6i8v(java+VUE+Mybatis+Maven+Mysql)
    【Jvm】性能调优(上)线上问题排查工具汇总
    Python二级 每周练习题22
    WebRTC[51] - 如何获取Chrome浏览器底层的WebRTC日志
    Android12之H264、H265、H266视频编码标准总结(四十八)
  • 原文地址:https://blog.csdn.net/fpcc/article/details/130910439