Kombinované studium POS: Požadavky a
hodnocení
Petr Grygárek
petr.grygarek@vsb.cz
Požadavky k zápočtu
Pro získání zápočtu je třeba dosáhnout 24 bodů v součtu z povinných a
volitelných úloh a úspěšně absolvovat test na podsíťování. Vypracování
všech povinných úloh je podmínkou zápočtu. Maximálně lze
dosáhnout 45 bodů.
Test na podsíťování
Podsíťování s konstantní maskou podsítě. Maximum 6b, Je nutné dosáhnout
alespoň 2b. V případě neúspěchu v řádném termínu lze 1x opakovat
ve zkušebním termínu před zahájením zkoušky (v tomto případě se
přidělují max. 3b). O opakování testu je nutné z organizačních důvodů
požadat zkoušejícího a to alespoň 3 dny před termínem zkoušky.
Povinné úlohy (20b):
8b
12b
Volitelné úlohy (19b)
Vypracované volitelné úlohy je třeba zaslat nejpozději jeden týden před
termínem zkoušky. Po zkoušce může následovat ověření orientace ve
zdrojových textech odevzdaných volitelných úloh.
Úlohy k programování (C/C++ a rozhraní Sockets nebo Java)
Programování síťových aplikací v
Sockets - návod a příklady v C a Javě
Vysílání a příjem UDP datagramů v Javě. (2b)
Požadavky:
Čekání na dvou portech UDP serveru současně (thready nebo nonblocking
sockety). Jeden port přijme paket s daty a
zašle data zpět konvertovaná na uppercase, druhý port konvertuje na
lowercase. Klient umožní
zaslat libovolný řetězec zadanému serveru na
jeden ze dvou portů a vypíše vrácená konvertovaná data.
Přenos souboru pomocí protokolu UDP a schematu stop-and-wait (2b).
Požadavky:
V Javě/C, zabezpečený přenos souboru z klienta na server pomocí
protokolu UDP a potvrzovacího schematu stop-and wait.
S kontrolními součty jednotlivých paketů, číslováním paketů,
potvrzováním a opakováním po vypršení timeoutu při čekání na potvrzení.
Programování Sliding Window (Java nebo
C). (4b)
Požadavky:
Jednosměrný přenos souboru po paketech (UDP) obsahujících jednotlivé
znaky z vysílače na přijímač. Znaky načítány ze souboru do vysílacího
okna vždy, když je v něm volná pozice až do přečtení celého souboru.
Vysílací okno má konstantní šířku (např. 4 pozice). Přijímač má
jednopoziční přijímací okno (tj. nepřijímá data mimo pořadí, varianta
go-back-N).
Přenášené pakety obsahují vždy jeden znak dat a sekvenční číslo.
Timeout každé pozice vysílacího okna je sledován nezávislým časovačem
(lze použít zvláštní thread), po vypršení času opakované vyslání
(retransmise)
paketu, po příchodu potvrzení z přijímače (ACK) uvolnění pozice a posun
vysílacího okna.
Implementace jednoduchého serveru a
klienta TCP a UDP v C s použitím
Sockets. (3b)
Požadavky:
Postupné zasílání obsahu souboru pomocí UDP z klienta na server a
ověření přenosem zpět
pomocí TCP.
Implementace
simulace RIP v Javě
(UDP) (4b)
Odeslání e-mailu pomocí Java/C klienta
a SMTP (2b)
Požadavky:
Utilita s parametry předávanými na příkazové řádce: Adresa SMTP
serveru, e-mailová adresa příjemce, předmět (subject), text zprávy.
Výpis příkazů zasílaných SMTP serveru a jeho odpovědí i na
konzolu.
V Javě jen s použití
třídy Socket, ne URL apod.
Stažení e-mailu pomocí Java/C klienta
a POP3 (2b)
Požadavky:
Utilita s parametry předávanými na příkazové řádce: Adresa POP3
serveru, uživatelské jméno, heslo, číslo zprávy ke stažení.
Výpis příkazů zasílaných POP3 serveru a jeho odpovědí i na
konzolu.
V Javě jen s použití třídy
Socket, ne URL apod.
Zkouška
Zkouška probíhá formou písemného testu, z něhož je možné dosáhnout max.
55b. Při dosažení alespoň 30b ze zkouškového testu se zkouška uznává
ihned. Při dosažení hodnocení v rozmezí 25-29b rozhoduje o uznání
zkoušky ústní přezkoušení.