REBOK, Tomáš. DiProNN: Distributed Programmable Network Node. Brno: Faculty of Informatics, Masaryk University, 2009, 200 s. Ph.D. Thesis.
Další formáty:   BibTeX LaTeX RIS
Základní údaje
Originální název DiProNN: Distributed Programmable Network Node
Název česky DiProNN: Distribuovaný programovatelný síťový prvek
Autoři REBOK, Tomáš.
Vydání Brno, 200 s. Ph.D. Thesis, 2009.
Nakladatel Faculty of Informatics, Masaryk University
Další údaje
Originální jazyk angličtina
Typ výsledku Účelové publikace
Utajení není předmětem státního či obchodního tajemství
Organizační jednotka Fakulta informatiky
Klíčová slova česky DiProNN, distribuovaný programovatelný síťový prvek, aktivní sítě, programovatelné sítě, virtualizace, virtuální stroje, paralelní zpracování, distribuované zpracování, komponentové programování, programovací model
Klíčová slova anglicky DiProNN, Distributed Programmable Network Node, active networks, programmable networks, virtualization, virtual machines, VM-aware architecture, parallel processing, distributed processing, component-based programming, programming model
Příznaky Mezinárodní význam
Změnil Změnil: RNDr. Tomáš Rebok, Ph.D., učo 39685. Změněno: 7. 1. 2011 14:33.
Anotace
The Active/Programmable networks allow the end users to inject customized programs into special network nodes, making them able to let their data being processed (in the way they want) directly in the network as it passes through. This approach has been presented as a reaction to a certain fossilization of the traditional computer networks, which on the one hand behave as a simple and extremely fast forwarding infrastructure, but which on the other have not been designed for fast and dynamic reconfigurations and novel services' deployment. Multimedia application processing (e.g., videoconferencing, video transcoding, video on demand, etc.), secure and reliable multicast, etc.), intrusion detection systems, and dynamically adapting Intranet firewalls are just a few possible services, which could be provided. Thanks to an amazing functional flexibility, the active/programmable networks became very popular in a short time and have been studied by many research teams. Various architectures have been proposed, from the integrated ones based on the active packets containing a program code (so-called capsules) to the discrete ones, where the program injection is separated from the processing of the data packets, all of them including software-only as well as software-hardware architectures. The fundamental issues, which have to be addressed by all the architectures, are: Execution Environment Flexibility -- the active/programmable nodes have to provide an execution environment (EE), inside which all the user active programs (APs) are processed. Ideally, the nodes should be able to accept and run the user-supplied APs designed for an arbitrary EE, which will provide the highest flexibility possible. However, the existing solutions usually restrict the users to provide the APs designed just for a single and specific EE, ordinarily represented by a Unix/Linux-based OS, Java Runtime Environment, or a specialized proprietary one. Resource Isolation and Security -- for security purposes, the running APs have to be strongly isolated from each other, so that a malicious/compromized AP cannot affect another APs sharing the same HW/SW resource(s) nor it can directly affect the simultaneously running APs themselves. Such an isolation has to further eliminate a hidden influence among the APs (e.g., through swapping of virtual memory pages) as well. Most of the architectures, which have been presented so far, more or less omit such security mechanisms at all, or provide proprietary mechanisms, which are externally enforcing defined security policies, but which do not address the fundamentals of the problem. We claim, that instead of proposing novel and hopefully ``more perfect'' proprietary solutions, these issues could be essentially addressed by making use of the virtualization techniques, which have revived in the recent years. And even further, besides helping to cope with these mentioned issues, the virtualization could also provide another useful benefits, which are discussed in this thesis as well. The main goal of this thesis is to investigate and present the benefits of employing the virtulization principles in the active/programmable networks area. To illustrate them, we propose a novel programmable network node architecture, named DiProNN (Distributed Programmable Network Node), that employs the virtualization techniques and makes use of their discussed features. The employed virtualization, properly combined with another useful concepts, enables us to propose a very flexible and powerful programmable node, which allows its users to develop their active programs for arbitrary execution environments and comfortably compose them into complex processing applications. Besides the execution environments' flexibility, the employed virtualization makes the proposed node further able to provide higher security and strong isolation capabilities, additionally enhanced by robust resource reservations and guarantees.
Anotace česky
Koncept aktivních/programovatelných sítí umožňuje uživatelem řízené zpracování procházejících dat na specializovaných síťových prvcích. Uživatelé do těchto prvků nahrávají své tzv. aktivní programy, které jsou pak nad procházejícími daty aktivním prvkem prováděny. Tento koncept byl představen jako reakce na určité ustrnutí tradičních počítačových sítí, které sice představují jednoduchou a velmi rychlou infrastrukturu pro přenos dat, avšak které nejsou schopny rychlých a dynamických rekonfigurací či zavádění nových služeb. Příkladem aplikací, které mohou s výhodou využít takovéto zpracování dat uvnitř sítě, jsou aplikace pro přenosy či zpracování multimediálních dat (videokonferenční aplikace, zpracování a distribuce videa, atp.), bezpečný a spolehlivý multicast, atp.), systémy detekující a řešící útoky na prvky počítačové sítě či dynamicky se adaptující intranetové firewally. Díky obrovské škále možných poskytovaných služeb se tento koncept stal velmi rychle populárním -- byla navržena celá řada softwarových a hardwarových aktivních/programovatelných architektur, od tzv. integrovaných, které jsou založeny na aktivních paketech přímo obsahujících nad nimi prováděný aktivní program, až po tzv. diskrétní, ve kterých zavedení aktivního programu předchází vlastnímu zpracování dat. Základní otázky, které musí být v rámci návrhu kteréhokoliv aktivního/programovatelného prvku řešeny, jsou: Flexibilita výpočetního prostředí -- každý aktivní prvek musí poskytovat nějaké výpočetní prostředí, ve kterém jsou uživatelem nahrané programy zpracovávány. V ideálním případě lze toto prostředí dynamicky přizpůsobovat tak, aby byl daný prvek schopen přijmout a provádět uživatelské aktivní programy určené pro libovolné výpočetní prostředí. Tato schopnost je však v existujících architekturách výrazně potlačena, neboť tyto uživatele obvykle omezují na jediné prostředí, pro které musí své programy vytvářet (většinou Unix/Linux OS, Java Runtime Environment či nějaké jiné proprietální řešení). Izolace zdrojů a bezpečnost -- běžící aktivní programy musí být zabezpečeny a vzájemně izolovány tak, aby se nemohly vzájemně ovlivňovat či kompromitovat. Doposud navržené architektury však mechanismy spojené s izolací a bezpečností aktivních programů buď zcela postrádají, anebo poskytují složitá proprietální řešení, která se snaží tyto politiky vynutit, avšak která neřeší vlastní podstatu problému. V této disertační práci dokazujeme, že místo návrhů nových proprietálních mechanismů lze podstatu těchto problémů řešit s využitím virtualizace, která se v posledních letech těší velké oblibě. Mimo mechanismů pro řešení zmíněných problémů však virtualizace aktivním prvkům přináší i další zajímavé a užitečné možnosti, které v této práci rovněž diskutujeme. Hlavním cílem této práce tak je prozkoumat a představit výhody využití virtualizace v oblasti aktivních/programovatelných síťových prvků. Pro jejich demonstraci navrhujeme nový programovatelný síťový prvek, nazývaný DiProNN (Distributed Programmable Network Node), který diskutované principy virtualizace využívá, a který za pomoci jejich vhodné kombinace s dalšími užitečnými koncepty představuje velmi silný a flexibilní programovatelný prvek umožňující vytvářet aktivní programy pro libovolná výpočetní prostředí. Tyto aktivní programy pak umožňuje pohodlně seskupovat do komplexních výpočetních aplikací, přičemž jim poskytuje vysoké možnosti zabezpečení a izolace, které mohou být navíc doplněny o rezervace a garance poskytovaných zdrojů.
Návaznosti
MSM0021622419, záměrNázev: Vysoce paralelní a distribuované výpočetní systémy
Investor: Ministerstvo školství, mládeže a tělovýchovy ČR, Vysoce paralelní a distribuované výpočetní systémy
MSM6383917201, záměrNázev: Optická síť národního výzkumu a její nové aplikace
VytisknoutZobrazeno: 25. 4. 2024 22:53