请输入您要查询的百科知识:

 

词条 bpf
释义

定义

BPF在通信中(band-pass filter),即带通滤波器。

是一个允许特定频段的波通过同时屏蔽其他频段的设备。比如RLC振荡回路就是一个模拟带通滤波器。

BPF(Berkeley Packet Filter)伯克利数据包过滤器。

是一个工作在操作系统内核的数据包捕获机制,他先将链路层的数据包捕获再过滤,最后提供给应用层特定的过滤后的数据包。

滤波器的基本慨念

一个理想的带通滤波器应该有平稳的通带(bandpass,允许通过的频带),同时限制所有通带外频率的波通过。但是实际上,没有真正意义的理想带通滤波器。真实的滤波器无法完全过滤掉所设计的通带之外的频率的波。事实上,在理想通带边界有一部分频率衰减的区域,不能完全过滤,这一曲线被称做滚降斜率(roll-off)。滚降斜率通常用dB度量来表示频率的衰减程度。一般情况下,滤波器的设计就是把这一衰减区域做的尽可能的窄,以便该滤波器能最大限度接近完美通带的设计。

还有这样的定义:具有单一的传输频带(或具有小的相对衰减的通带)的滤波器,它从大于零的下限频率延伸到有限的上限频率。

----------------------------------------------------------------------

不同操作系统的实现途径

网络上数据的截获主要依赖于所使用的操作系统,不同的操作系统一般有不同的实现途径。在UNIX或Linux系统中,一般采用由美国洛伦兹伯克利国家实验室所编写的专用于数据包捕获功能的API函数库Libpcap来实现。Libpcap实质上是一个系统独立的API函数接口,用于用户层次的数据截获工作,Libpcap接口支持基于BSD的数据包过滤器(BPF,Berkeley Packet Fliter)的数据过滤机制。

目前,许多版本UNIX和Linux平台上多数嗅探器都是基于BPF开发的。这主要是因为监听程序以用户级别进程工作,数据包的拷贝必须跨越内核/用户保护界限,这就需要使用名为数据包过滤器(Packet Fliter)的内核代理程序。BPF过滤使用了新的基于寄存器的预过滤

机制,它的缓存机制也对整体效率提高有很大作用。

图1是BPF的模型及其接口。由图可见,BPF在核心设置了过滤器,预先可对数据包进行过滤,并且只将用户需要的数据提交给用户进程。每个BPF都有一个Buffer,如果过滤器判断接收某个包,BPF就将它复制到相应的Buffer中暂存起来,等收集到足够的数据后再一起提交给用户进程,提高了效率。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/9 9:30:13