Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| vyuka:cviceni:x36dsi:projekt2 [2011/04/25 21:18] – vytvořeno vikturek | vyuka:cviceni:x36dsi:projekt2 [2011/04/27 12:52] (current) – [Inspirace] vikturek | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | |||
| + | ====== 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, | ||
| + | |||
| + | ===== 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 ===== | ||
| + | |||
| {{: | {{: | ||
| Ukázkový příklad je ve zkomprimovaném projektu. Import do prostředí Omnetu je přes Import-> | Ukázkový příklad je ve zkomprimovaném projektu. Import do prostředí Omnetu je přes Import-> | ||
| + | |||
| + | 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. | ||
| + | |||