请教各位:关于linux处理从网卡接受到的数据包

jiangbobo 2004-05-06 11:14:47
请教各位高手啦。
linux内核是如何确定把从网卡接收到的数据包交给不同的模块处理的。比如说,如果从网卡接受到的是ip数据包,就交给ip协议栈处理(转发,或转给上层协议);
但是如果接受到的不是ip协议的数据包,linux怎么决定把它交给其它模块处理;
还有啊,如果接收到的不是ip协议的数据包(不过是把ip数据包封装在这个数据包里),我可以把ip数据包从这个数据包里解出来,但是怎么做到把这个ip数据包转给ip协议栈做ip_forward呢?
谢谢
...全文
92 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinHanLao 2004-05-09
  • 打赏
  • 举报
回复
建议看看<<TCP/IP详解卷I>>
tianxiangyuan 2004-05-09
  • 打赏
  • 举报
回复
假设你使用的ethernet。网卡收到的数据帧的头部有协议标志,据此判断应该将其交给哪种协议栈处理。每一种协议都有唯一的标志,所以ip的数据包和ipx的协议包不会混淆。当然,你也可以注册自定义的协议。

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