
linux_网络
zhangtaoym
这个作者很懒,什么都没留下…
展开
-
PCI驱动框架简单分析
一、PCI 概念介绍 PCI是CPU和外围设备通信的高速传输总线。PCI规范能够实现32位并行数据传输,工作频率为 33MHz 或 66MHz ,最大吞吐率高达266MB/s,PCI的衍生物包括 CardBus、mini-PCI、PCI-Express、cPCI等。 PCI总线体系结构是一种层次式的体系结构。在这种层次体系结构中,PCI桥设备占据着重要的地位,它将父总线转载 2017-07-30 10:33:25 · 577 阅读 · 1 评论 -
Linux 网卡驱动学习(一)(分析一个虚拟硬件的网络驱动例子)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47132517 在Linux,网络分为两个层,分别是网络堆栈协议支持层,以及接收和发送网络协议的设备驱动程序层。网络堆栈是硬件中独立出来的部分,主要用来支持TCP/IP等多种协议,网络设备驱动层是连接网络堆栈协议层和网络硬件的中间层。 网络设备驱动程序的主要功能是: (转载 2017-07-23 16:41:24 · 639 阅读 · 0 评论 -
Linux 网卡驱动学习(二)(网络驱动接口小结)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47132917 【摘要】前文我们分析了一个虚拟硬件的网络驱动例子,从中我们看到了网络设备的一些接口,其实网络设备驱动和块设备驱动的功能比较类似,都是发送和接收数据包(数据请求)。当然它们实际是有很多不同的。 1、引言 首先块设备在/dev目录下有设备节点,而网络设备转载 2017-07-23 16:51:35 · 425 阅读 · 0 评论 -
Linux 网卡驱动学习(三)(net_device 等数据结构)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47157113 【摘要】前文对网络驱动例子进行一个简单的梳理总结,本文贴出 net_device 的数据结构以及一些驱动中常用的数据结构。 1、网络设备驱动结构 下图摘自http://blog.chinaunix.net/uid-20672257-id-3147768.html转载 2017-07-23 21:03:21 · 3694 阅读 · 0 评论 -
Linux 网卡驱动学习(四)(缓存描述符 Buffer Description)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47157731 【摘要】上文我们罗列出驱动中重要的数据结构,Linux 内核中对网络设备进行描述的核心结构类型叫做 net_device,net_device 结构定义在 include/linux/netdevice.h 文件中。该结构的字段可以分为以下几类。 1、ne转载 2017-07-23 21:10:39 · 896 阅读 · 0 评论 -
Linux 网卡驱动学习(五)(收发包具体过程)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47362787 函数接口 设备初始化函数 网络设备驱动在 Linux 内核中是以内核模块的形式存在的,对应于模块的初始化,需要提供一个初始化函数来初始化网络设备的硬件寄存器、配置 DMA 以及初始化相关内核变量等。设备初始化函数在内核模块被加载时调用,它的函转载 2017-07-23 21:26:51 · 930 阅读 · 0 评论 -
Linux 网卡驱动学习(六)(应用层、tcp 层、ip 层、设备层和驱动层作用解析)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47428187 本文将介绍网络连接建立的过程、收发包流程,以及其中应用层、tcp层、ip层、设备层和驱动层各层发挥的作用。 1、应用层 对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建一个套接字: fd = socket转载 2017-07-23 22:20:18 · 836 阅读 · 0 评论