====== AP7, IN7 Počítačové sítě ====== ===== Zadání: ===== Počítačové sítě (topologie, přístupové metody a architektury počítačových sítí (Ethernet, Fast Ethernet, Token-ring, ATM, ... ). Bezdrátové komunikační technologie. Model OSI. Protokol TCP/IP. Propojování počítačových sítí a směrování informací) ===== Vypracování ===== ==== Úvod ==== Motto: „Hlavním smyslem počítačových sítí jsou jejich aplikace.“ === Parametry sítě dle nároků aplikací: === * **Propustnost** -- objem přenesených dat za jednotku času * **Zpoždění** (latence) -- doba mezi požadavkem a odezvou * **Rozptyl** (jitter) -- kolísání zpoždění === Ideální vs. reálná síť === * Transparentní struktura s end-to-end vlastnostmi vs. reálná struktura * Neomezená vs. limitovaná propustnost * Nulové zpoždění vs. zpoždění na aktivních prvcích a při přenosu * Nulový vs. vysoký rozptyl ==== OSI model ==== Abstraktní model určený jako podklad pro standardizaci norem v oblasti sítí a tvorbu síťových protokolů. Sestává ze sedmi vrstev, každá má definovánu množinu vlastností a funkcí potřebných pro komunikaci. Každá vrstva využívá služeb své sousední nižší vrstvy a poskytuje své služby sousední vyšší vrstvě. === Popis vrstev === * **Aplikační** -- Účelem je poskytnout aplikacím přístup ke komunikačnímu systému a umožnit tak jejich spolupráci (Telnet, SSH, FTP, SMTP). * **Prezentační** -- Funkcí vrstvy je transformovat data do tvaru, který používají aplikace (Samba). * **Relační** -- Zajišťuje dialog mezi spolupracujícími relačními vrstvami obou systémů. Slouží k ustavení, udržení a ukončení relace mezi komunikujícími stranami (SSL). * **Transportní** -- Zajišťuje přenos dat mezi koncovými uzly (TCP, UDP). * **Síťová** -- „Vrstva routerů“, stará se o směrování v síti a síťové adresování. Poskytuje spojení mezi systémy, které spolu přímo nesousedí (IP). * **Spojová** -- „Vrstva switchů“, poskytuje spojení mezi dvěma sousedními systémy. * **Fyzická** -- Specifikuje fyzickou komunikaci. Definuje všechny elektrické a fyzikální vlastnosti zařízení. {{:home:prog:osi_model.jpg|ISO/OSI model}} Mnemotechnická pomůcka k pořadí vrstev: //**P**lease **D**o **N**ot **T**ell **S**ecret **P**asswords **A**nytime.// ==== Protokoly ==== ===TCP== //Transmission Control Protocol//((http://ftp.fi.muni.cz/pub/rfc/rfc793.txt)) Spojovaná služba čtvrté vrstvy, jež poskytuje //zaručený// proud slabik (žádné ztráty, zachovává pořadí paketů). * potvrzuje zaslané zprávy * používá piggybacking (potvrzení posílá spolu s dalšími daty) * pro zachování pořadí čísluje pakety * pokud nedorazí paket, příjemce vyšle potvrzení o nedoručení a všechny následující pakety zahazuje * existuje několik různých implementací protokolu (Tahoe, Reno, Vegas -- názvy dle měst v Nevadě :)) **4 základní algoritmy** * Pomalý start * congestion window (''cwnd''), vysílající definuje objem dat, který smí být vyslán * receiver advertised window (''rwnd''), příjemce definuje objem dat, který akceptuje * po každém potvrzení se zvyšuje ''cwnd'' o jeden segment (512 B) * dochází k exponenciálnímu navyšování objemu posílaných dat až do ''ssthresh'', pak končí * Zábrana zahlcení * nárůst pouze lineární * ''cwnd'' se zvyšuje o segment pouze za RTT * Round Trip Time -- čas, jenž data potřebují na cestu mezi vysílajícím a přijímajícím a zpět) * Rychlá retransmise * reakce na duplikované potvrzení (příjem 3 duplikovaných potvrzení detekuje ztrátu segmentu) * následuje jeho opětovné zaslání * Rychlé vzpamatování * jedná se o způsob, jak předejít návratu do fáze pomalý start po ztrátě paketů * posíláme více dat a čekáme na potvrzení, podle toho pak upravíme ''cwnd'' {{:home:prog:tcp_reno.png|TCP Reno}} Implementace TCP Reno, exponenciální část křivky = Slow start, lineární nárůst = Congestion avoidance, pokračování od hodnoty ~''ssthresh'' = fast recovery === UDP === //User Datagram Protocol//((http://ftp.fi.muni.cz/pub/rfc/rfc768.txt)) Nespojovaná, nezajištěná služba (odpovědnost za pakety nese aplikace) 4. vrstvy ISO/OSI. Určená pro prostý přenos paketů. De facto je to rozšíření IP protokolu o informaci o portech. === IP === //Internet Protocol//((http://ftp.fi.muni.cz/pub/rfc/rfc791.txt)) Otevřený škálovatelný protokol síťové vrstvy. Zajišťuje dopravu dat mezi uzly. Určen pro velké sítě. Dvě verze: **IPv4** a **IPv6** === ICMP === //Internet Control Message Protocol//((http://ftp.fi.muni.cz/pub/rfc/rfc792.txt)) Doprovází IP, slouží k zjišťování stavu sítě a k odhalení chyb při přenosu paketů. ICMP zprávy: Destination unreachable, Redirect, TTL expired, Echo request/reply ==== Topologie ==== * **Hvězda** * **Kruh** * **Sběrnice** * **Strom, Mesh atd.** {{:home:prog:topology.gif|Topologie}} ==== Architektury a přístupové metody ==== MAC -- Medium Access Control (řízení přístupu k médiu) Protokoly pro MAC mohou být založeny na: * soupeření (connection-based) * rezervaci prostředků (času, kanálu) * předávání oprávnění (token-based) * kombinaci předchozích metod Faktory, jež ovlivňují výběr MAC protokolu: * konfigurace spoje (jednosměrný, half duplex, full duplex) * (ne)možnost všesměrového vysílání * topologie spoje (point-to-point, bus, ring) * spolehlivost a chybovost * přenosová rychlost (b/s) * vzdálenost nebo délka vedení * rychlost šíření signálu v médiu * zpoždění signálu v aktivních prvcích === MAC protokoly se soupeřením === Negarantují, kdy bude moci stanice vysílat. (Garantují, že nemusí vysílat nikdy. ;)) == Aloha == * vznikl na Hawaii * všesměrové rádiové vysílání * každá stanice vysílá, kdykoliv má požadavek * využití teoretické kapacity kanálu max. 18 % == CSMA == * Carrier Sense Multiple Access * nesynchronizovaná kolizní metoda (jako Aloha) * vysílající poslouchá signál * tři druhy * **nenaléhající CSMA** -- je-li kanál obsazen, čeká náhodný interval * **1-naléhající CSMA** -- čeká, dokud není volno, potom okamžitě vysílá * **//p//-naléhající CSMA** -- je-li volno, vysílá s pravděpodobností //p// (//p// by měla být menší než 1/(počet vysílajících)) == CSMA/CD == * CSMA/Collision Detection * dtto CSMA, navíc vysílající poslouchá při vlastním vysílání * zjistí-li kolizi, přeruší vysílání a vyšle rušící signál, aby kolizi detekovala i druhá vysílající stanice * **není použitelné u rádiových přenosů**, protože přijímací část by při současném vysílání i naslouchání byla zahlcena vlastním signálem (rušila by sama sebe) == CSMA/CA == * CSMA/Collision Avoidance * nenaléhající CSMA, začátek čekacího intervalu je synchronizován na pravidelný čas * **použití v bezdrátových sítích** * potřeba opakování přenosu na základě potvrzení přijetí rámce == Ethernet == * 1-naléhající CSMA/CD s exponenciálním růstem čekacího intervalu * průchodnost se zmenšuje a zpoždění zvětšuje s rostoucím počtem vysílajících stanic * není spravedlivý: * pravděpodobnost vysílání při další příležitosti je menší u stanice, která je déle blokována * stanice vysílající delší pakety jsou zvýhodněné * spravedlivost roste s počtem stanic (ale...) * řešení => propojení přepínačem (dojde ke zmenšení kolizních domén) === MAC s rezervací === * TDMA (Time Division Multi Access) -- pevně stanovená časová okna pro každou stanici (např. GSM) == SDH a SONET == * Synchronous Digital Hierarchy (Evropa), Synchronous Optical NETwork (USA) * protokoly pro vysoké rychlosti na optických médiích * stejné principy, odlišné časování * striktně point-to-point * vychází z multiplexování digitalizovaných telefonních hovorů * //synchronní// -- data jednotlivých příspěvkových toků se vždy nachází na stejném místě v rámci; rámce jsou neustále generovány na základě jednotného hodinového signálu * na vzdálenosti tisíců kilometrů * 10 Gb na stovky kilometrů, experimentálně 40 Gb == ATM == * vznikl na popud několika velkých firem * Cíle: * podpora pro všechny existující i budoucí služby * efektivní využití zdrojů * zjednodušené směrování -> vysoké rychlosti * QoS (Quality of Service) pro existující i budoucí služby * rodina protokolů od síťové po fyzickou vrstvu * **malé rámce pevné délky 53 B** -- buňky * PCR -- Peak Cell Rate -- špičková přenosová rychlost * SCR -- Sustainable Cell Rate -- agregovaná přenosová rychlost za nějakou dobu * dohoda o parametrech spojení při jeho ustavení (connection-oriented služba) * zvláštní protokolové vrstvy pro přizpůsobení běžným potřebám * nakonec max. 622 Mb/s * Typy provozu (BR = Bit Rate) * CBR (Constant BR) -- specifikuje se datový tok, emulace pevné linky, snadná implementace, PCR=SCR * VBR (Variable BR) -- složitá implementace, definuje zvlášť PCR a SCR * VBR-rt (real time) -- streaming, pevně stanovené zpoždění * VBR-nrt (non-real time) -- video on-demand, neexistují pevné limity pro zpoždění * ABR (Available BR) -- pokus o adaptabilní službu typu TCP * Resource Management Cell -- obsahuje informaci o požadavku na PCR, zajišťuje tak explicitně kontrolu zahlcení, přepínače po cestě RM sníží, nebo zachovají, cíl pošle RM s aktuální hodnotou vysílajícímu * UBR (Unspecified BR) -- Best effort služba, je možné definovat PCR === MAC s předáváním oprávnění == * oprávnění vysílat (token) má vždy jedna stanice, je předáváno * MAC protokol musí obsloužit chybové a neobvyklé stavy * vytvoření tokenu při inicializaci * obnovení tokenu po ztrátě v důsledku chyby média * obnovení tokenu po ztrátě či zdvojení v důsledku chyby nebo vypnutí některé stanice * řešeno algoritmy distribuované dohody * Token Bus -- topologické uspořádání sběrnice * Token Ring -- topologické uspořádání kruh ==== Směrování v sítích ==== Pakety prochází řadou směrovačů. Směrování může být statické i dynamické. **Statické směrování** * známe topologii * existuje centrální směrovací tabulka, bývá zpracovávána "ručně" off-line. Díky tomu může být optimální pro danou topologii vzhledem k zadaným kritériím * výhodou je jednoduchost, nevýhoda je vyšší citlivost na výpadky v síti a zátěž **Dynamické směrování** * adaptabilní na výpadky * realizováno složitými algoritmy * dynamické periodické výměny tabulek (dochází k dočasné nekonzistenci) * hierarchie směrování **Směrovací schémata mohou být:** * **Distribuovaná** vs. centralizovaná * "**Krok za krokem**" vs. zdrojová * **Deterministická** vs. stochastická * **Jednocestná** vs. vícecestná * **Dynamická** vs. statický výběr cest ... a **Internet** je... červený :-) === Směrovací algoritmy === **Funkce** * výběr komunikační cesty na základě daných kritérií (propustnost, zpoždění) * vlastní doručení dat **Vlastnosti** * Správnost * Jednoduchost * Robustnost * Stabilita * Spravedlivost * Efektivnost * Optimálnost **Výkonnostní kritéria** * minimalizace počtu skoků (hops) přes aktivní prvky * minimalizace „ceny“ cesty **Druhy** * Statické algoritmy * jednorázové tabulky (často ručně vytvořené) * neflexibilní, hodí se pro statickou topologii * lze je dobře optimalizovat * Dynamické algoritmy * flexibilní a robustní * nutnost zajistit aktualizaci směrovacích tabulek, potřebují protokol * Dále se dělí na: * centralizované -- stav se posílá do centra, centrum posílá tabulky uzlům * izolované -- řešeno metodou náhodné procházky, vyžaduje zpětnou vazbu, šíření tabulek broadcastem = vysoká zátěž sítě * distribuované -- uzly spolu vzájemně spolupracují * dochází k periodické výměně směrovacích informací Síť je reprezentována jako graf. Uzly jsou jednotlivé prvky sítě, hrany jsou komunikační linky mezi jednotlivými uzly. Hrany mohou být ohodnoceny -- lze určit cenu komunikace. **Hierarchie směrování** * Směrování k sítím (autonomní systémy) * Směrování uvnitř sítí ===Směrování Distance Vector=== * Předpoklad: každý směrovač zná pouze cestu (adresa) a cenu (hrana) k sousedům * Cíl: směrovací tabulka pro každý cíl v každém směrovači * Idea: oznam sousedům svou představu tabulky ==DV algoritmus== * Distance Vector = dvojice * inicializace -- sousedé se známou cenou, zbývající uzly mají cenu nastavenu na nekonečno * Periodické zasílání kopií DV sousedům * Problém zacyklení (při výpadku hrany) řešen //dělením horizontu//, směrovač nikdy nesděluje cestu zpět k uzlu, od nějž se ji dozvěděl * Typický zástupce: RIP (Routing Information Protocol) ===Směrování Link State=== * Stejný předpoklad a cíl jako u DV * Idea: šíří se topologie, cesty si směrovače počítají samy * Pracuje ve dvou krocích - šíření topologie (broadcast) - výpočet nejkratší cesty (Dijkstra) * Typický zástupce: OSPF (Open Shortest Path First) ==== Bezdrátové komunikační technologie ==== **Klasifikace bezdrátových přenosů:** * rádiové přenosy -- rádiové vlny s nízkým kmitočtem * mikrovlnné přenosy -- rádiové přenosy na frekvencích nad 100 MHz * IR přenosy -- komunikace na krátkou vzdálenost * světelné přenosy -- úzký světelný paprsek **Typy bezdrátových sítí** * ad-hoc -- stanice komunikují přímo, vhodné pro dočasné sítě (LAN párty) * infrastrukturní -- stanice komunikují prostřednictvím přístupového bodu (AP -- Access Point) == Techniky rozprostřeného spektra == **DSSS** (Direct Sequence Spread Spectrum) * signál je transformován do //n//-bitové sekvence * rušení (kolize) není problém, poškozené informace lze dopočítat **FHSS** (Frequecy Hopping Spread Spectrum) * nosný signál vysílán po krátkou dobu * přeskočí a pokračuje na jiné frekvenci * posloupnost přeskoků je dána pseudonáhodným generátorem čísel * výskyt rušení není kritický ==„Statické“ technologie== * WiFi * ad-hoc i infrastrukturní * rodina standardů kolem 802.11 * DSSS v pásmech 5 GHz (802.11a) a 2,4 GHz (802.11b, 802.11g) * rychlosti 11 Mb/s (802.11b), 54 Mb/s (802.11a, 802.11g) * vysílací dosah 30/300 m (v budově/na volném prostranství) * Bluetooth * striktně Master-Slave komunikace, maximálně 8 spolu asociovaných zařízení => vytváří tzv. piconet * FHSS v pásmu 2,4 GHz * half-duplex (64 Kb/s) a full-duplex (720 Kb/s) provoz, dosah v jednotkách metrů * WiMax * řešení pro „last mile“ * Point-to-Multipoint, dosah až 50 km, až 255 Mb/s (reálně 70 Mb/s) * zaručuje kvalitu služeb * pracuje v pásmu 2--11 GHz (nelicencované) ==Mobilní technologie== * princip buňkových sítí (průměr stovky metrů až 35 km) * GSM * pásmo 900 MHz a 1800 MHz * poskytnutí telekomunikačních služeb (hlasové a datové služby, SMS...) * pomalé (maximálně 9,6 kb/s) * ostatní využívají stávající infrastrukturu GSM, pouze přidávají svoje specifické komponenty * GPRS -- vývojový krok směrem k UMTS, využívá principu přepojování paketů (packet switching), nevýhodou jsou vysoké náklady a nový HW, rychlost až 160 kb/s (teoretická) * EDGE -- zvyšuje rychlost přenosu dat až 384 kb/s * UMTS -- 3G síť, až do 2 Mb/s ve městě, využívá kódový multiplex (CDMA) ===== Předměty ===== * [[https://is.muni.cz/auth/predmety/predmet.pl?fakulta=1433;obdobi=3084;kod=PB156|FI:PB156]] Počítačové sítě (jaro 2006) * [[https://is.muni.cz/auth/predmety/predmet.pl?fakulta=1433;obdobi=3082;kod=PV005|FI:PV005]] Služby počítačových sítí (podzim 2005) * [[https://is.muni.cz/auth/predmety/predmet.pl?fakulta=1433;obdobi=3725;studium=174910;id=427646|FI:PA151]] Soudobé počítačové sítě (jaro 2008), magisterský předmět ===== Použitá literatura ===== * [[http://cs.wikipedia.org/wiki/Referenční_model_ISO/OSI| OSI model (Wiki CS)]] * [[http://en.wikipedia.org/wiki/OSI_model|OSI model (Wiki EN)]] * http://www.ics.muni.cz/people/matyska/vyuka/site/site.html * http://www.fi.muni.cz/usr/brandejs/P005/ * http://www.fi.muni.cz/usr/staudek/vyuka/PA151/PA151.xhtml * http://www.ics.muni.cz/people/matyska/vyuka/pa159/pa159.html ===== Kam dál? ===== [[http://www.fi.muni.cz/usr/pelikan/Vyuka/Vyuka.html|Materiály k předmětu PV183 Technologie počítačových sítí]] ===== Vypracoval ===== Vít Rusňák, Jabber: vitek@jabber.ics.muni.cz, E-mail: vit.rusnak@gmail.com <100 %> ~~DISCUSSION~~