Linux 中IP包过滤的实现
>
本文链接地址:http://www.oyaya.net/fanwen/view/140330.html
网络层采用统一的缓冲区结构skbuff,一个个单独的skbuff被组织成双向链表的形式。网卡接收到数据帧后,系统内核为接收到的数据帧分配一块内存,然后将数据整理成skbuff的结构.在网络协议处理的时候,数据均以skbuff的形式在各层之间传递、处理。
skbuff的强大功能在于它提供了众多指针,可以快速的定位协议头位置;它也同时保留了许多数据包信息(如使用的网络设备等),以便协议层根据需要灵活应用.
整个网络层的流程如下(
以两个进程通过TCP/IP进行通信为例):
《Linux 中IP包过滤的实现(第2页)》