如何实现 linux 报文加速功能

发布于 2022-09-11 08:01:22 字数 199 浏览 17 评论 9

请教一下:
        一台router,使用的是linux系统, 在linux网络协议栈中,当一条转发链路建立后,如何能让该链路的报文不再走整个协议栈,而是直接从接收的dev驱动中做相应处理后,直接转发给输出接口的驱动,这样会大大提高效率。有些公司实现了但没有提供源代码,我想问一下,在linux协议栈,有没有相关的或类似的加速模块呢。3x

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

你好,陌生人 2022-09-15 05:48:56

你说的其实就是把Router当三层交换机来使,目前就是个纯路由器而已!无法实现高速的三层交换,Linux做的话估计比较困难吧……
三层交换机一般通过ASCI芯片来实现高速的三层交换,CPU来查询路由,分工处理,但Linux不管是三层交换还是路由处理都是靠CPU实现,内核级修改的话可能会适当提高一些,但性能如何就得靠你搞了,但肯定是有你说的这些方案,FreeBSD系列的此类应用好像多一些……我不是搞开发,不了解底层的实现!
早期我见国内有厂商研发的硬件防火墙都是Linux做的……

云巢 2022-09-15 05:48:33

不是ARP表是MAC表。

叫做一次路由多次交换。看三层交换机的原理。

以可爱出名 2022-09-15 05:45:15

就是三层交换做二层转发的原理,后面主要是用ARP表进行转发,不再走五元组。

但是ARP表是有老化的,如果长时间不通信,会重新更新一次ARP表,如果一直有数据流在走,就没有这个问题。

薆情海 2022-09-15 05:41:38

回复 6# ssffzz1
从基本原理来讲是这样的。但是为了提高传输效率,当链路建立后,可以不再走IP协议栈了,对接收到的报文做相应处理后,转发到输出口。请问你了解这方面的信息,能提供一点吗

鸠魁 2022-09-15 05:32:28

5元组还是走IP协议栈

深府石板幽径 2022-09-15 04:59:31

回复 4# ssffzz1
   根据IP五元组,不仅仅是mac.

混浊又暗下来 2022-09-15 02:41:35

就是啊。根据MAC地址来转发,不还是交换机吗啊?

无远思近则忧 2022-09-14 23:54:32

回复 2# ssffzz1
就是路由器。现在走协议栈太费时间了。想让链路建立后,走加速。

生生漫 2022-09-11 08:49:10

当交换机用啊。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文