2. Programátorská dokumentace

Pro zrealizování simulace sítě jsem si vybíral mezi simulátory takový, který běžící pod operačním systémem MS Windows a má grafické uživatelské prostředí. Vybral jsem si simulátor OMNet++. Použil jsem tento simulátor ve verzi 3.3 společně s INET Frameworkem, který obsahuje veškeré síťové prvky potřebné k simulaci počítačové sítě. INET Framework bylo nutné zkompilovat pomocí MS Visual Studio 2005.

Simulovanou síť je možné dopředu navrhnout v k tomu určeném nástroji GNED. Jedná se o jednoduchý grafický WYSIWYG nástroj, jehož výsledkem je strukturovaný textový jazyk NED. Já nakonec po prozkoumání ukázkových příkladů k INET Frameworku provedl návrh sítě ručně v textovém editoru, protože GNED neposkytoval takové možnosti zápisu jako ruční editace.

Dle zadání jsem k routerům R2 až R8 připojil klientské počítače. Původní záměr byl, že mezi počítače a jejich příslušný router bude připojen switch. To se ukázalo jako problematické, protože switch nesměl v INET Frameworku obsahovat linku s nastavenou přenosovou rychlostí (přenosová rychlost se musí nastavit na příslušný port switche) a příslušný počítač vyžadoval mít nastavenou rychlost na lince, jinak nastala chyba při spuštění simulátoru. Nakonec byly počítače připojeny fyzicky k routerům, jelikož dle mého názoru vůbec nezáleželo, jak jsou počítače zapojeny (přímo, nebo přes switch), ale zda mezi routery probíhá komunikace uvedená v zadání.

2.1. Realizace komunikace mezi uzly

OMNet++ společně s INET Frameworkem umožňuje nastavit na každý počítač objekt představující TCP nebo UDP aplikaci. Toho jsem využil a nastavil jsem na počítačích klientské aplikace HTTP a SSH tak, aby generovali provoz dle zadání. Podle zadání měla komunikace probíhat náhodně, ale to nebylo možno rozumně popsat pomocí konfiguračních souborů. Proto byla navržena „pseudonáhodná“ komunikace, kde v každém routeru čtyři počítače komunikovali do jiného routeru tak, aby opravdu každý router komunikoval s každým routerem. Počítače uvnitř stejného routeru mezi sebou nekomunikovali, důraz byl kladen pouze na komunikaci mezi routerama.

Jedním z dalších problémů je, že na počítači nelze provozovat zároveň jak klientská aplikace, tak i serverová aplikace zároveň. Jako řešení tohoto problému jsem zvolil přidání dalšího počítače – serverového – ke každému počítači u routerů R2 až R8.

2.2. Realizace komunikace z/do Internetu

Pro simulaci přenosů směrem do Internetu byl Internet tvořen počítačem obsahující serverové aplikace. Serverová aplikace je v simulátoru OMNet++ jakýsi koncový bod – odpovídač. Veškeré nastavení odpovědi serveru se na-stavuje u klienta.

2.3. Nedostatky simulátoru a jejich řešení

Kromě problémů uvedených výše, simulátor OMNet++ neumožňuje exportovat informace o zatížení linky do souboru, pouze na obrazovku. Jediné, co umí a čeho jsem využil, je možnost záznamu informací o putování paketů uvnitř simulované sítě. Pomocí modulů NamTrace a NamTraceWriter, které používají již napsané a použité moduly routerů, a počítačů byl proveden záznam celé simulace do souboru „trace.nam“. Jeho formát je popsán v dokumentaci k INET Frameworku. Po prozkoumání formátu tohoto souboru jsem si napsal program, který po zadání identifikátorů namID u NamTracerWriteru u dvou bodů, mezi kterými chceme znát velikost přenesených paketů za sekundu, zapíše hodnoty přehledně do tabulky ve formátu CSV. Tu jsem nakonec použil pro vygenerování grafů v této semestrální práci.