易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux网络设备驱动学习笔记( )

Linux网络设备驱动程序体系结构
从上到下:网络协议接口层-->网络设备结构层-->设备驱动实现层-->网络设备与媒介层
 
记忆方法:
分三层,1、最上面理解为我们用的网络传输方法,就是网络协议,2、最下面就是物理硬件,即网络设备层,3、中间是一层,设备驱动,然后拆成2部分,上部分是结构(层),下部分是结构中函数的实现(层)。
 
功能描述:
网络协议接口层
dev_queue_xmit() 发送数据, netif_rx() 接收数据。
网络设备结构层
有一个结构net_device
设备驱动实现层
net_device里的函数实现, 通过hard_start_xmit()启动发送操作,通过中断触发接收操作。
网络设备与媒介层
哪里管的了那么多,不理它硬件怎么实现的。
 
网络协议接口层
有一个NB的结构体:sk_buff,叫做:套接字缓冲区,各层之间数据传输都靠他。
dev_queue_xmit()、netif_rx()的参数都是只是sk_buff。
函数原型:
dev_queue_xmit(struct sk_buff  *sb );          //sb实际是 skb,少写一个k助记
netif_rx(struct sk_buff sk_buff  *sb);             //同上
 
sk_buff 内容详解
 
1 协议头 ,有好多好多协议要使用,所以协议头是必要滴,当然不能同时使用TCP/IP UDP或者其他什么协议,所以把头结构定义成联合体。
2 数据缓冲区:要搞个地方放数据,要功能强大必须能找到各需要的位置比如:头、尾… 所以在sk_buff中定义了4个指针:head、 data、tail、end。指向数据缓冲区。
head:缓冲区起始地址,sk_buff 一旦创建,head数据就固定了。
data:当前层的有效数据起始地址
tail: 有效数据的结尾地址,和data对应
end:缓冲区的结尾地址,sk_buff 一旦创建,end数据就固定了。
3 长度信息
len:数据包有效数据长度,包括协议头和负载(Payload?)
data_len:记录分片的数据长度,数据包的有效数据是分成几片存在不同的内存空间中,每片空间最大是一页。
truesize:缓冲区的整体长度,即:sizeof(struct sk_buff)+(传入alloc_sdb()或dev_alloc_skb()函数的长度)--说实话不理解传入函数的长度是什么.
 
NB的结构体:sk_buff的操作
各层之间就靠他,当然需要对他进行操作。
Ø  分配:
struct sk_buff  *alloc_skb(unsigned int len,int priority);


相关文档:

Linux下telnet设置

Telnet服务的配置步骤如下:
    一、安装Telnet软件包(通常要两个)
  1、 Telnet-clIEnt (或 Telnet),这个软件包提供的是 Telnet 客户端程序;
  2、 Telnet-server ,这个软件包提供的是 Telnet 服务器端程序;
  安装之前先检测是否这些软件包已安装,方法如下:
  [root@echo root]# ......

linux中显示中文乱码的问题

由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,
使vi
支持gb编码就好了。
$vi
 ~/.vimrc
let
&termencoding=&encoding
set fileencodings=utf-8,gbk
$:wq

次打开vi
,显示就正常了。
如果你需要在linux下面用到windows下 ......

linux dfisk, du,df(磁盘空间信息)命令详解


df命令详细用法
 
a:显示全部的档案系统和各分割区的磁盘使用情形
i:显示i -nodes的使用量
k:大小用k来表示 (默认值)
t:显示某一个档案系统的所有分割区磁盘使用量
x:显示不是某一个档案系统的所有分割区磁盘使用量
T:显示每个分割区所属的档案系统名称
常用命令:df -hi
 
操作详解
&n ......

linux磁盘操作命令详解



 
linux磁盘操作命令详解
收藏



1.分区与格式化原理
硬盘的分区分主MBR(446byte),主分区表(64byte),分区.
2.使用linux中的fdisk分区
fdisk /dev/sdb
p 打印分区表
t 转换分区表
w 写进分区表 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号