![以太网(网络)驱动程序和 pcie 驱动程序之间的根本区别](https://linux22.com/image/863690/%E4%BB%A5%E5%A4%AA%E7%BD%91%EF%BC%88%E7%BD%91%E7%BB%9C%EF%BC%89%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%92%8C%20pcie%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B9%8B%E9%97%B4%E7%9A%84%E6%A0%B9%E6%9C%AC%E5%8C%BA%E5%88%AB.png)
这可能是一个愚蠢的问题,但有人能解释一下 pcie 或以太网驱动程序的根本区别吗?因此,有许多网卡带有 pcie 接口。请考虑以下两个硬件示例,请帮助我理解驱动程序开发人员在两种情况下编写相应驱动程序的方法有何不同。
- 典型的 pcie Lan 卡,可帮助主机连接到网络
- 一些 pcie 卡在设备本身上具有完整的 TCP/UDP 堆栈,并且仅需要从传入的数据包中抽取有效负载。
如果不清楚,请提问。提前致谢
答案1
PCIe 用于与本地网卡通信。实际网卡使用以太网协议与外部网络设备通信。这些协议也可以在操作系统内使用,以模拟此类设备。
以下是我为您整理的一个非常基本的图形描述:
此外,请注意以太网实际上是一种协议,而不是一种设备类型。例如,光纤接口和 RJ45 铜缆接口都可以通过以太网协议运行,仅举几例。
TCP/UDP 堆栈完全由内核/操作系统处理,而不是由中间的硬件处理。
答案2
虽然这与主题无关……
PCI Express
… 是用于非常高吞吐量,非常内部以及最近的外围计算机硬件组件之间的低延迟通信。
以太网
… 是一种网络协议,通常用于局域网中计算机之间高吞吐量、低延迟通信的接口。它不局限于其上的特定路由或连接层协议,如 IP、TCP 和 UDP。
以太网适配器设备可以通过 PCI Express 总线连接到计算机的其余部分。