以太网设备驱动程序详解:TCP/IP实现

需积分: 0 0 下载量 118 浏览量 更新于2024-09-14 收藏 1.41MB PDF 举报
"TCP-IP详解.卷二:实现" 在《TCP-IP详解.卷二:实现》中,作者深入探讨了TCP/IP协议栈的具体实现细节,特别是以太网设备驱动程序的运作方式。这本书旨在帮助读者理解操作系统如何与网络硬件进行交互,以便于数据在网络中的传输。 第4章“接口:以太网”主要关注以太网设备驱动程序的功能,包括如何接收和发送帧。章节开始时,作者指出在第3章已经讨论了接口的数据结构初始化,而本章将侧重于实际的传输过程。虽然书中不会展示完整的以太网驱动程序源代码,但会分析设备无关的部分以及驱动程序与内核的交互机制。 以太网驱动程序的复杂性在于它通常包含针对特定硬件的详细信息,这可能涉及数百行代码。尽管如此,书中会探讨那些通用的部分,以帮助读者理解网络设备驱动的基本原理。例如,Net/3版本提供了多个不同接口的源代码供学习者参考。 网络设备驱动程序通过一个称为if_net的结构体与内核通信,这个结构体包含了7个函数指针,这些指针指向驱动程序的关键功能入口点。书中的图4-2展示了几个示例驱动程序的这些入口点。值得注意的是,输入函数,即处理网络设备中断的函数,不在图中列出,因为它们通常与硬件密切相关,并且涉及中断服务的底层细节,这超出了本书的讨论范围。 书中提到了几种不同的以太网接口驱动程序,如DEC DEUNA、Com以太网接口、Excelan EXOS 204、Intel LAN Controller、Interlan NP100、Digital Q-BUS to NI适配器、CMC ENP-20、Excelan EXOS 202/203 (VME & QBUS)、ACC VERSAbus以太网控制器以及AMD 7990 LANCE接口等,这些示例涵盖了多种硬件平台和制造商的设备。 通过分析这些驱动程序,读者可以了解如何配置网络设备,以及如何使用通用的ioctl命令。此外,读者还将学习如何识别处理设备中断的函数,尽管不会详细解释这些函数如何被调用。 《TCP-IP详解.卷二:实现》为读者提供了一幅关于网络驱动程序实现的详细画卷,帮助他们理解和构建自己的TCP/IP协议栈实现,特别是在以太网环境下的操作。这本书对于网络工程师、系统管理员以及对底层网络操作感兴趣的开发者来说,是一份宝贵的参考资料。