
A Linux 6.18-as kernelhez a hálózati frissítések részeként egy sor új javítás került be, amelyek jelentősen javítják a szerverek ellenálló képességét a elosztott szolgáltatásmegtagadásos (DDoS) támadásokkal szemben. A Google mérnökének, Eric Dumazetnek köszönhetően a kernel UDP fogadási teljesítménye optimalizálásra került, különösen terhelés alatt, ami például DDoS esetén kritikus lehet.
Dumazet részletezte, hogy a javítás-sorozat célja a UDP-stack fogadó oldalának optimalizálása. Az IPv6 UDP csomagok 120 bájtos terhelésével 47%-kal nőtt a teljesítmény, amikor egyetlen socketet támadás ért 16 CPU használatával. A javítások főbb elemei a következők:
- struct ipv6_pinfo méretének csökkentése és mezők átrendezése a hatékonyabb TX út érdekében, ami a TCP teljesítményét is javítja a cache-hibák csökkentésével.
- sk->sk_rmem_alloc olvasásának és frissítésének módosítása a spinlock versengés csökkentésére.
- sk_backlog, sk_receive_queue és sk_drop_counters sorrendjének optimalizálása a jobb adatelérhetőség érdekében.
- Hash-táblás spinlock-ok eltávolítása, helyette socket-specifikus lock alkalmazása.
- skb_attempt_defer_free() bevezetése a TCP-nél már bevált módszer alapján.
A legfontosabb javítás a busylock helyett NUMA-kompatibilis lockmentes sorok bevezetése volt, így kevesebb CPU-nak kell megszereznie a UDP receive queue lockot. A csomagok vagy azonnal eldobhatók, vagy a saját NUMA-s sorukba kerülnek, majd egy CPU dolgozza fel őket batch-módban. Ez jelentősen csökkenti a késleltetést és a csomagvesztést.
Tesztelésnél, hat NUMA csomóponttal rendelkező Intel Xeon szerveren, a javítás után a host másodpercenként 14,2 millióval több csomagot tudott feldolgozni, míg a célzott socket 11%-kal több csomagot kapott. Ez különösen fontos, mivel a Linux 6.18 idén Hosszú Távú Támogatású (LTS) kernelként fog megjelenni, és széles körű szerverhasználatra számítanak a jövőben.
Ez a fejlesztés jelentősen növeli a Linux-alapú szerverek ellenállóképességét nagyszabású hálózati támadásokkal szemben, miközben javítja az UDP teljesítményt és stabilitást terhelt környezetben.
