首页
题库
面试
求职
学习
竞赛
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收藏
217浏览
热门推荐
相关试题
在linux网络传输中,有效数据一...
网络设备
评论
(0)
已知卷积码的生成序列为,,输入序列...
通信
芯片/半导体
硬件开发
评论
(0)
在linux中,当我们需要添加用户...
网络设备
评论
(0)
在大语言模型中,什么是"Gated...
大模型开发
评论
(1)
关于大模型“上下文窗口”的理解,以...
大模型概念
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题