据统计,linux系统下产生的故障有60%来自网络,其他来自系统本身,解决linux网络的顺序应该从linux自身底层网络开始,然后逐步排查。网络硬件问题,可以通过检查网线、网卡、交换机等是否正常来确认是否由硬件问题造成网络故障。检查网卡是否正常工作,可以从网卡驱动是否正常..
分类:
系统相关 时间:
2016-03-10 18:53:32
阅读次数:
233
一。网卡驱动架构分析 1. Linux 网络子系统 #系统调用接口层 为应用程序提供访问网络子系统的统一方法。 #协议无关层 提供通用的方法来使用传输层协议。 #协议栈的实现 实现具体的网络协议 #设备无关层 协议与设备驱动之前通信的通用接口...
分类:
系统相关 时间:
2015-12-25 14:54:12
阅读次数:
183
IP 地址是服务商给你的,MAC地址是你的网卡物理地址。1、MAC 地址在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,第二层为数据链路层(Data Link)。它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC...
分类:
系统相关 时间:
2015-08-17 23:45:59
阅读次数:
245
1、构建MAC地址表交换机技术在转发数据前必须知道它的每一个端口所连接的主机的MAC地址,构建出一个MAC地址表。当交换机从某个端口收到数据帧后,读取数据帧中封装的目的地MAC地址信息,然后查阅事先构建的MAC地址表,找出和目的地地址相对应的端口,从该端口把数据转发出去,其他端口则不受影响,这样避免了与其它端口上的数据发生碰撞。因此构建MAC地址表是交换机的首要工作。下面举例说明交换机建立地址表的过...
分类:
系统相关 时间:
2015-08-17 23:42:38
阅读次数:
232
函数接口
设备初始化函数
网络设备驱动在 Linux 内核中是以内核模块的形式存在的,对应于模块的初始化,需要提供一个初始化函数来初始化网络设备的硬件寄存器、配置 DMA 以及初始化相关内核变量等。设备初始化函数在内核模块被加载时调用,它的函数形式如下:
static int __init xx_init (void) {
……
}
module_init(xx_...
分类:
系统相关 时间:
2015-08-08 22:56:00
阅读次数:
251
【摘要】前文对网络驱动例子进行一个简单的梳理总结,本文贴出 net_device 的数据结构以及一些驱动中常用的数据结构。
1、网络设备驱动结构
下图摘自http://blog.chinaunix.net/uid-20672257-id-3147768.html
1)、网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit...
分类:
Web程序 时间:
2015-07-30 23:25:15
阅读次数:
393
Linux 网卡驱动学习(缓存描述符 Buffer Description)。BD 描述符包含了报文很多信息,比如长度,报文的缓存地址等等。...
分类:
系统相关 时间:
2015-07-30 23:23:21
阅读次数:
279
Linux 网卡驱动学习(分析一个虚拟硬件的网络驱动例子),网络设备驱动层是连接网络堆栈协议层和网络硬件的中间层。...
分类:
系统相关 时间:
2015-07-29 21:28:21
阅读次数:
174
Linux 的一个显著特点就是其强大的网络功能,Linux 几乎支持所有的网络协议,并在这些协议基础上提供了丰富的应用。对 Linux 网络管理的重要性不言而喻,这些管理依赖于网络工具,比如最常用的 ifconfig,route,ip,ethtool 等,其中 ethtool 提供了强大的网卡及网卡...
分类:
系统相关 时间:
2015-06-14 21:19:57
阅读次数:
269
1.Intel官网下载Linux网卡驱动 Intel 官网下载中心:https://downloadcenter.intel.com/zh-cn/product/60019/-I217-LM 2.安装网卡驱动 # tar zxf e1000e-3.1.0.2.tar.gz # cd e1000e-3.1.0.2 # cd src/ # make i...
分类:
Web程序 时间:
2015-05-12 19:24:45
阅读次数:
189