-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
eBPF 톺아보기 #10
Comments
eBPF
What is eBPF?
기존의 앱은 User level에서 동작, eBPF는 Kernel level에서 간단한 코드를 동작시킬 수 있음
커스텀 코드를 Kernel level에서 실행
Kernel level에서 다양한 기능 및 범위를 제공
Why eBPF?서비스 운영을 위해 필요한 정보의 가시성 개선
BPF
새로운 아키텍처의 사용자 레벨 패킷 필터
BSD에서 처음 도입했으며 리눅스에서도 이 개념을 차용하여 서브시스템 도입 BPF 제안 배경 (기존 문제점)
기존 패킷 필터링 방식의 비효율성
BPF의 해결 방법
Kernel 레벨에서 빠른 시점에 필터링 진행
레지스터 기반으로 커널 내에서 동작하는 VM을 사용
BPF의 활용 (대표적인 애플리케이션)
eBPF (extended Berkeley Packet Filter)BPF의 이름과 개념을 차용
eBPF는 커스텀 코드를 커널 레벨에서 실행하는 기술
서비스 운영을 위해 필요한 정보의 가시성 개선
eBFP 구조: BFP와 eBPF의 가상머신 비교
레지스터, 명령어(Instruction set)의 증가, Maps, Helper functions 등의 추가
유저/커널 레벨의 다양한 경로에 이벤트 기반으로 사용자 코드를 실행 ( eBPF 프로그램 작성 및 동작eBPF 프로그램 작성 (
eBPF 프로그램 로드 (
eBPF의 활용 (대표적인 애플리케이션)
참고 자료 |
The text was updated successfully, but these errors were encountered: