作者:华清远见嵌入式学院。《Linux设备驱动开发详解》第16章、Linux网络设备驱动。网络设备是完成用户数据包在网络媒介上发送和接收的设备,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议。 与字符设备和块设备不同,网络设备并不对应于/dev目录下的文件,应用程序最终使用套接字(socket)完成与网络设备的接口。因而在网络设备身上并不能体现出“一切都是文件”的思想。 Linux系统对网络设备驱动定义了4个层次,这4个层次为网络协议接口层、网络设备接口层、提供实际功能的设备驱动功能层和网络设备与媒介层。