转载的好东西

NDIS支持三种类型的网络驱动程序:

网卡驱动程序(NICdrivers)

  网卡驱动程序是网卡与上层驱动程序通信的接口,它负责接收来自上层的数据包,或将数据包发送到上层相应的驱动程序,同时它还完成处理中断等工作。

中间驱动程序

   (Intermediateprotocoldrivers):中间驱动程序位于网卡驱动程序和协议驱动程序之间,它向上提供小端口(Minport) 函数集,向下提供协议(protocol)函数集,因此对于上层驱动程序而言,它是小端口驱动程序。对于底层的驱动程序,它是协议驱动程序。

协议驱动程序

  (Upperlevelprotocoldrivers):协议驱动程序执行具体的网络协议,如IPX/SPX、TCP/IP等。协议驱动程序为应用层客户程序提供服务,接收来自网卡或中间驱动程序的信息。

 

 

我们开发的防火墙采用的是中间驱动程序。

  中间驱动程序在协议驱动程序和小型端口驱动程序之间插了一层,使得来自上层的发送包和来自网络 的接收包都必须经过它而进行传递,从而可以用来拦截较为底层的网络数据包,在此基础上进行过滤、加密、压缩、网络地址转换等操作。由于中间驱动程序实际上 不是从最下层直接截获的比特流,而是经过了NDIS,所以实际的包没有了CRC(循环冗余校验码),这部分已经被NDIS过滤掉了。基于这个原因,可以说 中间驱动程序的大概位置是在数据链路层和网络层之间。中间驱动程序在数据链路层和网络层之间对所有的数据包进行   检查,功能强大,但编程接口比较复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值