当前位置: 首页 > news >正文

有名的网站开发工具平面设计课程标准

有名的网站开发工具,平面设计课程标准,教学平台,商城全网推广运营公司DPDK(Data Plane Development Kit)是一个框架,用于快速报文处理。 在linux内核提供的报文处理模型中,接收报文的处理路径为:首先由网卡硬件接收,产生硬中断,触发网卡驱动程序注册的中断函数处理,之后产生软…

        DPDK(Data Plane Development Kit)是一个框架,用于快速报文处理。

        在linux内核提供的报文处理模型中,接收报文的处理路径为:首先由网卡硬件接收,产生硬中断,触发网卡驱动程序注册的中断函数处理,之后产生软中断,触发协议栈注册的中断处理函数,之后则交给协议栈处理,如果报文最终目的是本机应用层,则需要从内核拷贝至用户程序;发送报文的处理路径为:应用层封装后逐层调用协议栈的报文封装函数,并添加到网卡的发送队列中,最终由网卡发送出去。

        linux内核协议栈处理可以参考 Linux网络详解:链路层-CSDN博客  及  https://blog.csdn.net/weixin_58966834/article/details/137572176

        在这一内核模型中,最常遇到的瓶颈是中断,中断的开销使得报文处理所需的时钟周期大幅提升,这意味着,流量大的情况下cpu将很快被占满。除此之外,I/O效率、内存访问效率,也是性能限制因素。此外,在报文输入/输出的情况下,报文需要从内核拷贝到用户态,或者是由用户态拷贝到内核,也是性能瓶颈之一。

        为了解决上述问题,涌现了许多的解决方案。比如硬件转发,硬件转发的本质就是在网卡上实现报文的转发功能,cpu不用于转发计算,因此cpu就不会成为转发性能瓶颈,并且硬件的处理效率远高于软件,它的缺点也很明显,硬件不容易编程。基于软件的解决方案也有不少,比较著名的如tc、xdp、dpdk,tc、xdp主要用于流量控制,它们类似于netfilter框架中的钩子,可以在比较靠前的位置处理报文,在面对DDoS攻击的情况下,二者可以通过丢包的方式避免报文进入内核,因此提高了DDoS防御能力,此外XDP可以通过选择性地让报文跳过部分内核处理,因此提高报文的处理效率。总的来说,二者的做法都是跳过内核协议栈的处理,因此提高报文处理效率,但是可以执行的操作都比较受限,并且无法改变网卡的I/0方式(中断/轮询)。XDP提供的功能更多一些,但要编写一个符合内核规范的XDP程序可不太容易,开发的进度比较容易受限。

        DPDK所作的事情更多一些,它可以使用轮询取代中断,这样的好处是在高数据量的时候报文处理更加高效,坏处是CPU每时每刻都被占用 100% ,除报文处理外的其他工作可能会受影响。不过,现代计算机大多都是多核结构,即使路由器、交换机等嵌入式设备也是如此,因此,某一个核一直被使用也不是多么不能接受的事情了。此外,DPDK实际可以在应用程序中随时启用/禁用网卡的中断,因此可以在流量较小时使用中断的方式处理报文。

        此外,通过用户态驱动程序,DPDK可以直接将网卡的I/O地址映射到用户态,使得用户态程序可以直接读取网卡中的数据包而无需经过内核-用户态拷贝过程。

        并且,在内存方面,DPDK可以通过分配大页内存,减少快表MISS的可能性,并支持NUMA架构下内存的读取优化。在CPU方面,DPDK可以将报文处理限制在特定核心,以减少线程调度的消耗。最后,DPDK对缓存也进行了优化。

        DPDK所作的一切事情,都是通过库的方式提供的,可以说,DPDK本质上就是一堆库。比较重要的库有:rte_eal、libc、rte_debug、rte_malloc、rte_timer、rte_mempool、rte_ring、rte_mbuf等。它们的功能及引用关系如下图:(此图为DPDK官方文档copy过来)

        其中,rte_eal是对硬件的抽象,包括网卡、cpu、内存等,rte_mbuf、rte_mempool、rte_ring是首先接收/发送队列所必须的库,所提供的无锁环形队列也是报文处理性能提升点之一。其他的库则如名字所示,提供一些基础功能。

        使用DPDK构建自己的数据平面,必须依赖于DPDK提供的这些库,当然,对于不同的DPDK程序,所需要的库也是不同的。

        简单学习DPDK,无非就是了解这些库的用法,并用它们构建一个DPDK程序以满足需求。更深入地学习,则要深入了解这些库的具体实现,理解性能优化点,提高纠错排错能能力。

        我们将由浅入深,慢慢学习。

http://www.yayakq.cn/news/511385/

相关文章:

  • 广州做外贸网站建设5年网站seo优化公司
  • 做网站编程需要学什么软件北京京东世纪贸易有限公司
  • 百度免费网站建设最新新闻事件今天国内大事
  • 做商城网站山西餐饮加盟网站建设
  • 永久免费自助建站推荐考互联网营销师证书要多少钱
  • 网站seo 工具网络关键词排名软件
  • 企业查询网站有哪些中国搜索网站排名
  • 网站主办者什么意思wordpress 登陆后访问
  • 做网站推广有用不会计专业主要学什么
  • 在互易上做的网站如何修改张家港做网站收费标准
  • 帝国手机网站怎么做3d动画制作设计公司
  • 湖北省城乡建设厅网站婚纱摄影网站管理系统
  • 深圳讯美网站建设积极推进政务网站建设
  • icp备案网站接入信息ip地址段怎么填建个普通网站多少钱
  • 有源码如何做网站火狐显示网站开发
  • 网站设计主要做什么保定seo博客
  • 佛山网站排名提升品牌网站建设重點大蝌蚪
  • 专业的led网站建设新零售
  • 陵水建设局网站宠物网站开发与实现
  • 专业的深圳网站设计医院咨询
  • 网站网页价格wordpress导航菜单居中
  • 东莞网站的建设大岭山镇网站建设公司
  • wordpress建网站北京建设集团网站首页
  • 中国建设银行官网站e路护航中国机械加工网app
  • 网站建设 数据归属十八把网站做扇子
  • 邯郸医院网站建设用手机怎么制作软件
  • it行业网站建设哈尔滨可以做网站的公司
  • 品牌网站设计网站市场推广和销售的区别
  • 公司网站设计师心理咨询网站开发
  • 东莞做网站还赚钱吗网络平台怎么制作