LinuxDown

LinuxDown.com
Linux系统下载网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux网络的瓶颈,你知道到底有多大吗吗?

2023年4月15日 147点热度

将脚本之家设为“星标⭐”

第一时间收到文章更新

文末包邮送书!!!

我们的活动在互联网上每天都会形成海量的数据。我们晓得这是一个“很大”的数字,但你晓得究竟有多大吗?

据简略计算,目前互联网上每晚新增的数据量超过1.15EB。而预测到2025年,这一数字会下降到491EB。假如看不下来这个数字有多大,这么看下这个单位换算公式:1EB=1*1024*1024*1024GB。

由于物联网也在超快地发展,无处不在的IoT设备会形成更多的数据,所以互联网数据会呈指数级下降。这么无论是云估算、大数据剖析应用,还是AI处理,网路传输能够及时“吞”下激增的数据,就决定了服务的能力。

但目前承载互联网服务的主流操作系统Linux却存在网路性能困局,问题出在那里呢?

1

Linux网路的困局

当Linux在20世纪90年代初设计开发Linux内核时,还未能意料到未来30年全球互联网的规模,所以也不可能按现今的数据流量去做设计。而Linux内核的基本结构也保持到现今。

为此问题就在于Linux内核网路合同栈的实现,相对于当下的数据吞吐量需求,有以下三个诱因会形成网路传输困局:

▮应用程序和网路合同栈在交换数据时,会频繁地在用户态与内核态之间切换linux内核设计及实现,致使延时形成;

▮数据要在用户空间缓存与内核空间缓存之间往来复制,花费时间;

▮内核合同栈须要对数据进行封装和解析工作,占用CPU时钟。

内核合同栈方案的数据流

办法总比困难多,《Linux高性能网路解读:从DPDK、RDMA到XDP》一书就针对上述问题给出了包括软件与硬件的解决办法。本书的作者是业内资深专家linux系统下载,他在书中以理论结合实践,说明了DPDK、RDMA、XDP实现Linux高性能网路以及保障传输安全的方案。

2

DPDK:低成本的高性能网路技术

DPDK(DataPlaneDevelopmentKit,数据平面开发工具包)是在用户态运行的一组软件库和驱动程序。它的一大优点是可以在所有主要CPU体系上加速网路数据包的处理,这样一来,现有硬件无须升级,只要在内核改装相应驱动就可以提高网路性能,是一种低成本的实现方案。

DPDK技术原理是绕开Linux内核合同栈直接访问网卡硬件,进而提升网路数据包的处理速率和吞吐量。DPDK将网卡的数据包直接映射到用户空间,之后使用高效的数据包处理库进行数据包的处理和转发,最后再将数据包发送回网卡。

在数据中心、云估算、虚拟化、网络安全等应用场景中,DPDK可以提升网路应用的性能和吞吐量、降低网路延后、提高网路应用的响应速率和稳定性,还可以支持多种网路合同和数据包格式,具有挺好的灵活性和可扩充性。

DPDK为处理数据包实现了一个“运行到完成”(runtocompletion)的模型,在执行数据平面处理逻辑之前,必须先分配所有资源,之后以逻辑核上执行单元(线程)的方式运行。该模型不支持调度器,以寻址的形式访问所有设备。

DPDK的核心是一组库,右图是核心组件以及它们之间的依赖关系。

DPDK核心组件

《Linux高性能网路解读:从DPDK、RDMA到XDP》详细说明了DPDK的显存管理与优化、DPDK的编译与运行方式linux查看端口占用,介绍了测试和剖析高性能网卡的工具与技巧,是手把手式的贴心教程。这对于述说内核驱动开发来说,是相当友好的学习体验。

接出来,我们了解一种软硬件结合的解决方案。

3

RDMA:软硬兼施的高性能网路技术

RDMA(RemoteDirectMemoryAccess,远程直接显存访问)提供了一种消息服务,应用程序可基于该服务直接读写远程计算机上的虚拟显存。

RDMA相对于DPDK技术,除了绕开了软件合同栈,最大的优点是将数据封装和解析工作放到了网卡里,由硬件来实现。这样就减少了CPU的负载,非常适宜高性能估算场景,诸如分布式神经网路估算。

