08_网络设备驱动

本文介绍了Linux网络设备驱动的四个层次:网络协议接口层、网络设备接口层、设备驱动功能层和网络设备与媒介层。重点讨论了网络设备接口层的接口函数,如发送和接收数据包,以及套接字缓冲区的管理。同时,阐述了网络设备驱动的注册、注销、初始化、打开与释放、数据发送和接收的过程。
摘要由CSDN通过智能技术生成

一:Linux网络设备驱动结构简介

       网络设备是完成用户数据包在网络媒介上发送和接收的设备,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议。与字符设备和块设备不同,网络设备并不对应/dev目录下的文件,应用程序最终使用套接字完成与网络设备的接口。Linux系统对网络设备驱动定义了4个层次,这4个层次为网络协议接口层,网络设备接口层,提供实际功能的设备驱动功能层和网络设备与媒介层。

(1)网络协议接口层向网络层协议提供统一的数据包收发接口,不论上层协议是ARP,还是IP,都通过dev_queue_xmit()函数发送数据,并通过netif_rx()函数接收数据。这一层的存在使得上层协议独立于具体的设备。

(2)网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device,该结构体是设备驱动功能层中各函数的容器。实际上,网络设备接口层从宏观上规划了具体操作硬件的设备驱动功能层的结构。

(3)设备驱动功能层的各函数是网络设备接口层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值