# 08 — Síťové modely a architektury > [!abstract] O tématu > ==**Síťové modely**== popisují, jak komunikace v síti **funguje na různých úrovních** (vrstvách). Dva hlavní modely: ==**ISO/OSI**== (teoretický referenční model, 7 vrstev) a ==**TCP/IP**== (praktická architektura, 4 vrstvy). > [!info] Maturitní otázka > **a)** Topologie · **b)** Princip dekompozice · **c)** Model ISO/OSI · **d)** Architektura TCP/IP · **e)** Přístupové metody > [!warning] Model vs. architektura > ==**Síťový model**== je obecnější — definuje **počet a úkoly vrstev** (např. ISO/OSI). > ==**Síťová architektura**== je konkrétnější — navíc určuje **způsob fungování vrstev a konkrétní protokoly** (např. TCP/IP). --- ## a) Topologie ==**Topologie sítě**== = způsob propojení jednotlivých uzlů sítě (počítače, tiskárny, switche…). Rozlišujeme ==**topologii fyzickou**== (jak je to zapojeno) a ==**logickou**== (jak komunikace skutečně probíhá). | Topologie | Princip | Výhody | Nevýhody | |---|---|---|---| | ==**Sběrnicová (BUS)**== | všechny PC na jednom kabelu | nízká cena, jednoduchost, malá délka kabelů | malá porucha rozpojí celou síť, **kolize**, nutnost terminátorů, nízká bezpečnost | | ==**Kruhová (RING)**== | data jdou v kruhu | **bez kolizí**, stanice zesilují signál (delší dosah) | porucha = nefunkční síť, problémy s odpojováním stanic, dražší aktivní prvky | | ==**Hvězdicová (STAR)**== | všechny PC přes **switch / hub** | **dnes nejběžnější**, snadné připojení, výpadek uzlu nevadí, centrální diagnostika | výpadek switche = celá síť dolů, vyšší náklady | | ==**Stromová (tree)**== | hierarchie hvězd | škálovatelná, efektivní správa | závislost na kořenovém uzlu | > [!tip] V současnosti > Nejčastěji se používá ==**hvězdicové a stromové propojení**== se switchem jako centrálním bodem. --- ## b) Princip dekompozice ==**Dekompozice**== = ==**rozklad složitého problému na menší, snáze řešitelné části**==. Přenos dat v síti je příliš široká oblast — proto se rozdělí do více **vrstev**, každá řeší přenos na své úrovni. **Pravidla vrstevnatých modelů:** - ==**každá vrstva má jasnou roli**== - nižší vrstva **poskytuje služby** vrstvě vyšší - ==**komunikují spolu pouze dvě sousední vrstvy**== — nelze přeskočit - komunikace s partnerskou vrstvou jiného uzlu probíhá ==**pouze mezi stejnolehlými vrstvami**== - rozhraní mezi vrstvami je přesně definováno ve **service access points (SAP)** - pravidla komunikace mezi stejnolehlými vrstvami určují ==**protokoly**== > [!info] Výhody vrstevnatých modelů > - řešení problémů jednotlivých vrstev samostatně > - snadnější hledání poruch > - stejný síťový software pracuje na různé kabeláži > - zvyšuje se spolupráce mezi protokoly, sítěmi i hardwarem **Příklady vrstevnatých modelů:** ISO/OSI, TCP/IP, ATM (zastaralé). --- ## c) Model ISO/OSI (7 vrstev) ==**Referenční model**== od organizace ==**ISO**== (*International Organisation for Standardisation*). ==**OSI**== = *Open System Interconnection* — otevřený systém. > [!warning] Pouze model, ne architektura > ISO/OSI **nezahrnuje konkrétní protokoly** — proto je to pouze **model**. Vznikal maximalistickým způsobem (mělo být zahrnuto všechno) a byl odtržen od praxe — v praxi se proto **prosadila architektura TCP/IP**. | # | Vrstva | Co dělá | Příklad | |---|---|---|---| | 7 | ==**Aplikační**== | rozhraní pro aplikace v prostředí sítě (pošta, přihlašování, DB) | HTTP, FTP, SMTP | | 6 | **Prezentační** | kódování, komprese, šifrování, konverze znaků (ASCII…) | SSL/TLS | | 5 | **Relační** | navazuje, udržuje a ukončuje **relace**, řídí průběh | NetBIOS | | 4 | ==**Transportní**== | přenos mezi koncovými body, segmentace, kontrola pořadí | **TCP, UDP** | | 3 | ==**Síťová**== | **směrování (routing)**, adresace, přenos mezi sítěmi | **IP, router** | | 2 | ==**Linková (spojová)**== | **rámce**, MAC adresy, CRC, řízení toku | **Ethernet, switch** | | 1 | ==**Fyzická**== | přenos **bitů**, napětí, kabely, konektory | **kabel, RJ-45, hub** | **Dvě skupiny vrstev:** - ==**orientované na přenos**== — fyzická, linková, síťová - ==**orientované na aplikace**== — relační, prezentační, aplikační - mezi nimi leží ==**transportní vrstva jako přizpůsobovací**== ### Detail vrstev > [!example] Fyzická vrstva > Přenos jednotlivých **bitů** (význam nezná). Definuje **úroveň napětí**, režim přenosu (duplex/half-duplex), normalizuje kabely, konektory, kódování, modulaci. Rozlišuje paralelní/sériový a synchronní/asynchronní přenos. > [!example] Linková (spojová) vrstva > Bezchybný přenos bloků dat (==**rámců — frames**==). K datovým bitům přidává **adresu odesílatele a příjemce**, **flagy** (oddělují rámce) a ==**CRC** (Cyclic Redundancy Code)== pro detekci chyb. Zajišťuje **přístup ke sdílenému médiu** a **řízení toku** (nezahlcení příjemce). Pracují zde **mosty a switche**. > Rozdělena na podvrstvy: > - ==**MAC** (Media Access Control)== — přístupové metody pro sdílená média > - ==**LLC** (Logical Link Control)== — funkce původní linkové vrstvy > [!example] Síťová vrstva > Přenos mezi uzly **bez přímého spojení** (jiné sítě). Musí znát topologii a provádí ==**směrování (routing)**==. Pracují zde **routery (směrovače)**. Může pracovat **spojovaně** (všechny pakety stejnou trasou) nebo **nespojovaně** (každý paket jinou). > [!example] Transportní vrstva > Rozkládá zprávu na **segmenty**, na straně příjemce skládá zpět, kontroluje pořadí, opravuje chyby. ==**Vyrovnává rozdíly mezi nespolehlivými a spolehlivými službami**==. Obsažena **pouze v koncových uzlech** (v routerech není). ### Princip enkapsulace (zapouzdření) Data se přenášejí v ==**paketech**==. Při sestupu vrstvami každá vrstva **přidá svou hlavičku (header)** s údaji pro partnerskou vrstvu — ==**encapsulace (zapouzdřování)**==. Na straně příjemce probíhá ==**deencapsulace**== — odebírání hlaviček. | Vrstva | Název PDU | |---|---| | Aplikační | ==**data / zpráva**== | | Transportní | ==**segment (TCP)** / datagram (UDP)== | | Síťová | ==**packet (paket)**== | | Linková | ==**frame (rámec)**== | | Fyzická | ==**bit**== | ### Typy paketů podle adresace - ==**Unicast**== — jedno zařízení posílá pouze jednomu - ==**Multicast**== — jedno zařízení posílá celé skupině - ==**Broadcast**== — jedno zařízení vysílá **všem v síti** (speciální případ multicastu, skupina = Everyone) --- ## d) Architektura TCP/IP (4 vrstvy) ==**TCP/IP**== = *Transmission Control Protocol / Internet Protocol*. ==**Praktická vrstevnatá architektura**==, podle které funguje **Internet**. Vznikla **opačně než ISO/OSI** — ==**nejprve protokoly, potom vrstvy, nakonec standard**== (co se v praxi ujalo, to se standardizovalo). | # | TCP/IP vrstva | Odpovídá ISO/OSI | Příklad | |---|---|---|---| | 4 | ==**Aplikační**== | 5–7 (App + Pres + Session) | HTTP, FTP, SMTP, DNS, Telnet | | 3 | ==**Transportní**== | 4 (Transport) | **TCP, UDP** | | 2 | ==**Síťová (IP)**== | 3 (Network) | **IP, ICMP, ARP, RARP** | | 1 | ==**Vrstva síťového rozhraní**== | 1–2 (Physical + Datalink) | Ethernet, Token Ring, ATM, Wi-Fi | ### Klíčové protokoly > [!example] IP (Internet Protocol) > Síťová vrstva. ==**Nespojovaný a nespolehlivý**== přenos **datagramů** — nezaručuje doručení ani pořadí, snaží se být co nejrychlejší. Každý IP paket má ==**32bitovou adresu**== odesílatele a příjemce. Provádí směrování, využívá **ICMP, ARP, RARP**. > [!example] TCP (Transmission Control Protocol) > Transportní vrstva. ==**Spojovaný a spolehlivý**== — virtuální kanál. **Navazuje a ukončuje spojení**, vytváří **proud dat** (ne pakety, ale spojitě). Příjemce **potvrzuje každý paket**, ztracené se posílají znovu. Pakety srovná v pořadí. Používá ==**porty (16bitové)**== pro identifikaci aplikací. Využívají FTP, Telnet, HTTP. > [!example] UDP (User Datagram Protocol) > Transportní vrstva. ==**Nespojovaný a nespolehlivý**== — IP doplněný o porty. Pro komunikaci typu **dotaz/odpověď** (DNS), volitelně detekce chyb (CRC v hlavičce). **Neopakuje ztracené pakety** — nevhodný pro velké toky dat, vhodný pro streaming. > [!example] ICMP (Internet Control Message Protocol) > Síťová vrstva. **Diagnostické a chybové informace** mezi uzly (problémy směrování, monitorování — ==**ping**==). Nespojovaný a nespolehlivý. > [!example] ARP a RARP > ==**ARP**== — žádost o **MAC adresu** podle známé **IP adresy** (síťová vrstva, používá se v Ethernetu). > ==**RARP**== — opačně: podle MAC adresy hledá IP adresu. > [!example] Směrovací protokoly > ==**RIP**== (Routing Internet Protocol) — statické směrování. > ==**OSPF**== (Open Shortest Path First) — adaptivní protokol. Oba používají **routery** k informacím o změnách topologie sítě. ### TCP vs UDP | | ==**TCP**== | ==**UDP**== | |---|---|---| | Spojení | spojované (handshake) | nespojované | | Spolehlivost | **garantuje doručení, pořadí, bez duplikátů** | bez záruky | | Rychlost | pomalejší | **rychlejší** | | Použití | web, e-mail, FTP, Telnet | streaming, hry, **DNS** | ### Nevýhody TCP/IP > [!warning] Slabiny TCP/IP > - data ==**nešifrována**== — náchylná k odposlechu (řeší se VPN, šifrování na aplikační vrstvě, firewall) > - ==**nepočítá s mobilitou uživatelů**== — IP adresy vázány na geografické umístění > - ==**nedostatek adres**== — IPv4 má jen 32 bitů, řešením je ==**IPv6**== > - **negarantována pravidelnost doručování** — vadí livestreamům a multimédiím --- ## e) Přístupové metody ==**Pravidla, jak zařízení sdílí přenosové médium**==. Vznik souvisí s LAN — na sdíleném médiu může vždy vysílat **jen jeden uzel**. Pracují v podvrstvě **MAC**. ### CSMA/CD (Ethernet starší) ==**Carrier Sense Multiple Access / Collision Detection**== - zařízení **poslouchá** linku → pokud volná, vysílá - pokud dvě zařízení vysílají najednou = ==**kolize**== → detekce, čekání náhodný čas, opakování - dnes nahrazeno **switchem** (každý port má vlastní kolizní doménu) ### CSMA/CA (Wi-Fi) ==**Carrier Sense Multiple Access / Collision Avoidance**== - ==**předchází kolizím**== místo jejich detekce (na Wi-Fi nelze kolize detekovat) - zařízení čeká, oznámí záměr (**RTS/CTS**), pak teprve vysílá ### Token passing (Token Ring) ==**Volný „token" (žeton) koluje sítí**==. Vysílat smí jen ten, kdo token drží. **Bez kolizí**, ale pomalejší. **Dnes se nepoužívá.** --- ## Shrnutí > [!summary] Co si pamatovat > **a) Topologie:** ==hvězdicová a stromová (standard dnes)==, sběrnicová, kruhová. Rozlišujeme fyzickou a logickou. > **b) Dekompozice:** rozdělení komunikace do **vrstev**, každá řeší úlohu samostatně. Komunikace jen mezi sousedními vrstvami, pravidla = **protokoly**. > **c) ISO/OSI (7 vrstev):** Aplikační, Prezentační, Relační, ==**Transportní, Síťová, Linková, Fyzická**==. Pouze **model** (bez protokolů), enkapsulace přidává hlavičky. > **d) TCP/IP (4 vrstvy):** Aplikační, Transportní (==TCP/UDP, 16bit porty==), Síťová (==IP — 32bit adresa, ICMP, ARP==), Síťové rozhraní. Architektura = vrstvy + **konkrétní protokoly**. > **e) Přístupové metody:** ==**CSMA/CD** (Ethernet)==, ==**CSMA/CA** (Wi-Fi)==, Token passing (zastaralé).