排序:
默认
按更新时间
按访问量

Linux /proc/buddyinfo理解

/proc/buddyinfo是linuxbuddy系统管理物理内存的debug信息。 在linux中使用buddy算法解决物理内存的外碎片问题,其把所有空闲的内存,以2的幂次方的形式,分成11个块链表,分别对应为1、2、4、8、16、32、64、128、256、512、1024个页块。 ...

2016-02-23 23:23:29

阅读数:6815

评论数:0

Linux vlan 功能模块分析

Vlan即虚拟局域网,一个vlan能够模拟一个常规的交换网络,实现了将一个物理的交换机划分成多个逻辑的交换网络。而不同的vlan之间如果要进行通信就要通过三层协议来实现。   在linux中vlan的配置使用vconfig,使用vconfig配置一个交换网络,大致的流程如下:   #  # vco...

2014-12-09 23:11:46

阅读数:10323

评论数:0

TCP 的MSS概念、MTU的概念以及两者的关联

一、MSS(MAX Segment size) 即最大段大小,这个是tcp协议中规定的option选项中的一个选项,在三次握手的时候,会传递该mss值,进行mss的协商,这是tcp层的概念。 该值为tcp层数据部分的最大长度(包括option字段)。   二、MTU(MAX transla...

2014-12-06 19:30:49

阅读数:2035

评论数:0

Tcp、Udp 校验和与ip校验和的概念

1.ip、tcp、udp的校验和计算原理 1.1 ip校验和的计算 Ip校验是针对ip头部的,即仅校验ip头部,而对于ip数据部分的校验,则交由相应的四次协议来保证, ip 头部中校验和字段为16bit。   计算原理如下: 1.把校验和字段设置为0 2.计算ip头部中所有16bit的...

2014-12-03 20:48:25

阅读数:11194

评论数:0

Linux 路由 学习笔记 之十一 输入、输出路由查找相关的接口函数

对于路由功能模块的学习,也已经很长时间了。关于路由项的创建与查找、策略规则相关的创建与查找、路由缓存的创建与查找,都是分开来分析的,没有说明这些模块是如何配合使用的,以及模块之间的联系。本节就分析一下这几个模块是如何联系在一起的,也作为路由模块学习的小结。   对于协议栈而言,内核中的路由功能模块...

2014-12-02 21:02:43

阅读数:2849

评论数:0

Linux 路由 学习笔记 之十 路由缓存项的创建

前面分析了路由以及二层、三层相关的文档, 而对于路由缓存的创建,按路由类型的分类可以分为两类:输入路由与输出路由。 所谓输入路由,则为网口接收到数据以后,通过查找路由确定是将数据包转发,还是接收数据包;而输出路由,则是本地三层或者三层以上协议层要发送数据时,通过查找路由,确定使用哪一条路由发送出去...

2014-11-27 22:16:57

阅读数:1946

评论数:0

Linux 路由 学习笔记 之九 路由缓存相关的数据结构及初始化

这么久没有更新了,今天开始继续更新,争取把路由缓存分析完。 1. 相关的数据结构 本节主要是分析路由缓存相关的数据结构。对于路由缓存来说有两个主要的数据结构: struct rtable、struct dst_entry。下面分析一下这两个结构   1.1 struct rtable ...

2014-10-29 23:10:14

阅读数:3390

评论数:0

Linux 路由 学习笔记 之八 策略规则的删除

Linux 路由 学习笔记 之八 策略规则的删除 上次分析了策略规则的添加、查找,本节将分析策略规则的删除功能。对于策略规则来说,策略规则一般是通过应用层手动添加的,是不可能自动学习的,且策略规则一般来说都是一直有效的,因此对于策略规则来说,就不存在所谓的垃圾回收机制了,对于策略规则来说,只能通...

2014-09-19 10:48:13

阅读数:2007

评论数:0

Linux 路由 学习笔记 之七 策略规则的查找

上面分析了策略规则的添加,本文分析一下策略规则的查找。其实策略规则的存在就是为了实现策略路由功能的,而在策略路由的查找一节已经分析了策略规则的查找了,但为了在这一节单独分析策略规则,此处也一并再分析一下。   对于策略规则的功能模块来说,其查找函数是始于通用策略规则模块的fib_rules_l...

2014-09-04 23:29:46

阅读数:2942

评论数:0

Linux 路由 学习笔记 之六 策略规则的添加

上一节分析了策略规则相关的数据结构,本节就分析一下策略规则的添加。对于策略规则的功能模块,由于v4、v6都有用到,所以该模块也和邻居模块一样,抽象出了通用规则的接口函数,然后根据传入的参数来进入协议相关的策略规则的接口函数,即分为通用接口函数与协议相关的接口函数。   1.通用规则的添加及处理...

2014-09-03 23:36:39

阅读数:1345

评论数:0

Linux 路由 学习笔记 之五 策略规则相关的数据结构以及ipv4策略规则的初始化

前面分析路由查找时,已经捎带提到了策略规则,本节开始就要全面分析策略规则的内容了。也分析了这么多的内核代码,基本上对一个功能模块的几个主要内容也算是比较熟悉了。对于我们开发而言,一定要重视数据结构,当我们分析新的子功能或者开发新的子功能时,一定要好好的构思数据结构,因为数据结构的好坏,某种程度上就...

2014-09-02 22:22:42

阅读数:1724

评论数:0

Linux 路由 学习笔记 之四 路由删除流程分析

上面几节分析了路由的添加与查找,本节开始分析路由的删除。   分析了这么多linux kernel功能模块,对于功能模块的大致实现流程,我们也比较熟悉了,无非是状态机、数据结构(以及数据之间的关系,通过链表等实现)、垃圾处理等。但是对于ipv4来说,既有路由项相关的数据结构,也有路由缓存相关的...

2014-08-31 22:08:49

阅读数:1970

评论数:0

Linux 路由 学习笔记 之三 路由查找流程分析

上一节分析了路由的添加,本节接着分析路由的查找流程,路由查找流程也是被最多使用的接口。当设备三层协议栈接收到数据包、发送数据包等操作时,都要进行路由查找操作。   对于路由的查找,又分为两个查找过程,即不支持策略路由时的路由查找函数,以及支持策略路由时的路由查找流程,显然支持策略路由时的查找流...

2014-08-28 00:18:48

阅读数:7094

评论数:0

Linux 路由 学习笔记 之二 路由添加流程分析

基于linux2.6.21   上一节分析了路由的hash链表存储方式相关的数据结构,本节就分析一下路由的添加。对于路由查找来说,当支持策略路由时,路由的查找就会较复杂一些,因此打算结合策略规则来分析路由相关的知识,因此以后介绍的路由添加、删除、查找,都是基于支持策略路由的。 一、应用层添加...

2014-08-06 00:17:22

阅读数:3738

评论数:0

Linux 路由 学习笔记 之一 相关的数据结构

从现在开始学习路由相关的代码,在分析代码之前, 我们还是先分析数据结构,把数据结构之间的关系理解了以后,再理解代码就相对轻松多了。本小节先分析路由相关的数据结构。内核里面大多模块定义的数据结构之间一般都是使用链表或者hash表实现连接操作。 对于路由表,相关的数据结构有fib_table、fn_...

2014-07-31 23:43:17

阅读数:3407

评论数:0

Linux netfilter 学习笔记 之十五 netfilter模块添加一个match

通过这段时间的学习,基本上熟悉了netfilter模块,为了进一步加深对netfilter的认识以及理解iptables与netfilter的联系,准备添加一个match模块。   在看到网关产品会有一个公网限制的功能,就想着添加一个公网数目限制的功能。   该模块实现的功能, 通过该ma...

2014-07-24 21:11:26

阅读数:5293

评论数:0

Linux netfilter 学习笔记 之十四 netfilter模块会修改数据包关联的路由缓存吗

起因:

2014-07-15 20:48:41

阅读数:3209

评论数:0

Linux netfilter 学习笔记 之十三 netfilter的SNAT模块是否支持UDP打洞

1.SNAT转换的特殊处理 linux netfilter模块中,对于SNAT转换有什么特殊处理吗? 在nat模块中,当对连接跟踪项进行NAT转换时,会调用get_unique_tuple获取一个唯一的nf_conntrack_tuple变量,而在该函数中,对于SNAT,会调用函数find_a...

2014-07-09 22:27:03

阅读数:2713

评论数:0

Linux netfilter 学习笔记 之十二 ip层netfilter的NAT模块代码分析

本节主要是分析NAT模块相关的hook函数与target函数,主要是理清NAT模块实现的原理等。   1.NAT相关的hook函数分析 NAT模块主要是在NF_IP_PREROUTING、NF_IP_POSTROUTING、NF_IP_LOCAL_OUT、NF_IP_LOCAL_IN四个节点...

2014-07-04 00:36:37

阅读数:9869

评论数:1

Linux netfilter 学习笔记 之十一 ip层netfilter的NAT模块初始化以及NAT原理

1.NAT的原理 NAT会修改数据包的ip层的源或者目的ip地址。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。 1.1 SNAT 源目的地址转换,即对ip数据包的源ip地址进行转换操作,典型的应用即是网关,网关的lan侧会下挂至少两台设备,而这两台设备的ip地址都是lan侧...

2014-07-01 23:00:34

阅读数:4610

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