Linux系统及Netfilter介绍

        不论是各类设备和还是应用服务器,都大量的使用了Linux系统,下面是我个人的一些理解,供参考。

 

       Linux的网络性能强大,其中Netfilter框架支持各类网络通信协议,同时具有网络安全、网络管理、网络质量保障、网络控制等功能。Linux系统作为开放的系统平台,可以方便的对其内核进行开发和挂载,可以根据应用情况进行二次开发,是众多防火墙、网管系统等的基础平台。

   

Linux系统采用一般采用四层模型:1、数据链路层,主要是针对物理网卡,为了完成物理上的数据包的接收和发送等功能;2、网络层,网络层是核心,包括IP地址的相关信息,包括源地址、目的地址等,通过处理网络层数据,完成路由选择;3、传输层,包括TCP和UDP协议,完成数据的有效连接和保证数据的完整传输;4、应用层,对各类信息应用的处理。

 

Linux通过Netfilter框架对网络层进行数据分析和处理,其特点是高速高效工作,同时具有良好的可扩充性,允许对数据报进行过滤、地址转换、处理等操作。

Netfilter通用框架不依赖于具体的协议,而是为每种网络协议定义一套HOOK,这些HOOK函数被放置在需要检测的地方,把检测结果反馈给Netfilter框架。网络流量从进入系统,要经过几个监测点对数据包进行监测,首先经过IP_PRE_ROUTING处理进入系统的数据包,对数据包的目的地址等信息进行检查,数据包的目的地包括本地和转发,如果是进入本地,则通过IP_LOCAL_IN处理,如果是进行转发的数据包,则通过IP_FORWARD处理,IP_POST_ROUTING对要转发出去的数据包地址转换进行检查,送到IP_LOCAL_OUT,数据包最后通过IP_LOCAL_OUT。

 

你可能感兴趣的:(liunx,Netfilter)