研究dpdk前置知识

网络

VF

在这里插入图片描述
在这里插入图片描述

TAP/TUN

虚拟网络设备,TAP工作在二层,TUN工作在三层

Linux Bridge(网桥)

是工作在二层的虚拟网络设备,功能类似于物理的交换机。
普通的网络设备来说,只有两端,网桥可以有多端口。
在这里插入图片描述

MACVTAP

新的网络设备模型,简化虚拟化环境下的桥接网络,代替传统的TAP+Bridge组合,同时支持新的虚拟化网络技术。

Open vSwitch

虚拟交换机
在这里插入图片描述

veth pair

不同命名空间的网络之间的通信机制,类似管道。
在这里插入图片描述

bridge-utils包

网桥有关的操作,brctl命名+ip address命令。

iptables(netfilter)/NAT

NAT也可以被称作IP伪装(IP Masquerading),可以分为目的地址转换(DNAT)和源地址转换(SNAT)两类。NAT功能有iptables实现,iptables是基于Linux内核的功能强大的防火墙。
在这里插入图片描述
netfilter提供了一整套对hook函数管理的机制,可以在数据包流经的5处关键地方(Hook点),分别是PREROUTING(路由前)、INPUT(数据包入口)、OUTPUT(数据包出口)、FORWARD(数据包转发)、POSTROUTING(路由后),写入一定的规则对经过的数据包进行处理,规则一般的定义为“如果数据包头符合这样的条件,就这样处理数据包”。
iptables主要包含了FILTER、NAT和MANGLE三张常用表,分别负责数据包的过滤、
网络地址转换及数据包内容的修改。iptables -t 命令
在这里插入图片描述

VLAN/VxLAN

二层隔离,划分多个LAN。
VxLAN:基于隧道(Tunnel)的一种网络虚拟化技术,二层报文用三层协议进行封装。

NFV

NFVi数据平面加速
Virtio是QEMU/KVM下的半虚拟化设备框架
SR-IOV是一种PCIe总线多路复用技术
IOMMU支持DMA重映射和中断重映射。

OVS-DPDK

基于dpdk的ovs
OVS PMD 线程 轮询模式驱动程序(Poll Mode Driver,PMD)线程负责处理DPDK数据路径上的大部分工作,并执行诸如输入端口的连续轮询等任务。

FD.IO

FD.IO是许多项目和库的一个集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活可变的业务。
子项目:
VPP(Vector Packet Processing,矢量报文处理):是一个模块化和可扩展的软件框架,用于创建网络数据平面应用程序

SR-IOV

使网络流量旁路管理程序,直接转到虚拟机。

NFVi

网络设备按照不同的虚拟化实现方式,可以粗略地分为全模拟(Fully Emulated)、半虚拟化(Para-Virtualized)和硬直通(Pass-thru)。对于主流的VMM及其网络设备,DPDK支持相对都比较完善。全模拟和半虚拟化类型的虚拟主机接口主要与 NFVi 的 Relay 策略一起工作,而硬直通 NFVi 一般采用Bypass 策略。如图3-21所示,E1000就是由 VMM 全模拟的设备接口,Virtio是QEMU/KVM下的半虚拟化设备,VF则是基于SR-IOV的功能,可用于硬直通。
在这里插入图片描述

Virtio

Virtio是QEMU/KVM下的半虚拟化设备框架,支持多种设备类型

硬直通

VFD(VF Daemon),硬直通性能好,但是不好支持热迁移
在这里插入图片描述

vDPA(vHost Data PathAcceleration)

下一代虚拟主机接口
在这里插入图片描述

linux内核

namespace

命名空间隔离,cpu,内存,网络硬件还是共享的,需要配合cgroup限制资源。
在这里插入图片描述

cgroup

限制、控制与分离一个进程组的资源(如CPU、内存、磁盘IO,网络IO,其他设备等)。

内核旁路技术

应用程序不通过内核直接操作硬件,DPDK、Netmap、OpenOnload及XDP等。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Netmap 把网卡的缓冲区从内核映射到用户空间,并且实现了自己的发送和接收报文的
netmap_ring来对应网卡的 NIC ring。现代网卡一般都支持多队列,每个队列对应着一个netmap_ring。(可使用mmap映射)

OpenOnload的底层I/O主要通过EF_VI绕过内核协议栈把网卡中部分网络流量直接发送到用户空间的协议栈中。

xdp:使用ebpf技术。
在这里插入图片描述

DDIO

Data Direct I/O,网卡数据直接存到LLC cache(三级cache)
在这里插入图片描述

内存大页

在这里插入图片描述
在这里插入图片描述

numa

在这里插入图片描述

dpdk

在这里插入图片描述

RSS

RSS(Receive-Side Scaling,接收方扩展),它是和硬件相关联的,必须要有网卡的硬件进行支持,RSS把数据包分配到不同的队列中,其中哈希值的计算公式在硬件中完
成的,也可以定制修改。

RSC

RSC(Receive Side Coalescing,接收方聚合)是TCP组包功能的硬件卸载。硬件组包功能实际上是硬件拆包功能的逆向功能。

GSO

TSO:TCP 包交由网卡进行切片
GSO(Generic Segmentation Offload)

其他

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值