Traffic generators, as an indispensable tool to test devices under test and networking protocols, help researchers to execute performance inspection and optimization. Among all traffic generators, TRex is an open-source, high-performance, and low-cost traffic generator which is built on Data Plane Development Kit (DPDK). It supports stateless traffic generation patterns and the modification of fields and length for each packet. More importantly, it can emulate realistic TCP stateful traffic. Although DPDK can greatly improve the packet processing speed, the maximum throughput of the system is limited by the bandwidth of network interface cards (NICs). This thesis combines TRex traffic generator and a P4 programmable switch to construct a high-speed, feature-rich, and cost-effective traffic generation system. Our basic idea is to ”shift” the bottleneck of NICs’ bandwidth to a P4 programmable switch. In particular, TRex only generates small packet headers while the payloads of the packets are generated on the P4 programmable switch by fast recirculations. Since sending small packets consumes less bandwidth, TRex can reach a higher packet rate. Thanks to the enormous bandwidth provided by the programmable switches and the higher packet rate, our design can generate traffic beyond the bandwidth of the NICs. Besides, we build upon the original TRex and completely inherit its toolchain, which exhibits high transparency. That is to say, the users do not need to modify the profiles that generate traffic to use our system. We establish and test our design on Virtual Machines, and then perform a real-world performance evaluation on a physical server with 2×100Gbps Mellanox NICs. The evaluation results show that our system can achieve more than 2x throughput for Advanced Stateful mode than the TRex without any modification when the average packet size reaches 1367 bytes. / Trafikgeneratorer, som är ett oumbärligt verktyg för att testa testade enheter och nätverksprotokoll, hjälper forskare att utföra prestandainspektion och optimering. TRex är en trafikgenerator med öppen källkod, hög prestanda och låg kostnad som bygger på Data Plane Development Kit (DPDK). Den stöder statslösa trafikgenereringsmönster och modifiering av fält och längd för varje paket. Ännu viktigare är att den kan emulera realistisk TCP stateful-trafik. Även om DPDK kan förbättra paketbehandlingshastigheten avsevärt, begränsas systemets maximala genomströmning av bandbredden hos nätverksgränssnittskorten (NIC). Denna avhandling kombinerar TRex trafikgenerator och en P4 programmerbar switch för att konstruera ett höghastighets, funktionsrikt och kostnadseffektivt system för trafikgenerering. Vår grundläggande idé är att ”flytta” flaskhalsen i NIC:s bandbredd till en programmerbar P4-switch. TRex genererar endast små paketrubriker medan paketens nyttolast genereras på den programmerbara P4-växeln genom snabba återcirkulationer. Eftersom små paket förbrukar mindre bandbredd kan TRex nå en högre paketfrekvens. Tack vare den enorma bandbredd som de programmerbara switcharna ger och den högre paketfrekvensen kan vår design generera trafik som överskrider NIC:ernas bandbredd. Dessutom bygger vi vidare på den ursprungliga TRex och ärver helt dess verktygskedja, som uppvisar hög transparens. Det innebär att användarna inte behöver ändra de profiler som genererar trafik för att använda vårt system. Vi etablerar och testar vår design på virtuella maskiner och utför sedan en verklig prestandautvärdering på en fysisk server med 2×100Gbps Mellanox NIC. Utvärderingsresultaten visar att vårt system kan uppnå mer än 2x genomströmning för Advanced Stateful-läge än TRex utan någon modifiering när den genomsnittliga paketstorleken når 1367 byte.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-332403 |
Date | January 2023 |
Creators | Du, Chenming |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS), Stockholm : KTH Royal Institute of Technology |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:516 |
Page generated in 0.0028 seconds