Cílem diplomové práce je návrh síťové konfigurační knihovny s důrazem kladeným na přenositelnost mezi operačními systémy na bázi Linuxu a BSD a rozšiřitelnosti podpory knihovny. V druhé kapitole práce zkoumá dostupné konfigurační rozhraní obou operačních systémů. Detailně pak rozebírá vlastnosti rozhraní Netlink socketů, které je primárním konfiguračním rozhraním pro síťové prvky na Linuxu, a systémové volání ioctl, které má na Linuxu menší schopnosti, ale zato je primárně používané na BSD a jiných UNIX systémech. Jsou též zkoumané rozhraní pro konfiguraci rozdílných firewallů. V třetí kapitole je práce zameřená na konkrétní typy síťových zařízení, specifika jejich konfigurace a jejich návaznost na rozhraní jádra popsané v druhé kapitole. V čtvrté kapitole jsou formulovány požadavky na konfigurační knihovnu: jednoduchá rozšiřitelnost, přenositelnost na různé operační systémy, podpora sledování změn a událostí a rozšiřitelnost o různé typy uživatelských rozhraní. Na základě výzkumu z předcházejících dvou kapitol je přednesen návrh knihovny. Návrh definuje konfigurační rozhraní jako hierarchii abstraktních tříd, oddělených od implementace. To umožnuje mít současně několik implementací stejného konfiguračního rozhraní i v rámci jednoho operačního systému. Jako vstupní rozhraní knihovny je definovaná třída LibNCFG, která má na starosti tyto konfigurační objekty vytvořit namísto uživatele. Tímto je dosažená jednoduchá rozšiřitelnost knihovny o nové rozhraní operačních systémů i o podporu konfigurace nových síťových prvků. Podpora pro nové uživatelské rozhraní se dá implementovat jako nová služba, která zabaluje rozhraní knihovny a poskytuje jiná rozhraní. Pro podporu sledování změn poskytuje třída LibNCFG metody pro registraci zpětných volání pro definované události. Ve čtvrté kapitole práce detailně popisuje rozhraní třídy LibNCFG, modulu Common a tříd NetDevice, EthDevice a BondDevice, které definují konfigurační rozhraní příslušných typů síťových zařízení. Pro tyto třídy jsou implementované konkrétní třídy NetlinkNetDevice, NetlinkEthDevice a sysfsBondDevice a popsané jejich implementační detaily. V páté kapitole je popsaná ukázková aplikace, která byla implementovaná pro účely předvedení jednoduchosti použití konfigurační knihovny. Nakonec jsou v závěru shrnuté výsledky práce a je vedena diskuze o možných vylepšeních a o pokračování projektu.
Identifer | oai:union.ndltd.org:nusl.cz/oai:invenio.nusl.cz:235421 |
Date | January 2014 |
Creators | Lichtner, Ondrej |
Contributors | Grégr, Matěj, Ryšavý, Ondřej |
Publisher | Vysoké učení technické v Brně. Fakulta informačních technologií |
Source Sets | Czech ETDs |
Language | English |
Detected Language | Unknown |
Type | info:eu-repo/semantics/masterThesis |
Rights | info:eu-repo/semantics/restrictedAccess |
Page generated in 0.0016 seconds