This is an old revision of the document!
X36DSI: Zadání projektu č.1
Ú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/CD.
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.
Metoda přístupu CSMA/CD
Stanice, která chce odeslat zprávu, ověří, že je médium volné. Zahájí vysílání a neustále sleduje (příposlechem nosné), zda nenastala kolize. V případě kolize odešle 32-bitovou kolizní posloupnost (jam) s hodnotou 0xFFFFFFFF. Poté médium uvolní a 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á.
Vlastnosti přepínače
Přepínač můžete simulovat se 4 vstupními frontami. Výstupní fronty jsou nepovinné (ale vhodné). 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. Moteda přepínání přepínače je “Fragment Free”, viz http://en.wikipedia.org/wiki/Fragment_free.
Úkol
Implementujte pomocí výukového systému na SHO algoritmus Leader Election. Konkrétní algoritmus si zvolte sami. Spočítejte množství předaných zpráv, minimální, průměrné a maximální množství přenesených bitů na jednu linku. Zaměřte se na přehlednost řešení a vizuální stránku programu. Na Vašem řešení by mělo být možno demonstrovat průběh vybraného algoritmu.
Požadavky
- vybraný algoritmus musí respektovat topologii sítě a její vlastnosti (včetně simulace ztráty zpráv)
- algoritmus musí být funkční a jeho průběh musí být názorně vizualizován
- program musí umožnit výpočet nad libovolnou sítí zadanou pomocí matice sousednosti v souboru (ke stažení zde)
- využijte výukový systém SHO
- doporučené volání:
./simulace matice.txt 0.001
(kde matice.txt obsahuje matici sousednosti a 0.001 je bitová chybovost sítě) - vypracujte krátkou zprávu popisující Vámi zvolený algoritmus a způsob jeho implementace ve výukovém systému SHO. Kromě popisu algoritmu uveďte i způsob rozhodování, zda se rámec ztratí, způsob Vašeho vypořádání s chybovostí linky a detekci ukončení algoritmu.
Poznámka
Výukový systém na SHO byl upraven, aby umožnil načtení parametrů příkazové řádky (30.3.2009, zatím pouze linuxová verze). Stáhněte si novou verzi.
Počet parametrů je v proměnné argc
. Jednotlivé parametry získáte pomocí proměnné argv, např. (*argv)[1]
.
Termín a způsob odevzdání
Nejzašší termín pro odevzdání projektu je 16.4.2009 23:59:59.99. Za každý týden prodlení je penalizace -5 bodů.
Způsob odevzdání: Pošlete mi mail na adresu xsmitka(zavináč)fel.cvut.cz, jako přílohu přiložte:
1. dokumentaci k algoritmu (PDF,TXT,HTML,…)
2. hlavni.cc (případně Main0.cpp)
3. pokud jste měnili i ostatní soubory simulátoru, tak zazipovaný celý projekt (pouze zdrojové texty, ne binární soubory)
Dotazy ?
Dotazy směřujte na xsmitka(zavináč)fel.cvut.cz.