Cloudflare Company
xdpcap-apuohjelma on yhteensopiva tcpdump/libpcap-suodatuslausekkeiden kanssa ja mahdollistaa huomattavasti suurempien liikennemäärien käsittelyn samalla laitteistolla. Xdpcapia voidaan käyttää myös virheenkorjaukseen ympäristöissä, joissa tavallinen tcpdump ei sovellu, kuten suodatus-, DoS-suojaus- ja kuormantasausjärjestelmät, jotka käyttävät Linux-ytimen XDP-alijärjestelmää, joka käsittelee paketit ennen kuin Linux-ytimen verkkopino (tcpdump) käsittelee ne. ei näe XDP-käsittelijän pudottamia paketteja).
Korkea suorituskyky saavutetaan käyttämällä eBPF- ja XDP-alijärjestelmiä. eBPF on Linux-ytimeen sisäänrakennettu tavukooditulkki, jonka avulla voit luoda tehokkaita käsittelijöitä saapuville/lähteville paketeille ja tehdä päätöksiä niiden välittämisestä tai hylkäämisestä. JIT-kääntäjän avulla eBPF-tavukoodi käännetään lennossa konekäskyiksi ja suoritetaan alkuperäisen koodin suorituskyvyllä. XDP (eXpress Data Path) -alijärjestelmä täydentää eBPF:ää mahdollisuudella ajaa BPF-ohjelmia verkkoohjaintasolla, ja se tukee suoraa pääsyä DMA-pakettipuskuriin ja työskentelyä vaiheessa, ennen kuin verkkopino varaa skbuff-puskurin.
Kuten tcpdump, xdpcap-apuohjelma kääntää ensin korkean tason liikenteen suodatussäännöt klassiseen BPF-esitykseen (cBPF) käyttämällä tavallista libpcap-kirjastoa ja muuntaa ne sitten eBPF-rutiineiksi kääntäjän avulla.
Lähde: opennet.ru