Linux netfilter 学习笔记 之十 ip层netfilter的连接跟踪模块 学习小结

对于linux代码,如果说只是为了理解连接跟踪模块的工作原理,总感觉是少点东西的,还需要分析其编码思想。

下面就分析一下连接跟踪模块的一些编程理解

      1. 使用链表的方式将期望连接跟踪项、连接跟踪项连接在一起,且对于连接跟踪项来说,对于未被确认的连接跟踪项,专门放置在一个链表中而已被确认的连接跟踪项放置在确认连接跟踪表中

     2.需要维护连接跟踪项的状态,即需要设计好连接跟踪项的状态机机制

     3.因为连接跟踪项是需要占用内存的,那肯定要有一个垃圾回收机制,既要有异步垃圾回收,也要有同步垃圾回收,还要考虑好什么时候更新异步垃圾回收对应的超时定时器等

       功能。


在内核模块中链表被大量的应用,作为阅读代码的基础,首先需要理解链表原理以及内核中的实现机制。而在网络模块中,一般都要涉及到状态机的设计以及垃圾回收机制等(邻居子系统中也使用的状态机以及垃圾回收机制,而CAM表同样设计垃圾回收机制,所以当我们设计网络相关模块时,一定要考虑垃圾回收机制等)。

你可能感兴趣的:(linux,网络)