网络设备
stephen_kl
现在不学,更待何时……
展开
-
Linux编程之UDP SOCKET全攻略
这篇文章将对linux下udp socket编程重要知识点进行总结,无论是开发人员应知应会的,还是说udp socket的一些偏僻知识点,本文都会讲到。尽可能做到,读了一篇文章之后,大家对udp socket有一个比较全面的认识。本文分为两个专题,第一个是常用的upd socket框架,第二个是一些udp socket并不常用但又相当重要的知识点。一、基本的udp socket编程1...转载 2019-11-04 17:26:45 · 245 阅读 · 0 评论 -
浅谈 Linux 内核开发之网络设备驱动
http://www.ibm.com/developerworks/cn/linux/l-cn-networkdriver/index.html?ca=drs-转载 2010-08-10 10:24:00 · 1047 阅读 · 0 评论 -
Linux下Rtl8139too网卡设备驱动程序关键函数剖析
<br />static int __devinit rtl8139_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)<br />函数功能描述:赋给pci_driver结构体中的probe函数指针,用于当PCI核心检测到一个需要控制的pci_dev时,对相应的设备进行始化工作。<br />附注:本函数的主要任务是创建并初始化net_device结构,该结构是网卡设备的抽象。<br />函数流程:<br />1.转载 2010-08-13 14:04:00 · 1497 阅读 · 0 评论 -
intel e1000 网卡 napi分析
<br />2008/9/26intel e1000 网卡 napi分析http://sh-neo.spaces.live.com/blog/cns!1E3CA285E5F9E122!524.entry Chapte10 L2 frame receptionhttp://lxr.linux.no/linux+v2.6.26.5/drivers/net/e1000e/ 内核如何从网卡接收数据,传统的过程:<br />1.数据到达网卡;<br />2.网卡产生一个中断给内核;<br />转载 2010-08-13 14:38:00 · 2122 阅读 · 1 评论 -
手把手教你玩转ARP包
第一篇 手把手教你玩转ARP包 目录: 一. 关于ARP协议的基础知识 1. ARP的工作原理 2. ARP包的格式作者: CSDN VC/MFC 网络编程PiggyXP ^_^ 一. 关于ARP协议的基础知识1.ARP的工作原理本来我不想在此重复那些遍地都是的关于ARP的基本常识,但是为了保持文章的完整性以及照顾初学者,我就再啰嗦一些文字吧,资深读者可以直接跳过此节。 我们都知道以太网设备比转载 2010-11-08 16:27:00 · 3403 阅读 · 0 评论 -
基于IMD的包过滤防火墙原理与实现
<br /> <br />一、前言<br />二、IMD中间层技术介绍<br />三、passthru例程分析<br />四、部分演示代码<br />五、驱动编译与安装<br />六. 总结<br /><br /><br /><br />一、前言<br /><br /> 前段时间,在安全焦点上看到了TOo2y朋友写的《基于SPI的数据报过滤原理与实现》,很是不错。文章中提到的基于SPI的数据报拦截技术是在用户级的。用户级的拦截有其优势,实现方便、便于移植、通用性强,但是转载 2010-11-23 21:57:00 · 1034 阅读 · 0 评论 -
Windows环境下实现原始UDP数据包发送
<br />http://www.7747.net/kf/201009/74797.html<br /> <br />作者:Hokkien<br />虽然Windows XP SP2已经不再支持原始TCP数据包的发送,但就其本身作为一项技术而言,掌握原始数据包的发送也是非常重要的。今天我们要讨论的原始UDP数据包的构造,便是这项技术的应用。相信懂得了如何管理UDP头,其他协议的封装应该就不成问题了。在阅读本文,你需要具备以下知识:熟悉C语言、Socket基础知识和TCP/IP基础知识。如果你转载 2011-03-09 14:33:00 · 3317 阅读 · 3 评论 -
简单的套接字发送数据包
系统以及编译测试环境:windows xp sp2 环境VC6wireshark说明:不能在sp2环境下这样使用原始套接字,不然会在调用sendto函数时返回10004或者10013的错误码微软发布的sp2补丁包升级说明包含以下内容大致意思是说xp sp2的raw sockets不能发送TCP raw 数据;udp可以,但是源地址必须合法。目的是防止恶意代码利用此进行臭名昭著的DOS攻击。问题:按微软的意思是说可以在sp2下使用原始套接字发送自定义数据包但我没找到这样的例子,哪位知道可以告诉我一下,谢谢yu原创 2011-03-09 10:24:00 · 1919 阅读 · 4 评论 -
ucos+lwip应用心得
经过几天调试除掉几个bug以后,ucos+lwip在我的44b0+8019开发板上终于跑得比较稳定了.一只觉得lwip是一个不错的开放源码的tcp/ip 协议栈,想把自己对lwip的移植和理解写出来.但是由于最近比较忙,lwip的移植也是利用业余时间做的,今天写好了第一部分(lwip的 process model)先贴上来,如果大家有兴趣我再接着往下写.另外我的移植参看了skyeye扬晔大侠的代码,大家可以去看看扬晔大侠的lwip在ucos上移植的文章和代码. lwip应用心得转载 2011-05-11 16:06:00 · 231 阅读 · 0 评论 -
iPerf图形化工具Jperf图文使用教程
在前文介绍iPerf时,我们就提到了Jperf这款软件,因为iPerf没有图形界面,操作起来不是太方便,而Jperf则是将iPerf命令行图形化的JAVA程序,因此Jperf从某种程度上来说更受大家喜爱。 软件名称: Jperf 软件版本: 2.0 软件大小: 2.6MB 软件授权: 免费版本 适用平台: WinXP/Vista/7/8/10...转载 2018-07-20 16:01:50 · 5205 阅读 · 0 评论 -
Linux内核数据包处理流程-数据包接收
与其说这篇文章分析了网卡驱动中中数据包的接收,还不如说是以e100为例,对网卡驱动编写的一个说明。当然,对数据包的接收说的很清楚。转载数据包的接收作者:kendoKernel:2.6.12一、从网卡说起这并非是一个网卡驱动分析的专门文档,只是对网卡处理数据包的流程进行一个重点的分析。这里以Intel的e100驱动为例进行分析。大多数网卡都是一个PCI设备,PCI设备都包含了一个标准的配置寄存器,寄存器中,包含了PCI设备的厂商ID、设备ID等等信息,驱动程序使用来描述这些寄存转载 2010-08-06 11:23:00 · 1227 阅读 · 0 评论 -
网卡接收和发送数据包的过程
描述<br /><br />----<br /><br />1) 当网卡接收到数据帧或发送完数据帧时, 就会产生一个中断. <br /><br /><br /><br />2) 当网卡成功接收到数据帧时, 驱动程序根据帧长度分配包缓冲区, 将数据帧从网卡读入缓冲区,<br /><br />然后<br /><br />插入接收软中断的接收包队列, 并激活接收软中断. 当硬件中断返回时, 接收软中断将执行.<br /><br />在缺省配置<br /><br />下, 每个CPU最多转载 2010-08-04 19:13:00 · 2213 阅读 · 0 评论 -
Hacking the Linux Kernel Network Stack中文版(转)
<br />http://blog.chinaunix.net/u2/62281/showart_1092826.html<br />前一段时间看到这篇帖子,确实很经典,于是翻出了英文原版再读,顺便再翻译出来供大家学习,这篇文章的中文版也早都有了,但是出于完全理解的目的,我还是将他翻译了出来,加进了自己的代码,虽然在上一周的翻译过程中,我尽量保留文章的原汁原味,但错误肯定在所难免,在末尾附上原文和我自己调试通过的代码,已够构运行,大家能够参考一下!(有错误之处请指出) <br /><br />[转载 2010-07-21 15:27:00 · 1352 阅读 · 0 评论 -
Linux-千兆网卡驱动实现机制浅析
<br /> <br />http://linux.chinaunix.net/bbs/thread-1094725-1-1.html(最好去看原版,论坛讨论的比较详细)<br />2009-3<br /> <br />by Minit<br /> <br />tangwen1123@163.com<br /><br /><br /><br /> 本人对网卡驱动没有太多实践经验,此分析纯属学习总结所为,希望各位CU的大牛能及时的提出其中的问题,也欢迎大家积极拍砖,我抛砖引玉,你们抛砖给我吧^转载 2010-07-21 15:32:00 · 1006 阅读 · 0 评论 -
Linux网卡驱动分析
<br />http://www.unixresources.net/linux/clf/linuxK/archive/00/00/63/56/635614.html<br />学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了。不要担心,事情总有解决的办法,先把一些我们管不着的代码切割出去,留下必须的部分,把框架掌握了,哪其他的事情转载 2010-08-03 14:44:00 · 789 阅读 · 0 评论 -
Linux内核网络设备操作部分阅读笔记
网络设备初始化就是调用具有__init 前缀的net_dev_init函数完成的,网络设备初始化包含两个部分(在linux内核2.4办源代码分析大全一书的第550页有详细说明),就是:在系统初始化期间对系统已知的网络设备进行初始化过程,也就是,我们在编译内核时选择编入内核的那部分网卡设备就会在这个时候逐个进行初始化工作。系统中已知的网络设备都存储在一个全局表中,dev_base[],它将所有网络设备的net_devive结构连接在一起。int __init net_dev_init(void){转载 2010-08-02 16:24:00 · 778 阅读 · 0 评论 -
NAPI 技术在 Linux 网络驱动上的应用
<br />http://www.ibm.com/developerworks/cn/linux/l-napi/index.html#main<br />2004 年 6 月 24 日NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以 POLL 的方法来轮询数据,类似于底半方式(bottom-half 的处理模式);但是目前在 Linux 的 NAPI 工作效率比较差,本文在分析 NAPI 的同时,提供了一种高效的改善方式供大家参转载 2010-08-02 16:36:00 · 794 阅读 · 0 评论 -
Linux内核NAPI机制分析
Linux内核NAPI机制分析转载 2010-08-02 15:14:00 · 1155 阅读 · 0 评论 -
网络处理的软中断机制分析
<br />http://blog.csdn.net/joshua_yu/archive/2006/01/27/589451.aspx<br /><br /><br />内核默认软中断机制分析(process_backlog)<br />首先需要介绍的就是netif_rx(在net/core/dev.c中定义)函数,这个函数在网卡驱动程序与linux内核之间建立了一道桥梁,将网卡接收上来的数据包(sk_buff形式)插入内核维护的接收缓冲区队列当中:<br />int netif_rx(struct转载 2010-08-04 19:07:00 · 771 阅读 · 0 评论 -
零拷贝技术研究与实现
<br />零拷贝技术研究与实现<br />作者:梁健(firstdot)<br />E-MAIL:firstdot@163.com<br /><br /><br />一.基本概念<br />零拷贝(zero-copy)基本思想是:数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。实现零拷贝用到的最主要技术是DMA数据传输技术和内存区域映射技术。如图1所示,传统的网络数据报处理,需要经过网络设备到操作转载 2010-08-04 19:09:00 · 859 阅读 · 0 评论 -
Linux设备轮询机制分析
<br />http://blog.csdn.net/joshua_yu/archive/2006/01/27/589460.aspx<br /><br /><br />一、设备轮询机制的基本思想<br />所谓的设备轮询机制实际上就是利用网卡驱动程序提供的NAPI机制加快网卡处理数据包的速度,因为在大流量的网络环境当中,标准的网卡中断加上逐层的数据拷贝和系统调用会占用大量的CPU资源,而真正用于处理这些数据的资源却很少。<br />一个基本的想法是对于大流量网络,如果发现一个DMA传输中断(这表明一个转载 2010-08-04 19:11:00 · 1075 阅读 · 0 评论 -
Linux TCP/IP 协议栈的关键数据结构Socket Buffer
sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类:Layout 布局General 通用转载 2010-04-09 13:51:00 · 1467 阅读 · 0 评论