The wiki page is under active construction, expect bugs.

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.

B4B38PSIA

  • ISO/OSI model – funkce vrstev a komunikace mezi nimi, PDU, SDU, multiplexování, splitting, segmentace. Metody zpracování chyb při datových přenosech, dopředná chybová korekce, ARQ metody, jejich vlastnosti a vhodné aplikační nasazení, CRC a jeho vlastnosti.
  • Protokoly TCP/IP – IPv4, IPv6, ICMP, ARP, NDP, TCP, UDP, DHCP, systém DNS, princip směrování v IP sítích.
  • Síťové technologie – Ethernet a WiFi, přístupové metody, adresace, technologie VLAN, funkční rozdíly rozbočovač vs. přepínač.

ISO/OSI model

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.

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.

  • 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)

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

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

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í

Přenosová pásma

  • Základní pásmo (baseband) – data se přenáší přímo jako 0/1 (např. Ethernet)
  • Přeložené pásmo (broadband) – data se modulují na vyšší frekvence (např. Wi-Fi)

Příklady standardů fyzické vrstvy

  • RS-232, RS-485 – sériová rozhraní, často v průmyslovém prostředí
  • IEEE 802.3 (Ethernet) – fyzická vrstva pro kabelové sítě
  • IEEE 802.11 (Wi-Fi) – bezdrátový přenos signálu

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á.

Může pracovat:

  • spolehlivě či nespolehlivě – s detekcí/nápravou chyb nebo bez
  • spojovaně či nespojovaně – s navazováním spojení nebo bez

Hlavní zodpovědnosti spojové vrstvy:

  • Synchronizace rámců – rozpoznání začátku a konce rámce, správné zpracování celé struktury rámce
  • Media Access Control (MAC) – řízení přístupu ke sdílenému médiu a řešení kolizí
    1. CSMA/CD – detekce kolize (Ethernet)
    2. CSMA/CA – prevence kolize (Wi-Fi)
    3. Token passing – řízený přístup
  • 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)

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ě.

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

Nejběžnějším síťovým protokolem je IP (Internet Protocol), včetně jeho verzí IPv4 a IPv6.

Hlavní zodpovědnosti síťové vrstvy:

  • Logická adresace – přiřazení jedinečné IP adresy každému zařízení v síti
  • Směrování (routing) – hledání nejlepší cesty k cílovému uzlu:
    1. neadaptivní (statické) – trasy se nemění podle zátěže; vhodné pro jednoduché topologie
    2. adaptivní (dynamické) – trasy se přizpůsobují aktuální síťové situaci (např. pomocí OSPF, BGP)
    3. izolované (distance-vector) – router zná jen informace od sousedů (pomalejší reakce)
    4. 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

4. Transportní vrstva (Transport)

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.

Např. přenos souboru vyžaduje vysokou spolehlivost, zatímco videohovor raději upřednostní nízkou latenci.

Transportní protokoly běží pouze v koncových uzlech (klienti, servery). Samotná síť (např. routery) je nevyužívá – poskytují aplikačně specifické funkce.

Zodpovědnosti transportní vrstvy:

  • Zvýšení spolehlivosti – číslování segmentů, potvrzování (ACK), opětovné vysílání (ARQ)
  • Virtuální spojení – řízení spojení mezi dvěma aplikacemi (navázání, udržování, ukončení)
  • Segmentace a sestavení (re-assembly) – rozdělení velkých zpráv na části a opětovné složení
  • Řízení toku a zahlcení – zabránění přetížení příjemce nebo sítě
  • Multiplexing portů – více aplikací na jednom zařízení používá různé porty
  • Volitelně QoS, šifrování, prioritizace

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)

5. Relační vrstva (Session)

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.

Možné funkce relační vrstvy:

  • Synchronizační body (check-pointing) – pro možnost obnovení po chybě bez nutnosti začít znovu
  • Koordinace více datových toků – např. současné přehrávání audio a video streamu
  • Řízení dialogu – určení, kdo kdy „mluví“, half-duplex/full-duplex komunikace
  • Š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)

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í).

Prezentační vrstva proto provádí potřebné konverze a úpravy, aby byla data pochopitelná pro příjemce.

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

7. Aplikační vrstva (Application)

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í.

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.

  • 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.

