Python modul pro rychlé zjišťování informací o síťovýchzařízeních

Abstract
Cílem této diplomové práce je vytvořit rozšiřující modul pro jazyk Python, který by umožnil rychlé získání informací o síťových prvcích dostupných na zařízení. Hlavní vlastností nově vytvářeného modulu by měla být především rychlost, protože existuje již několik podobných modulů, ale většina z nich neumožní rychlé získání informací pro velký počet NIC. Již existující moduly jsou v této práci popsány, a to včetně popisu způsobu jejich přístupu k získávání informací.Před vytvářením modulu muselo dojít k přípravě prostředí a skriptů k porovnání rychlosti jednotlivých existujících modulů. Skripty byly spuštěny několikrát pokaždé pro jiný počet fiktivních NIC definovaných na virtuálním stroji. Nový Modul vytvořený v této práci využívá Python/C API, které umožňuje napsání kódu v jazyce C a následnou interpretaci pro jazyk Python. Výsledný modul je v porovnání s existujícími moduly výrazně rychlejší.Práce se kromě vytvoření nového rychlého modulu zabývá i opravou chyby, která způsobuje pomalé načítání. Analýza a oprava byla poskytnuta formou pull requestu do projektu Netifaces.
The aim of this thesis is to create an extension module for the Python language, which would allow fast retrieval of information about NIC available on the device. The main features of the created module should be high speed, because there are already several modules, but at first they will not allow fast fetching of information for a large number of NICs. Existing modules are described in this work and their way of approaching to obtain information.Before creating a module, there must be a preparatory environment and scripts to compare the speed of each existing module. The scripts were run several times each time for a different number of fictitious NICs defined on the virtual machine. The new module created in this work uses the Python / C API, which allows writing code in C language and subsequent interpretation in Python. The resulting module is faster compared to existing modules.In addition to creating a new fast module, the work also involves and corrects errors that load slowly. The analysis and correction was provided in the form of a pull request to the Netifaces repository.
Description
Subject(s)
Python/C API, síťová rozhraní, NIC, Ethtool, Netifaces, Open source, Python/C API, Network interface controller, NIC, Ethtool, Netifaces, Open source
Citation
ISSN
ISBN