Netfilter源码分析--6、NAT

六、NAT 6.1、简介 网络地址转换源(NAT)分为(Source NAT,SNAT)和目的NAT(Destination NAT, DNAT)2种不同的类型。SNAT是指修改数据包的源地址(改变连接的源IP)。SNAT会在数据包送出之前的最后一刻做好转工作。地址伪装 (Masquerading)是SNAT的一种特殊形式。DNAT 是指修改数据包的目标地址(改变连接的目的IP)。DNAT 总是在数据包进入以后立即转发,端口转发,负载平衡和透明...

作者: jazy333 发布时间: 01-05

setsockopt getsockopt 函数

setsockopt & getsockopt 函数 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协...

作者: xuxiyao8888 发布时间: 01-04

c#父子窗体间的自定义事件(static)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace ppop_client { public partial class MDI : Form { private int childFormNumber = 0; public MDI() { InitializeComponent(); } private void ShowNewForm(object sender, EventArgs e...

作者: cexoyq 发布时间: 01-05

位图排序

位图排序: 任意个(MAX_NUMBERS个) 0到固定值(MAX_VALUE)之间的数排序 时间复杂度O(n), 空间几乎是O(1),空间需求很低 假定int的长度是32位,即一个int可以编码32个数字(简单起见,一个bit代表一个数字,实际可以编码的范围就是unsigned int的最大值,但计算比较复杂), 那么0到n之间的数字就可以用最多n/32+1个整形表示,每个int的每个bit代表一个数。。 #include <stdio...

作者: donotblock 发布时间: 01-06

cache软件设计

cache软件设计 haproxy作为一个7层负载均衡软件,在很大程度上可以支撑高可扩展的应用服务架构。但是在目前的高性能服务架构设计中,不可或缺的引入了cache层。这样导致应用服务架构层次越来越多。一般情况下会是如下所示: L4(四层负载均衡)——>L7(七层负载均衡)——>cache(反向代理)——>server(原始服务器) 在热点比较集中的情况下,可以考虑把L7和cache合并。处于这...

作者: cbin_07 发布时间: 01-04

crontab 详解

crontab 详解 文章分类:操作系统 cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。 cron 假定系统持续运行。如果当某任务被调度时系统不在运行,该任务就不会被执行。 要使用 cron 服务,你必须安装了 vixie-cron RPM 软件包,而且必须在运行 crond 服务。要判定该软件包是否已安装,使用 rpm -q vixie-cron 命令。要判定该服务是否...

作者: 极北之北 发布时间: 01-06

nginx配合puppet实现大负载下的负载均衡

当client数量越来越多的情况下,但puppetmaster是无法满足需求的,会导致较高的失败率,类似如time out之类的,这时候就可以做成master群集。步骤如下: 1、相信到了这一步,基本的puppetmaster之类的包肯定都安装完毕了,做成集群还需要一个特殊的包:rubygem-mongrel,安装yum install rubygem-mongrel 2、编辑/etc/sysconfig/puppetmaster,添加下面2行 PUPPETMASTER_POR...

作者: serwei 发布时间: 01-05

解决: 动态 MMap 没有空间了。请增大 APT::Cache..

装完ubuntu 10.04后就无法更新了,出现如下问题E: 动态 MMap 没有空间了。请增大 APT::Cache-Limit 的大小。当前值:25165824。(man 5 apt.conf)E: 处理 linux-headers-2.6.24-25 (NewVersion1)时出错E: Problem with MergeList /var/lib/apt/lists/debian.ustc.edu.cn_ubuntu_dists_hardy-updates_main_binary-i386_PackagesE: 无法解析或打开软件包列表或状态文件。E: _ca...

作者: lin_13824307069 发布时间: 01-05

SYS和SYSTEM的区别

1.数据库的启动需要以SYSDBA/SYSOPER身份登录。 2.如果在同一主机上使用IPC连接到数据库使用操作系统授权,登录任何一个用户都可以拥有as sysdba和as sysoper。 3.sys和system用户的区别 SYS用户具有DBA权限,并具有SYS模式。只能通过SYSDBA登录数据库,是Oracle数据库中权限最高的帐号。sys用户具有“SYSDBA”和“SYSOPER”权限,登陆em时也只能用这两个身份,不能用normal。而...

作者: xiaoluffy 发布时间: 01-04

实例解读网卡驱动

Tg3 Gbit NIC Driver Analysis 在此仅仅讨论网络设备驱动的一般写法,有关硬件部分的相关代码由于硬件规格不同,予以省略。有什么地方错误,或补充,欢迎大家提出。 1, 驱动模块的加载和卸载 如果网络设备(包括wireless)是PCI规范的,则先是向内核注册该PCI设备(pci_register_driver),然后由pci_driver数据结构中的probe函数指针所指向的侦测函数来初始化该PCI设备,并且...

作者: 空灵静世 发布时间: 01-04