文档介绍:该【嵌入式Linux系统高级开发工程师 】是由【tanfengdao】上传分享,文档一共【35】页,该文档可以免费在线阅读,需要了解更多关于【嵌入式Linux系统高级开发工程师 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。嵌入式Linux系统高级开发讲义
单击此处添加副标题
单/击/此/处/添/加/正/文
CLICK HERE TO ADD A TITLE
嵌入式Linux网络子系统分析
嵌入式Linux网卡驱动编写实例
01
02
第四天 日程
日程安排
嵌入式Linux网络子系统分析
ISO/OSI七层协议模型
TCP(Transmission Control Protocol)
传输控制协议,基于连接的服务
UDP(User Datagram Protocol)
用户数据报协议,无连接的服务
IP(Internet Protocol)
Internet协议,信息传递机制
TCP/IP协议族
OSI模型与TCP/IP协议的对比
2019
TCP或UDP
01
2020
IP和路由
02
2021
网卡驱动
03
2022
Telnet
FTP
WWW等
04
消息包的逐层递增
Linux网络协议栈分层
系统调用接口层
协议无关的接口层,就是SOCKET层。
(屏蔽底层的不同协议,以便与系统调用层之间的接口可以简单,统一)
网络协议实现层(IP,ICMP,ARP,RARP,TCP,UDP等 )
与具体设备无关的驱动接口层
驱动程序层
以太网控制器
06
内核的驱动程序接口
05
sk_buff数据结构
04
device数据结构
03
网络设备驱动程序简介
02
嵌入式Linux网卡驱动编写
01
日程安排
sk_buff结构
一个sk_buff代表着一个网络报文。既包含报文的数据,也包含报文的控制信息。
struct sk_buff {
struct net_device *dev; //接收和发送sk_buff的设备
union {} h; //h,nh,mac等指向sk_buff中各层报文头
unsigned char *head,*data,*tail,*end; //head和tail指向已分配空间的开头和结尾,data和tail分别是有效数据的开头与结尾。
……
}