Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
statnice:bakalar:b4b38psia [2025/05/11 16:07] – [Wi-Fi] sanielstatnice:bakalar:b4b38psia [2025/06/03 19:00] (current) – zapleka3
Line 1: Line 1:
-==== Počítačové sítě, ISO/OSI model, vlastnosti fyzických vrstev, topologie, řízení přístupu k médiu, kódování, spolehlivost datových přenosů, protokoly rodiny TCP/IP. ====+====== Počítačové sítě, ISO/OSI model, vlastnosti fyzických vrstev, topologie, řízení přístupu k médiu, kódování, spolehlivost datových přenosů, protokoly rodiny TCP/IP. ======
  
 [[https://fel.cvut.cz/cz/education/bk/predmety/46/66/p4666906.html|B4B38PSIA]] [[https://fel.cvut.cz/cz/education/bk/predmety/46/66/p4666906.html|B4B38PSIA]]
Line 7: Line 7:
   * **Síťové technologie** – Ethernet a WiFi, přístupové metody, adresace, technologie VLAN, funkční rozdíly rozbočovač vs. přepínač.   * **Síťové technologie** – Ethernet a WiFi, přístupové metody, adresace, technologie VLAN, funkční rozdíly rozbočovač vs. přepínač.
  
-<markdown> +====== ISO/OSI model ======
-# 1. ISO/OSI model +
-**ISO/OSI** model se skládá ze 7 vrstev:  +
-</markdown>+
  
-**7.** Aplikační vrstva+Model ISO/OSI je teoretický model, který rozděluje komunikaci v počítačových sítích do sedmi vrstev. Každá vrstva řeší určitou skupinu úloh a komunikuje pouze se sousedními vrstvami. Cílem modelu je umožnit snadné propojování distribuovaných systémů – například emailový klient nemusí vědět, zda komunikace probíhá přes Wi-Fi nebo kabel.
  
-**6.** Prezentační vrstva+Data vytvořená v aplikační vrstvě jsou postupně zapouzdřována (obalována) hlavičkami nižších vrstev. Zařízení v síti vždy zpracovávají pouze hlavičku odpovídající jejich vrstvě – např. router rozhoduje podle IP adresy bez ohledu na to, zda jde o TCP nebo UDP.
  
-**5.** Relační vrstva+  * **7. Aplikační vrstva** – zajišťuje služby přímo pro koncového uživatele (např. HTTP, FTP, SMTP) 
 +  * **6. Prezentační vrstva** – kódování, šifrování, komprese dat 
 +  * **5. Relační vrstva** – správa relací mezi aplikacemi (navázání, udržování, ukončení spojení) 
 +  * **4. Transportní vrstva** – spolehlivý přenos dat mezi koncovými zařízeními (např. TCP, UDP) 
 +  * **3. Síťová vrstva** – směrování paketů mezi sítěmi (např. IP) 
 +  * **2. Spojová vrstva** – přenos rámců mezi dvěma přímo spojenými uzly (např. MAC adresa, Ethernet) 
 +  * **1. Fyzická vrstva** – fyzický přenos bitů po médiu (např. elektrické signály)
  
-**4.** Transportní vrstva+**Kritéria návrhu vrstev ISO/OSI modelu:** 
 +  * Činnosti na stejném stupni abstrakce mají být ve stejné vrstvě. 
 +  * Minimalizace datových toků mezi vrstvami. 
 +  * Snaha o aplikovatelnost na významné existující standardy (např. X.25).
  
-**3.** Síťová vrstva+{{:statnice:bakalar:pasted:20250603-172610.png}}
  
-**2.** Spojová vrstva+==== 1. Fyzická vrstva ====
  
-**1.** Fyzická vrstva+Fyzická vrstva je nejnižší vrstva ISO/OSI modelu. Zajišťuje samotný přenos bitů (symbolů) po fyzickém médiu – vodiči, optickém vlákně nebo rádiovými vlnami. Neřeší význam přenášených dat, pouze jak se budou signály fyzicky šířit. 
 +  * Poskytuje služby typu: odešli bit, přijmi bit 
 +  * Nijak neinterpretuje to, co přenáší.
  
 +Zabývá se:
 +  * **kódováním a modulací** – jak se binární data převádějí na signály (např. napěťové úrovně)
 +  * **časováním a synchronizací** – aby příjemce věděl, kdy číst data
 +  * **elektrickými a mechanickými parametry** – napětí, konektory, typy kabelů
 +  * **řídicími signály** – např. detekce připojení, řízení toku
  
-<markdown>+=== Typy přenosu === 
 +  * **Paralelní přenos** – více bitů současně (každý vodič jeden bit) 
 +  * **Sériový přenos** – bity přicházejí po jednom (běžnější u sítí) 
 +  * **Synchronní přenos** – odesílatel a příjemce synchronizováni hodinovým signálem 
 +  * **Asynchronní přenos** – data jsou oddělená start/stop bity, přenos není časově sladěný 
 +  * **Arytmický přenos** – přenos bez pevné časové struktury, používá se např. s autonegociací
  
-Kriterii pro **ISO/OSI** vrstvy bylo: +=== Přenosová pásma === 
-* Činnosti na stejném stupni abstrakce mají být ve stejné vrstvě +  * **Základní pásmo (baseband)** – data se přenáší přímo jako 0/1 (např. Ethernet) 
-* Minimalizace datových toků mezi vrstvami +  * **Přeložené pásmo (broadband)** – data se modulují na vyšší frekvence (např. Wi-Fi)
-* Aplikovatelnost na významné existující standardy (X.25)+
  
-## 1. Fyzická vrstva +=== Příklady standardů fyzické vrstvy === 
-* Zabývá se výhradně přenosem bitů (symbolů – což je minimální jednotka) dat, který je fyzická vrstva schopna přenést.   +  * **RS-232, RS-485** – sériová rozhraní, často v průmyslovém prostředí 
-* Nabízí služby typu *odešli bit* / *přijmi bit*.   +  * **IEEE 802.3 (Ethernet)** – fyzická vrstva pro kabelové sítě 
-* Nijak neinterpretuje to, co přenáší.+  * **IEEE 802.11 (Wi-Fi)** – bezdrátový přenos signálu
  
-**Rozlišujeme**:   +==== 2. Spojová vrstva (Data Link) ====
-* Paralelní a sériový přenos   +
-* Synchronní, asynchronní a arytmický přenos   +
-* Přenos v základním pásmu (drát ➜ přímo 0/1) a v přeloženém pásmu (data modulujeme do symbolů, na příjmu demodulujeme)+
  
-**Příklady standardů fyzické vrstvy**:   +Spojová vrstva zajišťuje přenos **rámců** (frames) mezi dvěma přímo propojenými uzly – v dosahu jednoho fyzického spoje. Nepřenáší data přes více uzlů, ale pouze lokálně, např. v rámci jednoho segmentu sítě (např. mezi dvěma zařízeními připojenými ke stejnému přepínači nebo AP). Využívá různé technologie fyzické vrstvy, může být kabelová i bezdrátová.
-* RS-232, RS-485   +
-* IEEE 802.3 (Ethernet), IEEE 802.11 (Wi-Fi) …+
  
-## 2. Spojová vrstva (Data Link) +Může pracovat: 
-* Přenáší **rámce** v dosahu jediného fyzického spoje.+  * **spolehlivě** či **nespolehlivě** – s detekcí/nápravou chyb nebo bez 
 +  * **spojovaně** či **nespojovaně** – s navazováním spojení nebo bez
  
-**Zodpovědnosti:**   +**Hlavní zodpovědnosti spojové vrstvy:** 
-- **Synchronizace rámců** – rozpoznání začátku/konce a struktury rámce.   +  * **Synchronizace rámců** – rozpoznání začátku a konce rámce, správné zpracování celé struktury rámce 
-- **MAC (media-access control)** – řešení kolizí na sdíleném médiu (CSMA/CD, CSMA/CA, token passing).   +  * **Media Access Control (MAC)** – řízení přístupu ke sdílenému médiu a řešení kolizí   
-- **Adresace** – fyzické 48bitové MAC adresy, případně VLAN tagy.   +    - CSMA/CD – detekce kolize (Ethernet)   
-- **Spolehlivost** – detekce chyb (CRC-32/FCS), lokální ARQ/FEC; může fungovat i jako „best-effort“.   +    - CSMA/CA – prevence kolize (Wi-Fi)   
-- **Řízení toku** – aby vysílač nezahltil příjemce (PAUSE rámce, HDLC ACK/NACK).   +    - Token passing – řízený přístup 
-- **Link-management** – zřízení/ukončení spojení, asociace u bezdrátových sítí.+  * **Adresace** – fyzické MAC adresy (48bitové), případně rozšířené o VLAN tagy 
 +  * **Spolehlivost přenosu** – detekce chyb (např. CRC-32, FCS), lokální opravy chyb (ARQ/FEC); může fungovat i jako „best-effort“ 
 +  * **Řízení toku** – např. pomocí PAUSE rámců nebo potvrzování (ACK/NACK, HDLC) 
 +  * **Správa spojení (link management)** – zřízení/ukončení spojení, asociace v bezdrátových sítích
  
-## 3. Síťová vrstva (Network) +==== 3. Síťová vrstva (Network) ====
-* Přenáší **pakety** od zdroje ke cíli napříč sítěmi (mezi odesílatelem a příjemcem může stát řada mezilehlých zařízení).   +
-* Musí počítat s topologií celé sítě (alespoň částečně).   +
-* Je poslední vrstvou, kterou **musí** implementovat samotná přenosová infrastruktura.   +
-* Nejrozšířenější implementací je protokol **IP** (IPv4/IPv6).+
  
-**Zodpovědnosti:**   +Síťová vrstva přenáší **pakety** od zdroje k cíli, i pokud jsou na různých sítích a není mezi nimi přímé spojení. Musí tedy najít vhodnou cestu v síti – typicky přes více mezilehlých zařízení (routery). Na rozdíl od spojové vrstvy už zohledňuje topologii celé sítě.
-- **Logická adresace** – přidělení jedinečné IP adresy každému uzlu.   +
-- **Směrování (routing)** – vyhledání nejlepší cesty:   +
-  * **neadaptivní/statické** – trasy se nemění podle provozu; jednoduché, ale neflexibilní (typicky menší nebo klidné sítě).   +
-  * **adaptivní/dynamické** – tabulky se přepočítávají na základě aktuální topologie či zátěže (OSPF, BGP).   +
-  * **izolované (distance-vector)** – router rozhoduje jen z vlastních informací, nezná detailní stav ostatních; pomalejší konvergence.   +
-  * **distribuované/kooperativní (link-state)** – routery sdílejí kompletní pohled na síť a globálně počítají nejkratší cesty; rychlá reakce na změny.   +
-- **Fragmentace / defragmentace** – rozdělení velkého paketu, pokud překračuje MTU segmentu; znovusložení na cíli.   +
-- **Kontrolní a diagnostické zprávy** – ICMP, chybové zprávy (Time-Exceeded, Destination-Unreachable) a echo testy (ping).   +
-- **Značení QoS** – DSCP/ECN bity pro správu přetížení a priorit.+
  
 +Je to poslední vrstva, kterou **musí** implementovat přenosová infrastruktura – bez ní není možné směrovat mezi sítěmi. Výjimkou mohou být velmi jednoduché nebo uzavřené systémy (např. některé průmyslové aplikace).
  
-## 4. Transportní vrstva (Transport)+Nejběžnějším síťovým protokolem je **IP** (Internet Protocol), včetně jeho verzí IPv4 a IPv6.
  
-* **Úkol:** přizpůsobit služby sítě požadavkům vyšších vrstev – překlenout rozdíl mezi tím, *co síť umí* a *co aplikace potřebují* :contentReference[oaicite:1]{index=1}   +**Hlavní zodpovědnosti síťové vrstvy:** 
-* **Proč je to nutné?**   +  * **Logická adresace** – přiřazení jedinečné IP adresy každému zařízení v síti 
-  * Vlastnosti nižších vrstev (spolehlivost, způsob spojení …) obvykle nemůžeme změnit – často patří jiné organizaci nebo jsou sdílené s dalšími uživateli.   +  * **Směrování (routing)** – hledání nejlepší cesty k cílovému uzlu: 
-  * Vyšší vrstvy mohou mít různé – i protichůdné – nároky (např. file-transfer vs. hlas)   +    - **neadaptivní (statické)** – trasy se nemění podle zátěže; vhodné pro jednoduché topologie 
 +    - **adaptivní (dynamické)** – trasy se přizpůsobují aktuální síťové situaci (např. pomocí OSPF, BGP) 
 +    - **izolované (distance-vector)** – router zná jen informace od sousedů (pomalejší reakce) 
 +    - **distribuované (link-state)** – routery sdílejí kompletní informace o topologii (rychlejší a přesnější) 
 +  * **Fragmentace a defragmentace** – rozdělení velkého paketu, pokud přesahuje MTU, a následné složení na cíli 
 +  * **Kontrolní a diagnostické zprávy** – např. ICMP zprávy (ping, Time-Exceeded, Destination-Unreachable) 
 +  * **Značení QoS (Quality of Service)** – pomocí DSCP/ECN bitů je možné rozlišit důležitost a prioritu provozu
  
-* **Kde běží:** +==== 4. Transportní vrstva (Transport) ====
-- Protokoly transportní vrstvy **existují jen v koncových uzlech** (servery, klienti).+
  
-* **Jak může přenos vylepšit:** +Transportní vrstva slouží jako prostředník mezi požadavky aplikačních vrstev a schopnostmi sítě. Jejím úkolem je **přizpůsobit chování přenosu konkrétním potřebám aplikací**, protože nižší vrstvy často nemůžeme měnit – bývají sdílené nebo pod správou jiné organizace.
-- **Spolehlivost:** přidává číslování, potvrzování, ARQ → mění *nespolehlivý* přenos na *spolehlivý*.   +
-- **Spojovanost:** vytváří virtuální spojení (establish / maintain / teardown) i nad původně *nespojovanou* síť.   +
-- Další volitelné funkce: segmentace/re-assembly velkých SDU, řízení toku a zahlcení, multiplexing portů, volitelná QoS, šifrování (TLS nad TCP) apod.+
  
-* **Typické protokoly:** +Např. přenos souboru vyžaduje vysokou spolehlivost, zatímco videohovor raději upřednostní nízkou latenci.
-- **TCP** – spojovaný, spolehlivý (ARQ, congestion control) – vhodný pro web, soubory, e-mail.   +
-- **UDP** – nespojovaný, best-effort – ideální, když je důležitější latence než perfektní spolehlivost (VoIP, DNS).   +
-- **SCTP, QUIC** – hybridní nebo vylepšené varianty pro speciální potřeby (multistream, 0-RTT).+
  
 +**Transportní protokoly běží pouze v koncových uzlech** (klienti, servery). Samotná síť (např. routery) je nevyužívá – poskytují aplikačně specifické funkce.
  
-## 5. Relační vrstva (Session) +**Zodpovědnosti transportní vrstvy:** 
-* **Zřizuje, spravuje a ukončuje relace** mezi aplikačními procesy.   +  * **Zvýšení spolehlivosti** – číslování segmentů, potvrzování (ACK), opětovné vysílání (ARQ) 
-* **Možné využití:** +  * **Virtuální spojení** – řízení spojení mezi dvěma aplikacemi (navázání, udržování, ukončení) 
-- Vkládání **synchronizační body** (check-pointing) pro obnovu po chybě.   +  * **Segmentace a sestavení (re-assembly)** – rozdělení velkých zpráv na části a opětovné složení 
-- **Koordinace více toků** – např. u videokonference drží audio a video „pohromadě“.   +  * **Řízení toku a zahlcení** – zabránění přetížení příjemce nebo sítě 
-- **Řízení dialogu** (kdo kdy mluví) a volitelné šifrování nebo kompresi na úrovni relace. +  * **Multiplexing portů** – více aplikací na jednom zařízení používá různé porty 
-- **Šifrování dat** +  * **Volitelně QoS, šifrování, prioritizace**
-- **Komprese** +
-- Podpora **transakčního zpracování dat**+
  
 +**Typické protokoly:**
 +  * **TCP (Transmission Control Protocol)**: spojovaný, spolehlivý, řízení zahlcení, ARQ, vhodný pro web, e-mail, přenosy souborů
 +  * **UDP (User Datagram Protocol)**: nespojovaný, best-effort, preferován, když je důležitá latence (např. VoIP, DNS)
 +  * **SCTP, QUIC**: modernější alternativy, podpora vícenásobných toků, lepší latence (QUIC = TCP+TLS+HTTP/2 dohromady)
  
-## 6. Prezentační vrstva (Presentation) +==== 5. Relační vrstva (Session) ====
-* Řeší to že nižší vrstvy se snaží každý bit doručit stejně jak byl poslán. Ale prezenční vrstva se snaží data přizpůsobit příjemci.   +
-* Řeší **formu dat** – *jak* vypadají, ne *kam* jdou.   +
-* **Možné využití:** +
-- Převádí **endianitu** dat (pořadí nejvíc významných bitů). +
-- Převádí kódování znaků (UTF-8 ⇄ UTF-16), endianitu čísel.   +
-- Definuje datové formáty (ASN.1, JSON, XML, Protobuf).  +
  
 +Relační vrstva (Session Layer) zajišťuje **sestavení, správu a ukončení relací** mezi dvěma aplikačními procesy. Typicky jde o delší komunikaci, která může být organizovaná jako dialog nebo konverzace.
  
-## 7. Aplikační vrstva (Application) +**Možné funkce relační vrstvy:** 
-* Historicky vrstva ve které bude aplikace (nefunguje, aplikací je moc a musely by být standardizováno) +  * **Synchronizační body (check-pointing)** – pro možnost obnovení po chybě bez nutnosti začít znovu 
-* Poskytuje konkrétní **síťové služby** uživatelským aplikacím (HTTP, FTP, DNS, SMTP, MQTT …).   +  * **Koordinace více datových toků** – např. současné přehrávání audio a video streamu 
-* Definuje příkazy, odpovědi, formát zpráv, autentizaci a autorizaci.   +  * **Řízení dialogu** – určení, kdo kdy „mluví“, half-duplex/full-duplex komunikace 
-* Je nejbližší uživateli – to, co reálně „volá“ programátor nebo browser.+  * **Šifrování a komprese** – pokud nejsou řešeny jinde (např. TLS) 
 +  * **Podpora transakčního zpracování dat** – např. v databázových systémech
  
 +==== 6. Prezentační vrstva (Presentation) ====
  
-### PDU × SDU a komunikace mezi vrstvami+Prezentační vrstva se stará o to, **jak data vypadají** – tedy o jejich formát, strukturu a kódování. Nižší vrstvy zajišťují, aby byly bity doručeny přesně tak, jak byly odeslány. To ale nestačí – stejná posloupnost bitů může mít na různých zařízeních různý význam (např. kvůli jiné endianitě nebo znakovému kódování).
  
-- **PDU (Protocol Data Unit)** – datová jednotka *uvnitř* vrstvy N: její hlavička + uživatelský payload.   +Prezentační vrstva proto provádí potřebné **konverze a úpravy**, aby byla data pochopitelná pro příjemce.
-- **SDU (Service Data Unit)** – data, která vrstva N převzala od vrstvy N + 1 a zasazuje je jako payload do svého PDU.   +
-- **SAP (Service Access Point)** – „dveře“ mezi vrstvami:   +
-  * horní SAP vrstvy N = rozhraní, kterým **vrstva N poskytuje** své služby vrstvě N + 1,   +
-  * dolní SAP vrstvy N = rozhraní, kterým **vrstva N využívá** služby vrstvy N − 1.  +
  
 +**Možné využití:**
 +  * Převod **endianity** – např. mezi little-endian a big-endian reprezentací čísel
 +  * Převod **znakového kódování** – např. UTF-8 ⇄ UTF-16
 +  * Definice a zpracování **datových formátů** – např. ASN.1, JSON, XML, Protobuf
 +  * Úpravy formátu struktur a polí, které se přenášejí mezi různými systémy
  
-### Multiplexing, Splitting, Segmenting +==== 7. Aplikační vrstva (Application) ====
-- **Multiplexing/Demultiplexing** – jediné spojení vrstvy N − 1 nese více spojení vrstvy N (např. TCP porty nad IP).   +
-- **Splitting/Recombining** – jedno spojení vrstvy N rozděleno přes několik spojení N − 1 (link aggregation).   +
-- **Segmenting/Reassembling** – velká SDU rozdělena na více PDU; na cíli znovu složena (IP fragmenty, TCP segmenty). +
  
 +Aplikační vrstva poskytuje **síťové služby přímo aplikacím**. Je nejbližší uživateli – sem patří protokoly, které vývojáři nebo uživatelé skutečně volají (např. HTTP, FTP, SMTP). Nedefinuje samotné aplikace, ale pouze jejich síťové rozhraní.
  
-### Zpracování chyb při přenosech +**Historie a význam:** Původně se předpokládalo, že aplikační vrstva bude přímo obsahovat aplikace, ukázalo se, že aplikací je příliš mnoho a není smysluplné všechny standardizovat. 
-- **ARQ (Automatic Repeat reQuest)** – snaží se udržet spolehlivost přenosu pomocí opakování chybné PDU:   +  * Výsledkem je, že aplikační vrstva standardizuje pouze „jádra“ aplikací – např. přenos e-mailu, přístup k distribuovaným objektům, DNS apod., samotné uživatelské rozhraní aplikací leží **nad aplikační vrstvou**.
-  * **Stop-and-Wait ARQ**   +
-    1. Odesílatel pošle **jedinou** PDU a **zastaví se**, dokud nepřijde ACK.   +
-    2. Časovač hlídá timeout; pokud ACK nepřijde, rámec se vyšle znovu.   +
-    3. V *potrubí* („pipeline“) je vždy jen 1 rámec → **propustnost**   +
-      $\eta = \frac{T_{\text{frame}}}{T_{\text{frame}} + 2 \cdot RTT}$; kde RTT je Round Trip Time, na dlouhých linkách klesá k nule.   +
-    *Výhody:* extrémně jednoduchá implementace, minimální vyrovnávací paměti.   +
-    *Nevýhody:* malé využití linky, hodí se jen tam, kde je RTT malé a/nebo rámce krátké (jednoduché sériové linky, staré half-duplex rádiové modemy).  +
  
-  * **Go-back-N ARQ**   +**Funkce aplikační vrstvy:** 
-    1. Odesílatel udržuje **okno** velikosti *N* – může rozeslat až *N* rámců bez ACK.   +  * Poskytuje přístup ke konkrétním síťovým službám (HTTP, FTP, DNS, SMTP, MQTT...) 
-    2. Přijímač potvrzuje **kumulativně** (ACK = „vše do čísla k jsem dostal v pořádku“).   +  * Definuje **příkazy, odpovědi, formát zpráv** 
-    3. Pokud se ztratí rámec *i*, příjemce zahodí i všechny následující a pošle ACK k-1; odesílatel „skočí zpět“ a zopakuje **vše od i dál**.   +  * Zajišťuje **autentizaci a autorizaci**
-    *Výhody:* výrazně lepší propustnost než Stop-and-Wait, vyžaduje jen jeden ACK na okno.   +
-    *Nevýhody:* zbytečně opakuje i rámce, které dorazily správně; při delším RTT a vyšší chybovosti rychle klesá efektivita.+
  
-  * **Selective Repeat ARQ**   +==== PDU × SDU a komunikace mezi vrstvami ====
-    1. Oba konce mají okno; **každý rámec** se potvrzuje samostatným ACK nebo NACK.   +
-    2. Přijímač si rámce, které dorazí mimo pořadí, odkládá do vyrovnávací paměti a čeká, až dorazí chybějící kusy, aby je pak mohl předat dál ve správném sledu.   +
-    3. Odesílatel retransmituje **jen ty kusy, které opravdu chybí**.   +
-    *Výhody:* nejvyšší možné využití šířky pásma; zbytečně se nic neopakuje → ideální pro linky s větším RTT (satellites), nebo když je ztrát málo, ale záleží na rychlosti.   +
-    *Nevýhody:* složitější implementace, potřebuje víc paměti na oba buffery. Moderní TCP používá formu Selective Repeat – **SACK** (Selective ACK).   +
-- **CRC / FCS** – zbytek dělení polynomem; detekuje všechny jednobitové a většinu vícenásobných chyb; používá se hlavně k detekci před ARQ.   +
-- **FEC (Forward Error Correction)** – přidá redundantní bity, aby příjemce chyby *opravil* bez retransmise; vhodné pro satelit, DVB-T, streamy s jednosměrným nebo zpožděným zpětným kanálem. (v podstatě v případech kdy přijímač neodesílá nic zpátky vysílači)+
  
-# 2. Protokoly TCP/IP+Pro komunikaci mezi jednotlivými vrstvami modelu ISO/OSI je důležité pochopit, jak si předávají data a jak je zpracovávají. 
 +  * **SDU (Service Data Unit)** – data, která vrstva N **převezme** od vrstvy N + 1. Neobsahuje žádné hlavičky nebo metadata nižších vrstev. Vrstva s SDU nijak nemanipuluje – zasazuje ji jako uživatelský payload. 
 +  * **PDU (Protocol Data Unit)** – datová jednotka vytvořená vrstvou N. Obsahuje **SDU jako payload**, ale přidává k němu vlastní hlavičku a případně další řídicí informace. 
 +  * **PCI (Protocol Control Information)** – řídicí informace v hlavičce PDU, např. adresace, typ zprávy apod. 
 +  * **User data** – uživatelská část PDU, odpovídající SDU 
 +**Vztah:** Vrstva N vytvoří PDU tak, že obalí SDU (data z vrstvy N+1) vlastní hlavičkou → PDU = PCI + SDU 
 +  * **SAP (Service Access Point)** – rozhraní mezi dvěma sousedními vrstvami: 
 +    * *horní SAP* vrstvy N – vstup, kterým vrstva N poskytuje službu vrstvě N + 1 
 +    * *dolní SAP* vrstvy N – výstup, kterým vrstva N využívá službu vrstvy N − 1
  
-## IPv4 +Další pojmy: 
-IP protokol verze 4, správa adres je regionální, adresy jsou 32 bitové+  * **Entity (N)** – prvek vrstvy N, který realizuje část jejích funkcí 
 +  * **Peer Entities** – entity téže vrstvy, ale na různých uzlech (např. klient/server) 
 +  * **Service (N)** – služba poskytovaná vrstvou N vrstvě N + 1
  
-IPv4 adresa: +==== Multiplexing, Splitting, Segmenting ====
-například `1.1.1.1` (Cloudflare DNS)+
  
-IP adresa = `<network number> <host number>`+Různé vrstvy mohou přenášet data různě složitým způsobem – často dochází k mapování jednoho spojení nebo datové jednotky na více přenosů (nebo naopak). 
 +  * **Multiplexing / Demultiplexing**: Jedno spojení vrstvy N − 1 nese více spojení vrstvy N   
 +    * Příklad: více TCP spojení běžících paralelně přes jednu IP adresu (identifikováno porty)
  
-původně bylo rozděleno na třídy adres: +  * **Splitting / Recombining**: Jedno spojení vrstvy N je rozděleno mezi více spojení vrstvy N − 1   
-- A - $2^7-2$ (126) sítí, $2^{24}-2$ (16777214) hostitelů +    * Příklad: link aggregation (např. více fyzických linek sdružených do jednoho logického spojení)
-- B - $2^{14}-2$ (16382) sítí, $2^{16}-2$ (65534) hostitelů +
-- C - $2^{21}-2$ (2097150) sítí, $2^{8}-2$ (254) hostitelů +
-- D - multicast +
-- E - experimentální+
  
-multicastové adresy: +  * **Segmenting / Reassembling**: Velká SDU je rozdělena na více PDU, které se přenesou samostatně a následně opět složí   
-224.0.0.x - dobře známé skupiny +    * Příklady: IP fragmentace, segmentace v TCP
-239.x.x.x - lokální multicastové skupiny+
  
-maska podsítě (definuje hranici mezi síťovým a hostitelským číslem) +==== Zpracování chyb při přenosech ====
-např: 255.255.252.0 - $2^{10} - 2$ uzlů v síti+
  
-### vyhrazené IP adresy +Při přenosu dat může docházet k chybám – buď je odhalíme a požádáme o opakování (ARQ), nebo se je pokusíme rovnou opravit pomocí redundantních dat (FEC).
-- x.x.0.0 - adresa sítě +
-- 0.0.0.x - adresa uzlu +
-- 255.255.255.255 - omezený broadcast, neprojde přes router +
-- x.x.255.255 - omezený broadcast, prochází přes router +
-- 127.x.x.x - loopback, localhost (127.0.0.1) +
-- 10.0.0.0 - lokální síť třídy A +
-- 172.16.0.0 - 172.31.0.0 lokální síť třídy B +
-- 192.168.0.0 - 192.168.255.0 - lokální síť třídy C +
  
-v dnešní době již došly IPv4 adresy, proto se použvá NAT (Network Address Translation) - překládání adres, které umožňuje připojit více zařízení do jedné veřejné IP adresy +=== ARQ (Automatic Repeat reQuest) ===
-a NAPT (Network Address Port Translation) - překládání adres a portů, které umožňuje připojit více zařízení do jedné veřejné IP adresy a zároveň rozlišovat mezi nimi pomocí portů+
  
-## IPv6+Metody pro zajištění spolehlivosti pomocí potvrzování (ACK/NACK) a opakovaného přenosu:
  
-## ICMP+=== ARQ (Automatic Repeat reQuest) ===
  
-Slouží k hlášení problémů při zpracování IP paketů, je povinnou částí implementace IP. +**Stop-and-Wait ARQ** 
-Není určen k zajištění spolehlivosti, není používán v multicastu ani broadcastu.+  * Odesílatel pošle **jedinou** PDU a **zastaví se**, dokud nepřijde ACK. 
 +  * Časovač hlídá timeout; pokud ACK nepřijde, rámec se vyšle znovu. 
 +  * V *potrubí* („pipeline“) je vždy jen 1 rámec → **propustnost** 
 +    * $\eta = \frac{T(frame)}{T_{\text{frame}} + 2 \cdot RTT}$; kde RTT je Round Trip Time, na dlouhých linkách klesá k nule. 
 +  * *Výhody:* extrémně jednoduchá implementace, minimální vyrovnávací paměti. 
 +  * *Nevýhody:* malé využití linky, hodí se jen tam, kde je RTT malé a/nebo rámce krátké (jednoduché sériové linky, staré half-duplex rádiové modemy).
  
-Generování ICMP je volitelné.+**Go-back-N ARQ** 
 +  * Odesílatel udržuje **okno** velikosti *N* – může rozeslat až *N* rámců bez ACK. 
 +  * Přijímač potvrzuje **kumulativně** (ACK = „vše do čísla k jsem dostal v pořádku“). 
 +  * Pokud se ztratí rámec *i*, příjemce zahodí i všechny následující a pošle ACK k-1; odesílatel „skočí zpět“ a zopakuje **vše od i dál**. 
 +  * *Výhody:* výrazně lepší propustnost než Stop-and-Wait, vyžaduje jen jeden ACK na okno. 
 +  * *Nevýhody:* zbytečně opakuje i rámce, které dorazily správně; při delším RTT a vyšší chybovosti rychle klesá efektivita.
  
-Používá se například pro `ping` a `tracert` (traceroute).+**Selective Repeat ARQ** 
 +  * Oba konce mají okno; **každý rámec** se potvrzuje samostatným ACK nebo NACK. 
 +  * Přijímač si rámce, které dorazí mimo pořadí, odkládá do vyrovnávací paměti a čeká, až dorazí chybějící kusy, aby je pak mohl předat dál ve správném sledu. 
 +  * Odesílatel retransmituje **jen ty kusy, které opravdu chybí**. 
 +  * *Výhody:* nejvyšší možné využití šířky pásma; zbytečně se nic neopakuje → ideální pro linky s větším RTT (satellites), nebo když je ztrát málo, ale záleží na rychlosti. 
 +  * *Nevýhody:* složitější implementace, potřebuje víc paměti na oba buffery. Moderní TCP používá formu Selective Repeat – **SACK** (Selective ACK).
  
-## ARP (Address Resolution Protocol)+=== Detekce chyb (CRC / FCS) === 
 +  * **CRC (Cyclic Redundancy Check)** – zbytek po dělení dat polynomem, přenáší se spolu s rámcem. 
 +  * Detekuje většinu běžných chyb – typicky se používá na spojové vrstvě.
  
-poskytuje konverzi mezi IP adresou a MAC adresou +=== FEC (Forward Error Correction) === 
-používá se v IPv4 sítích+  * Přidává redundantní bity, které umožní příjemci chybu **opravit bez opakování přenosu**. 
 +  * Hodí se pro případy bez zpětného kanálu (DVB, satelity, streamy). 
 +  * Používají se např. blokové nebo konvoluční kódy.
  
-uzel sítě si udržuje tabulku ARP, která obsahuje IP adresy a odpovídající MAC adresy +{{:statnice:bakalar:pasted:20250603-180626.png}} {{:statnice:bakalar:pasted:20250603-181225.png}}
-pokud MAC není pro požadovanou IP adresu v tabulce, odešle ARP request (broadcast) a čeká na ARP reply (unicast) +
-pokud je MAC adresa v tabulce, odešle ARP reply (unicast) přímo na požadovanou IP adresu+
  
-## NDP+===== 2. Protokoly TCP/IP =====
  
-umožňuje zjistit linkovou adresu z IP adresy, detekuje změny v linkových adresách, hledá routery, zjišťuje parametry sítě, přesměrování, detekce duplicitních adres. +Protokolový zásobník TCP/IP je základní architekturou internetu. Nevznikl podle ISO/OSI, ale má podobnou strukturu. Obsahuje tyto vrstvy: 
-implementován pomocí ICMPv6+  * **Aplikační vrstva** – pohlcuje aplikační, prezentační a relační vrstvu OSI 
 +  * **Transportní vrstva** 
 +  * **Síťová vrstva** 
 +  * **Vrstva síťového rozhraní** – odpovídá spojové a fyzické vrstvě OSI
  
-## UDP (User Datagram Protocol)+TCP/IP protokoly definují, jak se data přenášejí od zdroje k cíli pomocí identifikace přes IP adresy. Podporují tyto způsoby doručení: 
 +  * **Unicast** – komunikace 1:1 
 +  * **Broadcast** – 1: všem v síti (např. 255.255.255.255) 
 +  * **Multicast** – 1: skupině zařízení 
 +  * **Anycast** – 1: nejbližšímu z více možných cílů (v IPv6)
  
-poskytuje aplikační rozhraní k IP+==== IPv4 ==== 
 +IPv4 je původní verze IP protokolu. Adresy jsou 32bitové, zapisované jako čtyři desetinná čísla (např. `1.1.1.1` (Cloudflare DNS)), správa adres je regionální
  
-neposkytuje spolehlivost (neprovádí kontrolu chyb ani nezajiššťuje doručení packetů / doručení ve správném pořadí)+IP Adresa má dvě části:   
 +  * **síťová část** (network number)   
 +  * **část hostitele** (host number)
  
-## TCP (Transmission Control Protocol)+Původně byly IP adresy rozděleny na **třídy**:
  
-zajišťuje spolehlivou komunikaci mezi aplikacemi (obdobně jako TCP, ale s implementovanými funkcemi pro spolehlivost)+  * **Třída A** – $2^7 - 2 = 126$ sítí, $2^{24} - 2 = 16777214$ hostitelů 
 +  * **Třída B** – $2^{14} - 2 = 16382$ sítí, $2^{16} - 2 = 65534$ hostitelů 
 +  * **Třída C** – $2^{21} - 2 = 2097150$ sítí, $2^8 - 2 = 254$ hostitelů 
 +  * **Třída D** – pro multicast 
 +  * **Třída E** – rezervováno pro experimenty
  
-zajišťuje: +**Multicastové adresy:** 
-- řízení datového toku +  * 224.0.0.x – dobře známé skupiny 
-- sekvenční číslování packetů +  * 239.x.x.x – lokální skupiny (organizace)
-- generování potvrzení (ACK) +
-- emuluje plně duplexní spojení +
-- segmentuje data do packetů+
  
-TCP congestion control - řízení zahlcení sítě +**Maska podsítě** definuje, kolik bitů tvoří síťovou část. 
-- slow start - zvyšuje rychlost přenosu dat, dokud nedojde k zahlcení sítě +  * např. 255.255.252.0 odpovídá síti s $2^{10} - 2 = 1022$ uzly
-- congestion avoidance - zmenšuje rychlost přenosu dat, dokud nedojde k zahlcení sítě +
-- fast retransmit - znovu odešle packet, který byl ztracen +
-- fast recovery - zmenšuje rychlost přenosu dat, dokud nedojde k zahlcení sítě+
  
-## DHCP (Dynamic Host Configuration Protocol) +=== Vyhrazené IPv4 adresy ===
-slouží k automatickému přidělování IP adres a dalších parametrů (např. maska podsítě, výchozí brána, DNS server) klientům v síti +
-DHCP server většinou běží na routeru nebo serveru v síti +
-DHCP server přiděluje IP adresy z předem definovaného rozsahu (poolu) IP adres (lze nastavit i statické IP adresy pro konkrétní MAC adresy)+
  
-## DNS (Domain Name System) +  * **x.x.0.0** – adresa celé sítě   
-převod slovních doménových jmen na IP adresy a naopak +  * **0.0.0.x** – adresa uzlu v neznámé síti   
-je zajištěn pomocí distribuované hierarchie serverů kde část serverů je zodpovědná za určité domény +  * **255.255.255.255** – omezený broadcast, neprojde přes router   
-rekurzivně hledáme IP adresu pro doménu kdy se postupně dotazujeme na servery zodpovědné za domény (server se může dotázat za nás, ale tato funkce je často vypnutá)+  * **x.x.255.255** – řízený broadcast, prochází přes router   
 +  * **127.x.x.x** – loopback (localhost), např. 127.0.0.1   
 +  * **10.0.0.0/8** – privátní síť (třída A)   
 +  * **172.16.0.0 – 172.31.0.0** – privátní sítě (třída B)   
 +  * **192.168.0.0 – 192.168.255.0** – privátní sítě (třída C)
  
-například překlad `cw.felk.cvut.cz` na `147.32.84.36` bude proveden přes servery zodpovědné za domény: +=== Vyčerpání adres a NAT ===
-* `.cz` +
-* `.cvut.cz` +
-* `.felk.cvut.cz` +
-* `.cw.felk.cvut.cz` +
-* a nakonec se dotáže na IP adresu `cw.felk.cvut.cz`+
  
-historicky se překlad adres řešil pomocí souboru `hosts.txt` který byl distribuován mezi počítače v síti, ale s rostoucím počtem počítačů v síti se tento způsob stal neudržitelným+Vzhledem k vyčerpání IPv4 adres se běžně používá:
  
-## Směrování v IP sítích+  * **NAT (Network Address Translation)** – více zařízení sdílí jednu veřejnou IP adresu 
 +  * **NAPT (Network Address Port Translation)** – překlad nejen adres, ale i portů → umožňuje rozlišit zařízení pomocí portů
  
 +Např. interní adresa `192.168.1.42:12345` může být zvenku viditelná jako `88.1.2.3:50001`.
  
 +==== IPv6 ====
  
 +IPv6 je nástupcem protokolu IPv4 – umožňuje přidělit mnohem více unikátních IP adres díky délce **128 bitů** (oproti 32 bitům u IPv4). Zároveň přináší zjednodušenou strukturu hlavičky a pokročilejší funkce (např. anycast, auto-konfiguraci).
  
 +**Zápis IPv6 adres:**
 +  * 8 bloků po 4 hexadecimálních číslicích, oddělených dvojtečkami  
 +    * např. `2001:0db8:85a3:0000:0000:8a2e:0370:7334`
 +  * lze zkrátit:
 +    * **vynechání úvodních nul**: `2001:db8:85a3:0:0:8a2e:370:7334`
 +    * **nahrazení sekvence nul** pomocí `::` – ale **jen jednou v adrese**: `2001:db8:85a3::8a2e:370:7334`
  
 +**Příklad zápisu v URL:** `http://[2001:db8::1]/`
  
-# 3. Síťové technologie+=== Struktura IPv6 adresy ===
  
-## Ethernet+Adresa se skládá z několika částí:
  
-Ethernet je skupina technologií pro přenos dat v lokálních sítích (LAN), pracující na linkové vrstvě ISO/OSI modelu. Byl vyvinut v 70. letech ve firmě Xerox. Standardizace probíhá pod označením **IEEE 802.3**.+  * **Globální směrovací prefix** – typicky 48 bitů 
 +  * **Identifikátor podsítě** – obvykle 16 bitů 
 +  * **Identifikátor rozhraní (interface ID)** – vždy 64 bitů   
 +    * často odvozen z MAC adresy pomocí **modifikovaného EUI-64**
  
-### Charakteristiky Ethernetu +**Zápis s prefixem:** např. `2001:db8:1234::/48`
-- Data se přenášejí v **MAC rámcích**. +
-- Přístupová metoda: **CSMA/CD** (Carrier Sense Multiple Access with Collision Detection). +
-- Moderní Ethernet využívá nejčastěji **kroucenou dvoulinku (twisted pair)** nebo **optické vlákno**. +
-- Fyzická topologie může být různá, logická topologie je obvykle **hvězdicová**. +
-- K zabránění vzniku smyček se využívá **Spanning Tree Protocol (STP)**.+
  
-### Varianty Ethernetu +=== Typy IPv6 adres ===
-- Původně **10Base2 (koaxiální kabel)**, dnes nejčastěji **100Base-TX**, **1000Base-T** (gigabitový Ethernet). +
-- Standardní označení: **IEEE 802.3xx**.+
  
-### Propojovací zařízení v Ethernet sítích +  * **Unicast** – identifikuje jeden konkrétní uzel 
-- **Opakovač (repeater)** – zvětšuje dosah sítě, regeneruje signál. +  * **Multicast** – odeslání dat celé skupině uzlů   
-- **Rozbočovač (hub)** – pracuje na fyzické vrstvě, vysílá data na všechny porty (vyšší koliznost). +    * prefix `ff00::/8` 
-- **Most (bridge)** – filtruje provoz mezi segmenty sítě. +  * **Anycast** – doručení nejbližšímu uzlu ze skupiny (pouze v IPv6) 
-- **Přepínač (switch)** – pracuje na linkové vrstvě, předává rámce pouze na cílový port na základě MAC adresy, odděluje kolizní domény.+  * (IPv6 **nepodporuje broadcast** – nahrazen multicastem)
  
-## Wi-Fi+=== Vybrané speciální adresy ===
  
-Wi-Fi je bezdrátová technologie standardizovaná jako **IEEE 802.11**, využívající rádiový přenos.+  * `::/128` – nedefinovaná adresa 
 +  * `::1/128` – loopback (ekvivalent 127.0.0.1) 
 +  * `fe80::/10` – link-local adresa (pro komunikaci v rámci jedné linky) 
 +  * `fc00::/7` – unikátní lokální adresy (náhrada IPv4 privátních) 
 +  * `ff00::/8` – multicastové adresy
  
-### Vlastnosti Wi-Fi +=== Zvláštní poznámky ===
-- Flexibilní – žádná nutná fyzická infrastruktura. +
-- Využívá pásma **2,4 GHz**, **5 GHz** a nově **6 GHz**. +
-- Přístupová metoda: **CSMA/CA** (Carrier Sense Multiple Access with Collision Avoidance). +
-- Bezdrátové stanice se nemusejí navzájem slyšet → eliminace kolizí probíhá přes reservation mechanism a potvrzování (ACK).+
  
-### Typy sítí +  * Jedno rozhraní **může mít více IPv6 adres** (např. link-local + globální). 
-- **Ad-hoc** – přímá komunikace mezi zařízeními bez Access Pointu. +  * Pro označení příslušnosti k síti se používá **prefix**: `adresa/délka`, např. `2001:db8::/32` 
-- **Infrastructure mode** – komunikace přes **Access Point (AP)**.+  * IPv6 adresa se **v URL zapisuje do hranatých závorek**, např. `http://[2001:db8::1]/`
  
-### Spolehlivost +==== ICMP (Internet Control Message Protocol) ====
-- Standard **IEEE 802.11** definuje vlastní vrstvu zajišťující spolehlivost. Data se tedy mezi Wi-Fi routerem a cílovým zařízením nemohou ztratit i při použití UDP protokolu.+
  
-### Bezpečnostní standardy +ICMP je součástí IP protokolu a slouží k **hlášení problémů při zpracování IP paketů**. Nezajišťuje spolehlivost komunikace – je určen pro diagnostiku a řízení.
-- **WEP** (zastaralý), **WPA**, **WPA2** (AES šifra), **WPA3**.+
  
-## Přístupové metody+  * Povinná součást implementace IPv4 i IPv6. 
 +  * Nepoužívá se pro **broadcast** ani **multicast**. 
 +  * Generování ICMP zpráv je **volitelné** – typicky je generují směrovače. 
 +  * Neposílají se, pokud je zdrojová adresa neplatná (např. `0.0.0.0`, `127.0.0.1`…).
  
-### Deterministické přístupové metody +**Příklady využití:** 
-- **Master-slave** – centrální master přiděluje přístup slave uzlům. +  * `ping` – posílá ICMP Echo Request, očekává Echo Reply 
-- **Token passing** – uzly si předávají token, který umožňuje vysílání. +  * `traceroute` – využívá Time Exceeded zprávy ke zjištění cesty paketů
-- **TDMA (Time Division Multiple Access)** – přenosový kanál je rozdělen do časových slotů. +
-- **Delegated token** – arbitr rozesílá výzvy k vysílání.+
  
-### Nedeterministické přístupové metody +**Typické typy ICMP zpráv:** 
-- **CSMA** – uzel vysílá po zjištění volného kanálu. +  * Echo Request (8) / Reply (0) ; Destination Unreachable (3) ; Time Exceeded (11) ; Redirect (5)
-- **CSMA/CD** – Ethernet, detekce kolizí a opakování přenosu po náhodném zpoždění. +
-- **CSMA/CA** – Wi-Fi, předcházení kolizím pomocí rezervace kanálu a náhodného back-off intervalu. +
-- **CSMA/CR** – kolize řešeny prioritou uzlů.+
  
-## VLAN (Virtual LAN)+==== ARP (Address Resolution Protocol) ====
  
-Virtuální LAN umožňuje logicky oddělit provoz na sdílené fyzické infrastruktuře. Definováno standardem **IEEE 802.1Q**.+ARP se používá pro **získání MAC adresy podle IP adresy** – na linkové vrstvě IPv4 sítí.
  
-### Vlastnosti VLAN +  * Funguje jen v rámci jedné fyzické sítě (neprochází routery). 
-- Oddělení provozu mezi skupinami zařízení. +  * Síťový uzel si udržuje **ARP cache** – tabulku IP ↔ MAC. 
-- Přepínače (switches) přidávají do rámců **VLAN tagy** s číslem VLAN a volitelnou prioritou. +  * Pokud MAC adresa není známa: 
-- VLAN tagy umožňují i řízení QoS (Quality of Service). +    * odesílá se **ARP request** (broadcast) 
-- **Spanning Tree Protocol** je aplikován samostatně pro každou VLAN.+    * cílový uzel odpoví **ARP reply** (unicast) 
 +  * ARP odpověď může aktualizovat existující záznamy v cache.
  
-## Rozdíly mezi rozbočovačem a přepínačem+**Pouze pro IPv4.** V IPv6 se místo toho používá NDP.
  
-**Rozbočovač (hub)** pracuje na fyzické vrstvě ISO/OSI modelu. Data vysílá všem připojeným portům formou broadcastu, což vede k vysoké míře kolizí a nízké efektivitě přenosu. Jeho bezpečnost je velmi nízká, protože je možné snadno odposlouchávat komunikaci. Rozbočovače byly využívány historicky a dnes se prakticky nepoužívají.+==== NDP (Neighbor Discovery Protocol) ====
  
-**Přepínač (switch)** pracuje na linkové vrstvě ISO/OSI modelu. Data cíleně přeposílá pouze konkrétnímu zařízení na základě MAC adresy, čímž odděluje kolizní domény a výrazně zvyšuje efektivitu sítě. Přepínače také poskytují vyšší úroveň bezpečnosti, jelikož odposlech provozu je složitější. V současnosti jsou přepínače běžným a standardním prvkem v moderních LAN sítích.+NDP je protokol používaný v IPv6 sítích pro správu sousedů na linkové vrstvě. Implementuje se pomocí **ICMPv6 zpráv**. 
 + 
 +**Zajišťuje:** 
 +  * zjištění linkové adresy souseda (obdoba ARP) 
 +  * detekci změn linkových adres 
 +  * detekci duplicitních adres 
 +  * přesměrování a hledání směrovačů (router discovery) 
 +  * získávání parametrů sítě – prefixy, MTU, směrovače… 
 + 
 +**Používané zprávy ICMPv6:** Router Solicitation / Advertisement ; Neighbor Solicitation / Advertisement ; Redirect 
 + 
 +==== UDP (User Datagram Protocol) ==== 
 + 
 +UDP poskytuje jednoduché aplikační rozhraní k IP vrstvě. Přenáší **datagramy (packety)** mezi aplikacemi, ale **neposkytuje žádné záruky** doručení, pořadí ani detekce chyb. 
 +  * **Neposkytuje:** spolehlivost přenosu (žádné potvrzování ani opakování), emulaci spojení, řízení toku 
 +  * **Používá se tam, kde je důležitá rychlost a nízká režie**, např. VoIP, DNS, streamy 
 + 
 +**Struktura hlavičky UDP (8 bajtů):** 
 +  * Source Port 
 +  * Destination Port 
 +  * Length – délka celého UDP paketu 
 +  * Checksum – volitelný kontrolní součet 
 + 
 +==== TCP (Transmission Control Protocol) ==== 
 + 
 +TCP zajišťuje **spolehlivou spojovanou komunikaci** mezi aplikacemi. Na rozdíl od UDP garantuje doručení dat ve správném pořadí, bez ztrát a duplikací. 
 + 
 +  * Emuluje **plně duplexní spojení** – obě strany mohou komunikovat současně 
 +  * Zajišťuje: 
 +    * **sekvenční číslování** segmentů 
 +    * **potvrzování (ACK)** přijatých dat 
 +    * **řízení toku** pomocí okna 
 +    * **opakování ztracených dat** 
 +    * **segmentaci** větších bloků dat 
 + 
 +=== TCP spojení === 
 + 
 +  * Navázání: tzv. **3-way handshake** (SYN → SYN+ACK → ACK) 
 +  * Ukončení: výměna FIN a ACK 
 + 
 +=== TCP congestion control (řízení zahlcení) === 
 + 
 +TCP dynamicky upravuje rychlost přenosu na základě ztrát paketů a odezvy: 
 +  * **Slow start:** Začíná s malým oknem, které se exponenciálně zvětšuje, rychle detekuje maximální přenosovou kapacitu 
 +  * **Congestion avoidance:** Po dosažení prahu (ssthresh) přechází na lineární zvyšování, zabraňuje zahlcení sítě 
 +  * **Fast retransmit:** Pokud přijdou 3 duplicitní ACK, předpokládá se ztráta a segment se odešle znovu bez čekání na timeout 
 +  * **Fast recovery:** Po ztrátě nastaví nové (nižší) okno, ale nevstupuje znovu do slow start, umožňuje pokračovat v přenosu s mírným omezením 
 + 
 +==== DHCP (Dynamic Host Configuration Protocol) ==== 
 + 
 +DHCP slouží k **automatickému přidělování síťových parametrů** klientům v síti – nejčastěji IP adresa, maska podsítě, výchozí brána, DNS server apod. 
 + 
 +  * DHCP server běží obvykle na routeru nebo jiném síťovém zařízení 
 +  * Adresy jsou přidělovány z definovaného **adresního rozsahu (poolu)** 
 +  * Lze nastavit i **statické přidělení IP** pro konkrétní MAC adresu 
 +  * Protokol běží nad **UDP** a využívá **broadcast** zprávy 
 + 
 +Používá se při spuštění počítače nebo zařízení pro získání konfigurace bez zásahu uživatele. 
 + 
 +==== DNS (Domain Name System) ==== 
 + 
 +DNS zajišťuje **překlad doménových jmen na IP adresy a zpět**. Umožňuje používat čitelné názvy místo číselných IP adres. 
 + 
 +  * Funguje jako **hierarchický distribuovaný systém** 
 +  * Každá část doménového jména je obsluhována jiným serverem (např. `.cz`, `.cvut.cz`, …) 
 +  * Servery mají **autoritativní zónu** – zodpovídají za konkrétní část doménového stromu 
 +  * Dotazy mohou být **rekurzivní** (server hledá za nás) nebo **iterativní** (vrací jen odkazy dál) 
 + 
 +**Příklad překladu `cw.felk.cvut.cz`:** 
 +  * DNS klient postupně získává IP dotazem na: 
 +    * `.cz` 
 +    * `.cvut.cz` 
 +    * `.felk.cvut.cz` 
 +    * `.cw.felk.cvut.cz` 
 + 
 +**Typy DNS serverů:** 
 +  * *Primární* – má autoritu a provádí editaci záznamů 
 +  * *Sekundární* – kopie dat od primárního serveru 
 +  * *Caching only* – ukládá odpovědi, snižuje zátěž sítě, není autoritativní 
 + 
 +**Historie:** 
 +  * Dříve se překlad řešil lokálně přes soubor `hosts.txt`, který byl sdílen mezi počítači 
 +  * S růstem sítě se tato metoda stala neudržitelnou → vznik DNS 
 + 
 + 
 +==== Směrování v IP sítích ==== 
 + 
 +Směrování (routing) zajišťuje **doručení paketů k cílové IP adrese**, i pokud se nachází v jiné síti. Směrování probíhá na **síťové vrstvě**. 
 + 
 +**Zajišťuje jej směrovač (router):** 
 +  * Analyzuje cílovou IP adresu v hlavičce paketu 
 +  * Vyhledá nejlepší cestu podle **směrovací tabulky** 
 +  * Paket předá dál – na MAC adresu následujícího uzlu (next hop) 
 +  * Může propojovat sítě s různými fyzickými i linkovými technologiemi (např. Ethernet a Wi-Fi) 
 + 
 +**Charakteristiky směrování:** 
 +  * Směrovač zná **topologii sítě** (nebo její část) 
 +  * Směrovací tabulka se může plnit staticky nebo dynamicky (např. pomocí OSPF, BGP…) 
 +  * Směrovače mohou v síti tvořit **zpoždění** – při přetížení mohou některé pakety zahodit 
 + 
 +**Gateway:** 
 +  * Prvek pracující na vyšších vrstvách (často až **aplikační**) 
 +  * Umožňuje propojení různých systémů nebo protokolových rodin – například mezi OSI a TCP/IP 
 +  * Překládá formáty, adresy i logiku protokolů 
 + 
 + 
 +===== 3. Síťové technologie ===== 
 + 
 +==== Ethernet ==== 
 + 
 +Ethernet je nejrozšířenější technologie pro **lokální sítě (LAN)**. Patří do linkové vrstvy ISO/OSI modelu a byl vyvinut ve firmě Xerox v 70. letech. Standardizace probíhá pod označením **IEEE 802.3**. 
 + 
 +=== Charakteristiky Ethernetu === 
 +  * Přenáší data v rámci **MAC rámců** 
 +  * Přístupová metoda: **CSMA/CD** – kolize jsou detekovány a rámce znovu odeslány 
 +  * Využívá **kroucenou dvoulinku** nebo **optické vlákno** 
 +  * **Fyzická topologie** může být různá, ale **logická topologie** je většinou **hvězdicová** 
 +  * Pro zamezení smyček se používá **Spanning Tree Protocol (STP)** 
 + 
 +=== Varianty Ethernetu === 
 +  * Historicky: **10Base2** (koaxiální kabel) 
 +  * Dnes běžně: **100Base-TX**, **1000Base-T** (gigabitový Ethernet) 
 +  * Označení podle standardu: **IEEE 802.3xx**, např.: 
 +    * `802.3a` – 10Base2 
 +    * `802.3ab` – 1000Base-T 
 + 
 +=== Propojovací zařízení v Ethernet sítích === 
 +  * **Opakovač (repeater)** – regeneruje signál, zvětšuje dosah (používá se omezeně, max. 2–4 za sebou) 
 +  * **Rozbočovač (hub)** – pracuje na fyzické vrstvě, data vysílá na všechny porty, nevytváří oddělené kolizní domény 
 +  * **Most (bridge)** – filtruje provoz mezi segmenty sítě 
 +  * **Přepínač (switch)** – pracuje na linkové vrstvě, přeposílá rámce jen na cílový port podle MAC adresy, **odděluje kolizní domény** 
 + 
 +==== Wi-Fi ==== 
 + 
 +Wi-Fi je bezdrátová síťová technologie, která umožňuje připojení bez nutnosti fyzické kabeláže. Standardizována je jako **IEEE 802.11**. 
 + 
 +=== Vlastnosti Wi-Fi === 
 +  * **Flexibilita** – není potřeba fyzická infrastruktura, zařízení lze snadno přemisťovat 
 +  * Přenos probíhá v pásmech **2,4 GHz**, **5 GHz** a nově **6 GHz** 
 +  * Přístupová metoda: **CSMA/CA (Collision Avoidance)** – kolizím se předchází, protože zařízení se nemusí vždy navzájem slyšet 
 +  * Kolize se eliminují pomocí **rezervačních mechanismů** (RTS/CTS) a **potvrzování přenosu (ACK)** 
 + 
 +=== Typy sítí === 
 +  * **Ad-hoc** – přímé spojení mezi zařízeními, bez Access Pointu 
 +  * **Infrastructure mode** – připojení zařízení přes **Access Point (AP)**, běžný režim ve většině sítí 
 + 
 +=== Spolehlivost přenosu === 
 +  * Standard **IEEE 802.11** obsahuje vlastní mechanismy zajišťující spolehlivost přenosu 
 +  * I při použití nespolehlivých protokolů (např. UDP) rámce mezi zařízeními nesmí být ztraceny 
 + 
 +=== Bezpečnostní standardy === 
 +  * **WEP** – původní, dnes považován za nebezpečný 
 +  * **WPA** – dočasná náhrada 
 +  * **WPA2** – bezpečné šifrování pomocí AES, dnes nejrozšířenější 
 +  * **WPA3** – moderní standard s vyšší úrovní zabezpečení 
 + 
 +==== Přístupové metody ==== 
 + 
 +Přístupová metoda určuje, jakým způsobem zařízení sdílejí přenosové médium – tedy **kdo a kdy může vysílat**. Dělíme je na deterministické a nedeterministické. 
 + 
 +=== Deterministické přístupové metody === 
 +Kolize **vůbec nenastávají** – přístup je řízený a předem daný. 
 + 
 +  * **Master-slave** 
 +    * Jeden uzel (*master*) přiděluje právo vysílat ostatním (*slave*). 
 +    * Slave nemůže sám od sebe vysílat. 
 +    * Využití např. v průmyslových distribuovaných systémech. 
 +    * *+* jednoduchá implementace, *–* závislost na funkci mastera 
 +  * **Token passing** 
 +    * Uzel může vysílat jen, pokud drží **token** – speciální datovou jednotku. 
 +    * Token se předává v kruhu. 
 +    * *+* rovnost uzlů, *–* ztráta tokenu = dočasná nefunkčnost 
 +  * **TDMA (Time Division Multiple Access)** 
 +    * Kanál je rozdělen na **časové sloty**, každé zařízení má přidělený svůj čas. 
 +    * Umožňuje více uživatelům sdílet stejné médium bez kolizí. 
 +  * **Delegated token** 
 +    * Právo vysílat přiděluje **arbitr** vysíláním výzev. 
 +    * *–* závislost na uzlu arbitra 
 + 
 +=== Nedeterministické přístupové metody === 
 +Kolize **mohou nastat**, ale protokol s nimi počítá. 
 + 
 +  * **CSMA (Carrier Sense Multiple Access)** 
 +    * Uzel čeká, dokud je médium volné, pak vysílá. 
 +    * Pokud médium není volné, čeká. 
 +  * **CSMA/CD (Collision Detection)** – Ethernet 
 +    * Po detekci kolize vysílání přeruší, čeká **náhodný čas (back-off)** a zkouší znovu. 
 +  * **CSMA/CA (Collision Avoidance)** – Wi-Fi 
 +    * Uzel oznámí úmysl vysílat (např. RTS/CTS), čeká, zda je médium volné. 
 +    * Eliminace kolizí u zařízení, která se navzájem neslyší. 
 +  * **CSMA/CR (Collision Resolution)** 
 +    * Uzlům je přiřazena **priorita** – v případě kolize má přednost uzel s vyšší prioritou. 
 +    * Kolize se neřeší náhodným zpožděním, ale podle pravidel. 
 + 
 +==== VLAN (Virtual LAN) ==== 
 + 
 +**VLAN (Virtual LAN)** umožňuje **logické oddělení provozu** na sdílené fyzické infrastruktuře – bez nutnosti fyzicky oddělených kabeláží. Definováno standardem **IEEE 802.1Q**. 
 + 
 +=== Vlastnosti VLAN === 
 +  * Oddělení komunikace mezi skupinami zařízení – **každá VLAN funguje jako samostatná síť** 
 +  * Implementace je zajištěna pomocí **přepínačů (switchů)**, které přidávají do rámců tzv. **VLAN tagy** 
 +    * VLAN tag obsahuje **číslo VLAN** a volitelně **prioritu** 
 +  * VLAN tagy mohou být využity i pro řízení **QoS (Quality of Service)** 
 +  * **Spanning Tree Protocol (STP)** je spuštěn **samostatně pro každou VLAN** 
 + 
 +Díky VLAN je možné například v jedné firmě oddělit síť pro zaměstnance, tiskárny a návštěvníky, i když sdílejí stejné fyzické připojení. 
 + 
 +==== Rozdíly mezi rozbočovačem a přepínačem ==== 
 + 
 +**Rozbočovač (hub)** 
 +  * Pracuje na **fyzické vrstvě** ISO/OSI modelu 
 +  * Data vysílá **všem portům** – forma broadcastu 
 +  * Vede k vysoké míře kolizí a nízké efektivitě 
 +  * **Bezpečnost je nízká**, protože každý může slyšet vše 
 +  * Dnes je **zastaralý** a prakticky nepoužívaný 
 + 
 +**Přepínač (switch)** 
 +  * Pracuje na **linkové vrstvě** 
 +  * Data přeposílá **cíleně** podle MAC adresy 
 +  * **Odděluje kolizní domény**, zvyšuje efektivitu přenosu 
 +  * **Bezpečnější** než hub – odposlech je obtížnější 
 +  * Je běžnou součástí moderních LAN sítí
  
-</markdow 
-n> 
Navigation

Playground

QR Code
QR Code statnice:bakalar:b4b38psia (generated for current page)