<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[阿戟哥哥的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a_jige</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a_jige]]></copyright><item><title><![CDATA[IPVS源代码分析----FTP的处理]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/20230105</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/20230105</guid><author>a_jige</author><pubDate>Sat, 01 Mar 2014 21:01:05 +0800</pubDate><description><![CDATA[FTP有自己的特殊性，在IPVS中进行了特殊的处理。在这一节中把关于FTP的处理择出来，缕清楚。

FTP有两种模式 主动和被动，主动和被动是针对服务器说的，指的是对于数据连接，服务器主动连接到客户端，还是服务器被动接收客户端的连接。


主动模式（active）是 client主动通告服务器它所开启的数据端口，服务器用20端口来连接client的数据端口。client通告服务器端口的消]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析-----连接的管理]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/20211105</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/20211105</guid><author>a_jige</author><pubDate>Sat, 01 Mar 2014 12:19:59 +0800</pubDate><description><![CDATA[这篇文章记录connection如何处理]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析-----persistent connection和fwmark]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/20165055</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/20165055</guid><author>a_jige</author><pubDate>Fri, 28 Feb 2014 23:33:26 +0800</pubDate><description><![CDATA[persistent connetion和fwmark主要用于处理多连接的应用。主要参考http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.fwmark.html#single_group]]></description><category></category></item><item><title><![CDATA[ipvs源代码分析---ipvsadm的用法]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19984389</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19984389</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 16:06:04 +0800</pubDate><description><![CDATA[/proc/net/ip_vs       ：IPVS的规则表
/proc/net/ip_vs_app  ：IPVS应用协议
/proc/net/ip_vs_conn ：IPVS当前连接
/proc/net/ip_vs_stats ：IPVS状态统计信息

ipvsadm 的用法和格式如下：
  ipvsadm COMMAND [protocol] service-address [schedul]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析---备份的实现]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19984295</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19984295</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 16:05:10 +0800</pubDate><description><![CDATA[[IPVS的同步]
IPVS支持对连接的同步，两台IPVS设备可分别以MASTER或BACKUP运行，MASTER进程可将连接信息备份到BACKUP设备上,这样主设备死机时从设备可以无缝切换。
可以在IPVS设备上同时启动MASTER和BACKUP进程，使设备之间互为备份，实现IPVS设备的均衡。
IPVS同步实现在net/ipv4/ipvs/ip_vs_sync.c中.
同步信息块的格式如下,开]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析---app helper的实现]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19984203</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19984203</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 16:04:04 +0800</pubDate><description><![CDATA[IPVS的应用是针对象FTP等的多连接协议处理的，由于多连接协议的特殊性，任何以连接为基础进行处理的模块如IPVS，netfilter等都必须对这些协议特别处理，
不过IPVS相对没有netfilter那么完善，目前也仅仅支持FTP协议，而netfilter已经可以支持FTP、 TFTP、IRC、AMANDA、MMS、SIP、H.323等多种多连接协议。

IPVS应用也是模块化的，不过其实现有点]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析----发送函数的实现]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19984121</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19984121</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 16:03:00 +0800</pubDate><description><![CDATA[[发送方法实现]
NAT发送只发送请求方向的数据,因此是进行目的NAT
int ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, struct ip_vs_protocol *pp)
{
      struct rtable *rt;              /* Route to the other host */]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析---tcp和udp协议实现]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19984039</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19984039</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 16:02:04 +0800</pubDate><description><![CDATA[[协议实现]
我们假定是tcp协议
struct ip_vs_protocol ip_vs_protocol_tcp = {
        .name =                 "TCP",
        .protocol =              IPPROTO_TCP,
        .dont_defrag =           0,
        .appcnt]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析----调度算法]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19983965</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19983965</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 16:00:43 +0800</pubDate><description><![CDATA[[IPVS调度算法]
均衡调度算法是IPVS实现均衡功能的理论精髓，其他各种东西都只算是程序技巧，现在介绍.
IPVS支持8种静态均衡算法，以下文字直接拷贝自IPVS网站：

IPVS在内核中的负载均衡是以连接为粒度的.在HTTP协议（非持久）中，每个对象从WEB服务器上获取都需要建立一个TCP连接，
同一用户的不同请求会被调度到不同的服务器上，所以这种细粒度的调度在一定程度上可以避免单个用户访问]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析---hook函数]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19983877</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19983877</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 15:59:25 +0800</pubDate><description><![CDATA[[hook点实现]
我们一个一个看
static struct nf_hook_ops ip_vs_in_ops = {
        .hook           = ip_vs_in,
        .owner          = THIS_MODULE,
        .pf             = PF_INET,
        .hooknum        = NF_]]></description><category></category></item><item><title><![CDATA[IPVS源代码分析---总述和初始化]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19983775</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19983775</guid><author>a_jige</author><pubDate>Wed, 26 Feb 2014 15:57:59 +0800</pubDate><description><![CDATA[IPVS实现分析
根据LVS官方网站的介绍，LVS支持三种负载均衡模式：NAT，tunnel和direct routing(DR)。
NAT是通用模式，所有交互数据必须通过均衡器；后两种则是一种半连接处理方式，请求数据通过均衡器，而服务器的回应则是直接路由返回的，
而这两种方法的区别是tunnel模式下由于进行了IP封装所以可路由，而DR方式是修改MAC地址来实现，所以必须同一网段.
[主要数据结]]></description><category></category></item><item><title><![CDATA[Iptables详解]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19079589</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19079589</guid><author>a_jige</author><pubDate>Tue, 11 Feb 2014 15:47:58 +0800</pubDate><description><![CDATA[Iptabels是与Linux内核集成的包过滤防火墙系统，几乎所有的linux发行版本都会包含Iptables的功能。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器， 则Iptables有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。

netfilter/iptables过滤防火墙系统是一种功能强大的工具，可用于添加、编辑和除去]]></description><category></category></item><item><title><![CDATA[Centos和ubuntu装机之后的配置]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19012537</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19012537</guid><author>a_jige</author><pubDate>Sun, 09 Feb 2014 17:41:16 +0800</pubDate><description><![CDATA[centos装机之后的初始化



2.修改hostname: /etc/host


127.0.0.1   ajigege
::1         ajigege


3. 设置默认路由：/etc/sysconfig/network

#vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ajigege     //]]></description><category></category></item><item><title><![CDATA[linux 内核网络，数据接收流程图]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19011819</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19011819</guid><author>a_jige</author><pubDate>Sun, 09 Feb 2014 17:01:27 +0800</pubDate><description><![CDATA[4.3 数据接收流程图





各层主要函数以及位置功能说明：


         1)sock_read:初始化msghdr{}的结构类型变量msg，并且将需要接收的数据存放的地址传给msg.msg_iov->iov_base.      net/socket.c

         2)sock_recvmsg: 调用函数指针sock->ops->recvmsg()完]]></description><category></category></item><item><title><![CDATA[mini2440 ADC 驱动的开发、移植与分析]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19011781</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19011781</guid><author>a_jige</author><pubDate>Sun, 09 Feb 2014 16:59:54 +0800</pubDate><description><![CDATA[最近在学习mini2440驱动开发。这是我的第一篇相关博文。以前没有写博客的习惯，但是经常会看别人的博客，就像在最近学习驱动开发的过程中，参考了挺多人的博客。希望写博客，会给我们学技术带来很多帮助吧。
  学驱动，我也是从最简单的LED以及BUTTON开始的，自己买了友善之臂2440的板子，开始学习之后，非常后悔驱动的这些东西之前没有早学，要是在学校把这些驱动系统的学一遍就好了。工作之后，可用来]]></description><category></category></item><item><title><![CDATA[ARM9 2410移植之ARM中断原理, 中断嵌套的误区，中断号的怎么来的]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19004675</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19004675</guid><author>a_jige</author><pubDate>Sun, 09 Feb 2014 10:15:11 +0800</pubDate><description><![CDATA[几天前一个学生问我ARM中断嵌套的问题，我才发现原在我心中理所当然的事对学生来说理解实属不易。
     ARM有七种模式，我们这里只讨论SVC、IRQ和FIQ模式。
     我们可以假设ARM核心有两根中断引脚（实际上是看不见的），一根叫 irq pin, 一根叫fiq pin.
     在ARM的cpsr中，有一个I位和一个F位，分别用来禁止IRQ和FIQ的。
     先不说中断]]></description><category></category></item><item><title><![CDATA[U-Boot与Linux内核的交互]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19004649</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19004649</guid><author>a_jige</author><pubDate>Sun, 09 Feb 2014 10:13:04 +0800</pubDate><description><![CDATA[说明：本文所使用的U-Boot的版本是1.1.6，平台是S3C2440。
目录
一、简介
1.1标记列表
二、设置标记存放的地址
2.1相关的结构体定义
2.2标记存放地址的设定
三、标记的设置
3.1设置标记ATAG_CORE
3.2设置内存标记ATAG_MEM
3.3设置命令行标记ATAG_CMDLINE
3.4设置ATAG_NONE

一、简介

U-Boot与]]></description><category></category></item><item><title><![CDATA[[经典]Linux内核中ioremap映射的透彻理解]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/19004641</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/19004641</guid><author>a_jige</author><pubDate>Sun, 09 Feb 2014 10:11:34 +0800</pubDate><description><![CDATA[几乎每一种外设都是通过读写设备上的寄存器来进行的，通常包括控制寄存器、状态寄存器和数据寄存器三大类，外设的寄存器通常被连续地编址。根据CPU体系结构的不同，CPU对IO端口的编址方式有两种：

　　（1）I/O映射方式（I/O-mapped）

　　典型地，如X86处理器为外设专门实现了一个单独的地址空间，称为"I/O地址空间"或者"I/O端口空间"，CPU通过专门的I/O指令（如X86的]]></description><category></category></item><item><title><![CDATA[iptables系列之基础原理+基础应用]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/18522863</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/18522863</guid><author>a_jige</author><pubDate>Sun, 19 Jan 2014 22:59:30 +0800</pubDate><description><![CDATA[iptables [-t table] command [match] [target/jump]

其中，表名有nat filter mangle

command 中通常是 “-A/-D/-I/-N  链名”  的格式。其中，链名可以是netfilter自带的：prerouting\forwaring\postrouting\input\output，也可以是用户自己新建的链，但是用户]]></description><category></category></item><item><title><![CDATA[与符号表分离程序或动态库, 如何用GDB调试]]></title><link>https://blog.youkuaiyun.com/a_jige/article/details/18444939</link><guid>https://blog.youkuaiyun.com/a_jige/article/details/18444939</guid><author>a_jige</author><pubDate>Sat, 18 Jan 2014 10:23:16 +0800</pubDate><description><![CDATA[1       Debugging Information in Separate Files
GDB支持用户将程序调试信息放在一个独立的文件里，而不是和可执行程序在一个文件中，GDB可以某种方式来查找和自动加载调试信息。由于调试信息可能非常大,有时可能比可执行代码自身还要大,某些系统将其可执行程序的调试信息以单独的文件发布，在需要调试问题的时候，用户可以再安装这些文件。
GDB支持两种设置单]]></description><category></category></item></channel></rss>