Netfilter,iptables/OpenVPN/TCP guard:-(

我不会编程,但也不是一点都不会,我稍微会一些 :-)

Linux3.5内核以后的路由下一跳缓存

在Linux3.5版本(包括)之前,存在一个路由cache,这个路由cache的初衷是美好的,但是现实往往是令人遗憾的。以下是陈列得出的两个问题:1.面临针对hash算法的ddos问题(描述该问题的文章已经汗牛充栋,不再赘述);2.缓存出口设备是p2p设备的路由项会降低性能。这些问题本质上是由于路...

2016-03-05 17:27:20

阅读数:4771

评论数:0

Linux3.5内核对路由子系统的重构对Redirect路由以及neighbour子系统的影响

几年前,我记得写过好几篇关于Linux去除对路由cache支持的文章,路由cache的下课来源于一次对路由子系统的重构,具体原因就不再重复说了,本文将介绍这次重构对Redirect路由以及neighbour子系统的影响。事实上,直到最近3个月我才发现这些影响是如此之大,工作细节不便详述,这里只是对...

2016-02-27 13:23:47

阅读数:3774

评论数:2

Linux内核中网络数据包的接收-第一部分 概念和框架

与网络数据包的发送不同,网络收包是异步的的,因为你不确定谁会在什么时候突然发一个网络包给你,因此这个网络收包逻辑其实包含两件事:1.数据包到来后的通知2.收到通知并从数据包中获取数据这两件事发生在协议栈的两端,即网卡/协议栈边界以及协议栈/应用边界:网卡/协议栈边界:网卡通知数据包到来,中断协议栈...

2016-01-16 15:26:51

阅读数:8271

评论数:3

关于ICMP Redirect路由的一个不是bug的bug

在新公司碰到的第一个网络问题竟然是关于重定向路由的,这个不常被关注的问题竟然花费了我整整一下午时间来整理,本文介绍Linux协议栈是如何对待重定向路由的。路由项的生成方式任何具备网络功能的设备在内部都有有一张路由表,该表指示数据包如何从该设备发出以及下一站发送到哪里。路由表由一项一项组成,每一项称...

2015-11-22 14:31:10

阅读数:5645

评论数:4

当心!TCP本机客户端连接本机服务器

上周,在我们进行性能测试的时候,发现了一个问题。我们的服务器上启了一个redis服务端,侦听0.0.0.0的1234端口,同处在本机的另外一个进程会频繁发起到该服务端的短连接,结果导致了两个问题:1.大量的TIME_WAIT状态的连接;2.发起连接的进程的CPU占用率接近100%。这两个结果严重影...

2015-09-27 23:07:30

阅读数:6331

评论数:9

Linux内核中几个比较有意思的解释(进程调度算法,页面调度算法,非线性工作集)

1.O(1)调度器的时间计算公式与CFS调度器Linux 2.6.23之前普遍采用了O(1)调度器,它是一种基于优先级的时间片调度算法,所谓的O(1)只是它的一些精巧的数据结构使然,在不考虑动态补偿/惩罚的情况下,只要优先级确定,那么时间片就是固定的。2.6.23以后的CFS呢,它是一种基于权重的...

2015-09-26 12:31:34

阅读数:5776

评论数:3

Linux TCP实现优化的背后想法

想象一下当初为什么不让多个进程/线程在一个相同的IP地址和端口上侦听,很简单,这是因为TCP/IP模型将一个端口作为一个四层复用解复用的唯一标识,也就是一个四层地址,正如IP地址属于一个主机一样(属于一块网卡?),一个IP/端口对属于一台主机上一个特定的进程,它只是一个保证唯一性的静态标识。世界上...

2015-09-25 00:03:33

阅读数:5413

评论数:5

多核心Linux内核路径优化的不二法门之-多核心平台TCP优化

本文可以作为《Linux转发性能评估与优化(转发瓶颈分析与解决方案)》的姊妹篇,这两篇文章结合在一起,恰好就是整个Linux内核协议栈的一个优化方案。事实上Linux协议栈本来就是面向两个方向的,一个是转发,更多的是本地接收。目前大量的服务器采用Linux作为其载体,更加体现了协议栈本地处理相对于...

2015-09-23 23:03:00

阅读数:7691

评论数:0

多核心Linux内核路径优化的不二法门之-slab与伙伴系统

作为这个系列的第一篇,我先来描述一下slab系统。因为近些天有和同事,朋友讨论过这个主题,而且觉得这个主题还算比较典型,所以就作为第一篇了。其实按照操作系统理论来讲,进程管理应该更加重要些,按照我自己的兴趣来讲,IO管理以及TCP/IP协议栈会更加有分量,关于这些内容,我会陆续给出。       ...

2015-09-16 05:08:00

阅读数:5768

评论数:3

周日下雨,寂寥中读核

linux内核进程调度负载均衡不是一个复杂的机制,相反它很简单,如果没有理解,那么复习一下时序电路,复习一下状态机,呵呵,弄了半天,我感觉这些玩意儿的设计者好像一个人。      如果没有System.map,没有任何符号信息,还是人家的内核,那么调试内核的时候怎么办。我是这么办的,我在LD脚本中...

2010-03-14 17:03:00

阅读数:8772

评论数:6

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