====== X36DSI: Zadání projektu č.2 ====== ===== Úkol ===== Nasimulujte pomocí výukového systému na SHO 4-portový přepínač (switch). Ke každému portu přepínače je připojen rozbočovač (hub), na který je připojeno N počítačů. Všechny linky mají technologii Ethernet 100 Mbps. Použita je metoda přístupu k médiu **CSMA**. Od simulujte komunikaci, při které každý počítač komunikuje s M počítači z jiných sítí (náhodně). Počítač posílá ostatním počítačům (přes switch) rámce délky 1500 bytů, a to v intervalu s rovnoměrným rozložením od 100 do 500 ms. **Čas potřebný k přenosu rámce po kabelech a při příjmu na PC nebo switch zanedbejte!** ===== Metoda přístupu CSMA ===== Stanice, která chce odeslat zprávu, ověří, že je médium volné. **Stanice neřeší kolize.** Pokud je médium obsazené počká náhodnou dobu T (rovnoměrné rozložení 100 až 200 ms). Poté se pokusí znovu rámec odeslat. Neuspěje-li, počká dobu 2T. Potom 4T, 8T, 16T a pokud i potom neuspěje, ohlásí chybu a rámec již neodesílá. **Po odeslání rámce nastává přestávka (interframe gap) o délce 10 ms. ** ===== Vlastnosti přepínače ===== Přepínač můžete simulovat **jednou vstupní frontou**. Výstupní fronty jsou nepovinné (ale vhodné). **Rámce se do výstupních front řadí až po přepnutí.** Přepínač již od začátku simulace bude vědět, v jakém směru leží který počítač, a rámce pro tento počítač posílá pouze na ten jeden konkrétní port. **Pro přepnutí počítejte s konstantním zpožděním 100ms.** Přepínač má bohužel občas poruchu. Během poruchy vymaže všechny fronty a zruší přijímaný i odesílaný rámec. Poruchy se dostavují každých 800 až 1000 ms (rovnoměrné rozložení) a trvají 10 ms. ===== Úkol ===== Implementujte popsanou situaci pomocí Omnetu++. Jestliže je ke každému hubu připojeno 10 počítačů:\\ Zjistěte průměrnou délku všech front switche. (Vzorkujte při každém výpadku switche.)\\ Zjistěte maximální využitou délku všech front switche.\\ Zjistěte minimální čas potřebný pro průchod rámce (od PC k PC).\\ Zjistěte průměrný čas potřebný pro průchod rámce (od PC k PC).\\ Zjistěte maximální čas potřebný pro průchod rámce (od PC k PC). ===== Termín odevzdání ===== Úlohu odevzdejte mailem na adresu cernyvi2@fel.cvut.cz ve formě exportovaného projektu přímo z prostředí Omnetu. Termín odevzdání není zatím přesně stanoven. Předběžně to vypadá na zápočtový týden. ===== Inspirace ===== {{:vyuka:cviceni:x36dsi:second.zip|Ukázkový přiklad pro Omnet++ s ukázkou složených modulů}} Ukázkový příklad je ve zkomprimovaném projektu. Import do prostředí Omnetu je přes Import->Existing Projects...->Select archive file. Tipy: * Podívejte se co dělají funkce cancelEvent() a cancelAndDelete(). * Zda je dany ramec naplanovan pomoci scheduleAt() lze zjistit metodou isScheduled() primo na message.