Linux 中IP包过滤的实现_信息技术论文
linux 中ip包过滤的实现
装备指挥技术学院 李新洪 李军 张永乐
摘 要 本文主要介绍在linux内核中实现ip包过滤的基本流程,同时对ip伪装和网络地址转换(nat)的实现作简要的介绍。
关键词 包过滤 防火墙 网络地址转换(nat) ip伪装
随着因特网的迅猛发展,信息安全、网络安全已经成为人们日益关注的焦点。越来越多的企业和机关已经开始利用防火墙技术来保障网络不受外部黑客的入侵。包过滤技术是防火墙技术的技术核心,更好的理解包过滤的机制有助于我们更深刻的理解和应用防火墙来保障网络的安全。
一、 linux网络部分代码分析
linux网络层采用统一的缓冲区结构skbuff,一个个单独的skbuff被组织成双向链表的形式。网卡接收到数据帧后,系统内核为接收到的数据帧分配一块内存,然后将数据整理成skbuff的结构.在网络协议处理的时候,数据均以skbuff的形式在各层之间传递、处理。
skbuff的强大功能在于它提供了众多指针,可以快速的定位协议头位置;它也同时保留了许多数据包(如使用的网络设备等),以便协议层根据需要灵活应用.
整个网络层的流程如下(以两个进程通过tcp/ip进行通信为例):