XDP eBPF怎么利用操作系统玩转快速数据包处理

eBPF是一种注入式技术,让研究内核的工程师们在应用层上展现自己的奇思妙想,这种能力确实让人趋之若鹜。

近些年来,内核的网络协议栈总被人诟病,人们对网络的依赖感越强,这种声浪也就越明显。暴露出问题很好,因为会涌现很多好玩的东西。

内核被人diss的本质原因就是用户态和内核态大量的上下文切换!应付的任务越多,切换的越频繁,开销也就越大,速度也自然快不起来。

网络任务因需求量自然居高不下,现在谁也不能断别人的网,网意味着生活技能!

于是,聪明人开始想办法解决这种‘慢’的影响,首先‘慢’有很大程度上来自于数据包处理,让数据包走快速路径处理(也就是没那么多审查,限制多了自然会慢)是解决问题的核心诉求。

简单再说下DPDK

DPDK是一种解决诉求的高效方案,它放弃了传统的内核网络协议栈处理,用内核旁路机制,跨过了完整的内核网络协议栈。决定在应用层上去加速数据包处理,把快速路径放在应用层,不用受到内核的限制,这样可以减少大量的上下文切换的开销,是一种改革派的做法。

为什么DPDK不是万应灵药

因为改革派是要放弃所有原本的东西,认为它的一切都是不合理的。但内核的快速路径处理虽然比DPDK要慢,但完全放弃内核的数据包处理,自然也意味着要放弃很多内核支持的机制。如果在应用层复现这些机制则会显得不伦不类,你关注网络,却要实现很多管理,安全的工作,等于在应用层造一个内核,这不高效,它只会变得更复杂。

内核也在求变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值