1.网络设备驱动
1.1什么是网络设备
1.网络设备:主要是负责收发网络的数据包,它将上层协议传递下来的数据包以特定
的媒介访问控制方式进行发送, 并将接收到的数据包
传递给上层协议。网络接口
是Linux第三类标准设备。
2.网络设备和块设备类似,在内核的特定数据结构中注册自己。
3.当发生网络数据交换时,网络设备驱动程序注册的方法将被内核调用。
4.网络设备不会在/dev下存在一个设备入口,它使用保留的内部设备名。在linux下一切
皆文件,是标准化接口的一种抽象手段,由于历史原因,网络编程的套接字接口标准早于linux
内核的出现,linux内核不得不沿用套接字概念,从而三种接口驱动里面,仅网络设备没有设备
文件。
1.2网络设备的特点
1.网络设备异步的接收外来的数据包,有别于其他设备
2.网络设备主动的“请求”将硬件获得的数据包压入内核,而其他设备例如块设备被“请求”向内核发送缓冲区
3.网络设备同时要执行大量的管理任务
设置地址
修改传输参数
维护流量和流量控制
错误统计和报告
4.网络子系统是完全与协议无关的,网络驱动程序与内核其余部分之间的每次交互处理的都是一个网