Směrovací Tabulky (TCP/IP Správa Sítě, 3. Vydání)
2.4. Směrovací tabulka
brány směrují data mezi sítěmi, ale všechna zařízení networkdevices, hostitelé i brány, musí rozhodovat o směrování. Formost hosts, rozhodnutí o směrování jsou jednoduchá:
-
Pokud je cílový hostitel v místní síti, jsou data předána cílovému hostiteli.
-
Pokud je cílový hostitel ve vzdálené síti, data jsou předána místní bráně.
rozhodnutí o směrování IP jsou jednoduše vyhledávání tabulek. Pakety jsou směrovány směrem ke svým cílům podle pokynů routingtable (také nazývané forwardingtable). Směrovací tabulka mapuje cíle na routerand síťové rozhraní, které IP musí použít k dosažení tohoto cíle.Zkoumání směrovací tabulky v systému Linux To ukazuje.
v systému Linux použijtepříkaz trasy s volbou-noption pro zobrazení směrovací tabulky. Možnost -nzabraňuje cestě před převodem IP adres nahostnames, což poskytuje jasnější zobrazení. Zde je směrování tablefrom vzorek Red Hat systém:
Thenetstat příkaz se používá k zkoumat routingtable na Solaris 8 systémů. Příklad Solaris je popsán pozdějitéto kapitoly.
# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface172.16.55.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0172.16.50.0 172.16.55.36 255.255.255.0 UG 0 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 172.16.55.1 0.0.0.0 UG 0 0 0 eth0
Na systému Linux route-ncommand zobrazí směrovací tabulku s následující pole:
Cíl
hodnota, proti které cílové IP addressis uzavřeno.
brána
směrovač, který chcete použít k dosažení zadaného určení.
Genmask
maska adresy použitá pro shodu IP adresy s hodnotou zobrazenou v cílovém poli.
příznaky
určité vlastnosti této trasy.Možné hodnoty příznaku Linuxu jsou:
vlajky R, M, C, I a ! jsou specifické pro Linux. Ostatní příznaky se používají na většiněsystémy Unix.
U
označuje, že trasa je nahoru a funkční.
H
označuje, že se jedná o cestu ke konkrétnímu hostiteli (většina tras je do sítí).
G
označuje, že trasa používá externí bránu. Síťová rozhraní systému poskytují trasypřímo připojené sítě. Všechny ostatní trasy používají externí brány.Přímo připojené sítě nemají nastavený příznak G; všechny ostatní trasy Ano.
R
Označuje trasu, která byla nainstalována, pravděpodobně adynamická směrovací protokol běží na tomto systému, pomocí thereinstate možnost.
D
označuje, že tato trasa byla přidánakvůli ICMP přesměrování zprávy. Když se systém dozví o routevii přesměrování ICMP, přidá trasu do své směrovací tabulky, takže další pakety směřující do tohoto cíle nebudou muset být směrovány. Systém používá k označení těchto tras příznak D.
M
Označuje trasu, která byla upravena, zřejmě tím, adynamická směrovací protokol běží na tomto systému, pomocí themod možnost.
A
označuje cestu uloženou v mezipaměti, která má přidružený vstup v tabulce ARP.
C
označuje, že tato cesta pochází z mezipaměti kernelrouting. Většina systémů používá dvě směrovací tabulky: ForwardingInformation Base (FIB), která je v tabulce máme zájem inbecause používá se pro směrování rozhodnutí, a jádro routingcache, který obsahuje zdroj a cíl v poslední době usedroutes. Tento příznak je zdokumentován, ale nikdy jsem neviděl C příznak Ina výpis směrovací tabulky, i když výpis směrovací mezipaměti.
L
označuje cíl tohototrasa je jednou z adres tohoto počítače. Tyto „localroutes“ se nacházejí pouze ve směrovací mezipaměti.
B
označuje trasu, jejímž cílem je vysílací adresa. Tyto „vysílací trasy“ se nacházejí pouze v vyrovnávací paměti. Solaris přiřadí příznak oběma adresám vysílání a síťovým adresám; to znamená, že oba 172.16.255.255 a 172.16.0.0 poskytují příznak B systémy Solaris, které žijí na network172.16.0.0/16.
I
označuje trasu, která používá Rozhraní loopback pro jiný účel než adresování sítě loopback. Tyto „interní trasy“ se nacházejí pouze ve směrovací mezipaměti.
!
označuje, že datagramy vázané na toto určení budou odmítnuty. Linux umožňuje ruční instalaci“ negativních “ tras. Jedná se o trasy, které výslovně blokujídata vázaná na konkrétní cíl. Toto je specifické pro Linux a zřídka se používá, ale je to možné nastavení vlajky.
metrika
„cena“ trasy. Metrika se používá k vytvoření duplicitních tras, pokud se v tabulce objeví nějaké. Kromě toho je pro použití metriky vyžadován adynamický směrovací protokol.
Ref
kolikrát byla trasa odkazována na navázání spojení. Tato hodnota není používána systémy Linux.
použijte
kolikrát byla tato trasa vyhledána podle IP.
Iface
název síťového rozhraní používaného touto cestou.
síťové rozhraní je síťový hardware a software, který IP používá ke komunikaci s fyzickou sítí. Viz kapitola 6 „konfigurace rozhraní“ prodetaily.
každá položka ve směrovací tabulce začíná hodnotou adestination. Cílová hodnota jeklíč, proti kterému je přiřazena adresa IP, aby se zjistilo, zda je to správná cesta k dosažení adresy IP. Cílová hodnota se obvykle nazývá „cílová síť“, i když to nemusí být síťová adresa. Destinationvalue může být adresa hostitele, adresa vícesměrového vysílání, blok adres, který pokrývá agregaci mnoha sítí, nebo speciální hodnota pro výchozí adresu trasy nebo zpětné smyčky. Ve všech případech, nicméně, cílové pole obsahuje hodnotu, proti níž cílovou adresu IP paketu je uzavřeno určit, ifIP, musí doručit datagram pomocí této trasy.
Genmask pole je bit masky, že IP se vztahuje na cílovou adresou z paketu vidět, pokud adresa odpovídá cílové hodnoty v tabulce. Pokud je bit zapnutý v bitové masce, odpovídá bit v cílové adrese významnému formátování adresy. To znamená, že adresa 172.16.50.183 by zápas druhý vstup ve vzorku stolu, protože ANDing adresu with255.55.255.0 Výnosy 172.16.50.0.
když adresa odpovídá položce v tabulce, Gatewayfield řekne IP, jak dosáhnout zadaného určení. Pokud pole brána obsahuje IP adresu arouteru, použije se router. Pokud pole Gateway obsahuje všechny 0s (0.0.0.0 při spuštění route S-n) nebo hvězdičku (*pokud je trasa spuštěna bez-n), cílová síť je přímo připojená síť a „brána“ je síťové rozhraní počítače. Poslední pole zobrazené pro každou položku tabulky je síťové rozhranípoužité pro trasu. V příkladu je to buď první Ethernetinterface (eth0) nebo loopback interface(lo). Cíl, brána, maska arozhraní definují trasu.
zbývající čtyři pole (Ref, Use, Flags a Metric) zobrazujípodporující informace o trase. Tato informační pole mají pouze okrajovou hodnotu. Některé systémy udržují přesný počet v poli Ref; jiní, jako je Linux, to opravdu nepoužívají. Linux používá Usefield spočítat, kolikrát aroute potřeba vyhledat, protože to nebylo ve směrovacím cachewhen IP potřeboval. Některé další systémy ukazují počet balíčkůpřenesené cestou v poli použití. Na Flagsfield zobrazí informace, že je oftenobvious i bez vlajky: každá cesta má U vlajky setbecause každou trasu ve směrovací tabulce, je podle definice, andlooking na Bránu oboru vám řekne, zda je či není externalgateway se používá, aniž by při pohledu na G vlajky. Metricvalue se používá pouze v případě, že ve vašem systému spustíte protokol RoutingInformation Protocol (RIP). Nenechte se touto informací rozptylovat. Srdcem směrovací tabulky je trasa, která se skládá z cíle, masky, brány a rozhraní.
IP používá informace ze směrovací tabulky (tabulky přesměrování) ke konstrukci tras používaných pro aktivní připojení. Trasy spojené s aktivním připojením jsou uloženy v routingcache. V systémech Linuxsystems lze směrovací mezipaměť prozkoumat přidáním argumentu-C do příkazového řádku route:
$ route -CnKernel IP routing cacheSource Destination Gateway Flags Metric Ref Use Iface127.0.0.1 127.0.0.1 127.0.0.1 l 0 0 0 lo192.203.230.10 172.16.55.3 172.16.55.3 l 0 0 0 lo172.16.55.1 172.16.55.255 172.16.55.255 ibl 0 0 243 lo172.16.55.2 172.16.55.255 172.16.55.255 ibl 0 0 15 lo172.16.55.3 192.203.230.10 172.16.55.1 0 0 0 eth0127.0.0.1 127.0.0.1 127.0.0.1 l 0 0 0 lo172.16.55.3 132.163.4.9 172.16.55.1 0 0 0 eth0172.16.55.2 172.16.55.3 172.16.55.3 il 0 0 149 lo172.16.55.3 172.16.55.2 172.16.55.2 0 1 0 eth0132.163.4.9 172.16.55.3 172.16.55.3 l 0 0 0 lo
směrovací cache se liší od směrovací tabulky, protože thecache ukazuje, stanovené trasy. Směrovací tabulka se používá k rozhodování o cestě; směrovací mezipaměť se používá po rozhodnutí. Směrování cacheshows zdroj a cíl připojení k síti a brány a rozhraní se používá, aby se toto připojení.
Linux poskytuje dobrý příklad ukazující obsah routingtable, protože Linux route příkaz zobrazí tabulky tak jasně. V systémech Solaris má příkaz theroute velmi odlišnou syntaxi. Whenrunning Solaris, zobrazit obsah směrovací tabulky s thenetstat-nrcommand. Volba-r řekne netstatu, aby zobrazil směrovací tabulku, a volba-n řekne netstatu, aby zobrazil tabulku v číselné podobě.
Linux obsahuje informace o masce adresy na displeji směrovací tabulky. Solaris 8podporuje masky adres; prostě je nezobrazuje, když přehrává směrovací tabulku.
% netstat -nr Routing Table: IPv4 Destination Gateway Flags Ref Use Interface ----------- ----------- ----- ---- ----- --------- 127.0.0.1 127.0.0.1 UH 1 298 lo0 default 172.16.12.1 UG 2 50360 172.16.12.0 172.16.12.2 U 40 111379 dnet0 172.16.2.0 172.16.12.3 UG 4 1179 172.16.1.0 172.16.12.3 UG 10 1113 172.16.3.0 172.16.12.3 UG 2 1379 172.16.4.0 172.16.12.3 UG 4 1119
první položka tabulky je loopback místa místního hostitele. Toto je loopbackadresa zmíněná dříve jako vyhrazené číslo sítě. Protože everysystem používá loopback route k odesílání datagramů na sebe, entryfor Rozhraní loopback je ve směrovací tabulce každého hostitele.Příznak H je nastaven, protože Solaris vytvoří trasu ke konkrétnímu hostiteli (127.0.0.1), nikoli cestu k celé síti (127.0.0.0).Znovu uvidíme zařízení loopback, když diskutujeme o konfiguraci kernelconfiguration a příkazu ifconfig. Prozatím je však náš skutečný zájem o externí trasy.
Další jedinečnou položkou v této tabulce je položka se slovem „výchozí“ v poli určení. Tento záznam je pro výchozí trasa, a brána uvedené v této položce je výchozí brána. Výchozí trasa je druházachované číslo sítě uvedené výše: 0.0.0.0. Defaultgateway se používá vždy, když v tabulce není žádná konkrétní trasa pro cílovou síťovou adresu. Například tato směrovací tabulka nemá vstup do sítě 192.168.16.0. Pokud IP obdrží nějaké datagramyadresované do této sítě, odešle je přes výchozí gateway172. 16. 12. 1.
všechny brány, které se objevují ve směrovací tabulce, jsou v sítích přímo připojeny k místnímu systému. Ve výše uvedeném vzorku to znamená, že všechny adresy brány začínají 172.16.12 bez ohledu na cílovou adresu. Toto je jediná síť, ke které je tento vzorový hostitel přímo připojen, a proto je to jediná síť, do které může přímo dodávat data. Brány, kteréhostitel používá k dosažení zbytku internetu, musí být v podsíti.
Na Obrázku 2-4, IP vrstva dva hostitelé a agateway na naše imaginární síť je nahrazena malý kousek arouting tabulka, ukazující cíl sítí a bran používá toreach těchto destinací. Předpokládejme, že maska adresy použitá prosíť 172.16.0.0 je 255.255.255.0. Když se zdrojový hostitel(172.16.12.2) posílá data do cílového hostitele (172.16.1.2), platí adresa, maska určit, že by měl vypadat pro cílovou síťovou adresu 172.16.1.0 v tabulce směrování. Tabulka ve zdrojovém hostiteli ukazuje, že data vázaná na 172.16.1.0 jsou odeslána na bránu 172.16.12.3. Zdrojový hostitel předá balíček do brány. Brána provede stejné kroky a vyhledá adresu určení ve své směrovací tabulce. Brána 172.16.12.3 pakdělá přímé doručení prostřednictvím rozhraní 172.16.1.5. Zkoumání tabulek na obrázku 2-4 ukazuje, že všechny systémy uvádějí pouze brány v sítích, ke kterým jsou přímo připojeny.To dokládá skutečnost, že 172.16.12.1 je defaultgateway pro oba 172.16.12.2 a 172.16.12.3, ale protože 172.16.1.2A nemůže dosáhnout sítě 172.16.12.0 přímo, má jinou výchozí cestu.
obrázek 2-4. Směrování založené na tabulce
směrovací tabulka neobsahuje end-to-endroutes. Trasa ukazuje pouze na nextgateway, volal další hop, podél cesty do cílové sítě. Hostspoléhá na místní bráně, aby doručil data, a gatewayleží na jiných branách. Jak se datagram pohybuje z jedné brány najiný, měl by nakonec dosáhnout toho, který je přímo připojen k cílové síti. Je to poslední brána, která konečnědodává data cílovému hostiteli.
Jak uvidíme v Kapitole 7, „Konfigurace Směrování „, některé směrovací protokoly, jako je OSPF a BGP,získat end-to-end informace o směrování. Přesto je paket stále předán směrovači next-hop.
IP používá síťovou část adresy pro směrování datagram mezi sítěmi. Úplná adresa, včetně informací hostitele, se používá k provedení konečného doručení, když datagram dosáhne cílové sítě.
2.3. Internet Routing Architecture | 2.5. Address Resolution |