[Linux] eBPF(Extended Berkeley Packet Filter)란?
eBPF(Extended Berkeley Packet Filter)란? eBPF를 설명하기 전에 BPF(Berkeley Packet Filter)는 네트워크 트래픽을 분석해야 하는 프로그램을 위해 특정 OS에서 사용되는 기술입니다. 이름 그대로 패킷을 걸러내는 필터입니다. BPF의 핵심은 프로그램을 작성해서 아래 그림과 같이 커널 내 몆몆 지점에서 돌릴 수 있다는 것입니다. (그래서 구글 프로젝트 제로의 Spectre 설명에도 (e)BPF가 등장합니다.) 유연성과 편의성 간 타협이라는 측면에서 커널 프로그래밍과 커널 이용 사이의 영역을 채워 줍니다. 꽤 편하면서도 유연한 메커니즘이 있는데 사람들이 가만 놔뒀을 리 없겠죠. 패킷 대신 다른 선형 데이터를 프로그램 입력으로 주고 반환 값 해석 방식을 나름대로..