Naar de inhoud
PEERYXNETWORK
PEERYX NETWORK4 min

DDoS met hoge PPS: meet het pakketpad

Vind pakketlimieten met expliciete framegroottes, queue- en workermetingen, tests met legitiem verkeer en reproduceerbare capaciteitsresultaten.

Op deze pagina

Kernpunten

  • Benoem de gemeten laagIP-bytes, Ethernetframes en lijnbezetting leveren verschillende Gbit/s-cijfers op.
  • Bekijk afzonderlijke queues en coresEen laag CPU-gemiddelde kan een overbelast deel van het ontvangstpad verbergen.
  • Kwalificeer het echte beleidDoorsturen, droppen, status bijhouden en inspecteren zijn verschillende werklasten.

Kleine pakketten kunnen een andere grens blootleggen

Een hoge pakketsnelheid vraagt veel ontvangst-, analyse-, zoek- en doorstuurbeslissingen per seconde. Afhankelijk van de implementatie draait een deel in hardware en gebruikt een ander deel CPU, geheugenbandbreedte of gedeelde status. Kleine pakketten kunnen een verwerkingsgrens bereiken voordat de nominale lijnbandbreedte vol is.

Het symptoom alleen identificeert de beperkende component niet. Verlies kan ontstaan bij de upstreamoverdracht, NIC-queue, worker, statustoewijzing of uitgang. Vind de eerste falende stap voordat u hardware of filterframework vervangt.

Koppel Mpps aan een duidelijke framegrootte

Voor nominale Ethernetlijnbezetting in één richting geldt: Gbit/s = Mpps × (framebytes + 20) × 8 / 1000. Het frame bevat hier FCS; de extra 20 bytes staan voor preambule en interframetijd. Dit is een rekenmodel, geen behaalde filterbenchmark.

Een capture kan FCS weglaten en een IP-teller bevat geen Ethernetoverhead. Schrijf op wat de grafiek telt voordat u vergelijkt. De voorbeelden bevatten geen aparte PHY/FEC-berekening en garanderen niet dat een echte interface het theoretische maximum vasthoudt.

Koppel Mpps aan een duidelijke framegrootte
Frame inclusief FCSBij 10 MppsNominaal maximum op 100 Gbit/s
64 bytes6,72 Gbit/s148,81 Mpps
128 bytes11,84 Gbit/s84,46 Mpps
512 bytes42,56 Gbit/s23,50 Mpps
1518 bytes123,04 Gbit/s8,13 Mpps

Verminder werk vóór de uitgeputte stap

Is upstreambandbreedte uitgeput, verplaats de reductie dan upstream of verander het afleverontwerp. Is lokale verwerking de gemeten beperking, onderzoek ondersteunde vroege filtering, queues, workerplaatsing en regelkosten. Een late drop maakt eerder verricht werk niet ongedaan.

XDP, een DPDK-applicatie, VPP en een apparaat-ACL zijn verschillende uitvoeromgevingen, geen universele prestatievolgorde. Vergelijk het benodigde beleid op de echte hardware. Leg parserondersteuning, statusgedrag, updates en gedrag bij ontbrekende functies of gestopte processen vast.

Meet verdeling, niet alleen totalen

Receive-side scaling verdeelt pakketten meestal met een hash van headervelden over queues. Veel flows kunnen goed verdelen, terwijl een andere mix werk concentreert. Eén drukke ontvangstqueue of worker kan pakketten verliezen terwijl het CPU-gemiddelde laag blijft. Controleer echte toewijzing en queuetellers; meer cores betekenen niet automatisch gelijke verdeling.

Neem NUMA-localiteit, NIC-plaatsing, PCIe-capaciteit, workeraffiniteit en zendqueues op in het dossier. Hun invloed hangt af van platform en implementatie. Kopieer geen tuningrecept zonder het huidige pad te meten en een terugdraaibare configuratie te bewaren.

Voorbeeld: 100 Mpps vraagt om een precieze omschrijving

Bij Ethernetframes van 64 bytes vertegenwoordigt 100 Mpps nominaal 67,2 Gbit/s lijnbezetting. Bij 1518 bytes vertegenwoordigt dezelfde pakketsnelheid 1230,4 Gbit/s. Een claim van 100 Mpps zonder framegrootte, richting en werklast is dus onvolledig.

Deel bij een hypothetische opstelling met twee nodes de aangeboden last niet simpelweg door twee. Test verkeerssturing en ongelijke verdeling, daarna de storing die de dienst moet verdragen. Kan al het beschermde verkeer naar één overblijvende node gaan, dan hebben die node en zijn ontvangstverbindingen een afzonderlijk gekwalificeerd bereik nodig.

Maak een reproduceerbaar capaciteitsdossier

  1. Beschrijf het systeem

    Noteer NIC, firmware, driver, CPU, geheugen, NUMA-indeling, softwareversies, poorten en actieve functies. Vermeld of resultaten één richting of een totaal betreffen.

  2. Beschrijf het verkeer

    Noteer framegroottes, protocollen, aantal flows, statusaanmaak, verhouding legitiem en ongewenst verkeer en duur. Gebruik een geautoriseerde geïsoleerde opstelling met gesynchroniseerde metingen.

  3. Meet nuttige forwarding

    Verzamel aangeboden, gedropte en doorgestuurde pakketten op benoemde punten. Meet ook geslaagde legitieme transacties, latentie en verlies. Snel alleen droppen is geen resultaat voor stateful forwarding.

  4. Vind en controleer de operationele marge

    Test de bedoelde belasting, gecontroleerde veranderingen en gespecificeerde uitval. Houd het productiebereik onder de aangetoonde grens en documenteer de gekozen marge.

Lees grafieken in hun beheercontext

  • Tel ontvangst en verzending niet op om dat als ingangscapaciteit in één richting te presenteren.
  • Leid de drukste seconde niet af uit een vijfminutengemiddelde of factureringspercentiel.
  • Neem niet aan dat flowsampling elke korte piek ziet of dezelfde teller als de NIC oplevert.
  • Noem gedropte pakketten geen verwerkt schoon verkeer zonder de verwerking te benoemen.
  • Een geslaagde test met grote frames bewijst geen capaciteit met minimale frames.

Vragen en antwoorden

Is een hoog Gbit/s-cijfer voldoende om een filter te dimensioneren?

Nee. Pakketgrootte, pakketsnelheid, beleid, statusaanmaak en verdeling bepalen de last. Meet de configuratie die werkelijk wordt gebruikt.

Betekent lage totale CPU-belasting dat de server ruimte over heeft?

Niet noodzakelijk. Een queue, worker, geheugenpad of externe verbinding kan beperken terwijl andere cores niets doen.

Mag de theoretische Ethernetrate als filtercapaciteit worden verkocht?

Nee. Het is een lijnbezettingslimiet onder vastgelegde aannames. Een productclaim vereist metingen voor het relevante verkeer en de actieve functies.

De aanpak afstemmen op de beperking.

Als de aansluiting verzadigd is, herstelt filtering erachter de verloren capaciteit niet. Vergelijk beschermde netwerklevering met lokale filtering en toets zowel pakket- als bitrate.

Meer gidsen over dit onderwerp ↗