它的工作原理是通过操作系统的通讯机制构建通道,由应用程序在用户态直接操作硬件,数据无须流经内核,进而实现高效的网路传输性能。

下边我们从数据在两台主机之间的传输过程来了解一下RDMA的工作方法:

▮发送端网卡从本机显存用户空间复制数据到硬件缓冲区,并添加合同头,完成封装工作;

▮发送端网卡将数据通过网线或光纤将数据发往对端;

▮接收端网卡收到数据后,进行合同解封装,之后将数据从硬件缓冲区复制到本机用户空间显存中。

RDMA方案的数据流

由上述可知,采用RDMA方案可以稳定获得网卡最大速度传输能力,而不会由于CPU负载变化导致传输效能波动。但在布署组网时,必须采购支持RDMA的特殊网卡。

《Linux高性能网路解读:从DPDK、RDMA到XDP》对RDMA组网方案与性能评估测试有详尽说明,对于提供高性能估算服务的企业极具参考价值。

4

XDP:高效传输的保障

DPDK在传输数据时采用了操作系统内核旁路方法,这纵然提高了效率,但也丧失了操作系统安全机制提供的防护。这样就存在数据被查获、盗取的风险,因而须要有对数据的保护举措,同时保证高效传输。

XDP(eXpressDataPath,快速数据通路)是一种BPF的程序/代码,可以理解为挂载在BPF处理流程内的挂钩方式。它还能在网路数据抵达网卡时就对其处理,而不过多占用CPU估算资源。

BPF提供了在内核风波与应用程序风波发生时执行一段程序的机制。这促使内核可编程,XDP即基于BPF特点为数据高速传输提供了保障。目前,XDP早已是Linux内核的一部份,与现有的内核网路合同栈完全兼容,两者可以协同工作。

XDP的典型处理流程如下:

▮从网卡收到数据包,提取数据报头信息;

▮读取或更新一些元数据;

▮按照须要更改或则重画数据包;

▮按照策略决定是丢包、重传,还是重定向至内核合同栈等。

典型的XDP程序的执行流程

XDP拥有众多优点。第一,它由Linux内核社区维护,常年使用有保障,也无须额外安装组件;第二,它可以与内核协同,可复用内核安全模型;第三,BPF就能辨识并拒绝执行不安全指令;第四,它不会独占CPU,节省估算资源。

所以,在规划高性能网路施行方案时,须要将DPDK等技术与XDP相结合,尽可能地在性能与稳定、安全之间取得最佳平衡。

5

结语

对于企业来说,在规划和施行网路方案时,一定要从自身业务特性出发,切勿巨额投资以后却是高射炮打蚊虫的疗效。这也须要技术团队对Linux网路技术原理有透彻理解,之后才会选择最适宜的技术方案。

比如,业务发展稳定且已布署大量Linux服务器的企业,为了提高网路效能,可以选择DPDK、XDP技术。对于意欲涉足AI业务的新兴企业来说,就要考虑充分解放算力,获得最优传输效能,可以选择RDMA技术路线。而拥有众多复杂服务的云估算厂商,则要混和布署多种网路传输方案,同时保持稳定和速度。

《Linux高性能网路解读:从DPDK、RDMA到XDP》就为实现上述需求提供了挺好的指引。从对DPDK、RDMA、XDP技术的原理说明,到深入代码级别的分析,再以实例展示使用方式。企业据此就可以举办网路环境评估、技术选型参考、规划施行等工作。

linux内核设计及实现_ipsec linux内核实现_arm linux内核中arm中断实现详解

在数据还将指数级暴增的未来,互联网企业都要未雨绸缪,及时调整网路环境,清除网路传输困局,在未来博得先机!

▲点击链接

,即可订购书籍

福利来喽~

#留言有礼#谈谈你是怎样处理海量数据的?或则一些宝贵的学习经验,来留言区一起聊一聊~

>>>活动参与

活动截至之前我们会抽取辛运小金鱼获得《Linux高性能网路解读:从DPDK、RDMA到XDP》纸质书籍一本,包邮到家。

非常声明:

1、一位用户1个月内只能有1次得奖机会linux内核设计及实现,让更多粉丝受惠活动才更有意义

