BPF:Berkely Packet Filter
BPF(Berkeley Packet Filter)는 1992년에 개발되어 주로 네트워크 트래픽을 필터링하고 분석하는 데 사용된 in-kernel 가상 머신이다. BPF의 주요 기능은 네트워크 패킷을 효율적으로 필터링하는 것이다. 일반적으로 네트워크 트래픽을 모니터링하거나 필터링할 때 모든 패킷을 유저 공간으로 보내 처리하는 것은 성능에 큰 영향을 미칠 수 있다. 이를 해결하기 위해 BPF는 커널 내에서 패킷 필터링을 수행하고, 필요한 패킷만을 유저 공간으로 전송해 성능을 최적화한다. BPF는 작은 명령어 집합을 가진 간단한 가상 머신으로, 주로 네트워크 트래픽을 필터링하는 목적에 사용되었다.
그러나 시간이 지나면서 BPF의 한계를 극복하고 그 기능을 확장할 필요가 생겼다. 그 결과로 탄생한 것이 eBPF(extended BPF)이다. eBPF는 BPF의 개념을 기반으로 한 확장된 버전으로, 단순한 패킷 필터링을 넘어 다양한 용도로 사용되도록 설계되었다. eBPF는 커널의 특정 이벤트(네트워크, 파일 시스템, 시스템 콜 등)에 반응하는 프로그램을 작성할 수 있는 기능을 제공하며, 유저 공간에서 작성한 프로그램을 커널 공간에서 실행할 수 있도록 한다.
eBPF: extended BPF

추후 작성 예정
'Linux' 카테고리의 다른 글
| Linux Server format (0) | 2024.01.17 |
|---|