Cloudflare компаниясы
xdpcap утилитасы tcpdump/libpcap чыпкалоочу туюнтмалар менен шайкеш келет жана ошол эле жабдыктагы трафиктин кыйла чоң көлөмүн иштетүүгө мүмкүндүк берет. Xdpcap ошондой эле кадимки tcpdump колдонулбаган чөйрөлөрдө мүчүлүштүктөрдү оңдоо үчүн колдонулушу мүмкүн, мисалы, чыпкалоо, DoS коргоо жана Linux ядросунун тармактык стеки (tcpdump) тарабынан пакеттерди иштеткенге чейин Linux ядросунун XDP кичи тутумун пайдаланган жүк баланстоо системалары XDP иштетгичи таштаган пакеттерди көрбөйт).
Жогорку өндүрүмдүүлүккө eBPF жана XDP подсистемаларын колдонуу аркылуу жетишилет. eBPF - бул Linux өзөгүнө орнотулган байт код котормочу, ал келген/чыгыш пакеттердин жогорку өндүрүмдүүлүгүн иштетүүчүлөрүн түзүүгө мүмкүндүк берет, аларды жөнөтүү же жокко чыгаруу чечими менен. JIT компиляторунун жардамы менен, eBPF байт коду тез арада машинанын көрсөтмөлөрүнө которулат жана жергиликтүү коддун аткаруусу менен аткарылат. XDP (eXpress Data Path) подсистемасы eBPFти тармактык драйвердин деңгээлинде BPF программаларын иштетүү мүмкүнчүлүгү менен, DMA пакеттик буферине түздөн-түз жетүү жана skbuff буфери тармак стекти тарабынан бөлүнгөнгө чейинки баскычта иштөө менен толуктайт.
tcpdump сыяктуу, xdpcap утилитасы адегенде стандарттуу libpcap китепканасын колдонуу менен жогорку деңгээлдеги трафик чыпкалоо эрежелерин классикалык BPF өкүлчүлүгүнө (cBPF) которот, андан кийин компилятордун жардамы менен аларды eBPF процедураларынын формасына которот.
Source: opennet.ru