TCP/IP卷一 阅读笔记 BSD分组过滤器

23 阅读1分钟

BSD分组过滤器,又称为BSF,也就是BSD Packet Filter。

BSF是依赖与底层操作系统的,并不是所有的系统都支持。原理是将以太网设备的驱动程序设置为混杂模式,然后从驱动程序处接收所有发送和接收的数据。

在BSF中,会为每一个使用BSF的应用程序分配一个过滤器。这些从驱动程序处接收来的所有数据,经过过滤器后剩下的就是应用程序感兴趣的数据了。然后将这些数据从内核复制到用户空间,也就是应用程序。

为了避免频繁的从内核向用户空间复制数据,BSF增加了一个缓冲区,然后会提供一个应用程序可设置的超时时间。只有在时间超时或者缓冲区满的时候,才会将数据从内核空间复制到用户空间。

图示:
在这里插入图片描述