首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
以下哪项不属于网络设备驱动的层次结构?
[单选题]
以下哪项不属于网络设备驱动的层次结构?
网络协议接口层
网络设备与媒介层
数据链路层
设备驱动功能层
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(11)
分享
纠错
1个回答
添加回答
0
牛客768144811号
在 Linux 里,
网络设备驱动
的代码只负责把“数据”从协议栈搬到“网卡”,它自己并不关心 IP、TCP 这些高层语义。
为了把这件事做明白,内核把驱动代码拆成 3 个抽象层(从上到下):
网络协议接口层
对应内核结构:struct net_device提供的统一回调(ndo_start_xmit、ndo_set_rx_mode…)。
作用:给上层协议(IP、ARP…)一个“设备无关”的发包/控包入口。
设备驱动功能层
对应各厂商写的 xxx_driver.c,里面实现:
初始化/探测(probe)
发包(tx)
收包(rx,NAPI 轮询或中断)
DMA 映射、描述符环维护
错误恢复、ethtool 接口
作用:把“协议层”下来的 skb 翻译成“硬件能懂的描述符”,再把硬件收到的描述符翻译成 skb 送回去。
网络设备与媒介层
对应真正的网卡控制器、PHY、SerDes、光纤、双绞线。
驱动通过 MMIO、MDIO、PCIe BAR 去配置它们。
作用:提供物理收发通道,让比特流能跑出去。
—— 三层之外,像“数据链路层”那是 OSI 协议栈里的概念,不属于驱动本身的层次结构。
发表于 2025-09-06 09:52:34
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
硬件开发
难度:
1条回答
11收藏
244浏览
热门推荐
相关试题
在linux中,当我们需要添加用户...
网络设备
评论
(0)
Linux 网络设备驱动程序的体系...
网络设备
评论
(1)
设八进制系统的比特速率为6000,...
通信
芯片/半导体
硬件开发
评论
(0)
《绝地求生》中,每局游戏最多有多少...
游戏常识
评论
(1)
动态餐厅定价需要实时显示,延迟较低...
大模型开发
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题