WEB开发网
开发学院网络安全防火墙 基于IMD的包过滤防火墙原理与实现 阅读

基于IMD的包过滤防火墙原理与实现

 2008-12-18 12:18:47 来源:WEB开发网   
核心提示:一、前言前段时间,在安全焦点上看到了一文《基于SPI的数据报过滤原理与实现》,基于IMD的包过滤防火墙原理与实现,很是不错,文章中提到的基于SPI的数据报拦截技术是在用户级的,无论是网卡接收并上传的数据报,还是上层要下送至网卡发送的数据报,用户级的拦截有其优势,实现方便、便于移植、通用性强

一、前言

前段时间,在安全焦点上看到了一文《基于SPI的数据报过滤原理与实现》,很是不错。文章中提到的基于SPI的数据报拦截技术是在用户级的。用户级的拦截有其优势,实现方便、便于移植、通用性强,但是,用户级并不能得到所有的数据报。本文提到的基于IMD的数据报过滤则是属于内核级的,它建立在网络驱动上面。

二、中间层驱动技术介绍

中间层驱动,英文为NDIS intermediate driver。

1)内核级网络驱动介绍

Microsoft Windows 2000支持三种基本的内核级网络驱动,这三层driver顺序从下到上依次为:

1. Miniport NIC drivers:微端口网卡驱动,位于最底层,直接操纵网卡并且对高层驱动提供接口。

2. Intermediate drivers:IMD中间层驱动,这就是今天的主角,位于1和3之间,具体的作用下面就会介绍。

3. Protocol drivers:高层协议驱动,俗称为TDI(传输驱动程序接口),高于前面两层,直接面向用户级,为用户提供网络服务,也就是绝大多数程序所用到的网络接口。

2)IMD驱动

IMD中间层,它的实质很简单,最经典的描述莫过于下面的话:

An intermediate driver is typically layered over one or more NDIS NIC drivers and under a transport driver (possibly multilayered) that supports TDI at its upper edge.

An NDIS intermediate driver exports MiniportXxx functions at its upper edge and ProtocolXxx functions at its lower edge.(见DDK文档)

中间层插入网卡和协议层之间,对上面的协议层表现为一个虚拟的微端口网卡结构,而对下面的网卡则表现为一个协议层的结构。所以,无论是网卡接收并上传的数据报,还是上层要下送至网卡发送的数据报,无一例外地要经过中间层。

1 2 3  下一页

Tags:基于 IMD 过滤

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接