📌 원문 문제
eBPF(Extended Berkeley Packet Filter)를 설명하시오.
1. 개념
eBPF란 리눅스 커널 소스 코드 수정 없이, 커널 내에서 사용자 정의 프로그램을 안전하게 실행할 수 있는 가상 머신(VM) 기반의 커널 확장 메커니즘입니다. 기존 BPF(패킷 필터링)를 범용 커널 프로그래밍 플랫폼으로 확장했습니다.
Netflix, Google, Meta 등이 커널 모듈 대신 eBPF로 수천만 대 서버를 운영하며 혁신적 가시성·성능을 실현하고 있습니다.
2. 동작 원리
- 검증기(Verifier): 프로그램 로드 시 무한 루프·메모리 오염 등 안전성 정적 검증. 위험 코드는 거부
- JIT 컴파일: eBPF 바이트코드를 네이티브 기계어로 변환하여 인터프리터 없이 고속 실행
- 훅 포인트: 시스템 콜·네트워크 패킷·함수 진입·종료 등 커널 이벤트 발생 시 자동 실행
- 맵(Map): 커널-유저스페이스 간 데이터 공유 구조체 (해시맵·배열·링버퍼 등)
3. 주요 활용 분야
| 분야 | 활용 내용 | 대표 도구 |
|---|---|---|
| 네트워킹 | XDP로 패킷을 커널 최상단에서 처리 → DDoS 방어·로드밸런싱. 커널 모듈 대비 10배 빠름 | Cilium, Katran (Meta) |
| 보안 | 시스템 콜·파일·네트워크 접근을 런타임에 감시·차단 (LSM 훅 연계) | Falco, Tetragon |
| 관측가능성 | 코드 수정 없이 CPU·메모리·레이턴시 프로파일링, 함수 추적 | bpftrace, BCC, Pixie |
| 서비스 메시 | 사이드카 없는 Sidecar-less 서비스 메시 구현 (Cilium Mesh) | Cilium Ambient |
✅ 핵심 암기: eBPF = 커널 수정 없이 커널 프로그래밍 | 검증기(안전성) + JIT(성능) | XDP 네트워킹·Falco 보안·bpftrace 관측에 활용