# 14 — Adresování a směrování v síti
> [!abstract] O tématu
> ==**Adresování**== = jak identifikujeme zařízení v síti (IP a MAC adresy). ==**Směrování (routing)**== = výběr nejlepší cesty paketu mezi sítěmi (provádí router). Klíčové: ==**IP, MAC, maska, DHCP, DNS, protokoly**==.
> [!info] Maturitní otázka
> **a)** HW a SW prostředky sítí · **b)** Klasifikace sítí · **c)** Konfigurace sítě (+ směrování) · **d)** IP, MAC, maska sítě · **e)** DHCP · **f)** DNS · **g)** Síťové protokoly
---
## a) Hardwarové a softwarové prostředky sítí
### Hardware
- ==**Router**== — propojuje sítě, ==**směruje pakety**== mezi sítěmi
- ==**Switch**== — spojuje zařízení v LAN
- ==**Modem**== — propojení s ISP (poskytovatel internetu)
- ==**Síťová karta (NIC)**== — Network Interface Card
- ==**Access Point**== — Wi-Fi vysílač
- ==**Kabeláž**== (UTP, optika) nebo Wi-Fi
### Software
- ==**Operační systém**== se síťovou podporou (TCP/IP stack)
- ==**Síťové protokoly**== (TCP/IP, HTTP, DNS …)
- ==**Aplikační programy**== — prohlížeč, e-mail klient, FTP
- ==**Konfigurační/diagnostické nástroje**== — `ipconfig`, `ping`, `tracert`, `route`, `arp`
---
## b) Klasifikace sítí
### Podle rozsahu
| Typ | Plný název | Rozsah |
|---|---|---|
| ==**LAN**== | Local Area Network | místní (kancelář, domácnost) |
| ==**MAN**== | Metropolitan Area Network | město |
| ==**WAN**== | Wide Area Network | velká vzdálenost (Internet) |
### Podle vlastníka / použití
- ==**Veřejné**== (Internet)
- ==**Soukromé**== (firemní, domácí)
- ==**Virtuální (VPN)**== — soukromá síť přes veřejný Internet
---
## c) Konfigurace sítě
Aby PC mohlo komunikovat, potřebuje:
- ==**IP adresu**== (vlastní identifikace)
- ==**Masku sítě**== (definuje rozsah lokální sítě)
- ==**Výchozí bránu (default gateway)**== — IP routeru, kterou jdou pakety mimo LAN
- ==**DNS server**== — pro překlad doménových jmen
### Statická vs dynamická konfigurace
- ==**Statická**== — administrátor nastaví ručně. Pro servery, tiskárny.
- ==**Dynamická (DHCP)**== — server přiděluje automaticky. Pro většinu PC.
### Užitečné příkazy (diagnostika)
| Příkaz | Co dělá |
|---|---|
| ==**`ipconfig`**== | zobrazí IP, masku, bránu (`/all` = podrobně, `/release`, `/renew` pro DHCP) |
| ==**`ping`**== | měří odezvu, zjišťuje dostupnost. Přepínače `-n` (počet paketů), `-a` (překlad IP→jméno), `-w` (timeout) |
| ==**`tracert`**== (Linux: `traceroute`) | ==**vypíše routery na cestě**== k cíli + odezvu každého |
| ==**`route PRINT`**== | vypíše ==**směrovací tabulku**== |
| ==**`arp -a`**== | vypíše tabulku překladu ==**IP → MAC**== |
| ==**`netstat`**== | aktuální TCP/IP připojení a porty |
| **`nslookup`** | dotaz na DNS |
> [!warning] Nefunkčnost příkazu ≠ nefunkčnost počítače
> `ping` i `tracert` mohou být ==**úmyslně blokovány firewallem**== z bezpečnostních důvodů.
---
## Směrování (routing)
==**Směrování = výběr nejlepší cesty pro paket**== mezi sítěmi. Provádí ho ==**router**== podle ==**směrovací tabulky**==.
- Router porovná cílovou IP s tabulkou → vybere ==**rozhraní a další skok (next hop)**==
- ==**Výchozí brána (default gateway)**== = router, kam jdou pakety mimo lokální síť
- Příkaz ==**`route`**== (pracuje i s IPv6):
- `route PRINT` — vypíše tabulku
- `route ADD` / `DELETE` / `CHANGE` — úpravy
- přepínač `-p` = trasa ==**zachována i po restartu**==
- ==**`tracert`**== ukáže reálnou cestu paketu přes jednotlivé routery
---
## d) IP adresa, MAC adresa, maska sítě
### MAC adresa (fyzická adresa)
- ==**48 bitů**==, např. `AA:BB:CC:11:22:33`
- ==**Unikátní identifikátor přidělený výrobcem**== síťové karty
- pracuje na ==**linkové vrstvě**== (ISO/OSI vrstva 2)
- používá se pro identifikaci ==**v lokální síti**==
- nemění se cestou paketů přes routery
- překlad IP → MAC zajišťuje protokol ==**ARP**== (`arp -a` vypíše tabulku)
### IP adresa (logická adresa)
==**Identifikuje zařízení v síti**==. Pracuje na **síťové vrstvě** (vrstva 3).
#### IPv4
- ==**32 bitů**==, 4 oktety oddělené tečkou: `192.168.1.10`
- celkem ~**4,3 miliardy** adres → ==**došly**==
#### IPv6
- ==**128 bitů**==, hexadecimálně: `2001:0db8:85a3::8a2e:0370:7334`
- prakticky ==**neomezený počet adres**==
### Privátní vs veřejné IPv4 adresy
- ==**Veřejné**== — unikátní na celém Internetu
- ==**Privátní**== — používají se v LAN, nejdou ven (přes NAT):
- **10.0.0.0/8**
- **172.16.0.0/12**
- **192.168.0.0/16**
### NAT (Network Address Translation)
==**NAT**== = ==**překlad adres na routeru**== — víc zařízení v LAN sdílí **jednu veřejnou IP**.
- Router si v ==**NAT tabulce**== pamatuje, který interní `IP:port` patří ke kterému spojení
- Při odchodu: zdrojová privátní IP → ==**nahrazena veřejnou IP routeru**==
- Při příchodu: podle čísla portu vrátí paket správnému interiernímu zařízení (==**PAT — Port Address Translation**==)
- ==**Hlavní důvod**==: nedostatek IPv4 adres (~4,3 mld nestačí)
- IPv6 NAT nepotřebuje (adres je dost)
### Maska sítě (subnet mask)
==**Určuje, která část IP adresy je síť a která zařízení**==.
Příklad: `192.168.1.10` s maskou `255.255.255.0` (zkráceně `/24`):
- ==**síťová část**== = `192.168.1.0`
- ==**adresa zařízení**== = `.10`
- v této síti lze adresovat 256 zařízení (z toho 254 použitelných)
### Speciální IPv4 adresy
- `127.0.0.1` — ==**loopback (sám sobě)**==
- `255.255.255.255` — broadcast
- `0.0.0.0` — výchozí nebo neznámá
---
## e) DHCP
==**DHCP (Dynamic Host Configuration Protocol)**== = ==**automatické přidělování IP konfigurace**== klientům.
### Co DHCP přiděluje
- ==**IP adresu**==
- ==**masku**==
- ==**výchozí bránu**==
- ==**DNS servery**==
- (volitelně další parametry)
### Jak to funguje
1. Klient se připojí → odešle ==**broadcast**== „DHCP Discover"
2. DHCP server odpoví ==**DHCP Offer**== (nabídka IP)
3. Klient potvrdí ==**DHCP Request**==
4. Server potvrdí ==**DHCP ACK**==
5. IP je přidělená na omezený čas (==**lease time**==), pak se obnovuje
> [!info] Kde DHCP běží
> Doma na ==**routeru**==. Ve firmách na ==**samostatném DHCP serveru**==.
---
## f) DNS
==**DNS (Domain Name System)**== = ==**překlad doménových jmen na IP adresy**==.
Lidé si pamatují `google.com`, počítače pracují s `142.250.184.110`. DNS to převede.
### Hierarchie domén
- ==**Root**== (`.`) — kořen
- ==**TLD**== (Top-Level Domain) — `.com`, `.cz`, `.org`
- ==**Doména 2. řádu**== — `google`, `seznam`
- ==**Subdoména**== — `mail.google.com`
### Jak to funguje
1. PC se ptá: jaká je IP `google.com`?
2. Pošle dotaz na ==**DNS resolver**== (typicky u ISP nebo Cloudflare/Google `8.8.8.8`)
3. Resolver postupně dotazuje root → TLD → autoritativní server
4. Vrátí IP adresu, PC se připojí
### Záznamy v DNS
- ==**A**== — IPv4 adresa
- ==**AAAA**== — IPv6 adresa
- ==**MX**== — mail server
- ==**CNAME**== — alias
- ==**TXT**== — textový záznam (SPF, DKIM)
---
## g) Síťové protokoly
| Protokol | Vrstva | Použití |
|---|---|---|
| ==**HTTP / HTTPS**== | aplikační | web (HTTPS = šifrovaný) |
| ==**FTP / SFTP**== | aplikační | přenos souborů |
| ==**SMTP / POP3 / IMAP**== | aplikační | e-mail (SMTP = odesílání, POP3/IMAP = příjem) |
| ==**DNS**== | aplikační | překlad jmen |
| ==**DHCP**== | aplikační | konfigurace IP |
| ==**SSH**== | aplikační | bezpečné vzdálené řízení |
| ==**TCP**== | transportní | spolehlivý přenos |
| ==**UDP**== | transportní | rychlý nespolehlivý |
| ==**IP**== | síťová | adresace, směrování |
| ==**ICMP**== | síťová | diagnostika (`ping`) |
| ==**ARP**== | linková | překlad IP → MAC |
---
## Shrnutí
> [!summary] Co si pamatovat
> **a) Prostředky:** HW = ==router, switch, modem, NIC, AP==. SW = OS, protokoly, aplikace, diagnostické příkazy.
> **b) Klasifikace:** ==**LAN < MAN < WAN**==.
> **c) Konfigurace:** ==**IP, maska, brána, DNS**==. Statická vs DHCP. Diagnostika: `ipconfig`, `ping`, `tracert`, `route`, `arp`, `netstat`.
> **Směrování:** ==**router vybírá cestu**== podle směrovací tabulky → ==**`route PRINT`**==, `tracert` ukáže reálnou cestu.
> **d) Adresy:** ==**MAC (48-bit, vrstva 2, z výroby)** vs **IP (32/128-bit, vrstva 3)**==. IPv4 vs IPv6. Privátní/veřejné. Maska určuje síť/host. NAT = sdílení 1 veřejné IP.
> **e) DHCP:** ==**automatické přidělování IP**== (Discover → Offer → Request → ACK), lease time.
> **f) DNS:** ==**překlad doménového jména na IP**==. Hierarchie root/TLD/doména. Záznamy A, AAAA, MX, CNAME.
> **g) Protokoly:** ==**TCP/IP, HTTP/HTTPS, FTP, SMTP/POP3/IMAP, DNS, DHCP, SSH, ICMP, ARP**==.