求教: 怎样将网卡的数据拷贝到内存中呢? 通过系统的软中断机制.

发布于 2022-07-21 18:54:09 字数 538 浏览 5 评论 9

我想同过CPU的调度机制对网络流量进行管理,自己不用TC机制. 这个想法是中科院张焕强博士提出的,我感觉很不错
具体做法是1. 如果有包进入网卡,网卡就对CPU进行软中断(bottom half)机制,将数据抱拷贝给内存.
                2. 然后处理以太网的头部, 将包送入分类器里,如根据TCP UDP的端口号进行分类,送入事先规定好的通道(forwarding)中去.
                3. 最后对带宽进行限制,选择TBF(token bucket filter) 进行发送.

                  不知道有没有这方面的高手,理解呢?能给我些建议什么的. 最重要的是我对CPU的软中断机制不是很了解,网卡怎么能通知CPU进行软中断处理呢?

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

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

发布评论

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

评论(9

≈。彩虹 2022-07-23 06:45:34

原帖由 areavv 于 2006-5-7 12:33 发表
我是研究生, 就是将这篇论文的理论思想改一改,毕业论文用.

有一些对低版本内核的改良方法不一定适合适合当前内核的。可能早就有了更好的方法。比如在2.4内核以前一直可以看到对内核调度程序的改良“用户均衡调度算法”。但是到了2.4内核以后,就没有人再去做这样的移植了。

ら栖息 2022-07-23 06:45:27

十分感谢你给我的建议,我现在就着手看看这些书籍!
你能推荐几本好的电子图书吗?关于这个方面的?  谢谢

终弃我 2022-07-23 06:44:42

原帖由 areavv 于 2006-5-7 12:26 发表
是Linux 2.4.0版本的,  不管新的还是老的,关键是者篇论文的思想是和Linux的TRAFFIC CONTROL 是不一样的,估计能有效果,对于网络的带宽管理.   你说的这些,我应该看看什么资料啊? 我现在就是不知道network soft interrput handler是内核的范畴吗?  还是别的,如果我要写代码改良TC的话,怎样做呢??

network soft interrput handler是属于内核的范畴。至于怎么改良TC,你只有去问那些改过的人了。我就不懂了。
我觉得你想研究这方面的话,最好先系统的了解一下内核和内核编程。再研究一下网络子系统:包括网卡驱动,协议栈,Inet socket层和BSD socket层。这样你才能对改良有一些自己的看法。

风吹雪碎 2022-07-23 06:43:33

我是研究生, 就是将这篇论文的理论思想改一改,毕业论文用.

早茶月光 2022-07-23 06:41:29

是Linux 2.4.0版本的,  不管新的还是老的,关键是者篇论文的思想是和Linux的TRAFFIC CONTROL 是不一样的,估计能有效果,对于网络的带宽管理.   你说的这些,我应该看看什么资料啊? 我现在就是不知道network soft interrput handler是内核的范畴吗?  还是别的,如果我要写代码改良TC的话,怎样做呢??

                                                       呵呵,终于,憋了好几天了,都快像卖拐的了!哈哈.终于有人能给我解释了!太感谢了!
                                                                          我叫刘巍, 对了,如果不介意的话我想和你聊聊天,你能把手机号发给我吗(QQ83535299   或者  areavv@163.com)

春庭雪 2022-07-23 06:35:47

自己的研究方向(Linux 环境下路由器中的网络带宽管理) ??

本科还是研究生?

指尖凝香 2022-07-23 06:23:22

我估计这篇论文的内核版本应该挺老的吧。我对这方面没有研究过,只是了解个大概而已。
soft interrupt是liunx协议栈中不同层之间的通讯方式。network soft interrupt handler就是相应的软中断处理函数。其中会调用相应层中的包处理函数。

遮云壑 2022-07-23 04:14:59

谢谢版主的提示.
我是个初学者,所以对这些软中断机制还是很陌生的.
我是看了一篇张焕强博士的论文感觉挺有分量的,所以想作为自己的研究方向(Linux 环境下路由器中的网络带宽管理),对于这个方法是通过CPU软中断去处理traffic control的,不管有没有效果,是一个学习的过程.呵呵.
这篇论文里就是将有效的算法写入network soft interrput handler中去执行的, 对于这个英文我翻译不准,所以就用英文了,你知道这个吗?
                                                                           十分感谢版主的意见,希望能和你多讨论讨论,我是在日本留学的学生,没有人教,自己摸索,无奈啊! 呵呵.

谁许谁一生繁华 2022-07-22 14:51:42

将网卡的数据拷贝到内存中,是网卡驱动做的事。linux2.2和linux2.4早期内核确实使用bottom half机制来处理底半部。而且bottom half机制好象被叫成软中断。但是从linux2.4开始引入更高效的tasklet来处理底半部。到linux2.6内核,bottom half机制被取消了。现在所指的软中断一般指softirq。

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