Cloudflare ကုမ္ပဏီ
xdpcap utility သည် tcpdump/libpcap filtering expressions များနှင့် သဟဇာတဖြစ်ပြီး တူညီသော hardware တွင် သိသိသာသာ ပိုကြီးသော traffic များကို လုပ်ဆောင်နိုင်စေပါသည်။ Xdpcap သည် ပုံမှန် tcpdump ကို အသုံးမပြုနိုင်သော ပတ်ဝန်းကျင်များတွင်လည်း အသုံးပြုနိုင်ပြီး၊ စစ်ထုတ်ခြင်း၊ DoS ကာကွယ်ခြင်းနှင့် Load Balancing စနစ်များကို Linux kernel XDP စနစ်ခွဲကို အသုံးပြုသည့် ပက်ကေ့ဂျ်များကို Linux kernel networking stack (tcpdump) မှ မလုပ်ဆောင်မီ ၎င်းတို့ကို လုပ်ဆောင်ပေးသည့် ချိန်ခွင်လျှာစနစ် (tcpdump XDP handler မှချထားသည့် packets များကိုမတွေ့ပါ။)
eBPF နှင့် XDP စနစ်ခွဲများကို အသုံးပြုခြင်းဖြင့် မြင့်မားသောစွမ်းဆောင်ရည်ကို ရရှိသည်။ eBPF သည် Linux kernel တွင် တည်ဆောက်ထားသော bytecode စကားပြန်တစ်ခုဖြစ်ပြီး ၎င်းတို့ကို ထပ်ဆင့်ပို့ခြင်း သို့မဟုတ် စွန့်ပစ်ခြင်းဆိုင်ရာ ဆုံးဖြတ်ချက်များနှင့်အတူ အဝင်/အထွက် packet များ၏ စွမ်းဆောင်ရည်မြင့်မားသော ကိုင်တွယ်သူများကို ဖန်တီးခွင့်ပြုသည်။ JIT compiler ကို အသုံးပြု၍ eBPF bytecode ကို စက်ညွှန်ကြားချက်များအဖြစ် ပျံသန်းပြီး မူရင်းကုဒ်၏ စွမ်းဆောင်ရည်ဖြင့် လုပ်ဆောင်ပါသည်။ XDP (eXpress Data Path) စနစ်ခွဲသည် ကွန်ရက်ဒရိုင်ဘာအဆင့်တွင် BPF ပရိုဂရမ်များကို လည်ပတ်နိုင်စွမ်းနှင့် eBPF အား DMA ပက်ကက်ကြားခံသို့ တိုက်ရိုက်ဝင်ရောက်ခွင့်အတွက် ပံ့ပိုးပေးကာ skbuff ကြားခံကို ကွန်ရက်စတက်မှ မခွဲဝေမီ အဆင့်တွင် လုပ်ဆောင်သည်။
tcpdump ကဲ့သို့ပင်၊ xdpcap utility သည် high-level traffic filtering rules များကို standard libpcap စာကြည့်တိုက်ကို အသုံးပြု၍ classic BPF ကိုယ်စားပြုမှု (cBPF) သို့ ဘာသာပြန်ပေးကာ ၎င်းတို့ကို compiler သုံးပြီး eBPF လုပ်ရိုးလုပ်စဉ်ပုံစံသို့ ပြောင်းပေးသည်
source: opennet.ru