Linux虚拟网络
文章平均质量分 82
一个啥也不懂的菜鸟
这个作者很懒,什么都没留下…
展开
-
《Linux开源网络全栈解析》——NFV和NFC基础设施
NFV和NFC基础设施DPDK为高性能数据面的处理提供了可能。DPDK已作为NFV和NFC(网络功能虚拟化和容器化)的重要组件,参与到NFV和NFC的基础设施建设中。网络功能虚拟化网络功能虚拟化的一个重要特征是软硬件解耦。网络功能从专用硬件向通用硬件平台乃至虚拟通用硬件平台转移时,作为承载各种网络功能的基础设施层(NFVi),其重要性也越发突出。NFVi数据平面加速对于一个VNF(虚拟化网络功能)应用,快速地从NFVi获取网络帧是后续业务逻辑的基础,涉及虚拟主机接口(Host I/O I原创 2021-11-23 09:50:58 · 797 阅读 · 0 评论 -
《Linux开源网络全栈解析》——学习笔记——DPDK
高性能数据平面——DPDKDPDK的广泛应用很好地证明了IA多核处理器可以解决高性能数据包处理的需求。其核心思想可以归纳成以下几个方面:轮询模式:DPDK轮询网卡是否有网络报文的接收或发送,这样避免了传统网卡驱动的中断上下文的开销,当报文吞吐量大的时候,性能及延时的改善十分明显。用户动态驱动:用用户动态驱动的开发框架在用户态操作设备及数据包,避免了不必要的用户态和内核态之间的数据拷贝和系统调用。降低访问存储开销:高性能数据包处理意味着处理器需要频繁访问数据包。显然降低访问存储开销可以有效地提原创 2021-11-16 10:24:07 · 1369 阅读 · 0 评论 -
《Linux开源网络全栈详解》——高性能数据平面——平台增强
高性能数据平面——平台增强在IA(多核通用处理器平台)上的许多技术也可以被用来提高网络的处理能力,大致可以分为以下几个方面:多核及亲和力多核处理器是指在一个处理器中集成两个或多个完整的CPU核及计算引擎,它的出现使性能水平扩展成为可能。原本在单核上顺序执行的任务,可以按照逻辑划分为若干个子任务,分别在不同的核上并行执行。利用CPU亲和性能能够使一个特定任务在指定的核上尽量长时间运行而不被迁移到其他处理器。在多核处理器上,每个核会根据自己本身会缓存着任务使用的信息,而任务可能会原创 2021-11-15 16:28:09 · 815 阅读 · 0 评论 -
《Linux开源网络全栈详解》学习笔记——高性能数据平面——内核旁路
高性能数据平面数据平面的性能很大程度上取决于网络I/O的性能,而网络数据包从网卡到用户空间的应用程序需要经历多个阶段。当数据包到达网卡后,通过DMA复制到主机内存空间并触发中断,网络协议栈处理数据分组后再交由用户空间的应用程序进行处理,整个过程的多个阶段都存在着不可忽视的开销,主要有以下几点。 网卡中断 网卡中断:轮询与中断是操作系统与硬件设备进行I/O通信的两种方式。一般情况下,网络数据包的到来都是不可预测的,若采用轮询模式,则会造成很高的CPU负载,因此主流操作系统都会采用中断的方式来原创 2021-11-12 16:59:19 · 2502 阅读 · 0 评论 -
Linux开源网络全栈详解——笔记
Linux虚拟网络TAP/TUP设备TAP/TUN是Linux内核实现的一对虚拟网络设备,TAP工作在二层,TUN工作在三层。Linux内核通过TAP/TUP设备向绑定该设备的用户空间应用发送数据;反之,用户空间也可以像操作硬件网络设备那样,通过TAP/TUN设备发送数据。基于TAP驱动,即可以实现虚拟网卡的功能,虚拟机的每个vNIC都与Hypervisor中的一个TAP设备相连。当一个TAP设备被创建时,Linux设备文件目录下将会生成一个与之对应的字符设备文件,用户空间应用可以像打开普通文件原创 2021-11-10 15:57:07 · 1387 阅读 · 0 评论