XDP

최승혁·2022년 7월 14일
0

(XDP)eXpress Data Path

정의

XDP(eXpress Data Path)는 대부분의 운영 체제 네트워킹 스택을 우회하여 고속으로 네트워크 패킷을 송수신하는 데 사용되는 eBPF 기반 고성능 데이터 경로입니다. 버전 4.8부터 Linux 커널에 병합되었습니다. 이 구현은 GPL에 따라 라이선스가 부여됩니다. Amazon, Google 및 Intel을 포함한 대규모 기술 회사가 개발을 지원합니다. Microsoft는 2022년 5월 Windows용 무료 오픈 소스 구현 XDP를 출시했습니다.
from wiki

XDP는 eBPF Hook의 한 종류로 네트워크 드라이버 내에서 동작하는 명령어 집합이다. 쉽게 이야기 하면, iptables의 패킷 처리 기능을 네트워크 드라이버 단에서 사용할 수 있도록 커널에서 제공하는 명령어 들이다. 이러한 XDP 기능을 지원하기 위해 네트워크 장치 드라이버 내에는 XDP 관련 코드가 구현이 되어있다.

만약, 네트워크 드라이버가 XDP를 지원하지 않는다면 Generic 모드를 사용하여 구현이 가능하다. Generic 모드는 Driver에서 SKB 할당 이후 처리되기 때문에, 당연히 성능적인 손실이 있다.

예제

추가 예제 및 자료는 추후 업로드 예정

참고 자료: 모니터앱
profile
그냥 기록하는 블로그

0개의 댓글