Kompania Cloudflare
Programi xdpcap është i pajtueshëm me shprehjet e filtrimit tcpdump/libpcap dhe ju lejon të përpunoni vëllime dukshëm më të mëdha trafiku në të njëjtin pajisje. Xdpcap mund të përdoret gjithashtu për korrigjimin e gabimeve në mjedise ku tcpdump i rregullt nuk është i zbatueshëm, si p.sh. filtrimi, mbrojtja DoS dhe sistemet e balancimit të ngarkesës që përdorin nënsistemin XDP të kernel Linux, i cili përpunon paketat përpara se ato të përpunohen nga grupi i rrjetit të kernelit Linux (tcpdump nuk i sheh paketat e lëshuara nga mbajtësi i XDP).
Performanca e lartë arrihet përmes përdorimit të nënsistemeve eBPF dhe XDP. eBPF është një përkthyes i bytekodit i integruar në kernelin Linux që ju lejon të krijoni mbajtës me performancë të lartë të paketave hyrëse/dalëse me vendime për përcjelljen ose hedhjen e tyre. Duke përdorur një përpilues JIT, bytekodi eBPF përkthehet menjëherë në udhëzimet e makinës dhe ekzekutohet me performancën e kodit vendas. Nënsistemi XDP (EXpress Data Path) plotëson eBPF me aftësinë për të ekzekutuar programe BPF në nivelin e drejtuesit të rrjetit, me mbështetje për aksesin e drejtpërdrejtë në buferin e paketave DMA dhe punën në fazën përpara se buferi skbuff të ndahet nga grupi i rrjetit.
Ashtu si tcpdump, programi xdpcap fillimisht përkthen rregullat e filtrimit të trafikut të nivelit të lartë në paraqitjen klasike BPF (cBPF) duke përdorur bibliotekën standarde libpcap dhe më pas i konverton ato në formën e rutinave eBPF duke përdorur një përpilues
Burimi: opennet.ru