2、每一位用户只有1次留言机会,不容许重复留言~

请你们记住这三个1哦

>>>活动时间

活动截至时间:2023年04月13日16:00整

对奖截至时间:2023年04月14日16:00整

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: dpdk linux服务器 linux社区 linux系统 rdma
最后更新:2023年4月15日

Linux系统下载网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux系统下载网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
可用性对比Banshee的应用起来非常简单,你知道吗 解决Linux CPU高负载,8招搞定! 《鸡你太美》都没有对应歌词…… Linux设备驱动开发详解4:8个问题解决方案 嵌入式Linux系统的构建和管理方式发生了什么? 哪些电脑可安装Linux?十大特点解析! Linux服务器的优势是什么? 什么是分区讲解系统?安装linux系统的主要步骤对应的知识点 RedHat磁盘分区指南:规划磁盘信息 Linux操作系统的安装方法(42页珍藏版) Linux硬盘对拷技巧:详解与注意事项 编程语言驱动AI走出20世纪90年代的人工智能冬季 嵌入式Linux系统的开发环境是什么样的?? Linux编写.sh文件的技巧 linux支持asp吗 Linux是否支持ASP? Linux操作系统是个什么东西?喉咙的技术? Linux配置Go环境变量,8步搞定! 微软向20万名开发者集中展示人工智能 linux mysql 启动 Linux下MySQL启动与常见问题 基于POSIX和Unix的多线程和多cpu的操作系统
Linux文件自动补齐技巧可用性对比Banshee的应用起来非常简单,你知道吗轻松管理MySQL,这8个Linux工具必备Linux基础——远程访问及控制(OpenSSH服务端)Linux系统移植,嵌入式必备!最小化安装“图形化界面”有什么区别?(Linux基础知识)Linux内核中的五大子系统CPU玩转Linux用户空间MTD,享受高效闪存系统Linux搜索文件夹,快速找到你需要的!java编译后的文件加密保护防止反编译的工具Linux查看SSL版本,轻松掌握Linux基础知识:LINUX软件配置文件常见格式及应用程序发掘Linux系统潜力,提高生产力centos教程:解决CentOS7没有图形化界面,以及怎么安装魅族为何要推出Ubuntu手机?Linux日志监控软件,构建完善系统Linux安装必备:分区知识详解什么是GPG?GPG(GNUPrivacyGuard)使用非对称加密算法Linux如何指定复制文件?常用的Linux文件系统相关命令--清理文件的命令
Linux开机后自动运行用户的应用程序或启动系统服务的命令 微软Build大会宣布了哪些重大产品和更新?回来了 Linux下对TFT-LCD的显示驱动技术和显示设备驱动 redhat centos 区别 RedHat和CentOS的区别:历史、特点一览 CentOS上PythonGUI编程:掌握tkinter技巧 玩转Linux游戏世界:9个必知! 轻松掌握Linux启动应用程序命令,提高工作效率 写入镜像速度最快的U盘启动制作工具.特点描述支持 Java的软件工具开发包是什么样的?Java浏览器 轻松下载suse linux系统:最全命令大揭秘! CentOS如何查看是否安装FTP并设置端口? 如何使用CentOS#官方镜像文件安装Linux操作系统 linux下android手机刷机实例 移动终端春秋战国史的最后胜利者,是鲜血淋漓、杀声四起的过去 微软发布Windows10build18917版本,使用真正的Linux内核 Linux必备:360安全卫士下载攻略 Linux移植:地址注意事项 探究Linux最新发行版的亮点和改进趋势 图文详解Redhat Linux 9.0安装入门,下载指南不容错过! Linux网络视频播放神器,畅享高清视界 SUSE Linux 64位系统下载及安装指南
标签聚合
软件 电脑 sudo 命令模式 虚拟机 centos 操作 linux系统 linux服务器 文件目录
书籍
课程
技术群
技术干货大合集↓
  • 2023年6月 / 16篇
  • 2023年5月 / 124篇
  • 2023年4月 / 115篇
  • 2023年3月 / 265篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 LinuxDown.com ALL RIGHTS RESERVED.

京ICP备14023444号-2