Rozcestníky

O čem to je

Jedeš autem z Ostravy do Plzně. Nemáš v hlavě celou mapu, stačí ti cedule na křižovatkách: „Plzeň → doleva“. Každá křižovatka ti řekne jen další krok.

Pakety v internetu cestují stejně. Na každé „křižovatce“ stojí router a rozhodne jen o dalším kroku. Tomu rozhodování se říká směrování. Když ho špatně nastavíš, síť sice svítí, ale data nedojdou.

Nové pojmy

Router (směrovač)Zařízení, které propojuje různé sítě a přeposílá mezi nimi pakety podle cílové IP adresy.Domácí router propojuje tvoji LAN s internetem.
PaketBalíček dat na síťové vrstvě. Nese mimo jiné cílovou IP adresu.
Směrovací tabulkaSeznam v routeru: do které sítě posílat přes kterého souseda nebo které rozhraní. Je to „sada cedulí“ routeru.192.168.2.0/24 → přes 10.0.0.2
Next hop (další skok)IP adresa sousedního routeru, kterému se paket předá.
Výchozí cestaZáznam 0.0.0.0/0. Platí pro všechny cíle, které router jinak nezná: „všechno ostatní pošli sem“. Obvykle vede k poskytovateli internetu.

Jak router rozhoduje

Přijde paket. Router přečte cílovou IP adresu.
Projde směrovací tabulku a hledá sítě, do kterých adresa patří.
Když jich sedí víc, vybere tu s nejdelším prefixem (nejpřesnější shodu).
Paket pošle dalšímu skoku nebo rovnou do připojené sítě.
Když nesedí nic a nemá výchozí cestu, paket zahodí.
SíťKam poslat
10.1.5.0/24R4
10.1.0.0/16R3
10.0.0.0/8R2
0.0.0.0/0poskytovatel (ISP)
Kam router podle tabulky výše pošle paket pro 10.1.5.9?
Adresa patří do 10.1.5.0/24, do 10.1.0.0/16, do 10.0.0.0/8 i do 0.0.0.0/0. Nejdelší prefix je /24 → paket jde na R4.
A kam pošle pakety pro 10.1.7.1 a 8.8.8.8?
10.1.7.1 nepatří do 10.1.5.0/24, ale patří do 10.1.0.0/16 → R3. 8.8.8.8 nepatří do žádné z konkrétních sítí, zbývá výchozí cesta → ISP.

Kdo cesty do tabulky zapíše

Přímo připojená síťSíť na rozhraní routeru. Router ji zná sám, jakmile rozhraní dostane adresu a je zapnuté.
Statické směrováníCestu zapíše správce ručně. Je jednoduché a předvídatelné, ale při změně nebo výpadku se samo nepřizpůsobí.Linux: ip route add 192.168.2.0/24 via 10.0.0.2
Dynamické směrováníRoutery si cesty samy vyměňují pomocí směrovacího protokolu. Při výpadku linky najdou jinou cestu.OSPF ve firmě, BGP mezi poskytovateli internetu.

Roztřiď, kdy se hodí které směrování.

✗Router posílá paket přes první řádek tabulky, který na adresu sedí.
✓Router vybere záznam s nejdelším prefixem, tedy nejpřesnější.

Výchozí cesta 0.0.0.0/0 sedí na úplně všechno. Kdyby rozhodoval první řádek, mohlo by všechno odejít k poskytovateli.

Router přeposílá pakety mezi sítěmi podle směrovací tabulky a vybírá nejdelší shodu prefixu. 0.0.0.0/0 je výchozí cesta. Cesty jsou přímo připojené, statické (ručně) nebo dynamické (protokoly).

Protokoly a příkazy

O čem to je

Ve firmě se pobočky propojují linkami a jedna z nich občas vypadne. Správce nechce v noci ručně přepisovat cesty. Proto nastaví dynamický směrovací protokol, který cestu změní sám. Pro malou síť ale stačí pár ručních příkazů.

Nové pojmy

SměrováníHledání cesty paketu přes více sítí. Dělají ho routery.
Směrovací tabulkaSeznam cílových sítí s prefixem, dalším skokem (nebo rozhraním) a metrikou.
MetrikaČíslo, které říká, jak „drahá“ je cesta. Menší = lepší.U RIP počet routerů po cestě, u OSPF cena podle rychlosti linek.
TTLPočítadlo v paketu (Time To Live). Každý router ho sníží o 1. Když klesne na 0, paket se zahodí. Tím se brání nekonečnému kroužení paketů.
Autonomní systém (AS)Síť pod jednou správou, např. síť jednoho poskytovatele internetu.

Statická cesta v praxi

SystémPříkaz
Linuxip route add 192.168.2.0/24 via 10.0.0.2
Windowsroute add 192.168.2.0 mask 255.255.255.0 10.0.0.2
Cisco IOSip route 192.168.2.0 255.255.255.0 10.0.0.2
Výchozí cesta (Linux)ip route add default via 192.168.1.1

Výpis tabulky: ip route (Linux), route print (Windows), show ip route (Cisco).

Dynamické protokoly

ProtokolTypMetrikaPoužití
RIPvektor vzdálenostipočet skoků, max. 15malé a výukové sítě
OSPFstav linekcena podle šířky pásmafiremní sítě
BGPvektor cestpravidla (politiky) mezi ASinternet mezi poskytovateli
  • Vektor vzdálenosti (RIP): router zná jen to, co mu řeknou sousedé: „síť X je ode mě 2 skoky“.
  • Stav linek (OSPF): každý router zná mapu celé oblasti a sám si spočítá nejkratší cesty (Dijkstrův algoritmus).
  • Vnitřní protokoly (RIP, OSPF) běží uvnitř jednoho AS, vnější (BGP) mezi AS.
Síť má dvě cesty: A) 2 skoky přes linky 10 Mb/s, B) 3 skoky přes linky 1 Gb/s. Kterou vybere RIP a kterou OSPF?
RIP počítá jen skoky → vybere A (2 < 3). OSPF počítá cenu podle rychlosti linek, pomalé linky jsou drahé → vybere B. Proto se ve firmách používá spíš OSPF.
Paket odešel s TTL 64 a prošel 5 routery. Jaké má TTL, když dorazí k cíli?
Každý router odečte 1: 64 − 5 = 59. Na tom je postavený příkaz traceroute (tracert ve Windows): posílá pakety s TTL 1, 2, 3… a z hlášení „TTL vypršelo“ pozná routery po cestě.

Doplň, co platí.

  • Statická cesta – ručně, předvídatelná, nepřizpůsobí se výpadku
  • RIP – vektor vzdálenosti, počet skoků, max. 15
  • OSPF – stav linek, cena podle rychlosti
  • BGP – mezi autonomními systémy
  • TTL – každý router odečte 1, při 0 zahodí
✗Když přidám do sítě dynamický protokol, statické cesty už nikdy nepotřebuju.
✓Statické cesty se dál běžně používají, hlavně výchozí cesta ven k poskytovateli a malé pobočky s jednou linkou.

Statické směrování je jednoduché, nespotřebuje výkon ani přenos a nic neprozradí sousedům. Kde není náhradní cesta, dynamika nic nepřinese.

Statické cesty zapisuje správce (ip route, route add), dynamické si routery vyměňují: RIP (skoky), OSPF (cena linek), BGP (mezi AS). TTL brání kroužení paketů a využívá ho traceroute.