|
Mapping of packet processing from P4 Language to FPGA Technology
Kekely, Michal ; Fišer, Petr (oponent) ; Zilberman, Noa (oponent) ; Kořenek, Jan (vedoucí práce)
This thesis deals with the design of novel hardware architectures for packet classification. The main goal is to propose general and flexible hardware approaches capable of classifying packets on high-speed computer networks. The approaches need to be configurable via P4 language description and need to be scaleable to 100 Gbps and faster networks. The thesis starts with an analysis of the current state of the art in packet classification on high-speed networks. Based on the analysis, new architectures for packet classification are proposed. The architectures are designed with scalability, flexibility, and memory efficiency in mind. The goal is to achieve high throughput while maintaining P4-programmability and the ability to carry out general packet classification. Proposed approaches are further optimized and extended to be as efficient as possible. The first architecture uses the DCFL algorithm extended by a parallel TCAM memory, memory duplication and ruleset analysis. The goal is to achieve general packet classification, which has small memory requirements and offer a trade-off between the achieved throughput and the memory requirements. The second proposed approach is more specialized. It optimizes exact match packet classification by leveraging the distributed memories on FPGAs to speed up the Cuckoo hashing algorithm. The main goal is to achieve very high throughputs efficiently. Both approaches are further extended by proposing a caching mechanism that enables efficient external memory usage. Finally, all of the proposed mechanisms are evaluated on real network data, and the achieved results are shown.
|
|
Akcelerace virtuálního přepínače Open vSwitch
Vodák, David ; Orsák, Michal (oponent) ; Martínek, Tomáš (vedoucí práce)
Virtuální přepínač je program, který slouží k přípojení virtuálních strojů k síti, a proto je velmi důležitou součástí virtualizace serveru. Nicméně virtuální přepínač spotřebovává značné množství výkonu serveru, na kterém běží. Pro virtuální přepínač Open vSwitch (OvS) bylo naměřeno, že při síťovém provozu o rychlosti 10 Gb/s spotřebuje přibližně 4 jádra procesoru. Spotřeba výkonu pak roste s rychlostí přenosu a eventuálně se může dostat do bodu, kdy bude neúnosná. Tato bakalářská práce, se zabývá akcelerací OvS za pomoci rozšíření DPDK Poll Mode Driveru, který OvS bude používat. Je zaměřena na rozšíření DPDK PMD o podporu virtualizační technologie SR-IOV a rozhraní pro offload klasifikačních pravidel do hardware RTE flow. V rámci práce byla implementována podpora SR-IOV v PMD a následně otestována na OvS. Dále byla navržena a částečně implementována podpora RTE flow.
|
|
Systém pro monitorování síťových protokolů
Selecký, Roman ; Dražil, Jan (oponent) ; Kořenek, Jan (vedoucí práce)
Monitorovanie sietí je potrebné najmä pri diagnostike, riešení problémov, detekcii nežiadúcej prevádzky a podozrivého zapúzdrenia hlavičiek protokolov. Preto je cieľom tejto práce vytvoriť návrh a implementáciu systému pre monitorovanie 10 Gb sietí, ktorý poskytuje informácie o štruktúre sieťovej prevádzky a zároveň umožňuje zachytiť pakety na základe sekvencie zapúzdrenia protokolov. Pre dosiahnutie potrebnej priepustnosti bola implementácia paketového analyzátora a filtra paketov hardvérovo akcelerovaná v FPGA. Flexibilitu zabezpečuje využitie nástroja mapujúceho program v jazyku P4, ktorý popisuje spracovávanie paketov, do jazyka VHDL. Na základe informácií získaných pri analýze paketov sú vytvárané záznamy o tokoch a tie sú ukladané pomocou protokolu IPFIX. Prostredníctvom grafického rozhrania sú zozbierané informácie zobrazované užívateľovi vo forme stromu protokolov, ktorého uzly sú asociované so záznamami o tokoch.
|
|
Ochrana před DoS útoky s využitím jazyka P4
Vojanec, Kamil ; Fukač, Tomáš (oponent) ; Kučera, Jan (vedoucí práce)
Bakalářská práce se zabývá přepracováním architektury existujícího zařízení pro ochranu před útoky typu DoS (Denial of Service, odepření služby) do prostředí vysokoúrovňového programovacího jazyka P4. Důvodem využití jazyka P4 je usnadnění adaptace funkční části zařízení na měnící se typy útoků. Nově vytvářené zařízení je navrženo jako modulární a umožňuje snadnou modifikaci změnou zapojených komponent. Cílovou platformou pro tuto práci jsou akcelerační karty s FPGA čipy. Výsledkem práce je návrh řady firmwarových modulů pro ochranu před DoS útoky a implementace cílové aplikace sestavené z těchto modulů. Dílčí výsledky práce byly prezentovány na mezinárodní konferenci IEEE ANCS (Symposium on Architectures for Networking and Communication Systems) v září 2019 na University of Cambridge.
|
|
Mapování vyhledávacích tabulek z jazyka P4 do technologie FPGA
Kekely, Michal ; Matoušek, Jiří (oponent) ; Kořenek, Jan (vedoucí práce)
Diplomová práca sa zaoberá návrhom a implementáciou mapovania vyhľadávacích tabuliek jazyka P4 do technológie FPGA. Cieľom práce bolo popísať kľúčové princípy, ktoré je potrebné pochopiť na vytvorenie návrhu samotného mapovania a fungovania potrebných algoritmov, tieto princípy aplikovať v rámci implementácie a analyzovať výsledné riešenie z pohľadu rýchlosti a náročnosti na pamäť a zdroje cieľovej architektúry. Výsledok práce poskytuje konfigurovateľnú hardvérovú jednotku schopnú klasifikovať pakety a jej prepojenie na vyhľadávacie tabuľky jazyka P4. Riešenie využíva algoritmus DCFL a oproti algoritmom HiCuts a HyperCuts dosahuje v najhoršom prípade porovnateľné priepustnosti, ale vyžaduje podstatne menej pamäte.
|
|
Vzdálená konfigurace P4 zařízení
Neruda, Jakub ; Kučera, Jan (oponent) ; Wrona, Jan (vedoucí práce)
Administrace rozsáhlých sítí z centrálního uzlu nezávisle na API poskytovaných výrobci síťových prvků je dnes stále ještě nevyřešený problém. K její praktické realizaci velice přispěl koncept SDN, který byl implementován mimo jiné protokolem OpenFlow. V současné době se rozšiřuje jazyk P4, umožňující přesně popsat proces zpracování paketů v síťovém prvku a disponující unifikovaným konfiguračním řešením známým jako P4 Runtime. Sdružení CESNET je jednou ze skupin, které v rámci svého výzkumu začínají podporovat P4, a to v rámci síťových karet Combo. V rámci této práce bylo navrženo a realizováno rozšířené API umožňující konfiguraci flow tabulek za běhu zařízení. Toto API bylo následně využito pro implementaci základní podpory karet Combo v P4 Runtime.
|
|
Monitorování síťového provozu s využitím jazyka P4
Patová, Pavlína ; Matoušek, Jiří (oponent) ; Martínek, Tomáš (vedoucí práce)
Dnes se často setkáváme s potřebou monitorovat kvalitu sítě a služeb. K tomuto účelu může posloužit například INT. Cílem je nalézt optimální platformu a s tím spojený překladač pro implementaci INT, pokusíme se tedy k již implementovaným aplikacím (T4P4S, BMv2) nalézt alternativu. Tyto dvě platformy, ale také zmíníme a rozebereme jejich výhody a nevýhody. Výsledkem práce je přehled možností jednotlivých kompilátorů a výkonu popsaných řešení.
|
|
Akcelerace OVS s využitím akcelerační karty s FPGA
Vido, Matej ; Martínek, Tomáš (oponent) ; Kořenek, Jan (vedoucí práce)
Výkon virtuálneho prepínača Open vSwitch (OVS) je nedostatočný pre súčasné požiadavky na kapacitu liniek pre pripojenie serverov. Preto vznikajú snahy o akceleráciu OVS či už na úrovni softvéru, ale aj prenesením záťaže do sieťovej karty. V tejto práci je riešená problematika akcelerácie OVS s využitím sieťových kariet COMBO pre 100G Ethernet vyvíjaných združením CESNET. Navrhnuté riešenie využíva firmvér pre FPGA generovaný z popisu v jazyku P4 pre klasifikáciu paketov v karte a framework DPDK pre dátové prenosy a nahrávanie klasifikačných pravidiel do karty. Pri preposielaní jedného dátového toku z fyzického rozhrania na fyzické rozhranie s využitím jedného jadra CPU je pri najkratších rámcoch dosahovaná rýchlosť prenosu paketov 11,2 Mp/s (10-krát viac ako s klasickým OVS) s klasifikáciou v karte a 5,9 Mp/s bez klasifikácie v karte.
|
|
Flexibilní vyvažovač zátěže s využitím jazyka P4
Šesták, Jindřich ; Fukač, Tomáš (oponent) ; Martínek, Tomáš (vedoucí práce)
V současnosti jsou servery internetových služeb většinou shlukovány do skupin, aby měly dostatečný výkon obsloužit dotazy klientů. Každý tento shluk potřebuje Vyvažovač zátěže, který pro každý dotaz vybere jeden ze serverů, který dotaz obslouží. Pro popis takového zařízení zpracovávající pakety lze využít jazyk P4. V rámci této práce byly prostudovány principy vyvažování, proveden návrh, implementace a testování jednoduchého Vyvažovače zátěže popsaného v jazyce P4. Program je testován pomoci Behaviorálního modelu jazyka P4 na běžném procesoru a také na kartě NFB-200G2QL díky prostředí Netcope od sdružení CESNET.
|
| |