IP adresace a směrování
v datových sítích
Kompletní výklad od základů — třídní adresování, podsítě, VLSM, CIDR, směrování, RIP, OSPF, Cisco IOS
Třídní adresování (Classfull Networking)
Aby bylo možné propojit miliardy zařízení do jedné globální sítě zvané Internet, potřebujeme způsob, jak každé zařízení jednoznačně identifikovat. K tomu slouží IP adresa – číslo přidělené každému síťovému rozhraní. V protokolu IPv4 je IP adresa 32bitové číslo, které se pro čitelnost zapisuje jako čtyři dekadická čísla oddělená tečkami, tzv. tečkovaný decimální zápis (dotted-decimal notation). Každé ze čtyř čísel reprezentuje jeden osmibitový oktet (byte), a jeho hodnota tedy leží v rozsahu 0–255.
Problém ovšem je, jak z jediného čísla poznat, která část patří adrese sítě a která adrese konkrétního hostitele v ní. Původní řešení z počátků internetu bylo elegantně jednoduché – první bity adresy říkají, o jakou třídu se jedná, a z třídy se pak automaticky ví, kolik bitů tvoří síťovou část.
Rozdělení jednotlivých tříd
Celý rozsah IPv4 adres byl rozdělen do pěti tříd označovaných písmeny A až E. Každá třída je definována hodnotou prvního oktetu a má pevně daný počet bitů pro síťovou část (network prefix) a hostitelskou část (host portion). Zásadní motivací bylo umožnit různě velké sítě: velké organizace potřebovaly miliony adres (třída A), středně velké tisíce (třída B) a malé organizace stovky (třída C).
Třída A je určena pro největší sítě na světě. Poznáme ji podle toho, že první bit adresy je vždy 0. To znamená, že první oktet nabývá hodnot 1 až 126. Síťová část zabírá jen první oktet (8 bitů), zbývající tři oktety (24 bitů) jsou pro hostitele. Počet hostitelů v jedné síti třídy A je 2²⁴ − 2 = 16 777 214. Odečítáme 2 proto, že všechny nuly v hostitelské části označují adresu sítě samotné a všechny jedničky označují broadcast. Existuje pouze 126 sítí třídy A (adresa 0.x.x.x je rezervovaná, 127.x.x.x je loopback).
Třída B je pro sítě střední velikosti. První dva bity jsou vždy 10, takže první oktet leží v rozsahu 128–191. Síťová část jsou první dva oktety (16 bitů), hostitelská část jsou zbývající dva oktety (16 bitů). Každá síť třídy B pojme 2¹⁶ − 2 = 65 534 hostitelů. Rozsah adres 128.0.x.x až 191.255.x.x poskytuje 16 384 sítí třídy B.
Třída C je pro malé sítě. První tři bity jsou vždy 110, první oktet 192–223. Síťová část jsou tři oktety (24 bitů), hostitelská část je jen jeden oktet (8 bitů). Maximálně tedy 254 hostitelů na síť. Existuje přes 2 miliony sítí třídy C.
Třída D (224–239) je vyhrazena pro multicast – skupinové vysílání. Třída E (240–255) je experimentální a v praxi se nepoužívá.
| Třída | Rozsah 1. oktetu | První bity | Síťová/host. část | Počet sítí | Hostitelů/síť | Využití |
|---|---|---|---|---|---|---|
| A | 1 – 126 | 0xxxxxxx | 8 / 24 bitů | 126 | 16 777 214 | Velké organizace, ISP |
| B | 128 – 191 | 10xxxxxx | 16 / 16 bitů | 16 384 | 65 534 | Střední univerzity, firmy |
| C | 192 – 223 | 110xxxxx | 24 / 8 bitů | 2 097 152 | 254 | Malé kanceláře, domácnosti |
| D | 224 – 239 | 1110xxxx | — | — | — | Multicast skupiny |
| E | 240 – 255 | 1111xxxx | — | — | — | Experimentální |
Vyhrazené IP adresy (Private & Special)
Část adresního prostoru je trvale vyhrazena pro speciální účely a nesmí se routovat přes internet. Nejdůležitější jsou tzv. privátní rozsahy, definované v RFC 1918. Tato adresa smí existovat v libovolném množství uvnitř soukromých sítí, protože jsou izolovány od internetu pomocí NAT (Network Address Translation).
| Třída | Privátní rozsah | CIDR notace | Počet adres |
|---|---|---|---|
| A | 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16 777 216 |
| B | 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1 048 576 |
| C | 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65 536 |
Dalšími důležitými vyhrazenými adresami jsou: 127.0.0.0/8 (loopback – testování vlastního zásobníku TCP/IP, nejznámější je 127.0.0.1 neboli “localhost”), 169.254.0.0/16 (APIPA – automaticky přidělená adresa pokud DHCP selže), 0.0.0.0 (výchozí trasa nebo neznámá adresa), a 255.255.255.255 (omezený broadcast).
Základní pojmy
IP adresa a MAC adresa
Síťová komunikace funguje na více vrstvách. Na vrstvě 3 (síťové) se pracuje s IP adresou, na vrstvě 2 (linkové) s MAC adresou. Jejich role se zásadně liší, přestože obě slouží k identifikaci zařízení.
Představte si to jako analogii s doručováním pošty: IP adresa je jako poštovní adresa domu – říká, kde se příjemce nachází v globálním kontextu. MAC adresa je jako jmenovka na dveřích – říká, kdo konkrétně je to zařízení, ale platí jen v rámci jednoho domu (jedné sítě).
MAC adresa (Media Access Control) je 48bitový identifikátor zapsaný jako 6 hexadecimálních párů (např. AA:BB:CC:11:22:33). Prvních 24 bitů tvoří OUI (Organizationally Unique Identifier) přidělený výrobci síťové karty, zbývajících 24 bitů je sériové číslo konkrétního zařízení. MAC adresa je – alespoň teoreticky – celosvětově unikátní a trvale přiřazená výrobcem. Nezmění se při pohybu zařízení.
IP adresa je naproti tomu logická – přiděluje se dynamicky (DHCP) nebo staticky správcem sítě a změní se, když zařízení přejde do jiné sítě. Protokol ARP (Address Resolution Protocol) pak zajišťuje převod: když chcete odeslat paket na IP adresu ve stejné síti, ARP se zeptá “kdo má tuto IP?” a dotyčné zařízení odpoví svou MAC adresou.
Síťová adresa
Síťová adresa je speciální adresa, která identifikuje celou podsíť jako celek. V rámci hostitelské části má všechny bity nastaveny na nula. Není přidělitelná žádnému hostiteli – slouží pouze jako identifikátor sítě, který se zapisuje do směrovacích tabulek.
Jak síťovou adresu zjistíme? Provedeme bitový logický součin (AND) mezi IP adresou hostitele a maskou sítě. Všude, kde je maska jedničková, zachováme bity z IP adresy; všude, kde je maska nulová, nahradíme bity nulami. Výsledek je síťová adresa.
Příklad: hostitel má adresu 192.168.10.150/24. Maska je 255.255.255.0. IP AND Maska = 192.168.10.0 – to je síťová adresa podsítě.
Výchozí brána (Default Gateway)
Každý hostitel v síti zná svou IP adresu a masku. Pokud chce komunikovat s někým ve stejné podsíti, posílá pakety přímo (přes ARP). Pokud ale chce komunikovat s někým v jiné síti (třeba na internetu), potřebuje pomoc – pošle paket na výchozí bránu.
Výchozí brána je IP adresa routeru (směrovače), který je připojený do té samé podsítě a zároveň má přístup do jiných sítí. Je to jako poštovní schránka na rohu ulice: nevíte přesně, jak dopis dojde k adresátovi, ale víte, kam ho vhodit a poštovní soustava to zařídí. Router jako brána přijme paket, podívá se do své směrovací tabulky a přepošle ho dál správným směrem.
Výchozí brána musí být ve stejné podsíti jako hostitel. Typicky se používá první nebo poslední použitelná adresa podsítě (např. pro síť 192.168.1.0/24 bývá brána 192.168.1.1).
Všesměrová adresa (Broadcast)
Broadcast (všesměrová adresa) je speciální adresa, na kterou paket přijmou všechna zařízení v dané podsíti. V hostitelské části má všechny bity nastaveny na jedničku. Žádnému hostiteli ji nelze přidělit jako normální adresu.
Broadcast slouží například pro ARP dotazy (“kdo má IP adresu X?”) nebo pro DHCP discover (“existuje někde DHCP server?”). Routery broadcast normálně nepřeposílají dál – broadcast zůstává omezený na svou podsíť (broadcast domain).
Pro podsíť 192.168.10.0/24 je broadcast adresa 192.168.10.255 (všechny bity hostitelské části jsou 1, tedy 11111111 = 255).
Prefix a prefixová délka
Prefix (prefixová délka) je způsob, jak kompaktně vyjádřit masku sítě. Zapisuje se jako lomítko a číslo za IP adresou, např. /24. Číslo říká, kolik prvních bitů masky je nastaveno na jedničku – tedy kolik bitů tvoří síťovou část adresy.
Prefix /24 znamená, že prvních 24 bitů (tři oktety) je síťová část a zbývajících 8 bitů (jeden oktet) je hostitelská část. To přesně odpovídá masce 255.255.255.0 (binárně: 24 jedniček a pak 8 nul). Prefix /16 odpovídá masce 255.255.0.0, prefix /8 masce 255.0.0.0.
Vzorec říká: z celkového počtu 32 bitů odečteme délku síťové části (prefix), zbyde nám počet bitů pro hostitele. Dvě na tuto mocninu nám dá celkový počet adres v bloku. Odečítáme 2 proto, že jedna adresa je síťová (all zeros) a jedna broadcastová (all ones). Například pro /24: 2⁸ − 2 = 254 hostitelů.
Maska (pod)sítě (Subnet Mask)
Maska podsítě je 32bitové číslo zapsané stejně jako IP adresa (čtyři oktety). Struktura je jednoduchá a přísná: maska začíná sekvencí jedniček (síťová část) a za ní následují samé nuly (hostitelská část). Přechodné nebo nesouvislé vzory nejsou platné.
Binárně maska /26 vypadá takto:
255 . 255 . 255 . 192 (= /26)
Klíčová operace s maskou je bitový AND s IP adresou, který dá síťovou adresu. Bitový AND funguje takto: 1 AND 1 = 1; vše ostatní (0 AND 0, 1 AND 0, 0 AND 1) = 0. Neboli “výsledek je 1 jen tehdy, když jsou oba vstupy 1”.
VLSM – Variable Length Subnet Masking
VLSM (maska proměnné délky) je technika, která řeší základní neefektivitu klasického subnettingu. Bez VLSM musí mít všechny podsítě v síti stejně velkou masku. To je problematické: pokud máte tři segmenty potřebující 100, 50 a 4 hostitele, musíte všem dát stejně velký blok (minimálně /24 = 254 míst), ačkoliv dvě z těch sítí by si vystačily s /26 nebo /30.
S VLSM lze přidělit každé podsíti přesně tolik adres, kolik potřebuje, s různými maskami. Postup je vždy stejný: začínáme od největší podsítě a postupujeme k nejmenší. Tím minimalizujeme plýtvání.
VLSM vyžaduje, aby routovací protokol přenášel masku sítě spolu s adresou (tzv. classless protokoly jako OSPF, EIGRP, RIPv2). Starší classfull protokoly (RIPv1) masku nepřenášejí a VLSM nepodporují.
CIDR – Classless Inter-Domain Routing
CIDR (vyslovováno “sajder”) je standard pro přidělování IP adres a směrování, který zcela opouští myšlenku pevných tříd. Zaveden byl v roce 1993 (RFC 1519) jako reakce na rychlé vyčerpávání IPv4 adresního prostoru a explozi velikosti směrovacích tabulek.
V CIDR notaci se za IP adresu píše lomítko a délka prefixu – například 192.168.1.0/24. Zásadní výhodou oproti classfull je možnost agregace (sumarizace) tras: místo aby router oznamoval 256 různých sítí /24, může oznámit jednu souhrnnou cestu /16 a tím dramaticky zkrátit směrovací tabulky.
Zjištění počtu (pod)sítí a hostů
Klíčovou dovedností síťaře je umět z dané adresy a masky rychle vypočítat všechny parametry podsítě: adresu sítě, první použitelný hostitelský adresu, poslední použitelnou adresu, broadcastovou adresu a velikost bloku. Pojďme si systematicky ukázat, jak na to.
Síťové a všesměrové adresy – jak je určit
Pracovní postup začíná určením velikosti bloku (velikosti podsítě). Ta nám řekne, kolik adres daný blok obsahuje, a to nám umožní snadno vypočítat hranice každé podsítě.
Velikost bloku v zajímavém (posledním měnícím se) oktetu vypočítáme jako: 256 minus hodnota masky v daném oktetu.
Například pro masku 255.255.255.192: zajímavý oktet je čtvrtý, jeho hodnota je 192. Velikost bloku = 256 − 192 = 64. To znamená, že podsítě začínají na adresách 0, 64, 128, 192 (násobky čísla 64).
Konkrétní příklad: rozeberme adresu 128.128.128.123/18.
255.255.192.0.128.128.191.255.| # | Adresa podsítě | První host | Poslední host | Broadcast |
|---|---|---|---|---|
| 1 | 128.128.0.0/18 | 128.128.0.1 | 128.128.63.254 | 128.128.63.255 |
| 2 | 128.128.64.0/18 | 128.128.64.1 | 128.128.127.254 | 128.128.127.255 |
| 3 ✓ | 128.128.128.0/18 | 128.128.128.1 | 128.128.191.254 | 128.128.191.255 |
| 4 | 128.128.192.0/18 | 128.128.192.1 | 128.128.255.254 | 128.128.255.255 |
✓ Hostitel 128.128.128.123 se nachází ve 3. podsíti.
Velikosti bloků – přehled masek a prefixů
V praxi je klíčové mít přehled o tom, jaká maska odpovídá jakému prefixu a jak velký blok to dává. Níže je kompletní přehled pro čtvrtý oktet (typické pro subnetting třídy C nebo VLSM):
| Prefix | Maska (4. oktet) | Blok (počet adres) | Použitelní hostitelé | Počet podsítí z /24 |
|---|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 254 | 1 |
| /25 | 255.255.255.128 | 128 | 126 | 2 |
| /26 | 255.255.255.192 | 64 | 62 | 4 |
| /27 | 255.255.255.224 | 32 | 30 | 8 |
| /28 | 255.255.255.240 | 16 | 14 | 16 |
| /29 | 255.255.255.248 | 8 | 6 | 32 |
| /30 | 255.255.255.252 | 4 | 2 | 64 |
| /31 | 255.255.255.254 | 2 | 0 (point-to-point) | — |
| /32 | 255.255.255.255 | 1 | 0 (host route) | — |
Wild Card maska
Wild card maska (WCM) je inverzní (bitově obrácená) maska podsítě. Kde je v masce 1, je ve wild card 0, a naopak. Nejčastěji se wild card masky používají v access listech (ACL) a v konfiguraci OSPF.
Příklady:
- Maska
255.255.255.0(/24) → WCM =0.0.0.255 - Maska
255.255.255.192(/26) → WCM =0.0.0.63 - Maska
255.255.0.0(/16) → WCM =0.0.255.255
Logika WCM je jiná než logika masky: ve WCM bit s hodnotou 0 znamená “tuto pozici porovnej”, bit s hodnotou 1 znamená “tuto pozici ignoruj”. Takže WCM 0.0.0.255 říká: první tři oktety musí přesně sedět, čtvrtý oktet může být cokoliv.
Cíl VLSM je navrhnout adresování tak, aby každá podsíť dostala přesně tolik adres, kolik potřebuje, aniž by se adresy překrývaly. Postup si ukážeme na konkrétním příkladu: navrhněte IP adresaci pro síť 128.128.128.0/24 využívající VLSM. Topologie vyžaduje:
- LAN-A: 100 hostitelů
- LAN-B: 50 hostitelů
- LAN-C: 25 hostitelů
- LAN-D: 10 hostitelů
- WAN-1 (spoj R1-R2): 2 hostitele
- WAN-2 (spoj R2-R3): 2 hostitele
128.128.128.0/25, rozsah hostitelů: .1 – .126, broadcast: .127.
128.128.128.128/26, rozsah: .129 – .190, broadcast: .191.
128.128.128.192/27, rozsah: .193 – .222, broadcast: .223.
128.128.128.224/28, rozsah: .225 – .238, broadcast: .239.
128.128.128.240/30, hostitele: .241 a .242, broadcast: .243.
WAN-2: 128.128.128.244/30, hostitele: .245 a .246, broadcast: .247.
| Podsíť | Potřeba hostů | Přidělená síť | Maska / Prefix | Blok | Síťová adresa | První host | Poslední host | Broadcast | Využití |
|---|---|---|---|---|---|---|---|---|---|
| LAN-A | 100 | 128.128.128.0/25 | 255.255.255.128 | 128 | 128.128.128.0 | 128.128.128.1 | 128.128.128.126 | 128.128.128.127 | 100/126 = 79% |
| LAN-B | 50 | 128.128.128.128/26 | 255.255.255.192 | 64 | 128.128.128.128 | 128.128.128.129 | 128.128.128.190 | 128.128.128.191 | 50/62 = 81% |
| LAN-C | 25 | 128.128.128.192/27 | 255.255.255.224 | 32 | 128.128.128.192 | 128.128.128.193 | 128.128.128.222 | 128.128.128.223 | 25/30 = 83% |
| LAN-D | 10 | 128.128.128.224/28 | 255.255.255.240 | 16 | 128.128.128.224 | 128.128.128.225 | 128.128.128.238 | 128.128.128.239 | 10/14 = 71% |
| WAN-1 | 2 | 128.128.128.240/30 | 255.255.255.252 | 4 | 128.128.128.240 | 128.128.128.241 | 128.128.128.242 | 128.128.128.243 | 2/2 = 100% |
| WAN-2 | 2 | 128.128.128.244/30 | 255.255.255.252 | 4 | 128.128.128.244 | 128.128.128.245 | 128.128.128.246 | 128.128.128.247 | 2/2 = 100% |
Celkově jsme z bloku /24 (256 adres) použili 128+64+32+16+4+4 = 248 adres. Zbývá 8 adres volných (128.128.128.248–255). Toto je efektivita VLSM – maximální využití omezeného adresního prostoru.
Sumarizace (Route Aggregation)
Sumarizace (neboli agregace tras) je opačný postup k subnettingu: místo dělení jedné velké sítě na menší hledáme jednu souhrnnou (supernet) cestu, která pokryje více menších sítí najednou. Cílem je zmenšit směrovací tabulky – router pak potřebuje znát jen jednu souhrnnou trasu místo desítek nebo stovek konkrétních.
Postup sumarizace: Máte seznam sítí, které chcete shrnout do jedné souhrnné trasy. Pravidlem je, že souhrnná trasa musí pokrývat všechny zadané sítě a co nejpřesněji – nechceme zbytečně zahrnout adresy navíc.
Příklad A – sumarizace sítí /24 v rozsahu 10.0.20.0 až 10.0.36.0:
10.0.20.0 = 10.0. 0001 0100 .0
10.0.21.0 = 10.0. 0001 0101 .0
...
10.0.36.0 = 10.0. 0010 0100 .0
───────────────────
Společné: 10.0. 000? ???? .0
Různí se od 4. bitu třetího oktetu.
Souhrnná maska: /19 (prvních 19 bitů shodných)
Souhrnná síť: 10.0.16.0/19
(pokrývá 10.0.16.0 – 10.0.23.255)
Ale zahrnout musíme i 10.0.36 → /18 = 10.0.0.0/18
(pokrývá 10.0.0.0 – 10.0.63.255)
Charakteristika směrovače a směrovací tabulky
Směrovač (router) je síťové zařízení, které pracuje na vrstvě 3 OSI modelu (síťové vrstvě). Jeho primární úkol je propojovat různé sítě a přeposílat pakety mezi nimi na základě jejich cílové IP adresy. Router má vždy alespoň dvě síťová rozhraní (interface), každé v jiné síti.
Přirovnejme router k poštovnímu rozcestníku: přijde zásilka (paket) s adresou, rozcestník se podívá na směrovací tabulku (jako rozřazovací seznam), zjistí, kam zásilku dál poslat, a odešle ji správnou cestou.
Směrovací tabulka (routing table) je v paměti routeru uložená databáze, která říká: “pro pakety s cílovou adresou v síti X posílej skrz rozhraní Y na next-hop Z”. Každý záznam v tabulce obsahuje:
- Cílová síť – adresa a maska/prefix cílové sítě
- Next-hop – IP adresa sousedního routeru, kam má být paket předán
- Výstupní rozhraní – fyzický nebo virtuální port, přes který se paket odešle
- Administrative Distance (AD) – číslo vyjadřující důvěryhodnost zdroje informace (nižší = důvěryhodnější)
- Metrika – cena cesty (čím nižší, tím lepší)
Při přijetí paketu router provede nejdelší shodu prefixu (longest prefix match): v tabulce najde záznam, jehož prefix je nejdelší a zároveň odpovídá cílové adrese paketu. Delší prefix = konkrétnější záznam = vždy vyhrává nad obecnějším.
| Zdroj trasy | Administrative Distance (AD) | Poznámka |
|---|---|---|
| Přímo připojená síť (Connected) | 0 | Nejvyšší důvěryhodnost |
| Statická trasa | 1 | Manuálně zadaná administrátorem |
| EIGRP (summary) | 5 | |
| OSPF | 110 | |
| RIP | 120 | |
| Neznámá / nedosažitelná | 255 | Nikdy se nepoužije |
Statické vs. dynamické směrování
Statické směrování
Při statickém směrování zadává správce sítě záznamy do směrovací tabulky ručně. Router se spoléhá jen na to, co mu bylo nakonfigurováno – neučí se od ostatních routerů ani neobjevuje nové cesty automaticky.
Výhody statického směrování: Nulová režie (router nepotřebuje vyměňovat žádné protokolární zprávy), deterministické chování (přesně víte, kudy pakety půjdou), plná kontrola administrátora, vhodné pro malé sítě nebo pro výchozí trasu.
Nevýhody: Neschopnost automatické reakce na výpadek trasy, administrativa je pracná při větším počtu sítí, možnost lidské chyby.
Default route (výchozí trasa) je speciální statická trasa 0.0.0.0/0, která se používá jako “posílej vše, co neznám, sem”. Je to síťový ekvivalent znaku “záchytka pro ostatní” v seznamu if-else. V Cisco IOS: ip route 0.0.0.0 0.0.0.0 [next-hop | interface].
Dynamické směrování
Při dynamickém směrování se routery mezi sebou automaticky dorozumívají pomocí směrovacích protokolů. Vyměňují si informace o tom, které sítě znají a jak jsou od nich vzdálené. Pokud dojde k výpadku linky nebo routeru, protokol detekuje změnu a automaticky přepočítá trasy – síť se tzv. konverguje do nového konzistentního stavu.
Výhody dynamického směrování: Automatická adaptace na změny topologie (výpadky, nové spoje), škálovatelnost pro velké sítě, redukce administrativní zátěže.
Nevýhody: Spotřeba procesorového výkonu a šířky pásma (pro výměnu routovacích informací), složitější ladění a troubleshooting, konvergenční čas (chvíli trvá, než se sít stabilizuje po výpadku).
Směrovací protokoly
Směrovací protokoly se dělí podle různých kritérií. Klíčové rozdělení je na IGP (Interior Gateway Protocol – uvnitř jednoho autonomního systému, jako je vaše firma nebo škola) a EGP (Exterior Gateway Protocol – mezi různými autonomními systémy na internetu, hlavní představitel je BGP). V rámci IGP pak rozlišujeme dva přístupy: Distance Vector a Link State.
| Protokol | Typ | Metrika | AD | Classless? | Max. hopů |
|---|---|---|---|---|---|
| RIPv1 | Distance Vector, IGP | Hop count | 120 | Ne | 15 |
| RIPv2 | Distance Vector, IGP | Hop count | 120 | Ano | 15 |
| IGRP | Distance Vector, IGP | Composite | 100 | Ne | 255 |
| EIGRP | Advanced DV, IGP | Composite (BW,delay) | 90/5 | Ano | 255 |
| OSPF | Link State, IGP | Cost (1/BW) | 110 | Ano | neomezeno |
| BGP | Path Vector, EGP | AS-path | 20/200 | Ano | neomezeno |
RIP – Routing Information Protocol
Distance Vector IGPRIP je jeden z nejstarších routovacích protokolů, standardizovaný v roce 1988 (RFC 1058 pro RIPv1, RFC 2453 pro RIPv2). Funguje na principu Distance Vector – každý router zná celkovou “vzdálenost” (metrika = počet skoků, hop count) ke každé síti, ale nezná topologii sítě jako celek. Informace dostává od svých přímých sousedů.
Princip je jednoduchý: každých 30 sekund router vyšle celou svoji směrovací tabulku všem sousedům (broadcast nebo multicast 224.0.0.9 pro RIPv2). Soused přijme tabulku, ke každé metrice přičte 1 (jeden hop navíc pro průchod přes sebe) a aktualizuje svoji tabulku, pokud najde lepší cestu.
! Konfigurace RIPv2 na Cisco routeru Router(config)# router rip ! Vstup do konfigurace RIP procesu Router(config-router)# version 2 ! Použít RIPv2 (classless, VLSM podpora) Router(config-router)# no auto-summary ! Zakázat automatickou sumarizaci Router(config-router)# network 192.168.1.0 ! Zahrň tuto síť do RIP Router(config-router)# network 10.0.0.0 ! Zahrň i tuto síť Router(config-router)# passive-interface GigabitEthernet0/1 ! Na LAN neposílej updates
Problém: Směrovací smyčka (Routing Loop)
Největší slabinou Distance Vector protokolů jsou směrovací smyčky. Představte si: router A vidí, že ztratil přímé spojení se sítí X. Jenže dříve, než stihne aktualizovat svoji tabulku, dostane od routeru B zprávu “síť X dostupná přes mě, metrika 2” (B se to dozvěděl od A). A aktualizuje svoji tabulku: “síť X přes B, metrika 3”. B se dozví, že A říká metrika 3, takže aktualizuje: “přes A, metrika 4”. Metrika se spiral nahoru do nekonečna.
RIP používá několik mechanismů proti smyčkám:
- Maximum hop count = 15: metrika 16 = “nedosažitelné”. Smyčka se přirozeně zastaví na hodnotě 16.
- Split Horizon: router neodesílá informaci o síti zpět tím směrem, od kterého ji přijal. Logika: pokud B se o síti X dozvěděl od A, nemá smysl posílat tuto info zpět A – A to přece sám říkal.
- Route Poisoning: při výpadku sítě router okamžitě rozešle aktualizaci s metrikou 16 (“jed”), aby sousedé okamžitě věděli, že cesta je nedosažitelná.
- Holddown Timer: po přijetí informace o výpadku router po určitou dobu ignoruje další (potenciálně zastaralé) aktualizace o téže síti.
Nevýhody RIP: pomalá konvergence (aktualizace každých 30 s), limit 15 hopů, posílá celou tabulku (neefektivní pro velké sítě), v RIPv1 není podpora VLSM/CIDR.
IGRP a EIGRP (Cisco proprietární)
IGRP (Interior Gateway Routing Protocol) byl vyvinut firmou Cisco jako náhrada za RIP s komplikovanější metrikou zahrnující šířku pásma, zpoždění, spolehlivost a zatížení linky. Je zastaralý a přestává se používat. Jeho nástupce EIGRP (Enhanced IGRP) je pokročilý Distance Vector protokol (někdy nazývaný “hybrid”) s rychlou konvergencí díky algoritmu DUAL (Diffusing Update Algorithm). EIGRP neodesílá celé tabulky periodicky, pouze inkrementální změny, a udržuje záložní trasy (feasible successor).
OSPF – Open Shortest Path First
Link State IGPOSPF je nejpoužívanější IGP protokol v podnikových sítích. Na rozdíl od RIP (Distance Vector) je OSPF Link State protokol – každý router si buduje kompletní topologickou mapu celé sítě (Link State Database, LSDB) a pak na ní spustí Dijkstrův algoritmus SPF (Shortest Path First) k výpočtu nejkratší cesty ke každému cíli.
Metrikou v OSPF je cost (cena) linky. Cena se počítá jako:
kde Reference Bandwidth je standardně 100 Mbit/s (lze změnit příkazem auto-cost reference-bandwidth). Pro rozhraní 100 Mbit/s: cost = 100/100 = 1. Pro rozhraní 10 Mbit/s: cost = 100/10 = 10. Celková cena cesty = součet cost hodnot všech linek na trase. OSPF vždy vybere cestu s nejnižším součtem.
Pro velké sítě OSPF používá koncept oblastí (areas). Každá oblast je skupina routerů, které sdílejí detailní LSDB. Mezi oblastmi se propagují pouze souhrnné informace. Centrální je vždy Area 0 (backbone area) – všechny ostatní oblasti se musí připojit k backbone přímo nebo přes virtuální link. Tato hierarchie dramaticky snižuje objem routovacích informací a zrychluje konvergenci.
! Konfigurace OSPF na Cisco routeru Router(config)# router ospf 1 ! Spuštění OSPF procesu ID 1 (lokální) Router(config-router)# router-id 1.1.1.1 ! Explicitní nastavení Router-ID Router(config-router)# network 192.168.1.0 0.0.0.255 area 0 ! Přidat síť do area 0 Router(config-router)# network 10.0.0.0 0.0.0.3 area 0 ! WAN spoj Router(config-router)# auto-cost reference-bandwidth 1000 ! Pro Gbit sítě Router(config-router)# passive-interface GigabitEthernet0/1 ! Nesenduj OSPF Hello na LAN ! Ověření Router# show ip ospf neighbor ! Zobraz OSPF sousedy Router# show ip ospf database ! Zobraz LSDB Router# show ip route ospf ! Zobraz pouze OSPF trasy
OSPF sousedé (neighbors) si nejprve vyměňují Hello pakety pro navázání sousedství (adjacency). Na broadcast sítích (Ethernet) se zvolí DR (Designated Router) a BDR (Backup Designated Router) – ostatní routery posílají LSA (Link State Advertisement) jen DR/BDR a ne všem sousedům, čímž se snižuje provoz.
Konvergence OSPF je rychlejší než u RIP: změna v topologii se okamžitě propaguje pomocí LSA floodu, bez čekání na periodicku update.
Konvergence sítě
Konvergence je stav, kdy všechny routery v síti mají konzistentní a aktuální pohled na topologii sítě a shodují se na optimálních cestách. Čas konvergence (jak rychle se sít dostane do tohoto stavu po topologické změně) je klíčový parametr: RIP konverguje pomalu (minuty), OSPF rychle (sekundy), EIGRP nejrychleji (subsekunda díky feasible successor).
Ukázka prostředí Cisco Packet Tracer – Cisco IOS příkazy
Cisco Packet Tracer je simulační software pro procvičování síťových konfigurací. Používá Cisco IOS (Internetwork Operating System) – operační systém běžící na Cisco routerech a switchích. Pochopení IOS je zásadní pro praktickou práci se sítěmi.
Režimy Cisco IOS
Cisco IOS rozlišuje několik základních režimů, přičemž každý poskytuje jinou úroveň přístupu:
- User EXEC Mode (
Router>): základní příkazy pro zobrazení stavu, bez možnosti konfigurace - Privileged EXEC Mode (
Router#): přístup pomocíenable, možnost všech show příkazů, debug, copy - Global Configuration Mode (
Router(config)#): přístup pomocíconfigure terminal, změny globálního nastavení - Interface Configuration Mode (
Router(config-if)#): nastavení konkrétního rozhraní (interface Gig0/0) - Router Configuration Mode (
Router(config-router)#): konfigurace směrovacích protokolů (router ospf 1)
Základní příkazy pro konfiguraci routeru
! ========================================== ! ZÁKLADNÍ NASTAVENÍ ROUTERU ! ========================================== Router> enable ! Vstup do privileged mode Router# configure terminal ! Vstup do global config (zkratka: conf t) Router(config)# hostname R1 ! Nastavení jména routeru Router(config)# enable secret cisco123 ! Heslo pro privileged mode (šifrované) Router(config)# no ip domain-lookup ! Zakázat DNS překlad (urychlí chybné příkazy) ! ========================================== ! NASTAVENÍ ROZHRANÍ (INTERFACE) ! ========================================== Router(config)# interface GigabitEthernet0/0 ! Vstup do konfigurace rozhraní Router(config-if)# ip address 192.168.1.1 255.255.255.0 ! Přidělení IP adresy Router(config-if)# no shutdown ! Aktivace rozhraní (standardně vypnuté) Router(config-if)# description LAN-Praha ! Popis rozhraní (dokumentace) Router(config-if)# exit ! Návrat do global config ! ========================================== ! STATICKÉ SMĚROVÁNÍ ! ========================================== ! Syntaxe: ip route [cílová-síť] [maska] [next-hop | výstupní-interface] [AD] Router(config)# ip route 10.0.0.0 255.0.0.0 192.168.1.254 ! Trasa přes next-hop Router(config)# ip route 172.16.0.0 255.255.0.0 GigabitEthernet0/1 ! Trasa přes interface Router(config)# ip route 0.0.0.0 0.0.0.0 192.168.0.1 ! Default route ! ========================================== ! RIPv2 KONFIGURACE ! ========================================== Router(config)# router rip Router(config-router)# version 2 Router(config-router)# no auto-summary ! Klíčové pro VLSM! Router(config-router)# network 192.168.1.0 ! Aktivuj RIP na rozhraní v této síti Router(config-router)# network 10.0.0.0 Router(config-router)# passive-interface GigabitEthernet0/0 ! Netransmituj na LAN ! ========================================== ! OSPF KONFIGURACE ! ========================================== Router(config)# router ospf 1 ! Číslo procesu (lokální, může být libovolné) Router(config-router)# router-id 1.1.1.1 ! Unikátní ID routeru v OSPF doméně Router(config-router)# network 192.168.1.0 0.0.0.255 area 0 ! Wildcard maska! Router(config-router)# network 10.0.0.0 0.0.0.3 area 0 Router(config-router)# auto-cost reference-bandwidth 1000 ! Pro Gigabit sítě ! ========================================== ! OVĚŘOVACÍ PŘÍKAZY (SHOW COMMANDS) ! ========================================== Router# show ip interface brief ! Přehled rozhraní: IP, stav Up/Down Router# show ip route ! Celá směrovací tabulka Router# show ip route ospf ! Pouze OSPF trasy Router# show ip route rip ! Pouze RIP trasy Router# show ip route static ! Pouze statické trasy Router# show ip protocols ! Info o běžících routovacích protokolech Router# show ip ospf neighbor ! OSPF sousedé (adjacency stav) Router# show ip ospf database ! OSPF Link State Database Router# show running-config ! Aktuální konfigurace (v RAM) Router# show startup-config ! Uložená konfigurace (v NVRAM) Router# ping 192.168.1.1 ! Test dosažitelnosti Router# traceroute 8.8.8.8 ! Sledování cesty paketů ! ========================================== ! ULOŽENÍ KONFIGURACE ! ========================================== Router# copy running-config startup-config ! Uložit do NVRAM (zkratka: wr) Router# write memory ! Alternativa
Konfigurace DHCP serveru na routeru
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10 ! Rezervované adresy Router(config)# ip dhcp pool LAN_POOL ! Název poolu Router(dhcp-config)# network 192.168.1.0 /24 ! Síť pro DHCP Router(dhcp-config)# default-router 192.168.1.1 ! Výchozí brána pro klienty Router(dhcp-config)# dns-server 8.8.8.8 ! DNS server Router(dhcp-config)# lease 7 ! Platnost přidělení: 7 dní ! Ověření DHCP Router# show ip dhcp binding ! Zobraz přidělené adresy Router# show ip dhcp pool ! Statistiky poolu
Konfigurace Cisco Switche (základy)
Switch(config)# vlan 10 ! Vytvoření VLANu 10 Switch(config-vlan)# name MANAGEMENT ! Název VLANu Switch(config)# interface FastEthernet0/1 ! Port Switch(config-if)# switchport mode access ! Access port (pro koncová zařízení) Switch(config-if)# switchport access vlan 10 ! Přiřazení portu do VLANu 10 ! Trunk port (pro přenos více VLAN mezi zařízeními) Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan 10,20,30 ! Management IP adressa na switchi Switch(config)# interface vlan 1 Switch(config-if)# ip address 192.168.1.100 255.255.255.0 Switch(config-if)# no shutdown Switch(config)# ip default-gateway 192.168.1.1 ! Výchozí brána switche
show ip route – pokud trasa chybí, pravděpodobně je problém v síťové adrese v příkazu network nebo v másech.