Počítačové sítě - program cvičení Zimní semestr 2007/2008 U jednotlivých cvičení je vždy uvedeno, jaké zdroje má student prostudovat pro úspěšné a efektivní zvládnutí programu cvičení. Jelikož je program cvičení koncipován převážně tak, aby navazoval na sled přednášek, je potřeba seznámit se i s informacemi z příslušné přednášky. Doporučené manuálové stránky k příkazům UNIXu si můžete přečíst buďto např. na linux456.vsb.cz, nebo ve formě WWW stránek na http://www.zevils.com/cgi-bin/man/man2html – stačí zadat požadovaný příkaz.
Cvičení 1 Organizace, bezpečnost práce. Asynchronní sériový přenos – programování, měření na osciloskopu. K předchozímu prostudování: Sériový přenos synchronní a asynchronní. Rozhraní RS-232 • http://www.cs.vsb.cz/grygarek/PS/sem/sercomm.html (úvod-sériový a paralelní přenos) • http://rs232.hw.cz (Základní parametry RS-232, Parametry datového přenosu) • http://www.cs.vsb.cz/grygarek/PS/lect/SeriovaRozhrani.html (Propojení pomocí RS232) • Popis Osciloskopy Velleman PersonalScope HPS10: http://www.hobbytron.net/V-HPS10.html Knihovna pro práci se signály RTS/CTS na Linuxu a ukázka použití: http://www.cs.vsb.cz/grygarek/POS/RTSCTS-Linux/template.c
Proškolení o bezpečnosti a zásadách práce v laboratoří Evidence účastníků skupiny. Podpis formuláře proškolení o bezpečnosti práce.
Řízené cvičení – sériový přenos: Stručné zopakování principu asynchronního (arytmického) sériového přenosu (start bit, stop bit, parita). Propojení dvojic počítačů COM porty přes indikátor stavu, ověření pomocí emulátoru terminálu, sledování LED. Způsob ovládání/čtení signálu RTS/CTS pomocí knihovny v Linuxu - demonstrace příkladů pro ovládání RTS a čtení CTS, sledování LED na indikátoru stavu
Úloha (2b): Programování asynchronního sériového přenosu v C (jednosměrně pomocí RTS-CTS) Požadavky:
Přenos znaků vkládaných na vysílači z klávesnice arytmickým sériovým přenosem po signálu RTS, jejich čtení na přijímači (ze signálu CTS) a zobrazování na obrazovce. V Linuxu, s použitím předpřipravených knihoven. Odhad maximální dosažené přenosové rychlosti (včetně pomocných bitů a reálné).
Úloha (1b): Měření na RS232 osciloskopem - zachycení a dekódování znaku při daných parametrech přenosu. Požadavky:
Vyslání znaku cvičícím z emulátoru terminálu, zachycení a interpretace dvojicí studentů. Doporučení nastavení: 8V/d 0,5ms/d pro 2400 bps, trigger náběžnou hranou. Pozor na polaritu měřící sondy !
Pomůcky: • • • • •
Emulátor terminálu (Minicom) Linux/gcc, knihovna pro obsluhu modemových signálů RS-232 Indikátory stavu RS232 (obsahují svorkovnici na měření) 6 kabelů pro řetězce kříženého propojení COM portů počítačů s vloženým indikátorem stavu Osciloskopy PersonalScope (4ks) + napájecí adaptéry
Cvičení 2 Práce se sítí v OS Linux. Prostředky pro analýzu provozu. Kabelážní systémy. K předchozímu prostudování:\ • • •
Základní příkazy OS Linux pro práci se sítí: http://www.cs.vsb.cz/grygarek/POS/POS-PraceLinux.pdf detailněji viz manuálové stránky Linuxu Komponenty strukturované kabeláže – základní seznámení • UTP kabely: http://www.computerplug.com/tech_guide.php?topic=Network%20Cables • Přímý a křížený UTP kabel – zapojení, barevné značení a použití: http://www.cabletron.com/support/techtips/tk0231-9.html • Konektory RJ-45: http://www.nullmodem.com/RJ-45.htm • Zásuvkové moduly Keystone: http://www.winfordeng.com/products/network/wjp5ew.php • Patch panely: http://www.britawn-telecom.com/crossconnects/patchpanel.html
Řízené cvičení – seznámení s laboratoří: •
• •
Seznámení s laboratoří • systém strukturované kabeláže + značení, počítače a síťové karty, operační systémy. • systém ukládání propojovacích kabelů UTP a WAN kabelů. Konstrukce sítě s rozbočovačem. Základní příkazy Linuxu pro práci se sítí (nastavení připojení, ověření konektivity, zachycení provozu, viz http://www.cs.vsb.cz/grygarek/POS/POS-PraceLinux.pdf) • Možnosti pro trvalé ukládání konfigurací v Linuxu s UnionFS – mount floppy/USB Flash, scp • Prostředky pro editaci souborů – mcedit, vi
Řízené cvičení – kabelážní systémy: Praktické ukázky kabelážních systémů • Kabely: UTP,STP, koaxiál, optické. • Konektory: RJ45, ST, SC,BNC. T-rozbočky, terminátory. • Zásuvkové moduly, patch panel. Ukázka strukturované kabeláže na příkladu rozvaděčů v učebně (horizontální kabeláž, zmínka o vertikální kabeláži) Ukázka montáže konektoru RJ-45 (EIA TIA568B) Ukázka montáže zásuvkového modulu/zásuvky na patch panelu (Krone) – studenti si mohou volitelně vyzkoušet ve zbývajícím čase. Ukázka proměření kabelu.
Úloha (1b): Montáž a měření kabelážních systémů (individuálně každý student oba konce kabelu) Požadavky:
- montáž kabelu (lanko, přímý/křížený) ukončeného konektory RJ45, proměření
Pomůcky: Pracovní podložky, konektory RJ45 (3ks/student), (krytky), lanko a drát UTP5 (zbytky), páska na označení křížených kabelů. Konektorovací kleště (posuvné-lanko,rotační-drát), narážecí nože Krone Cvikačky, zalamovací nože, krabice-koše na odcvakávání kabelů Měřáky kabeláže+baterie Určení počtu jednotlivých typů kabelů aktuálně potřebných pro laboratoř (pro doplnění) ifconfig, ping, traceroute, arp, route, tcpdump, scp, links,mc,vi
Cvičení 3 Praktická konstrukce sítě s aktivními prvky. Základy CLI Cisco IOS. K předchozímu prostudování: •
Základy konfigurace směrovačů a přepínačů s Cisco IOS – úvodní kapitola (přehled režimů, zadávání příkazů, výpis konfigurace). http://www.cs.vsb.cz/grygarek/PS/ZakladyKonfiguraceIOS.pdf Informace z tohoto textu týkající se konfigurace přepínačů jsou orientovány na přepínače řady C2900. Příkazy pro přepínač Cisco 1900 použitý v projektech najdete v samostatném textu.
•
Konfigurace přepínače Cisco Catalyst 1900. http://www.cs.vsb.cz/grygarek/PS/projekt0405/C1900-prikazy.pdf
Řízené cvičení - základní zapojení LAN na bázi Ethernetu - 2 stanice přímo a přes rozvaděč - 2 stanice + rozbočovač (hub) - propojit dvojice rozbočovačů - propojení rozbočovačů přes AUX transceiver a koaxiální kabel - propojení mostů (použití switche) Zachycení a diskuse rámce Ethernet II (na Etherealu)
Řízené cvičení – základy CLI síťových prvků • • •
Seznámení se zapojením konzol síťových prvků. Minicom – základy použití. Základy IOSu (ukázka na Cisco 1900) - režimy, přechody mezi režimy, výpisy – sh ver, sh int, sh run Ukázka automatického plnění přepínací tabulky (show mac-address-table).
Zadání a komentář k semestrálnímu projektu
Pomůcky: Vymazat konfiguraci hubů a switchů v rozvaděči AUI BNC (3+1ks, (2 ks zapůjčit P.Nevlud)), koaxiál (2, ideálně 3 ks), terminátory (4-6 ks) Ethereal.
Cvičení 4 Subnetting-výklad a procvičování. Konfigurace subnetované sítě se statickým směrováním.
Řízené cvičení - podsíťování IP adresy – základní struktura adresy, maska podsítě. Síťové prvky, jimž se přiděluje IP adresa. Smysl subnettingu – směrování pomocí adres sítí, přidělených každé jednotlivé síti (oddělení směrovači). Smysl použití směrovačů – směrování, oddělení provozu (omezení zátěže, bezpečnost). Subnetting - podsíťování s maskou podsítě pevné délky (demonstrace a procvičování se studenty): • • •
Rozdělení prefixu přidělené délky na daný počet podsítí (zadat max. počty stanic na segmentech (podsítích), pozor na nepoužitelné adresy a adresu rozhraní routeru) Stanovení maximální délky pevně přiděleného prefixu (požadovaného od ISP) pro požadovaný počet podsítí a požadované počty stanic na jednotlivých segmentech Vytvoření adresního plánu sítě WAN (zadaná topologie dvoubodových spojů, u jednotlivých směrovačů připojeny LAN, zadány požadované počty stanic na segmentech LAN).
Používat subnet zero i nejvyšší subnet.
Řízené cvičení – konfigurace statického směrování Praktické zapojení jedné z adresovaných WAN sítí z laboratorních směrovačů. Konfigurace adres rozhraní, konfigurace statických cest. Připojení PC, konfigurace IP adresy, masky a výchozí brány. Ověření pomocí ping.
Úloha (2b): Po skupinkách na topologiích 3-4 směrovačů a cvičícím přidělených adresních rozsahů navrhněte podsíťování a nakonfigurujte statické směrování. Ověřte konektivitu mezi stanicemi pomocí ping.
Pomůcky Rouery s IOS.
Cvičení 5 Softwarové aplikační rozhraní Sockets – C a Java. K předchozímu prostudování: • • •
Rozhraní Sockets v C: popis a příklady na komunikaci přes TCP a UDP (odkaz na příklady na konci textu • http://www.cs.vsb.cz/grygarek/PS/sockets.html Příklad na komunikaci přes UDP v Javě: • http://www.cs.vsb.cz/grygarek/POS/dosys/inprise/net/examples/ex2/ Příklad na komunikaci přes TCP v Javě: • http://www.cs.vsb.cz/grygarek/POS/dosys/inprise/net/examples/ex1/
Řízené cvičení: SW rozhraní Sockets - připomenutí, resp. vysvětlení principů z předmětu OS, Java - typické sekvence volání. (UDP, TCP) Ukázka příkladových aplikací v C a Javě (odkaz na WWW)
Úloha (2b) V jazyce C/C++ nebo Java naprogramujte klienta předpřipraveného Talk serveru. Talk server přijímá na portu 8000 TCP spojení od klientů a zprávy předané mu přes tato spojení distribuuje broadcastem pomocí UDP/8010 na lokální segment. V TCP spojení je zpráva je formátovaná jako řetězec nejvýše 255 tisknutelných ASCII znaků ukončených znakem
s kódem 10. V UDP datagramu je na první pozici v datech uložena délka řetězce a následně řetězec textu zprávy. Klientský program poskytne uživateli možnost zasílat zprávy na server v TCP a zobrazovat zprávy přicházející od ostatních v UDP broadcast datagramech .
Poznámka: Při programování úloh ve Windows XP na učebně A1028 mějte na paměti ochranu stanic systémovým firewallem. Do systému je propouštěn pouze provoz TCP a UDP na portech 8000-8010. Odchozí provoz omezován není. Pomůcky Talk server pro testování funkce. JDK (>=1.3), Linux GCC, Sockets headery, manuálové stránky funkcí Sockets.
Cvičení 6 Přepínače. Spanning Tree. Virtuální sítě. K předchozímu prostudování: • • •
Princip VLAN a algoritmu Spanning Tree – viz příslušná přednáška Konfigurace přepínače Cisco Catalyst 1900. http://www.cs.vsb.cz/grygarek/PS/projekt0405/C1900-prikazy.pdf Konfigurace parametrů instancí Spanning Tree (např. Root Bridge) v jednotlivých VLAN (Catalyst C1900) http://www.cisco.com/en/US/products/hw/switches/ps574/products_configuration_guide_chapter09186a008007d13 3.html#xtocid2880556
Řízené cvičení – virtuální sítě Analýza topologie s VLAN – nalezení ekvivalentní L3 topologie. Konfigurace VLAN na Cisco 19xx (vtp transparent mode). - ověření oddělení provozu v různých VLAN (porty původně ve stejné VLAN rozdělit do více VLAN) - ověření chování fyzického spojení původně samostatných různých VLAN kabelem. - propojení dvojic přepínačů trunkem + ověření konektivity v rámci VLAN přes trunk.
Řízené cvičení – Spanning Tree Smyčka v topologii-Spanning tree – ukázka nad čtvercovou topologií přepínačů. - zjištění zablokovaných portu (sh spantree) - nastavování root bridge a cen linek („spantree cost“ na interface) – dokumentace na WWW předmětu Upozornění na možnot uložení konfigurace přes funkci Capture z Minicomu.
Pomůcky: Vymazat konfiguraci switchů v rozvaděči
Cvičení 7 Virtuální sítě a STP – samostatná praktická konfigurace. DHCP. K předchozímu prostudování: • • •
•
Princip VLAN a algoritmu Spanning Tree – viz příslušná přednáška Příklad definice různých stromů Spanning Tree pro různé VLAN. http://www.cs.vsb.cz/grygarek/PS/projekt0405/STP-balancing.pdf Definice rozdílných cen trunk linky pro různé VLAN (Load Sharing Using STP Path Cost on C1900) http://www.cisco.com/en/US/products/hw/switches/ps574/products_configuration_guide_chapter09186a008007d13 3.html#xtocid2880520 Konfigurace DHCP serveru na Cisco IOS (přehledově, znalost všech příkazů není vyžadována) http://www.cisco.com/en/US/products/sw/iosswrel/ps1830/products_feature_guide09186a008008743b.html
Úloha (2b) Konfigurace Spanning-tree Požadavky:
Trojice přepínačů propojte (non-trunk) linkami do „trojúhelníka“. • • •
Zjistěte, který port topologie je zablokován, topologii nakreslete a vyznačte v ní root porty, blocking porty, forwarding porty a designated porty. Přesuňte kořen stromu Spanning Tree na cvičícím určený přepínač. Nakreslete přebudovaný strom, vyznačte v něm blokovaný port (1b) Zablokování přesuňte na cvičícím určený port vhodným nastavením cen linek (1b)
Úloha (2b) Konfigurace Spanning-Tree v prostředí s VLAN. Trojice přepínačů propojte trunk linkami do „trojúhelníka“. Nadefinujte na všech přepínačích (v módu VTP transparent) VLAN 2 a VLAN 3. Na dvou z přepínačů do obou VLAN přiřaďte po jednom portu a k topologii na tyto porty připojte celkem 4 PC. Zajistěte, aby Spanning Tree pro VLAN2 a VLAN3 měly za kořenový přepínač ten, který na svých portech nemá připojeny stanice. Pomocí vhodného nastavení cen linek zajistěte, aby Spanning Tree nezablokoval tentýž port pro strom VLAN 2 a VLAN 3. Výslednou topologii pro obě VLAN nakreslete, ověřte konektivitu mezi PC v portech téže VLAN.
Řízené cvičení - DHCP Praktická konfigurace konfigurace DHCP serveru na Cisco IOS.
Úloha (1b): Požadavky:
Seskupte se po skupinkách řešících společně Projekt sítě. Připojte stanici s Ethernet rozhraním směrovače Cisco. Na směrovači nakonfigurujte DHCP server podle konkrétního zadání z vašeho projektu tak, aby přiděloval všechny potřebných parametry síťového připojení stanicím na obsluhovaném segmentu. Vyzkoušejte funkčnost z připojené stanice. Zdokumentujte sekvenci zpráv při žádosti o parametry připojení ze strany klienta (použijte příkaz debug ip dhcp packet)
Pomůcky: Vymazat konfiguraci switchů a routerů v rozvaděči.
Cvičení 8 Analýza protokolů TCP/IP (3. a 4. vrstva OSI RM). Test na subnetting. K předchozímu prostudování: Obsah přednášky k TCP/IP. Připomenout si hlavičky IP/TCP/UDP a význam jednotlivých položek. Funkce protokolu ARP.
Odevzdání 1. části projektu. Písemný test na subnetting (4b, min. 2b) Řízené cvičení
Analýza protokolů - IP: diskuse hlavičky, enkapsulace do rámce, IP options, fragmentace - ARP - sledování činnosti, ARP cache v OS (příkaz arp) - ICMP - sledování činnosti (echo request, echo reply, traceroute) - (DHCP - sledování činnosti – na školní síti) - TCP a UDP (Ethereal) – diskuse hlavičky, procesu navazování a ukončování spojení. - základní práce s netstat
Pomůcky: Ethereal (Windows XP), arp, netstat Štítky s IP a MAC adresami karet jednotlivých strojů (nalepené na PC a globální mapa)
Cvičení 9 Konfigurace RIP, OSPF. K předchozímu prostudování: •
Základy konfigurace směrovačů a přepínačů (C29xx) s IOS - kap. Základní konfigurace směrovače http://www.cs.vsb.cz/grygarek/PS/ZakladyKonfiguraceIOS.pdf
Řízené cvičení – dynamické směrování Konstrukce sítě s dynamickým směrováním • • •
Spuštění a sledování provozu protokolu RIP Spuštění protokolu OSPF (area 0), sledování sousedů, náhled do topologické databáze Propagování default cesty do směrovacího protokolu RIP a OSPF
Řízené cvičení – problémy s nespojitým adresováním
Diskuse podle slides z přednášky Úloha (2b) Konfigurace RIP/OSPF – práce ve skupinách pro projekt, konfigurace druhého protokolu, než je v zadání projektu, nad adresami a topologií z projektu (jen ekvivalentní L3 topologie, bez VLAN). Propagace default cesty z jednoho z routerů. Demonstrujte cvičícímu výpisy plně funkčních směrovacích tabulek (show ip route).
Pomůcky: Směrovače s IOS (vymazané konfigurace)
Cvičení 10 Analýza protokolů služeb Internetu. Konfigurace NAT. K předchozímu prostudování: • • •
M.Kotásek: Aplikační protokoly Internetu. http://www.cs.vsb.cz/grygarek/kotasek/index.htm Princip NAT – viz příslušná přednáška Konfigurace NAT na Cisco IOS: http://www.cs.vsb.cz/grygarek/POS/nat-Cisco.pdf
Řízené cvičení – Analýza aplikačních protokolů Práce s aplikačními protokoly: a jejich analýza (Ethereal-Follow TCP Stream). - Telnet: vyjednávání voleb na začátku komunikace, přenos znaků, odchyceni hesel ;-) - SSH: náhled na zašifrovanou komunikaci - SMTP-analyzovat (např. z Outlooku,Mozilla), odeslat zprávu Telnetem - POP (IMAP) analyzovat (např. z Outlooku,Mozilla), přečíst zprávu Telnetem - HTTP - sledovat činnost (GET,POST-formulář). Hlavičky. Získání WWW stránky Telnetem.
Řízené cvičení - NAT Konfigurace dynamického a statického NAT (port forwarding) na směrovačích Císco. Souvislost NAT se směrováním – propagování NAT poolu do vnější sítě.
Pomůcky: Vymazané směrovače s IOS, telnet (s možností vypnutí option negotiation), ssh, Poštovní klient (Mozilla, Outlook) Konto na veřejném poštovním serveru
Cvičení 11 DNS
Odevzdání 2. části projektu: Směrování, NAT.
K předchozímu prostudování: • • •
Bind for small LANs: http://www.madboa.com/geek/soho-bind/ (Manuálové stránky démona bind – postačí základní seznámení http://www.bind9.net) Linux: manuálová stránka příkazu dig
Řízené cvičení: Zjišťování informací z DNS (dig,(nslookup)): Nastavení dotazovaného serveru, určení typu požadovaného záznamu, zjištění obsahu záznamu.
Řízené cvičení: Praktická konfigurace DNS (bind - Linux) - jeden příklad společně: připojení DNS serveru pro doménu testa10X.cs.vsb.cz do stromu. Vložit záznam typu SOA, A a TXT. Nastavení rekurzivního překladu. Nastavení klienta (/etc/resolv.conf), otestování (named -g) Použití NS záznamů pro vazby mezi DNS servery (spojovací záznamy - na obou úrovních) Přidání poddomény (tentýž NS), otestování.
Úloha (2b): Požadavky:
Připojte další úroveň (poddoménu) do DNS serveru vytvořeného v předchozím řízeném cvičení. Vložte záznam typu SOA a potřebné NS a A záznamy, pro poddoménu také záznamy MX a TXT. Ověřte z klienta (tentýž stroj jako DNS server, DNS server určit v resolv.conf).
Teorie: Reverzní překlad a doména in-addr.arpa.
Úloha (1b): Požadavky:
Nakonfigurujte DNS server, aby byl autoritativním pro doménu X.Y.Z.in-addr.arpa, kde Z.Y.X je cvičícím přidělený prefix adres třídy C. Do této domény vložte záznam typu PTR pro nějakou IP adresu a ověřte funkčnost reverzního překladu. Klienta ověřujícího funkčnost nasměrujte přímo na váš DNS server, který nakonfigurujte jako rekurzivní.
Pomůcky: bind, dig (nslookup), Testovací NS záznamy pod doménou cs.vsb.cz.
Cvičení 12 Bezpečnost sítí-bezestavová inspekce paketů (ACL). K předchozímu prostudování: • •
Konfigurace Cisco ACL http://www.cs.vsb.cz/grygarek/PS/lect/bezpecnost.pdf, kapitola Bezestavová inspekce paketů Příklad návrhu a aplikace ACL http://www.cs.vsb.cz/grygarek/PS/projekt0304/acl_priklad.pdf
Řízené cvičení Návrh ACL – procvičování, tabulková forma. Praktická konfigurace ACL na Cisco IOS – série příkladů (analogická požadavkům na ACL v zadání projektu)
Pomůcky: Vymazané směrovače s Cisco IOS.
Cvičení 13 REZERVA. Možnost programování volitelných úloh - klientů služeb Internetu.
Deadline pro odevzdání volitelných domácích úloh
Cvičení 14 - zápočet Odevzdání 3. části projektu (DHCP, DNS, ACL).
Demonstrace a hodnocení volitelných domácích úloh (odevzdaných v minulém cvičení)
Volitelné dodatečné odevzdání úloh ze cv. 13 (klienti služeb Internetu) Opravný termín testu na podsíťování