Funkce aplikační vrstvy:

  • Poskytuje přístup ke konkrétním síťovým službám (HTTP, FTP, DNS, SMTP, MQTT…)
  • Definuje příkazy, odpovědi, formát zpráv
  • Zajišťuje autentizaci a autorizaci

PDU × SDU a komunikace mezi vrstvami

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

Další pojmy:

  • 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

Multiplexing, Splitting, Segmenting

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)
  • Splitting / Recombining: Jedno spojení vrstvy N je rozděleno mezi více spojení vrstvy N − 1
    • Příklad: link aggregation (např. více fyzických linek sdružených do jednoho logického spojení)
  • Segmenting / Reassembling: Velká SDU je rozdělena na více PDU, které se přenesou samostatně a následně opět složí
    • Příklady: IP fragmentace, segmentace v TCP

Zpracování chyb při přenosech

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

ARQ (Automatic Repeat reQuest)

Metody pro zajištění spolehlivosti pomocí potvrzování (ACK/NACK) a opakovaného přenosu:

ARQ (Automatic Repeat reQuest)

Stop-and-Wait ARQ

  • 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).

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.

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

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ě.

FEC (Forward Error Correction)

  • 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.

2. Protokoly TCP/IP

Protokolový zásobník TCP/IP je základní architekturou internetu. Nevznikl podle ISO/OSI, ale má podobnou strukturu. Obsahuje tyto vrstvy:

  • 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

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)

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í

IP Adresa má dvě části:

  • síťová část (network number)
  • část hostitele (host number)

Původně byly IP adresy rozděleny na třídy:

  • 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

Multicastové adresy:

  • 224.0.0.x – dobře známé skupiny
  • 239.x.x.x – lokální skupiny (organizace)

Maska podsítě definuje, kolik bitů tvoří síťovou část.

  • např. 255.255.252.0 odpovídá síti s $2^{10} - 2 = 1022$ uzly

Vyhrazené IPv4 adresy

  • x.x.0.0 – adresa celé sítě
  • 0.0.0.x – adresa uzlu v neznámé síti
  • 255.255.255.255 – omezený broadcast, neprojde přes router
  • 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)

Vyčerpání adres a NAT

Vzhledem k vyčerpání IPv4 adres se běžně používá:

  • 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]/`

Struktura IPv6 adresy

Adresa se skládá z několika částí:

  • 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

Zápis s prefixem: např. `2001:db8:1234::/48`

Typy IPv6 adres

  • Unicast – identifikuje jeden konkrétní uzel
  • Multicast – odeslání dat celé skupině uzlů
    • prefix `ff00::/8`
  • Anycast – doručení nejbližšímu uzlu ze skupiny (pouze v IPv6)
  • (IPv6 nepodporuje broadcast – nahrazen multicastem)

Vybrané speciální adresy

  • `::/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

Zvláštní poznámky

  • Jedno rozhraní může mít více IPv6 adres (např. link-local + globální).
  • Pro označení příslušnosti k síti se používá prefix: `adresa/délka`, např. `2001:db8::/32`
  • IPv6 adresa se v URL zapisuje do hranatých závorek, např. `http://[2001:db8::1]/`

ICMP (Internet Control Message Protocol)

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í.

  • 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`…).

Příklady využití:

  • `ping` – posílá ICMP Echo Request, očekává Echo Reply
  • `traceroute` – využívá Time Exceeded zprávy ke zjištění cesty paketů

Typické typy ICMP zpráv:

  • Echo Request (8) / Reply (0) ; Destination Unreachable (3) ; Time Exceeded (11) ; Redirect (5)

ARP (Address Resolution Protocol)

ARP se používá pro získání MAC adresy podle IP adresy – na linkové vrstvě IPv4 sítí.

  • Funguje jen v rámci jedné fyzické sítě (neprochází routery).
  • Síťový uzel si udržuje ARP cache – tabulku IP ↔ MAC.
  • Pokud MAC adresa není známa:
    • odesílá se ARP request (broadcast)
    • cílový uzel odpoví ARP reply (unicast)
  • ARP odpověď může aktualizovat existující záznamy v cache.

Pouze pro IPv4. V IPv6 se místo toho používá NDP.

NDP (Neighbor Discovery Protocol)

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í
Navigation

Playground

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