GNU/Linux >> Znalost Linux >  >> Linux

Úvod do linuxových základů směrování IP (část 1)

Pravděpodobně víte, jak zkontrolovat existující trasy (nebo dokonce přidat/upravit trasy) v Linuxu pomocí příkazu route nebo netstat. Možná jste to udělali, aniž byste moc rozuměli tomu, jak funguje směrování IP.

Tento článek vám pomůže pochopit principy směrování IP a jak to funguje.

Toto je 1. díl ze série článků IP Routing.

IP routing zahrnuje předávání IP datagramů. Je to jednoduchý proces, ve kterém hostitel odešle IP datagram přímo do cíle, pokud je cílový hostitel připojen. Například prostřednictvím spojení point-to-point nebo prostřednictvím sdílené sítě. Pokud cílový hostitel není přímo připojen, odešle hostitel IP datagram do výchozího routeru a nechá router rozhodnout, kam má IP datagram poslat dále.

Principy směrování

Zásadní rozdíl mezi normálním hostitelem a směrovačem je v tom, že hostitel nikdy nepředává datagram z jednoho rozhraní na druhé, zatímco směrovač může předávat datagram.

Dnes lze většinu víceuživatelských systémů nakonfigurovat tak, aby fungovaly jako router. Lze tedy specifikovat společný směrovací algoritmus, který může používat router i hostitel. Když se hostitel může chovat jako router, obecně se říká, že hostitel má vestavěnou funkci routeru. Takový hostitel, který má vestavěnou funkci směrovače, by nikdy neměl předávat datagramy, dokud a není k tomu nakonfigurován, tj. není nakonfigurován tak, aby fungoval jako směrovač.

Vrstva IP udržuje směrovací tabulku, kterou používá při rozhodování o tom, co dělat s přijatým datagramem. Když je datový gram přijat ze sítě, vrstva IP nejprve zkontroluje svou IP adresu, aby zjistila, zda je IP adresa vlastní nebo ne.

V případě, že cílová IP adresa v datagramu je vlastní, je datagram odeslán do příslušného protokolu na transportní vrstvě, ale pokud cílová adresa není vlastní, pak je datagram předán, pokud byl hostitel nakonfigurován tak, aby fungoval jako router, jinak je datagram zahozen.

Data ve směrovací tabulce jsou obecně ve formě záznamů. Typická položka směrovací tabulky obsahuje následující hlavní položky:

  • Cílová IP adresa :Toto pole představuje IP adresu cíle. Tato IP adresa může být adresou jednoho hostitele nebo může být adresou sítě. Pokud tato položka obsahuje IP adresu hostitele, pak je v adrese označena nenulovým ID hostitele, zatímco pokud položka obsahuje IP adresu sítě, je označena hodnotou ID hostitele 0.
  • IP adresa dalšího směrovače :Proč jsme použili termín „další“, protože to není vždy konečný směrovač, ale velmi dobře to může být přechodný směrovač. Tento záznam udává IP adresu dalšího routeru, který rozhoduje o tom, jak dále odeslat IP datový gram přijatý na jeho rozhraní.
  • Příznaky :Toto pole poskytuje další sadu důležitých informací, jako je cílová IP adresa (uvedená výše) je adresa hostitele nebo síťová adresa. Příznaky také udávají, zda další směrovač (uvedený výše) je skutečně dalším směrovačem nebo přímo připojeným rozhraním.
  • Specifikace síťového rozhraní :Některé specifikace síťového rozhraní, které by měl být datagram předán pro další přenos.

Jak funguje základní směrování?

Pokud se tedy nyní krátce pokusíme vizualizovat proces směrování, pak uvidíme, že jakmile je datagram ze sítě přijat na IP vrstvě hostitele (který je nakonfigurován tak, aby fungoval jako router), pak po ověření, že cílová IP adresa v paketu není adresou tohoto hostitele, jsou konzultovány směrovací tabulky.

Jakákoli položka, jejíž první pole se zcela shoduje s cílovou IP adresou (hostitel) nebo částečně (síť), bude signalizovat IP adresu dalšího routeru. Toto je životně důležitá informace, kterou by hostitel (jednající jako směrovač) potřeboval k předání paketu, protože tato informace přímo říká, na který další směrovač by měl být datagram předán. Všechna ostatní pole v položce podporují rozhodování tím, že poskytují více informací pro směrování.

Ve výše uvedeném odstavci vytvoříme základní porozumění, ale pokud se pokusíme dostat o úroveň hlouběji, pak následující body poskytují podrobné informace o algoritmu směrovací tabulky:

  • Nejprve se ve směrovací tabulce vyhledá záznam, jehož pole „Cílová IP adresa“ zcela odpovídá cílové IP adrese datagramu. Zcela znamená, že ID hostitele a ID sítě IP adres se shodují. Pokud je nalezen, je datagram odeslán do tohoto rozhraní nebo do zprostředkujícího směrovače.
  • Pokud není nalezena úplná shoda, je provedeno hledání odpovídajících ID sítě. Je-li nalezen, je datagram předán na uvedený router. Vidíme tedy, že všichni hostitelé v této síti jsou spravováni touto jedinou položkou ve směrovací tabulce.
  • Pokud žádná z výše uvedených dvou neplatí, datagram je předán „výchozímu směrovači“.
  • Pokud selže i výše uvedený krok, tj. neexistuje výchozí router, datagram skončí nedoručitelný. Jakýkoli nedoručitelný datagram by způsobil, že hostitel ICMP je nedostupný nebo CMP síť nedostupná chyba a tato chyba je vrácena aplikaci, která tento datagram vygenerovala.

Někdy by se člověk zeptal, proč jsou ve směrovací tabulce dva typy položek, nebo přesněji, proč jsou ve směrovači potřebné položky související se sítí? Mít záznamy ve směrovací tabulce odpovídající sítím má velkou výhodu. Výhodou je, že tím, že záznam souvisí s kompletní sítí, není nutné mít velké množství samostatných záznamů každého hostitele v této síti. To snižuje velikost směrovací tabulky na významnou úroveň, což je vždy dobré.

Příkaz k seznamu směrovacích tabulek

Pomocí příkazu netstat můžete zobrazit seznam směrovacích tabulek, jak je uvedeno níže.

$ netstat -rn
Kernel IP routing table
Destination  Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.2.0  0.0.0.0         255.255.255.0   U         0 0        0    eth0
169.254.0.0  0.0.0.0         255.255.0.0     U         0 0        0    eth0
0.0.0.0      192.168.2.1     0.0.0.0         UG        0 0        0    eth0

Výstup poskytuje podrobné informace o cílových IP adresách a jejich branách. Příznak „U“ naznačuje, že trasa je aktivní, a příznak „G“ naznačuje, že směrovač směřuje k bráně (směrovači). Pokud tento příznak není nastaven, lze předpokládat, že cíl je přímo připojen.


Linux
  1. Úvod do odkládacího prostoru na systémech Linux

  2. Úvod do Nmap na Kali Linuxu

  3. Oprávnění pro Linux:Úvod do chmod

  1. Úvod do linuxového příkazu chown

  2. Úvod do příkazu alternatives v Linuxu

  3. Základy signálů Linuxu – část I

  1. Úvod do bpftrace pro Linux

  2. Úvod do Linuxových vláken – část I

  3. chyba směrování linuxu?