E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
sk_buff
linux内核层与应用层通讯方法
在内核态实现socket通讯的方法有三种,netlink,socket,sk_buff.netlink与socket比较简单,
sk_buff
较难,但对linux内核了解也比较深入。本文
dyron
·
2011-10-12 14:00
工作
Stream
socket
通讯
linux内核
SKB几个复制函数的区别
1、skb_clone()Skb_clone()函数只是复制
sk_buff
结构,并不复制skb的数据缓冲区。Clone后的
sk_buff
结构与原始的
sk_buff
指向同一数据缓冲区。
scottgly
·
2011-09-26 12:00
cache
function
header
buffer
reference
Allocation
sk_buff
结构详解
http://www.cnblogs.com/yoleung/articles/1232497.htmlstructsk_buff可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息,并包含很多成员变量供网络代码中的各子系统使用。 这个结构被网络的不同层(MAC或者其他二层链路协议,三层的IP,四层的TCP或UDP等)使用,并且其中的成员变量在结构从一层向另一层传递时改
maijian
·
2011-08-11 11:00
sk_buff
结构详解
structsk_buff可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息,并包含很多成员变量供网络代码中的各子系统使用。 这个结构被网络的不同层(MAC或者其他二层链路协议,三层的IP,四层的TCP或UDP等)使用,并且其中的成员变量在结构从一层向另一层传递时改变。L4向L3传递前会添加一个L4的头部,同样,L3向L2传递前,会添加一个L3的头部。添加头部比在不同
scottgly
·
2011-08-10 14:00
Linux内核中
sk_buff
分析
在内核中
sk_buff
表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面
sk_buff
会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32
thecloud
·
2011-07-15 22:00
linux
Linux内核中
sk_buff
分析
在内核中
sk_buff
表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面
sk_buff
会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32
yming0221
·
2011-07-15 22:00
数据结构
cache
tcp
header
destructor
linux内核
Linux内核中
sk_buff
分析
在内核中
sk_buff
表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面
sk_buff
会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32
soboer
·
2011-07-15 22:00
linux
linux网络体系结构
当底层设备驱动程序接收到一个报文(包含在所分配的
sk_buff
中)时,就
u013030441
·
2011-07-13 17:00
linux
struct
网络
list
header
interface
USB URB
URB定义:usb请求块(usbrequestblock,urb)是usb设备驱动中用来描述与usb设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的
sk_buff
结构体,是usb主机与设备通信的电波
u013030441
·
2011-07-07 18:00
数据结构
struct
网络
kill
buffer
struct sk_buffer
sk_buff
结构体收藏structsk_buff可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息,并包含很多成员变量供网络代码中的各子系统使用。
dianhuiren
·
2011-06-15 10:00
数据结构
struct
socket
tcp
网络
destructor
linux内核数据包操作函数解析
/** @ */ static inline void skb_copy_to_linear_data(struct
sk_buff
*skb, const void *from
cxw06023273
·
2011-06-07 14:00
java
linux
转一篇讲解网络子系统的帖子
7.1.
sk_buff
结构在Linux内核的网络实现中,使用了一个缓存结构(struct
sk_buff
)来管理网络报文,这个缓存区也叫套接字缓存。
hellolwl
·
2011-05-17 19:00
ubuntu 安装drcom报错error: ‘struct
sk_buff
’ has
nomembernamed‘dst’用源码安装drcom时候,make报错,9.10和10.04都此问题。1./tmp/drcom/drcom.c:Infunction‘build_ack_skb’:2./tmp/drcom/drcom.c:686:error:‘structsk_buff’hasnomembernamed‘dst’3./tmp/drcom/drcom.c:Infunction‘b
zhongxiaowenhuman
·
2011-04-24 21:00
ubuntu 安装drcom报错error: ‘struct
sk_buff
’ has
nomembernamed‘dst’用源码安装drcom时候,make报错,9.10和10.04都此问题。1./tmp/drcom/drcom.c:Infunction‘build_ack_skb’:2./tmp/drcom/drcom.c:686:error:‘structsk_buff’hasnomembernamed‘dst’3./tmp/drcom/drcom.c:Infunction‘b
zhongxiaowenhuman
·
2011-04-24 20:00
tcp_4v_recv
假期结束, 根据上次讲的 ip_local_deliver int ip_local_deliver(struct
sk_buff
*skb) { if (ip_hdr(skb
sunzixun
·
2011-04-06 11:00
linux
.net
算法
socket
HP
Linux TCP/IP 协议栈的关键数据结构Socket
5.ManagementFunctions有很多函数,通常都比较短小而且简单,内核用这些函数操作
sk_buff
的成员变量或者
sk_buff
链表。图4会帮助我们理解其中几个重要的函数。
kyokowl
·
2011-04-01 09:00
数据结构
linux
function
socket
tcp
destructor
L2-L3
;,可以看成L2-L3 的分水岭(如果该协议需要到L3的话) net_rx_action 做完了之后基本上 struct
sk_buff
sunzixun
·
2011-03-29 16:00
linux
.net
socket
网络协议
UP
struct
sk_buff
structsk_buff/home/green/src/list.calloc_skbkfree_skbskb_putskb_trim#############/home/green/src/list.c#############alloc_skbkfree_skbskb_put //useddata后部扩展skb_push//useddata前部扩展skb_pull//useddata前部截断
小默
·
2011-03-24 18:00
E1000驱动讨论
作者:yaoma 时间:2003-5-718:39 标题:ask在网上传送的“包”与内部的
sk_buff
有什么区别呢当一个网络设备从网上接收包时,它必须将接收的数据转换成
sk_buff
结构(这里使用的是什么函数
yukuninfoaxiom
·
2011-03-09 09:00
header
buffer
action
NetWork
resources
Descriptor
Linux内核
sk_buff
的结构分析
原文链接:http://simohayha.javaeye.com/blog/556168 我看的内核版本是2.6.32.在内核中
sk_buff
表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head
ypoflyer
·
2011-02-28 17:00
java
struct
cache
header
destructor
linux内核
网络编程入门心得
网络编程入门,首先必须从了解、熟悉,到掌握网络编程中用到的基本结构体如
sk_buff
,ethhdr,iphdr,tcphdr,udphdr等开始; 其次,先看看经典的网络编程源代码,最好附带详细的解析的为佳
jiatingqiang
·
2011-02-04 21:00
Linux内核中流量控制(13)
msn:
[email protected]
来源:http://yfydz.cublog.cn 5.11.9 入队 static int htb_enqueue(struct
sk_buff
cxw06023273
·
2011-01-10 16:00
数据结构
linux
.net
cache
C#
关于skb_header_pointer函数
前言 在2.6.17内核中获取
sk_buff
中各协议头的参数不再是直接读取skb包中定义的各协议头部分指针,而是使用skb_header_p
cxw06023273
·
2011-01-10 14:00
.net
linux
cache
网络协议
网络
sk_buff
缓冲区[2]
sk_buff
的clone及限额
上一篇文章中介绍了
sk_buff
的基本结构,对
sk_buff
的基本组织结构以及对数据的处理有了一定的了解,接下来我们继续来介绍
sk_buff
中另外两个比较重要的概念。
qq327662250
·
2010-12-29 00:59
职场
休闲
缓冲区
sk_buff
网络
sk_buff
缓冲区[1]
sk_buff
的结构
sk_buff
是内核网络子系统的一个支柱结构,各层协议都依赖于
sk_buff
而存在,所以了解它的设计是很重要的,这其中当然也包括了很重要的网络缓冲区的管理机制,下面一个系列都围绕它来展开。
qq327662250
·
2010-12-18 23:44
网络
职场
休闲
内核网络--阅读笔记
网络
sk_buff
缓冲区[1]
sk_buff
的结构
sk_buff
是内核网络子系统的一个支柱结构,各层协议都依赖于
sk_buff
而存在,所以了解它的设计是很重要的,这其中当然也包括了很重要的网络缓冲区的管理机制,下面一个系列都围绕它来展开。
qq327662250
·
2010-12-18 23:44
网络
职场
休闲
缓冲区
sk_buff
Linux发送函数dev_queue_xmit分析 --转
当上层准备好一个包之后,交给下面这个函数处理: int dev_queue_xmit(struct
sk_buff
*skb) { struct net_device *dev
shaojiashuai123456
·
2010-12-14 21:00
数据结构
linux
.net
F#
UP
Linux网络层 ip_rcv()函数代码分析(__pskb_pull_tail)
intip_rcv(structsk_buff*skb,structnet_device*dev,structpacket_type*pt) //几个结构
sk_buff
套接字缓存,net_device网络设备结构
cxh342968816
·
2010-12-10 15:00
struct
sk_buff
在内核2.6.24版本以后的扩展变化
转自:blog168.chinaunix.net/space.php?uid=7201775&do=blog&cuid=1719771读了一下《ProfessionalLinuxKernelArchitecture》的Network这一章。由于本书讲得比较新,可以说是市面上目前讲Linux内核版本最新的著作了,涉及到了2.6.24版本。其中,有很多微妙的变化,由于structsk_buff是内核网
gonogo
·
2010-12-08 22:47
职场
休闲
sk_buff
毕业设计
struct
sk_buff
在内核2.6.24版本以后的扩展变化
转自: blog168.chinaunix.net/space.php?uid=7201775&do=blog&cuid=1719771 读了一下《ProfessionalLinuxKernelArchitecture》的Network这一章。由于本书讲得比较新,可以说是市面上目前讲Linux内核版本最新的著作了,涉及到了2.6.24版本。其中,有很多微妙的变化,由于structsk_buff是内
gonogo
·
2010-12-08 22:47
职场
休闲
sk_buff
ipv6 分片
519 static int ip6_fragment(struct
sk_buff
*skb, int (*output)(struct
sk_buff
*)) 520 { 521
shaojiashuai123456
·
2010-12-07 21:00
数据结构
socket
UP
ipv6 处理扩展头
160 static int ip6_input_finish(struct
sk_buff
*skb) 161 { 162 struct inet6_protocol *ipprot
shaojiashuai123456
·
2010-12-06 09:00
.net
sk_buff
的结构的理解
#include #include #include #include #include staticunsignedintskb_buff_ops(unsignedinthooknum, structsk_buff*skb, conststructnet_device*in, conststructnet_device*out, int(*okfn)(structsk_bu
cxw06023273
·
2010-11-11 16:00
数据结构
linux
.net
socket
网络协议
2.6内核的
sk_buff
结构分析
.*/ //以下两个变量用于将
sk_buff
链接到一个双向循环链表中 structsk_buff *next; structsk_buff
maijian
·
2010-10-26 11:00
struct
网络
tcp
header
NetWork
destructor
linux内核
sk_buff
的结构分析
在内核中
sk_buff
表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head。
jiangyi711
·
2010-09-08 01:00
网络处理的软中断机制分析
内核默认软中断机制分析(process_backlog)首先需要介绍的就是netif_rx(在net/core/dev.c中定义)函数,这个函数在网卡驱动程序与linux内核之间建立了一道桥梁,将网卡接收上来的数据包(
sk_buff
Stephen_yu
·
2010-08-04 19:00
网络
list
struct
null
action
linux内核
linux内核ip分片函数ip_fragment解析(转贴)
int ip_fragment(struct
sk_buff
*skb, int (*output)(struct
sk_buff
*)) { struct iphdr *iph;
cybertan
·
2010-06-14 17:00
linux网络设备驱动
网络设备结构体:structsk_bufff{}它的定义在linux/skbuff.h中
sk_buff
中有三部分协议头分别命名为“h,nh,mac”h:为传输层协议(ICMP,IGMP)。
crazyss
·
2010-04-24 13:00
内核中struct
sk_buff
结构分析
structsk_buff可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息,并包含很多成员变量供网络代码中的各子系统使用。这个结构被网络的不同层(MAC或者其他二层链路协议,三层的IP,四层的TCP或UDP等)使用,并且其中的成员变量在结构从一层向另一层传递时改变。L4向L3传递前会添加一个L4的头部,同样,L3向L2传递前,会添加一个L3的头部。添加头部比在不同层之间
macrossdzh
·
2010-04-01 16:00
数据结构
struct
tcp
socket
网络
networking
在内核中构造一个UDP 数据
struct net_device *odev, u16 local_port, u32 remote_ip, u16 remote_port, u8 *msg, int len) { struct
sk_buff
mmdev
·
2010-03-04 13:00
.net
网络协议
在内核中构造一个UDP 数据
struct net_device *odev, u16 local_port, u32 remote_ip, u16 remote_port, u8 *msg, int len) { struct
sk_buff
izuoyan
·
2010-03-04 13:00
.net
网络协议
linux内核网络协议栈实现中的几个问题
1.关于
sk_buff
的链表组织
sk_buff
的next和prev指针用来将
sk_buff
连接成链表,但是具体哪些skb被连接在一起就要看当前的skb在哪一个层次了,并且skb中还有一个sk_buff_head
dog250
·
2010-02-09 22:00
数据结构
struct
list
网络协议
扩展
linux内核
linux内核网络协议栈实现中的几个问题
1.关于
sk_buff
的链表组织
sk_buff
的next和prev指针用来将
sk_buff
连接成链表,但是具体哪些skb被连接在一起就要看当前的skb在哪一个层次了,并且skb中还有一个sk_buff_head
dog250
·
2010-02-09 22:00
数据结构
struct
list
网络协议
扩展
linux内核
linux内核网络协议栈实现中的几个问题
1.关于
sk_buff
的链表组织
sk_buff
的next和prev指针用来将
sk_buff
连接成链表,但是具体哪些skb被连接在一起就要看当前的skb在哪一个层次了,并且skb中还有一个 sk_buff_head
totoxian
·
2010-02-09 22:00
linux
linux内核网络协议栈实现中的几个问题
1.关于
sk_buff
的链表组织
sk_buff
的next和prev指针用来将
sk_buff
连接成链表,但是具体哪些skb被连接在一起就要看当前的skb在哪一个层次了,并且skb中还有一个 sk_buff_head
xitong
·
2010-02-09 22:00
linux
linux内核对网卡驱动多队列的支持
众所周知,linux的网卡由结构体net_device表示,一个该结构体对应一个可以调度的数据包发送队列,注意,这里不谈数据包接收,数据包的实体在内核中以结构体
sk_buff
表示,这样的话,上述文字就可以用以下图示来表示
dog250
·
2010-02-09 21:00
linux
struct
网络
网络应用
linux内核
linux内核对网卡驱动多队列的支持
众所周知,linux的网卡由结构体net_device表示,一个该结构体对应一个可以调度的数据包发送队列,注意,这里不谈数据包接收,数据包的实体在内核中以结构体
sk_buff
表示,这样的话,上述文字就可以用以下图示来表示
totoxian
·
2010-02-09 21:00
linux
linux内核对网卡驱动多队列的支持
众所周知,linux的网卡由结构体net_device表示,一个该结构体对应一个可以调度的数据包发送队列,注意,这里不谈数据包接收,数据包的实体在内核中以结构体
sk_buff
表示,这样的话,上述文字就可以用以下图示来表示
dog250
·
2010-02-09 21:00
linux
struct
网络
网络应用
linux内核
内核
sk_buff
工作线程总结
对skb采用异步序列操作的一个总结, 写成一系列函数. 将skb出队列作为一个线程调用, skb处理则采用回调函数, 在线程里直接调用, 提高了通用性. 也可以将一个skb_task定义为PER_CPU变量, 达到并行处理目的. :) #include <linux/kthread.h> struct skb_task{ struct task_struct *task; struc
mmdev
·
2009-12-26 22:00
工作
linux
UP
内核
sk_buff
工作线程总结
对skb采用异步序列操作的一个总结,写成一系列函数.将skb出队列作为一个线程调用,skb处理则采用回调函数,在线程里直接调用,提高了通用性.也可以将一个skb_task定义为PER_CPU变量,达到并行处理目的.:)#includestructskb_task{structtask_struct*task;structcompletionstart_done;structcompletionen
force_eagle
·
2009-12-26 22:00
工作
struct
list
null
UP
callback
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他