BI-SPOL.21-24 (BI-PSI.21)
ISO/OSI model, enkapsulace a dekapsulace posílaných dat, princip IP adresace. Linková vrstva, podvrstvy LLC, MAC, síťová zařízení, princip přepínání, VLAN. Síťová vrstva, směrovače, princip směrování, protokoly IPv4 a IPv6, statické a dynamické směrování.
📚 ISO/OSI referenční model – 7 vrstev
Klíčová vlastnost modelu: vrstvy jsou funkčně disjunktní – každá vrstva spolupracuje pouze s vrstvou bezprostředně nad a pod ní, a komunikuje s odpovídající vrstvou na vzdálené stanici (tzv. peer-to-peer komunikace vrstev).
| # | Vrstva | Funkce | PDU | Příklady protokolů / zařízení |
|---|---|---|---|---|
| 7 | Aplikační | Rozhraní pro aplikace | Data | HTTP, FTP, SMTP, DNS |
| 6 | Prezentační | Formát dat, šifrování, komprese | Data | TLS/SSL, XML, ASCII |
| 5 | Relační | Řízení sezení (session) | Data | RPC, NetBIOS, NFS |
| 4 | Transportní | End-to-end doručení, porty | Segment | TCP, UDP |
| 3 | Síťová | Logická adresace, směrování | Paket / Datagram | IP, ICMP; Router |
| 2 | Linková | Fyzická adresace, přístup k médiu | Rámec (Frame) | Ethernet, VLAN; Switch, Bridge |
| 1 | Fyzická | Přenos bitů přes médium | Bity | UTP, optika, Wi-Fi; Hub, Repeater |
Vrstvy umožňují nezávislý vývoj – výrobce switche nemusí řešit TCP, výrobce operačního systému nemusí řešit fyzické médium. Změna na jedné vrstvě (např. přechod na optiku) neovlivní vyšší vrstvy.
Zařízení v síti pracují jen na vrstvách, které „vidí": Hub pracuje na vrstvě 1, Switch na vrstvě 2, Router na vrstvě 3.
📦 Enkapsulace a dekapsulace dat
PDU = hlavička vrstvy + data (PDU vyšší vrstvy)
- PDU7 (Aplikační) = ALH + DATA
- PDU6 (Prezentační) = PLH + PDU7
- PDU5 (Relační) = SLH + PDU6
- PDU4 (Transportní) = TLH + PDU5 → Segment
- PDU3 (Síťová) = NLH + PDU4 → Paket
- PDU2 (Linková) = DLH + PDU3 → Rámec
- PDU1 (Fyzická) → Bity
Komunikace probíhá vždy na úrovni stejných vrstev! Aplikační vrstva stanice A logicky komunikuje s aplikační vrstvou stanice B, i když fyzicky data prochází všemi sedmi vrstvami. Každá vrstva „chápe" jen svoji část dat, zbytek považuje za neprůhledný obsah.
Dekapsulace je opačný proces na přijímající straně – každá vrstva odebere svoji hlavičku a předá data vrstvě výše.
🌐 TCP/IP model vs. OSI model
V praxi se používá TCP/IP model (4 vrstvy), který sloučil horní 3 vrstvy OSI do jedné aplikační vrstvy:
| TCP/IP vrstva | Odpovídá OSI vrstvám |
|---|---|
| Aplikační | OSI 7, 6, 5 |
| Transportní | OSI 4 |
| Internetová (IP) | OSI 3 |
| Síťový přístup | OSI 2, 1 |
IP protokol se týká síťové (3.) vrstvy ISO/OSI modelu.
🔢 Princip IP adresace a IPv4
Proč 32 bitů? V 80. letech se zdálo, že 2³² ≈ 4 miliardy adres stačí. Kolem roku 1995 se ukázalo, že nestačí → vznikl IPv6 se 128 bity (3×10³⁸ adres).
Zápis IPv4: 32 bitů se zapisuje jako 4 oktety v desítkové soustavě oddělené tečkami: 192.168.1.1
- IPv4 adresa: 32 bitů, max. 4 294 967 296 adres
- IPv6 adresa: 128 bitů, max. ~3,4 × 10³⁸ adres
Hierarchická adresace umožňuje agregaci tras ve směrovacích tabulkách (místo milionů záznamů stačí tisíce). Bez hierarchie by směrování v Internetu nebylo škálovatelné.
🔲 Síťová maska, prefix a adresa sítě
IP/prefix (CIDR notace), např. 192.168.1.0/24.Maska je posloupnost N jedniček zleva a (32-N) nul zprava. Prefix /24 = maska 255.255.255.0.
- Adresa sítě = nejnižší adresa rozsahu (hostitelské bity = 0); např. pro /30 → 120
- Broadcast = nejvyšší adresa rozsahu (hostitelské bity = 1); pro /30 → 123
- Brána (gateway) = typicky druhá nejnižší nebo druhá nejvyšší adresa
Výpočet adresy sítě: bitový AND IP adresy a masky sítě.
Příklad pro /30 (4 adresy, z toho 2 využitelné pro stanice):
123.122.120.120/30→ adresa sítě123.122.120.121→ stanice123.122.120.122→ brána123.122.120.123→ broadcast
Pro prefix /N je hostitelských bitů H = 32-N. Celkem adres: 2H. Využitelných pro stanice: 2H - 2 (broadcast + adresa sítě). Bez brány: 2H - 3.
| Prefix | Maska | Počet adres | Využitelných |
|---|---|---|---|
| /8 | 255.0.0.0 | 16 777 216 | 16 777 214 |
| /16 | 255.255.0.0 | 65 536 | 65 534 |
| /24 | 255.255.255.0 | 256 | 254 |
| /30 | 255.255.255.252 | 4 | 2 |
📋 Speciální adresní rozsahy IPv4
| Rozsah | Typ | Použití |
|---|---|---|
| 10.0.0.0/8 | Privátní | Vnitřní sítě (velké organizace) |
| 172.16.0.0/12 | Privátní | Vnitřní sítě (střední org.) |
| 192.168.0.0/16 | Privátní | Domácí/malé sítě |
| 127.0.0.0/8 | Loopback | Testování síťové vrstvy (sám sobě) |
| 169.254.0.0/16 | Link-local | Automatické přiřazení (APIPA) |
| 224.0.0.0/4 | Multicast | Skupinové doručování |
Privátní adresy nejsou směrovatelné v Internetu – mohou existovat ve více sítích souběžně. Překlad na veřejné adresy zajišťuje NAT (viz okruh 2).
🧪 Shrnutí a kontrolní otázky – Okruh 1
- OSI model má 7 vrstev, každá má specifickou funkci a komunikuje s peer vrstvou vzdálené stanice.
- Enkapsulace = přidávání hlaviček při sestupu vrstvami; dekapsulace = odebírání při výstupu.
- PDU na vrstvě 3 = paket, vrstva 2 = rámec, vrstva 4 = segment.
- IPv4 = 32bitová hierarchická adresa; prefix/maska určuje příslušnost k podsíti.
- Adresa sítě = bitový AND IP adresy a masky; broadcast = nejvyšší adresa rozsahu.
- Vyjmenujte 7 vrstev OSI modelu a jejich funkce.
Fyzická (přenos bitů), Linková (MAC adresy, rámce), Síťová (IP adresy, routing), Transportní (TCP/UDP, porty), Relační (sessions), Prezentační (šifrování, formáty), Aplikační (HTTP, FTP...). - Co je enkapsulace a jak probíhá?
Každá vrstva přidá ke svým datům vlastní hlavičku (LH). Data sestupují od vrstva 7 k vrstvě 1, kde jsou vyslána jako bity. Na přijímači probíhá dekapsulace zdola nahoru. - Co je PDU a jaký má formát?
PDU (Protocol Data Unit) = hlavička vrstvy + obsah (PDU vyšší vrstvy). Na vrstvě 3 = datagram/paket, vrstvě 2 = rámec, vrstvě 4 = segment. - Jak určím, zda dvě IP adresy jsou ve stejné síti?
Provedu bitový AND každé adresy s maskou sítě. Pokud jsou výsledky shodné, adresy patří do stejné podsítě. - Jaký je rozdíl mezi IPv4 a IPv6 z hlediska adresního prostoru?
IPv4 = 32 bitů (~4×10⁹ adres, vyčerpány 2011). IPv6 = 128 bitů (~3,4×10³⁸ adres).
🔗 Linková vrstva a její účel
Linková vrstva se skládá ze dvou podvrstev:
- MAC (Medium Access Control) – hardwarově závislá; zajišťuje přístup k médiu, fyzickou adresaci přes MAC adresy, přepínání rámců, VLAN, QoS.
- LLC (Logical Link Control) – hardwarově nezávislá; specifikována v IEEE 802.2; zajišťuje kódování, řízení toku, potvrzovací schémata, framing.
MAC je vázána na fyzické médium (Ethernet, Wi-Fi, Bluetooth mají různé MAC). LLC poskytuje jednotné rozhraní pro síťovou vrstvu bez ohledu na použité médium.
📡 MAC podvrstva – multiplex a přístup k médiu
| Typ multiplexu | Princip | Příklad |
|---|---|---|
| TDMA – časový | Každý účastník vysílá v jiném čase | GSM |
| FDMA – frekvenční | Každý účastník používá jiné frekvenční pásmo | Rádio, WDM optika |
| CDMA – kódový | Účastníci sdílejí čas i frekvenci, rozlišují se kódem | 3G mobilní sítě |
| SDMA – prostorový | Různé směry, signály se nepřekrývají | MIMO antény |
WDM (Wavelength Division Multiplex) = frekvenční multiplex v optice; do vlákna svítí více různobarevných zdrojů, každá barva nese vlastní data.
⚠️ Kolizní doména a metody CSMA
Metody CSMA (Carrier Sense Multiple Access) = přístupové metody, kde stanice naslouchají médiu před vysíláním:
- Prostá CSMA: Naslouchá před vysíláním, čeká, je-li médium obsazené. Nedokáže detekovat kolizi. Kolizi musí řešit vyšší vrstvy.
- CSMA/CD (Collision Detection): Detekuje kolizi během vysílání; vyšle Jam signál (informuje všechny o kolizi); čeká náhodnou dobu. Používá Ethernet (dnes jen historicky u half-duplex). Existence kolizního okénka (KO) = doba od začátku vysílání, během níž se signál šíří po médiu.
- CSMA/CA (Collision Avoidance): Pokouší se kolizím předcházet. Používá Wi-Fi (IEEE 802.11).
Bez náhodné doby by obě stanice začaly vysílat opět ve stejný okamžik a kolize by se opakovala donekonečna. Randomizace dramaticky snižuje pravděpodobnost opakované kolize.
🔧 LLC podvrstva – řízení toku a detekce chyb
LLC zajišťuje:
- Framing – rozdělení datového toku do rámců, určení začátku a konce rámce.
- Řízení toku – zdroj nesmí posílat více rámců, než je cíl schopen přijmout.
- Detekci chyb – CRC (Cyclic Redundancy Check)
Potvrzovací schémata LLC:
- Stop & Wait – po každém rámci čeká na potvrzení; jednoduché, ale neefektivní.
- Selective Repeat – kontinuální vysílání, opakuje se pouze chybný rámec.
- Go-Back-N – po chybě zopakuje chybný i všechny následující rámce.
- Sliding Window – klouzavé okénko (podrobně viz TCP).
Za přenášená data se vypočítá kontrolní hodnota CRC (pomocí binárního polynomu). Na přijímací straně se výpočet zopakuje. Pokud se hodnoty neshodují, přenos byl chybný. CRC dokáže odhalovat shluky (série) bitových chyb. Ethernet používá CRC-32 (generující polynom CCITT-32).
CRC-32 je polynomem stupně 32; používá ho Ethernet (IEEE 802), ale také SATA protokol pevných disků.
🔀 Přepínač (switch) a princip přepínání
Přepínací tabulka mapuje MAC adresy na porty switche. Záznamy se vytvářejí učením:
- Příchozí rámec s neznámou cílovou MAC → switch pošle rámec na všechny porty kromě příchozího (flooding).
- Zdrojová MAC příchozího rámce se zapíše do tabulky k příslušnému portu.
- Jakmile je MAC adresa v tabulce, rámce se posílají pouze na příslušný port (unicast switching).
Režimy přepínání:
- Store-and-Forward (SF): Přijme celý rámec, uloží jej, zkontroluje CRC, pak odešle. Pomalejší, ale detekuje chyby.
- Cut-Through (CT): Načte jen cílovou adresu (6 bajtů) a okamžitě přeposílá. Rychlejší, ale neprovádí kontrolu chyb.
- Fragment-Free (FF): Načte celou hlavičku (64 bajtů). Kompromis mezi SF a CT.
Není-li uvedeno jinak, v předmětu se pracuje s režimem Store-and-Forward.
🌉 Mosty vs. přepínače a broadcastová doména
| Vlastnost | Most (Bridge) | Přepínač (Switch) |
|---|---|---|
| Počet portů | 2–4 | Desítky až stovky |
| Buffer | Obvykle ne | Ano |
| Hardwarová akcelerace | Ne | U dražších modelů ano |
| Realizace | Hardware nebo software | Hardware |
Propojení switchů do smyčky způsobí nekonečné oběhání rámců a zahlcení sítě. STP algoritmus vytváří ze síťové topologie kostru (spanning tree) – odstraní redundantní spoje tak, aby smyčky nevznikly, ale konektivita zůstala zachována. Kostra se vytváří zaplavováním (flooding) se zprávou obsahující unikátní ID.
🏷️ MAC adresy a Ethernet
- První 3 bajty = OUI (Organizationally Unique Identifier) – identifikuje výrobce.
- Poslední 3 bajty = sériové číslo konkrétního zařízení.
- Broadcast MAC adresa =
FF:FF:FF:FF:FF:FF
Ethernet rámec obsahuje: preambule → SOF → cílová MAC → zdrojová MAC → EtherType → Data (max. 1500 B) → FCS (CRC-32).
MTU (Maximum Transfer Unit) = maximální velikost dat v rámci (u Ethernetu 1500 B). Není součástí rámce, nastavuje se na rozhraní.
Ethernet se označuje jako rychlost BASE specifikace. Příklad: 100BASE-T = 100 Mbit/s, základní pásmo, kroucená dvoulinka (twisted pair).
🏢 VLAN – Virtuální lokální sítě
Proč VLAN?
- Přehlednost – oddělení skupin patřících k sobě (např. oddělení KPS a KIB na FIT ČVUT)
- Bezpečnost – provoz jde jen tam, kam má
- Efektivita – broadcastový provoz se nešíří do nesouvisejících VLAN
- Jednoduchost správy – jeden fyzický switch jako více logických
Druhy VLAN:
- Dle portů – příslušnost k VLAN dána fyzickým portem na switchi (nejčastější pro menší sítě).
- Dle MAC adres – rámec je zařazen dle zdrojové MAC adresy.
- Dle protokolu – zařazení dle protokolu vyšší vrstvy (hlas, video, data).
- Dle značky (tagované) – IEEE 802.1Q; dnes nejběžnější.
- Vícenásobné (Q-in-Q) – VLAN uvnitř VLAN.
Do Ethernet rámce se za MAC adresy vloží 4bajtová 802.1Q hlavička:
- VID (VLAN Identifier) = 12 bitů → 2¹² = 4096 různých VLAN
- PCP (Priority Code Point) = 3 bity → prioritizace provozu (QoS)
- CFI (Canonical Format Indicator) = 1 bit → endianita
Přepnutí rámce: nejprve dle VID se vybere VLAN, pak dle přepínací tabulky se zvolí výstupní port.
Access port = port pro jednu VLAN (stanice). Rámce jsou netagované; switch sám tag přidá/odebere.
Switch striktně odděluje VLAN. Komunikace mezi různými VLAN probíhá přes směrovač (router), který pracuje na vrstvě 3. Switch sám provoz mezi VLAN nepropouští – to by porušilo smysl oddělení.
🧪 Shrnutí a kontrolní otázky – Okruh 1
- Linková vrstva má dvě podvrstvy: MAC (hardwarová, přístup k médiu) a LLC (logická, řízení toku, CRC).
- CSMA/CD detekuje kolize a vysílá Jam signál; CSMA/CA kolizím předchází (Wi-Fi).
- Switch přepíná rámce dle MAC tabulky; učí se záznamy z příchozích rámců.
- STP eliminuje smyčky v propojení switchů.
- VLAN vytváří logická oddělení v jedné fyzické síti; 802.1Q přidá tag s VID do rámce.
- Jaké jsou dvě podvrstvy linkové vrstvy a co každá z nich zajišťuje?
MAC: přístup k médiu, MAC adresy, přepínání, VLAN, QoS. LLC: kódování, řízení toku, detekce chyb (CRC), framing. - Jak funguje přepínací tabulka v switchi a jak se vytváří?
Tabulka mapuje MAC → port. Vytváří se učením: zdrojová MAC příchozího rámce se zapíše k portu. Neznámé cíle → flooding na všechny porty. - Jaký je rozdíl mezi CSMA/CD a CSMA/CA?
CSMA/CD detekuje kolizi po jejím vzniku a informuje sít Jam signálem (Ethernet). CSMA/CA se snaží kolizím vyhnout (Wi-Fi) – čeká na uvolnění média + náhodnou dobu. - Co je VLAN a jaké jsou výhody jejího nasazení?
VLAN = virtuální oddělení provozu v jedné fyzické síti. Výhody: bezpečnost, přehlednost, efektivita (menší broadcastová doména), snazší správa. - Co je trunk port a proč se používá?
Port přenášející tagovaný provoz více VLAN. Používá se pro propojení switchů nebo switch-router, kde musí přes jedno fyzické rozhraní procházet více VLAN. - Proč switch nemůže sám přeposílat provoz mezi různými VLAN?
Switch pracuje na vrstvě 2. Oddělení VLAN je smyslem jejich existence. Komunikace mezi VLAN vyžaduje router (vrstva 3), který pakety směruje na základě IP adres.
📮 Síťová vrstva a IP protokol
Klíčové protokoly síťové vrstvy:
- IP (Internet Protocol) – základní protokol doručování, přiřazuje IP adresy.
- ICMP (Internet Control Message Protocol) – ověřování dostupnosti zařízení (ping), chybové hlášení (TTL exceeded). Zprávy: REQUEST (type 8), REPLY (type 0), ERROR (type 11). Traceroute používá ICMP REQUEST s inkrementálně rostoucím TTL.
- ARP (Address Resolution Protocol) – mapuje IP adresy na MAC adresy v lokální síti.
- DHCP – automatická konfigurace IP adresy (porty 67/server, 68/klient); 4 fáze: Discover → Offer → Request → ACK.
Stanice A zná IP adresu stanice B, ale nezná MAC adresu. A vyšle ARP-REQUEST broadcastem (FF:FF:FF:FF:FF:FF). B odpoví unicastovým ARP-REPLY se svou MAC adresou. A si MAC uloží do ARP tabulky a odešle data.
Útočník záměrně odpovídá na ARP žádosti s podvrženou MAC adresou (tvrdí, že je jiná stanice). Tím přesměruje provoz přes sebe (Man-in-the-Middle útok). Obrana: dynamické ARP inspection, šifrování.
📄 Struktura IPv4 paketu
Hlavička IPv4 paketu má proměnnou velikost (min. 20 bajtů). Klíčové položky:
- Verze – 0x4 pro IPv4.
- IHL – délka hlavičky v 32bitových slovech.
- TOS (Type of Service) – QoS značkování.
- Celková délka – délka celého paketu v bajtech.
- Identifikace, Příznaky, Offset fragmentu – pro skládání fragmentů.
- TTL (Time To Live) – ochrana proti zacyklení; každý router sníží o 1; při 0 paket zahodí. Typicky nastaveno na 64 nebo 128.
- Protokol – identifikuje protokol vyšší vrstvy (6 = TCP, 17 = UDP).
- Kontrolní součet hlavičky – jen hlavičky, ne dat.
- Zdrojová a cílová IP adresa.
Pokud je paket větší než MTU linky, musí se rozdělit na fragmenty. Fragmentace může probíhat na každém směrovači na cestě (u IPv4). Skládání fragmentů probíhá až na cílové stanici. Fragmentaci lze zakázat příznakem DF (Don't Fragment) – pak může být paket nedoručitelný, je-li příliš velký. Fragmentace způsobuje problémy → je lépe se jí vyhýbat (Path MTU Discovery).
🗺️ Směrovač a princip směrování
Princip směrování:
- Příchod paketu na vstupní rozhraní.
- Přečtení cílové IP adresy z hlavičky paketu.
- Vyhledání záznamu ve směrovací tabulce (nejdelší shoda prefixu – longest prefix match).
- Snížení TTL o 1; při TTL=0 paket zahodit (a poslat ICMP ERROR).
- Odeslání paketu příslušným výstupním rozhraním prostřednictvím linkové vrstvy.
Směrovač patří adresně do všech sítí, které propojuje. Při průchodu paketu směrovačem (hop) se TTL sníží o 1.
Směrovací tabulka – obsahuje záznamy: Cíl (Destination), Brána (Gateway), Maska, Metrika, Rozhraní. Záznam s bránou 0.0.0.0 = přímá doručitelnost přes linkovou vrstvu (lokální síť).
Stanice provede AND(zdrojová IP, maska) a AND(cílová IP, maska). Jsou-li výsledky shodné, cíl je ve stejné síti → doručení přes linkovou vrstvu. Jsou-li různé → stanice zašle paket bráně (defaultnímu směrovači).
⚙️ Statické vs. dynamické směrování
| Vlastnost | Statické směrování | Dynamické směrování |
|---|---|---|
| Konfigurace | Manuálně administrátorem | Automaticky směrovacím protokolem |
| Reakce na změny | Žádná | Automaticky (desítky sekund) |
| Složitost | Jednoduché pro malé sítě | Složitější, škálovatelné |
| Vhodnost | Malé sítě, stabilní topologie | Velké sítě, měnící se topologie |
| Příkazy | ip route, route | RIP, OSPF, BGP protokoly |
Proaktivní směrování = předem vyplněné směrovací tabulky (nejběžnější). Reaktivní směrování = cesta se hledá až při potřebě (ad-hoc, mobilní sítě). Záplavové směrování = paket se rozesílá všemi směry (nejjednodušší, základ STP).
📊 Dynamické směrovací algoritmy
Tři druhy dynamických algoritmů, pojmenovány dle obsahu zasílaných zpráv:
1. Distance Vector Algoritmy (DVA)
- Směrovače si vyměňují záznamy svých směrovacích tabulek (vektory vzdáleností).
- Optimalizace pomocí distribuované verze Bellman-Fordova algoritmu (relaxace hran).
- Relace: pro každého souseda Yi platí: nahraď záznam pro Zj, pokud
vzdálenost(X,Zj) > vzdálenost(X,Yi) + vzdálenost(Yi,Zj). - Implementace: RIP (Routing Information Protocol) – metrika = počet skoků (hop count), max. 15 skoků (16 = nedosažitelný).
- Při výpadku linky se metrika nastaví na ∞, zprávy se šíří dál a směrovací tabulky se postupně opraví.
2. Link-State Algoritmy (LSA)
- Každý směrovač zná stav všech linek v síti.
- Směrovače si vyměňují stavy linek (Link State Advertisements) → každý sestaví graf sítě.
- Nad grafem hledá nejkratší cesty pomocí Dijkstrova algoritmu.
- Implementace: OSPF (Open Shortest Path First) – vnitřní směrování v AS. IS-IS – vnitřní i vnější.
- Výhoda vs. DVA: méně zatěžuje linky (posílají se jen stavy linek, ne celé tabulky). Nevýhoda: více zatěžuje CPU (Dijkstrův algoritmus se spustí při každé změně).
3. Path Vector Algoritmy (PVA)
- Směrovače si vyměňují kompletní cesty (posloupnosti AS/směrovačů) ke každému cíli.
- Ochrana proti smyčkám: pokud cesta obsahuje AS příjemce, zpráva se zahodí.
- Implementace: BGP (Border Gateway Protocol) – páteřní protokol Internetu, vnější směrování mezi AS.
🌍 Autonomní systémy a BGP
- Vnitřní směrování (IGP) = uvnitř AS; protokoly RIP, OSPF.
- Vnější směrování (EGP) = mezi různými AS; protokol BGP.
- Hraniční směrovač = propojuje různé AS; používá BGP.
- Transientní AS = přeposílá provoz určený jiným AS přes svoji síť.
- Netransientní AS = přijímá provoz pouze pro své vnitřní stanice.
Internet = množina vzájemně propojených AS.
BGP cesta = posloupnost AS identifikátorů od zdroje k cíli. Metrika v BGP = vektor hodnot (primárně délka cesty = počet AS na trase).
🔵 IPv6 – charakteristika a adresy
Proč IPv6? Veřejné IPv4 adresy byly vyčerpány v roce 2011. IPv6 zavádí dostatek adres (3,4×10³⁸) a přidává nové funkce.
Zápis IPv6: 8 skupin po 16 bitech, hexadecimálně, oddělené dvojtečkou:
- Nevýznamné nuly zleva lze vynechat:
1234:0217:...→1234:217:... - Sérii nulových bloků lze nahradit
::(maximálně jednou v adrese):1234:217:2344:0:2345::1111 - Loopback:
::1, nedefinovaná:::
IPv6 nezná broadcast – nahrazen specifickými multicast adresami.
Druhy IPv6 adres:
| Typ | Prefix | Odpovídá IPv4 |
|---|---|---|
| Individuální globální (IGA) | 001... (2000::/3) | Veřejná adresa |
| Unikátní lokální (UL) | fc00::/7 | Privátní (RFC 1918) |
| Lokální linková (LL) | fe80::/10 | Link-local (169.254.x.x) |
| Multicast | ff00::/8 | 224.0.0.0/4 |
| Loopback | ::1/128 | 127.0.0.1 |
| Přechodová | 64:ff9b::/96 | NAT64 |
Identifikátor rozhraní (64 bitů) se odvozuje z MAC adresy (48 bitů): mezi 3. a 4. bajt se vloží FF:FE, 7. bit zleva (U/L bit) se invertuje. Výsledek tvoří posledních 64 bitů IPv6 adresy.
🔍 ICMPv6 a Neighbor Discovery (ND)
Neighbor Discovery (ND) zajišťuje:
- Zjišťování linkových adres (náhrada ARP) – Neighbor Solicitation (NS) / Neighbor Advertisement (NA)
- Automatickou konfiguraci – bezstavová (SLAAC) nebo stavová (DHCPv6)
- Hledání směrovačů – Router Solicitation (RS) / Router Advertisement (RA)
- Detekci duplicitních adres
- Přesměrování
- Stanice odešle RS (Router Solicitation) skupinově na
FF02::2(všechny směrovače). - Směrovač odpoví RA (Router Advertisement) na
FF02::1(všechny hosty) s 64bitovým prefixem. - Stanice zkombinuje prefix z RA + EUI-64 odvozené z MAC adresy → získá IGA adresu.
- Směrovač se automaticky stane bránou stanice.
Mapování skupinové IPv6 adresy na MAC: Posledních 32 bitů IPv6 adresy + prefix 33:33 = cílová MAC adresa rámce.
NAT64 = přechodový mechanismus IPv6→IPv4. Prefix 64:FF9B::/96 + 32 bitů IPv4 adresy = přechodová IPv6 adresa. TEREDO = tunel IPv6 paketů přes IPv4 síť.
🧪 Shrnutí a kontrolní otázky – Okruh 1
- Síťová vrstva zajišťuje doručování paketů mezi různými sítěmi prostřednictvím směrovačů.
- ARP mapuje IP adresy na MAC adresy; ICMP slouží k diagnostice; DHCP automaticky přiděluje IP adresy.
- IPv4 paket má proměnnou hlavičku; TTL chrání před zacyklením; fragmentace je problematická.
- Směrovací algoritmy: DVA (RIP/Bellman-Ford), LSA (OSPF/Dijkstra), PVA (BGP).
- IPv6 má 128bitové adresy, SLAAC pro automatickou konfiguraci, ICMPv6 nahrazuje ARP.
- Jak funguje ARP protokol?
Stanice A broadcast-ARP-REQUEST s IP adresou B. B odpoví unicastovým ARP-REPLY se svou MAC. A uloží záznam do ARP tabulky a komunikuje přes Ethernet. - Co je TTL a proč se snižuje na každém směrovači?
TTL (Time To Live) chrání síť před zacyklením paketů. Každý router sníží TTL o 1. Při TTL=0 paket zahodí a odešle ICMP ERROR zdrojové stanici. - Jaký je rozdíl mezi DVA a LSA algoritmy?
DVA (RIP): posílají se celé směrovací tabulky, méně CPU, více zatěžuje linky; konvergence pomalejší. LSA (OSPF): posílají se jen stavy linek (kratší zprávy), více CPU (Dijkstra), rychlejší konvergence. - Co je AS a jak funguje BGP?
AS = skupina IP rozsahů jednoho ISP s unikátním ASN. BGP propojuje AS na hranicích Internetu; cesty jsou posloupnosti AS. Každý hraniční router zná cesty k ostatním AS a vybírá optimální. - Jak se liší IPv4 fragmentace od IPv6?
IPv4: fragmentovat může každý směrovač na cestě. IPv6: fragmentuje pouze zdrojová stanice a velikost fragmentu se nemění po celou dobu cesty. - Jak funguje SLAAC v IPv6?
Stanice odešle RS na FF02::2. Směrovač odpoví RA s 64bitovým prefixem na FF02::1. Stanice kombinuje prefix + EUI-64 → IGA adresa. Směrovač = automatická brána.
BI-SPOL.21-25 (BI-PSI.21)
Transportní vrstva, protokol TCP, spolehlivost doručení paketů, zahlcení, srovnání s protokolem UDP. Překlad síťových adres (NAT) na síťové a transportní vrstvě. Systém doménových jmen (DNS).
🚚 Transportní vrstva – účel a porty
Port = 16bitový identifikátor aplikace; adresování: [zdrojová IP:zdrojový port] → [cílová IP:cílový port].
- Privilegované porty (0–1023) – vyhrazeny pro systémové služby (HTTP: 80, HTTPS: 443, DNS: 53, SSH: 22).
- Neprivilegované porty (1024–65535) – dynamicky přiřazovány jádrem OS klientským aplikacím.
Parametry přenosu:
- Ztrátovost (packet loss) [%] – ztracené pakety; řeší se retransmisí.
- Zpoždění (delay/latency) [ms] – průměrná doba doručení.
- RTT (Round Trip Time) [ms] – doba tam i zpět; typicky 2× zpoždění.
- Jitter – kolísání zpoždění; problematické pro VoIP, streaming.
| Vlastnost | TCP | UDP |
|---|---|---|
| Spojení | Spojově orientovaný (connection-oriented) | Bez spojení (connectionless) |
| Spolehlivost | Garantuje doručení a pořadí | Nezaručuje doručení ani pořadí |
| Řízení toku | Ano (klouzavé okénko) | Ne |
| Zahlcení | Ano (CWL) | Ne |
| Overhead | Vyšší | Nižší |
| Použití | HTTP, FTP, SSH, email | DNS, VoIP, video streaming, hry |
📶 TCP – Transmission Control Protocol
Vlastnosti TCP:
- Přenáší se v položce DATA IPv4/IPv6 paketu.
- Duplexní – každá strana otevírá vlastní jednosměrné spojení.
- Sekvenční čísla – každý byte má pořadové číslo; garantuje pořadí.
- Detekuje duplicitní pakety.
- Řízení toku: klouzavé okénko (sliding window).
- Řízení zahlcení: Congestion Window (CWL).
- Není šifrovaný (šifrování zajišťuje TLS nad TCP).
TCP příznaky (flags) v hlavičce: URG, ACK (potvrzení), PSH (push dat aplikaci), RST (reset spojení), SYN (zahájení), FIN (ukončení).
Zdrojový port (16b) | Cílový port (16b) | Sekvenční číslo (32b) | Potvrzovací číslo (32b) | Délka hlavičky (4b) | Příznaky (9b) | Velikost okna (16b) | Kontrolní součet (16b) | Urgentní ukazatel (16b) | Data
🤝 Životní cyklus TCP spojení
Problém dvou armád (Two Generals' Problem): Spolehlivé zahájení spojení v nespolehlivém prostředí nelze 100% garantovat. Praktickým řešením je 3-cestná výměna (3-way handshake).
1. Sestavení spojení (3-way handshake):
- SYN – klient pošle SYN s náhodným sekvenčním číslem x (→ stav SYN_SENT).
- SYN+ACK – server potvrdí (ACK=x+1) a pošle vlastní SYN s číslem y (→ stav SYN_RCVD).
- ACK – klient potvrdí (ACK=y+1). Obě strany → stav ESTABLISHED.
2. Přenos dat:
- DATA pakety + ACK potvrzení. Sekvenční čísla sledují každý byte.
3. Ukončení spojení (4-way handshake):
- FIN – strana A uzavře svůj směr (→ FIN_WAIT_1).
- ACK – strana B potvrdí (→ CLOSE_WAIT). A přechází do FIN_WAIT_2.
- FIN – strana B uzavře svůj směr (→ LAST_ACK).
- ACK – A potvrdí (→ TIME_WAIT). B → CLOSED.
Stav TIME_WAIT trvá 2× MSL (Maximum Segment Lifetime) – zabraňuje doručení pozdních paketů do nového spojení.
🪟 Řízení toku – klouzavé okénko (Sliding Window)
Délka okna (DO) = počet nepotvrzených paketů, které lze mít „ve vzduchu". Určuje ji přijímač dle svých kapacit.
- Přijímač dynamicky upravuje velikost okna dle svých kapacit (buffer).
- DO = 0 → vysílač zastaví odesílání.
- Srovnání: Stop&Wait = okénko o velikosti 1 (velmi neefektivní pro linky s vysokým RTT).
TCP si pamatuje čas od posledního potvrzení. Pokud uplyne timeout bez potvrzení, vysílač automaticky znovu zašle nepotvrzený paket – bez čekání na žádost přijímače. Zvyšuje efektivitu přenosu tím, že minimalizuje počet znovu odeslaných paketů.
🚦 Řízení zahlcení – Congestion Window
CWL si určuje vysílač sám; pokud je DO (přijímač) < CWL, posílá se DO paketů; jinak CWL paketů.
TCP Tahoe (základní algoritmus):
- Slow Start: CWL = 1; při každém úspěšném ACK se CWL zdvojnásobí (exponenciální růst).
- Jakmile CWL dosáhne ssthresh (threshold): přechod na lineární růst (Congestion Avoidance).
- Timeout (ztráta paketu): ssthresh = CWL/2; CWL = 1; opět Slow Start.
TCP Reno (optimističtější):
- Stejné jako Tahoe do detekce výpadku.
- Po výpadku: CWL = CWL_před_výpadkem / 2 (ne 1 jako Tahoe); ssthresh se sníží o 25%.
- Rychlejší obnova u krátkodobých výpadků.
Existují i TCP CUBIC, Vegas, New Reno – liší se algoritmem nastavení CWL.
Jsou to dva různé problémy! Flow control (řízení toku) = přijímač nestíhá; řeší přijímač nastavením velikosti okna. Congestion control (řízení zahlcení) = linka nestíhá; řeší vysílač nastavením CWL.
⚡ UDP – User Datagram Protocol
Struktura UDP paketu: Zdrojový port (16b) | Cílový port (16b) | Délka (16b) | Kontrolní součet (16b) | Data
Výhody UDP:
- Minimální overhead (pouze 8 bajtů hlavičky).
- Nízká latence – žádné ACK, žádné řízení toku.
- Vhodný pro real-time aplikace: VoIP, video streaming, online hry, DNS.
Při spolehlivých nižších vrstvách (např. interní LAN) může mít vyšší propustnost než TCP.
🔄 NAT – Překlad síťových adres
Proč NAT? Veřejných IPv4 adres není dostatek. Privátní adresy (10.x.x.x, 192.168.x.x…) nejsou směrovatelné v Internetu → NAT je „překladač" na hranici privátní a veřejné sítě.
Princip NAT (na síťové vrstvě):
- Stanice uvnitř sítě (privátní IP) pošle paket ven.
- Směrovač v NAT tabulce vytvoří záznam {privátní IP + privátní port} → {veřejná IP + veřejný port}.
- Zdrojová IP v hlavičce paketu se přepíše na veřejnou IP směrovače.
- Odpověď přijde na {veřejná IP, veřejný port} → směrovač přeloží zpět na {privátní IP, privátní port}.
Díky portům lze za jednou veřejnou IP adresou skrýt celou síť. Každé souběžné spojení je identifikováno kombinací {zdrojová IP, zdrojový port}. Směrovač mapuje tuto dvojici na {veřejná IP, vnější port} → tzv. PAT (Port Address Translation) nebo NAPT. Pokud port není v konfliktu, nemusí se měnit.
IPv6 bylo navrženo tak, aby NAT nebyl potřeba (adres je dostatek). Nicméně NAT lze použít i v IPv6 z bezpečnostních důvodů (oddělení vnitřní a vnější sítě).
🔤 DNS – Systém doménových jmen
Proč DNS? IP adresy jsou pro lidi špatně zapamatovatelné a nestabilní (mění se). Doménová jména jsou stabilní a srozumitelná.
Vlastnosti DNS:
- Hierarchický systém (stromová struktura domén).
- Standardně port 53, většinou UDP; velké odpovědi nebo zónové přenosy používají TCP.
- Základní DNS je nezabezpečený (DNSSEC přidává ověřování pomocí asymetrické kryptografie).
- Umožňuje i load balancing (střídání různých IP adres pro jedno jméno).
OS nejdříve zkontroluje lokální soubor (/etc/hosts). Pokud jméno není nalezeno, obrátí se na DNS Resolver (nastavený v /etc/resolv.conf). Resolver komunikuje s Name Serverem.
🌳 Hierarchie domén v DNS
Doménová jména tvoří stromovou strukturu. Čtou se zprava doleva:
- Kořenová doména (.) – úroveň 0; 13 skupin kořenových serverů (A–M); dotazy přes anycast.
- TLD (Top-Level Domains) – úroveň 1: gTLD (com, org, gov, edu), ccTLD (cz, de, us), ngTLD (.london, .berlin)
- Doménová jména vyšších úrovní – cvut.cz, fit.cvut.cz, mail.fit.cvut.cz
FQDN (Fully Qualified Domain Name) = plné doménové jméno od listu ke kořeni (zakončeno tečkou). Max. 255 znaků, každá část max. 63 znaků. Case-insensitive.
Zóna = konkrétní podmnožina domény spravovaná konkrétním DNS serverem. Autoritativní DNS server = server zodpovědný za záznamy v dané zóně.
📋 DNS záznamy a typy DZZ
SOA (Start of Authority) = úvodní záznam zóny; obsahuje MNAME (autoritativní server), RNAME (správce), SERIAL (verze), REFRESH, RETRY, EXPIRE, MINIMUM (TTL).
Doménové zdrojové záznamy (DZZ) = {Jméno, TTL, Třída (IN), Typ, Hodnota}
| Typ | Funkce |
|---|---|
| A | Mapuje doménové jméno → IPv4 adresa |
| AAAA | Mapuje doménové jméno → IPv6 adresa |
| NS | Autoritativní DNS server pro doménu |
| MX | Mailový server pro doménu |
| CNAME | Alias (kanonické jméno); synonymum pro jiné jméno |
| PTR | Reverzní záznam: IP → doménové jméno |
| SRV | VoIP/SIP server pro doménu |
| TXT | Textový komentář (SPF, DKIM…) |
| RRSIG | Podpis záznamu pro DNSSEC |
TTL záznamu = doba, po kterou smí být DZZ uložen v cache DNS serverů. Po uplynutí musí být dotaz zopakován.
🔎 Překlad jmen v DNS – iterativní a rekurzivní
Iterativní překlad:
- Resolver počítače dotáže svůj DNS server X.
- X se dotáže kořenového serveru → dostane odkaz na TLD server.
- X se dotáže TLD serveru → dostane odkaz na autoritativní server nižší úrovně.
- Opakuje se po úrovních dolů, až X dostane výsledek.
- X vrátí resolveru výsledek.
Rekurzivní překlad:
- Resolver dotáže rekurzivní DNS server Y.
- Y se dotáže kořenového serveru; kořenový server sám přepošle dotaz níže.
- Dotaz putuje rekurzivně dolů po stromové hierarchii.
- Odpověď se vrátí postupně zpět až k Y → Y vrátí resolveru.
Dotaz na doménové jméno pro IP adresu AA.BB.CC.DD se zformuluje jako dotaz na doménové jméno DD.CC.BB.AA.in-addr.arpa. Zpracovává se stejně jako přímý dotaz, ale finální překlad provede DNS server organizace, která daný adresní rozsah spravuje.
🔒 DNSSEC a DNS bezpečnostní rizika
DNS Cache Poisoning: Útočník podvrhne DNS odpověď s falešnou IP adresou. DNS používá UDP s 16bitovým ID dotazu → útočník může vygenerovat odpověď se stejným ID dříve než autoritativní server. Výsledek se uloží do cache (poisoning).
DNSSEC podepisuje záznamy asymetrickou kryptografií. Každý DNS server podepisuje svoji odpověď soukromým klíčem. Veřejný klíč je uložen v záznamu RRSIG nadřazené domény. Příjemce ověří podpis veřejným klíčem → pravost odpovědi garantována.
DynDNS = dynamický DNS server, který dokáže měnit A záznamy za běhu. Vhodný pro zařízení s dynamicky přidělovanou IP adresou (připojí se, nahlásí svoji IP, server aktualizuje záznam).
DNS load balancing = autoritativní server při opakovaných dotazech na stejné jméno vrací různé IP adresy (round-robin) → distribuce zátěže mezi více serverů.
🧪 Shrnutí a kontrolní otázky – Okruh 2
- TCP = spolehlivý, spojový protokol; 3-way handshake zahájení, 4-way ukončení; sekvenční čísla, ACK.
- Klouzavé okénko (DO) nastavuje přijímač pro flow control; CWL (Congestion Window) řídí vysílač pro congestion control.
- UDP = nespolehlivý, bezspojový, nízká latence; vhodný pro real-time aplikace.
- NAT mapuje privátní IP+port na veřejnou IP+port; umožňuje sdílení jedné veřejné IP více stanicemi.
- DNS = hierarchický překlad doménových jmen na IP adresy; hierarchie: kořen → TLD → domény; záznamy A, AAAA, MX, CNAME, PTR, NS.
- Popište 3-way handshake v TCP.
Klient → SYN(seq=x). Server → SYN+ACK(seq=y, ACK=x+1). Klient → ACK(ACK=y+1). Obě strany ve stavu ESTABLISHED. - Co je klouzavé okénko a kdo ho nastavuje?
Klouzavé okénko = počet nepotvrzených paketů ve vzduchu. Nastavuje ho přijímač dle svých kapacit. Pokud DO=0, vysílač zastaví. TCP je duplexní → každá strana má vlastní okénko. - Jaký je rozdíl mezi flow control a congestion control v TCP?
Flow control = přijímač nestíhá zpracovávat data; řeší nastavením DO. Congestion control = linka (mezilehlá síť) nestíhá; řeší vysílač pomocí CWL (Slow Start, Congestion Avoidance). - Kdy použít UDP místo TCP?
Pro real-time aplikace (VoIP, video, hry), kde příležitostná ztráta paketů je přijatelnější než zpoždění způsobené retransmisí. Také DNS používá UDP pro rychlé jednoduché dotazy. - Jak funguje NAT na transportní vrstvě?
Díky portům lze rozlišit různá souběžná spojení za jednou veřejnou IP. Směrovač vytvoří v NAT tabulce mapování {privátní IP, privátní port} → {veřejná IP, vnější port}. Odpovědi přicházejí na vnější port a jsou přeloženy zpět. - Jak DNS provádí překlad doménového jména na IP adresu (iterativně)?
OS zkontroluje /etc/hosts. Resolver se dotáže DNS serveru X. X iterativně: kořenový server → TLD server → autoritativní server domény → výsledná IP. X vrátí odpověď klientovi. Výsledek se cache-uje dle TTL záznamu. - Co je DNS Cache Poisoning a jak se mu bránit?
Útočník podvrhne falešnou DNS odpověď se stejným ID jako legitimní dotaz. Falešná IP se uloží do cache. Obrana: DNSSEC (asymetrické podepisování záznamů – pravost lze ověřit veřejným klíčem).