# 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é).