logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核中TCP的连接跟踪(2)

TCP filter的原理:当filter收到某个连接的第一个报文时,会为该连接在全局连接表中创建一个表项,并用报文中携带的源、目的IP和端口这个四元组创建original tuple和reply tuple,这两个tuple分别从不同方向来标识这个连接。后续的报文会根据其携带的四元组找到相应的连接表项,然后根据表项所记录的历史状态,检查报文所携带的ack、数据是否有效。filte

#linux
Linux内核RCU机制的实现

一:前言RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从linux kernel源代码的角度.来分析RCU的实现.在讨论RCU的实现之前.有必要重申以下几点:1:RCU使用在读者多而写者少的情况.RCU和读写锁相似.但RCU的读者占锁

#linux#list
Linux内核中TCP的连接跟踪

1. 前言在2.6.1*以上的Linux内核中,关于TCP连接跟踪处理有了比较大的修改,增加了TCP可能标志位组合的检查;增加了通过序列号、确认号和窗口值来判断数据包合法性的功能,支持SACK选项;状态转换数组也进行了一些修改和完善,相应程序代码量增加不少。以下2.6内核代码版本为2.6.17.11。2. 通过确认号、序列号和窗口判断数据包合法性该思路提出比

linux内核RCU的演变

2.6内核引入了RCU锁,这种锁十分高效,总的说来就是读时加锁,写时拷贝,读后更新。具体的流程可以参照 rcu的相关文档。本文主要谈一下rcu在linux2.6内核的演变过程,它分别经历了三个阶段,分别是传统rcu锁,可抢占rcu锁以及2.6.29 中将要引入的树形分层rcu锁。      linux中最早引入的rcu锁十分的粗糙,实现原理也是非常简单,毕竟linux中不管多复杂的机制一开始的

#linux#算法#数据结构
Ipsec Nat-Traversal 2

1. 前言IPSec提供了端到端的IP通信的安全性,但在NAT环境下对IPSec的支持有限,AH协议是肯定不能进行NAT的了,这和AH设计的理念是相违背的;ESP协议在NAT环境下最多只能有一个VPN主机能建立VPN通道,无法实现多台机器同时在NAT环境下进行ESP通信。关于IPSec在NAT环境下的需求问题在RFC3715中进行了描述。NAT穿越(NAT Trav

Linux Route/NAT 负载均衡

linux中如何配置路由负载均衡是一个古老的问题,可是至今仍然没有什么好的解决方案,我指的解决方案是配置意义上的,如果可以触动内核源代码的话,补丁倒是有好几个,不过很多的linux服务器是不允许给内核打补丁的,成本太高了,要停机,编译同版本内核,如果不同版本内核还要编译所有驱动,测试应用兼容性等等。因此如果有人让你配置负载均衡了,那么你能做到的也就是仅仅“看起来像那么回事”罢了,所谓看起来像的意义

#linux#负载均衡
到底了