2014-04-20 设备管理之网络设备驱动框架

网络设备是完成用户数据包在网络媒介上发送和接受的设备。网络接口没有体现UNIX的“一切都是文件”,即在/dev目录下没有有这样一个特殊文件存在。


(1)Linux网络设备驱动程序的体系结构,分为四层,网络协议接口层,网络设备接口层,提供实际功能的设备驱动功能层,网络设备与媒介层。网络协议接口层提供统一的数据包收发接口,使得协议独立于具体设备;网络设备接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device(设备驱动功能层各函数的容器),从宏观上规划了具体操作硬件的设备驱动功能层的结构;设备驱动功能层各函数是网络接口层net_device数据结构的具体成员,驱使网络设备硬件完成相应动作的程序;网络设备与媒介层是完成数据包发送和接受的物理实体,包括网络适配器(设备驱动功能层中的函数物理驱动)和具体传输的媒介。


(2)sk_buff结构体是网络协议接口层的核心结构体,含义为“套接字缓冲区”,用于在网络子系统各层中传递数据,head用于指向数据包的开始,data用于指向数据包载荷的开始,tail用于指向数据包载荷的结束,end用于指向数据包的结束,len表示数据包载荷的数据量;当数据包穿过协议栈各层时,head,data,tail,end,len也是相应变化的。


(3)net_device是网络设备接口层中为千变万化的网络设备定义了统一,抽象的数据结构。包含设全局信息(设备名称,状态,初始化函数),硬件信息(共享内存的范围,网络接口的基地址,中断号,以及所使用的dma通道),接口信息(处理令牌环网接口的设置函数,mtu,硬件头的长度,传输队列中排队的最大帧数目,接口硬件类型),设备方法(open,hard_start_xmit,tx_time_out)等,工具成员(保存一些有用的状态信息)。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值