- 博客(7)
- 收藏
- 关注
原创 浅谈Netfilter框架原理(二)
1.1.1 连接跟踪主要数据关系图 图一 连接跟踪主要数据关系图 整个数据关系始于从skb中获取到协议的名称p
2015-12-27 12:39:48 810
原创 浅谈Netfilter框架原理(一)
1.1浅谈Netfilter框架原理1.1.1 撑起netfilter的结构数据 这个二维数组是在Linux2.6.34\include\linux\netfilter.h中定义的。第一维的NFPROTO_NUMPROTO是表示Linux下的协议簇,总共有32个吧。第二维的NF_MAX_HOOKS是表示有几个hook点,虽然系统给定义了8个,但是常用到这有5个。
2015-12-27 12:25:01 3851
原创 内核阅读之浅析Linux2.6.34内核路由数据转发(二)
Linux路由相关函数数据跟踪浅析 1.int ip_rcv()函数 该函数在Linux2.6.34\net\ipv4\Ip_input.c 该函数是在L2调用deliver_skb()是调用的,当然它的数据包类型ptype=ETH_P_IP。这里主要是对收上来的数据包进行一些验证其合法性,然后就交给了ip_rcv_finish()函数继续处理。
2015-12-06 08:54:51 1349
原创 内核阅读之浅析Linux2.6.34内核桥接数据转发(三)
如有错误之处,欢迎指正学习。handle_bridge()函数,该函数在Linux2.6.34\net\core\Dev.c这里回调了br_handle_frame_hook()函数,这个是一个钩子函数。Br_handle_frame_hook()函数在Linux2.6.34\net\bridge\Br_input.c中,br_handle_frame_hook=br_hand
2015-11-28 10:29:25 2052
原创 内核阅读之浅析Linux2.6.34内核桥接数据转发(二)
按照内核阅读之浅析Linux2.6.34内核桥接数据转发(一)中的总体框架,依次浅析各个主要关键函数,看看里面具体实现了什么。首先是int netif_receive_skb()函数,所有从硬件那边上来的数据包都首先要经过这个函数,当然也有例外,目前绝大多数网络芯片厂商都会有硬件加速模块,纯CPU已经无法迎合市场需求了。但是不管怎么说,任何网络数据的第一个包都是要经过netif_receive
2015-11-24 22:00:22 796
原创 内核阅读笔记之浅析Linux2.6.34内核桥接数据转发(一)
在学习新东西、新模块之前都是习惯将其整体框架先整理清楚,这样才会有针对性,并且学习思路也会比较清晰。废话不多说,直接上图。。。。。。
2015-11-24 21:49:03 577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人