Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vyuka:cviceni:x36dsi:projekt2_nezobrazovat [2010/04/14 20:55] – vikturek | vyuka:cviceni:x36dsi:projekt2_nezobrazovat [2010/04/26 13:46] (current) – vikturek | ||
---|---|---|---|
Line 18: | Line 18: | ||
Datový rámec napodobuje opravdový rámec z ethernetu. Vzhledem k tomu, že se jedná o datovou strukturu, která | Datový rámec napodobuje opravdový rámec z ethernetu. Vzhledem k tomu, že se jedná o datovou strukturu, která | ||
se bude přenášet mezi vašimi moduly a referenčním prostředí, | se bude přenášet mezi vašimi moduly a referenčním prostředí, | ||
- | Následuje kód message definition v Omnetu (více informací o tom co to je bude probráno na cvičení nebo je lze | + | Následuje kód message definition v Omnetu (více informací o tom, co to je, bude probráno na cvičení nebo je lze |
najít v manuálu v kapitole 5.2). | najít v manuálu v kapitole 5.2). | ||
Line 45: | Line 45: | ||
Na síti se budou moci vyskytnout 2 typy datových rámců: Data a BPDU. V prvním stupni obtížnosti | Na síti se budou moci vyskytnout 2 typy datových rámců: Data a BPDU. V prvním stupni obtížnosti | ||
- | vás budou zajímat pouze rámce pro přenos hrubých dat (DATA). | + | vás budou zajímat pouze rámce pro přenos hrubých dat (DATA). |
uložena zdrojová a cílová MAC adresa a typ datového rámce. V DataMessage se nacházejí informace týkající se | uložena zdrojová a cílová MAC adresa a typ datového rámce. V DataMessage se nacházejí informace týkající se | ||
přenosu datové informace. Je zde ack - potvrzení o doručení, priority a size. V tomto stupni vás zajímá pouze ack a | přenosu datové informace. Je zde ack - potvrzení o doručení, priority a size. V tomto stupni vás zajímá pouze ack a | ||
- | size. SwitchMessage nebudete v tomto stupni obtížnosti potřebovat. **Broadcast** je taková MAC adresa, že rámec, který | + | size. (Ani ack nemusíte nutně využít pokud nechcete.) |
ji obsahuje jako cílovou adresu, je rozeslán do celé sítě. Hodnota broadcastu je 0!!! | ji obsahuje jako cílovou adresu, je rozeslán do celé sítě. Hodnota broadcastu je 0!!! | ||
Line 72: | Line 72: | ||
==Switch== | ==Switch== | ||
- | Switch samotny by se měl co nejvíce blížit realnému switchi. Modul přepínače má teké několik povinných parametrů: | + | Switch samotny by se měl co nejvíce blížit realnému switchi. Modul přepínače má také několik povinných parametrů: |
- | *int portBufferSize | + | *__int portBufferSize__ |
- | *bool roundRobin | + | *__bool roundRobin__ |
- | *bool cutThrough | + | *__bool cutThrough__ |
- | Switch má standardně 8 portů. 8 vstupních a 8 výstupních. Pro každý port má vstupní buffer. Kapacita bufferu je dána parametrem a udává počet rámců, který lze do bufferu vložit bez ohledu na jejich velikost. | + | Switch má standardně 8 portů. 8 vstupních a 8 výstupních. Pro každý |
Switch má pro každý port tabulku MAC adres, kam ukládá zdrojové MAC adresy rámců, které na daném portu obdrží. | Switch má pro každý port tabulku MAC adres, kam ukládá zdrojové MAC adresy rámců, které na daném portu obdrží. | ||
Line 90: | Line 90: | ||
1) roundRobin == false - v tomto případě začne switch kontrolovat vždy buffer na prvním portu a pak pokračuje dále. V případě, že je buffer prvního portu plný, jsou nejdříve postupně obslouženy rámce z prvního portu, dokud neni prázdný a teprve pak postupuje k dalšímu. V této metodě se múže stát, že rámce z posledních portů nejsou obslouženy vůbec! | 1) roundRobin == false - v tomto případě začne switch kontrolovat vždy buffer na prvním portu a pak pokračuje dále. V případě, že je buffer prvního portu plný, jsou nejdříve postupně obslouženy rámce z prvního portu, dokud neni prázdný a teprve pak postupuje k dalšímu. V této metodě se múže stát, že rámce z posledních portů nejsou obslouženy vůbec! | ||
- | 2) roundRobin == true - v tomto případě začne switch kontrolovat nejdříve buffer prvního portu, pak obsluhuje a po skončení obsluhy kontroluje další port (ne ten, na kterém předtím skončil). Takto pokračuje stále dokola. Tato metoda začne sice u prvního portu, ale pak už spravedlivě prochází jeden port za druhým. Pokud je switch chvíli neaktivní a pak opět začne prohledávat porty, začíná vždy portem, který následuje za tím posledním | + | 2) roundRobin == true - v tomto případě začne switch kontrolovat nejdříve buffer prvního portu, pak obsluhuje a po skončení obsluhy kontroluje další port (ne ten, na kterém předtím skončil). Takto pokračuje stále dokola. Tato metoda začne sice u prvního portu, ale pak už spravedlivě prochází jeden port za druhým. Pokud je switch chvíli neaktivní a pak opět začne prohledávat porty, začíná vždy portem, který následuje za tím posledním |
===Co je vaším úkolem?=== | ===Co je vaším úkolem?=== | ||
- | 1) implementujte zadané moduly a do jednoho switche zapojte 8 PC stanic. U switche nastavte velikost bufferů na 3. Metoda Round-Robin bude true (pojede to tedy s tou efektivnější metodou. | + | 1) implementujte zadané moduly a do jednoho switche zapojte 8 PC stanic. U switche nastavte velikost bufferů na 3. Metoda Round-Robin bude true (pojede to tedy s tou efektivnější metodou.\\ |
- | 2) u PC stanice navrhněte nebo použijte nějaký potvrzovací protokol. Stačí aby měl timeout (aby poznal, že se rámec prostě ztratil) a nějaké sekvenční číslo (aby poznal, které rámce se ztratily). Na základě těchto údajů bude každá PC stanice měřit svou průměrnou ztrátovost odeslaných rámců. | + | 2) u PC stanice navrhněte nebo použijte nějaký potvrzovací protokol. Stačí aby měl timeout (aby poznal, že se rámec prostě ztratil) a nějaké sekvenční číslo (aby poznal, které rámce se ztratily). Na základě těchto údajů bude každá PC stanice měřit svou průměrnou ztrátovost odeslaných rámců. |
- | 3) u PC stanic najděte takové nastavení parametrů, aby začalo docházet ke ztrátám rámců. Až se vám to podaří zkuste vyvodit jakou závislost má velikost vstupních bufferů na celkovou průměrnou ztrátovost rámců (= součet průměrných ztrát všech PC stanic / 8). Výsledky slovně zhodnoťte, zkuste vytvořit přehledný graf a nezapomeťe uvést, pro jak velký vzorek dat jste měření provedli a jak dlouho jste měřili. | + | 3) u PC stanic najděte takové nastavení parametrů, aby začalo docházet ke ztrátám rámců. Až se vám to podaří zkuste vyvodit jakou závislost má velikost vstupních bufferů na celkovou průměrnou ztrátovost rámců (= součet průměrných ztrát všech PC stanic / 8). Výsledky slovně zhodnoťte, zkuste vytvořit přehledný graf a nezapomeťe uvést, pro jak velký vzorek dat jste měření provedli a jak dlouho jste měřili. |
- | 4) Pokuste se provést statistické porovnání chování switche v zatíženém provozu se zapnutou a vypnutou metodou Roun-Robin. | + | 4) Pokuste se provést statistické porovnání chování switche v zatíženém provozu se zapnutou a vypnutou metodou Roun-Robin.\\ |
- | 5) Vypracujte stručnou přehlednou zprávu o vašich výsledcích. Stručnost a věcnost je vítána. | + | 5) Vypracujte stručnou přehlednou zprávu o vašich výsledcích. Stručnost a věcnost je vítána.\\ |
===Slovo na závěr=== | ===Slovo na závěr=== | ||
- | Ǔlohu jsem záměrně definoval velice volně. Úkoly, které máte splnit se blíží požadavkům, | + | Ǔlohu jsem záměrně definoval velice volně. Úkoly, které máte splnit se blíží požadavkům, |