Perusahaan Cloudflare
Utilitas xdpcap kompatibel dengan ekspresi pemfilteran tcpdump/libpcap dan memungkinkan Anda memproses volume lalu lintas yang jauh lebih besar pada perangkat keras yang sama. Xdpcap juga dapat digunakan untuk debugging di lingkungan di mana tcpdump biasa tidak berlaku, seperti pemfilteran, perlindungan DoS, dan sistem penyeimbangan beban yang menggunakan subsistem kernel Linux XDP, yang memproses paket sebelum diproses oleh tumpukan jaringan kernel Linux (tcpdump tidak melihat paket dijatuhkan oleh pengendali XDP).
Kinerja tinggi dicapai melalui penggunaan subsistem eBPF dan XDP. eBPF adalah penerjemah bytecode yang dibangun ke dalam kernel Linux yang memungkinkan Anda membuat penangan paket masuk/keluar berkinerja tinggi dengan keputusan untuk meneruskan atau membuangnya. Menggunakan kompiler JIT, bytecode eBPF diterjemahkan dengan cepat ke dalam instruksi mesin dan dieksekusi dengan kinerja kode asli. Subsistem XDP (eXpress Data Path) melengkapi eBPF dengan kemampuan menjalankan program BPF pada tingkat driver jaringan, dengan dukungan untuk akses langsung ke buffer paket DMA dan bekerja pada tahap sebelum buffer skbuff dialokasikan oleh tumpukan jaringan.
Seperti tcpdump, utilitas xdpcap pertama-tama menerjemahkan aturan pemfilteran lalu lintas tingkat tinggi ke dalam representasi BPF klasik (cBPF) menggunakan pustaka libpcap standar, dan kemudian mengubahnya menjadi bentuk rutinitas eBPF menggunakan kompiler
Sumber: opennet.ru