Reititystaulukko (TCP/IP verkonhallinta, 3.painos)
2,4. Reititystaulukossa
yhdyskäytävien reittitiedot verkkojen välillä, mutta kaikkien verkon laitteiden, isäntien sekä yhdyskäytävien on tehtävä reitityspäätökset. Formost hosts, reititys päätökset ovat yksinkertaisia:
-
Jos kohdeisäntä on lähiverkossa, tiedot toimitetaan kohdeis-isännälle.
-
Jos kohdeisäntä on etäverkossa, tiedot siirretään paikalliseen yhdyskäytävään.
IP-reitityspäätökset ovat pelkkiä taulukkohakuja. Paketit reititetään perille reittitabletin (jota kutsutaan myös forwardingtableksi) ohjeiden mukaisesti. Reititystaulukko kartoittaa kohteet reitittimeen ja verkkoliittymään, jota IP: n on käytettävä päästäkseen kyseiseen kohteeseen.Linux-järjestelmän reititystaulukon tarkastelu osoittaa tämän.
Linux-järjestelmässä käytetään reittikomentoa-noption kanssa reititystaulukon näyttämiseksi. -N vaihtoehto estää reitin IP-osoitteiden muuntamisesta hostnimiksi, mikä antaa selkeämmän näytön. Tässä on reititystaulukko näytepunaisesta Hattujärjestelmästä:
Thenetstat-komentoa käytetään Solaris 8-järjestelmien routintaulukon tutkimiseen. Solaris esimerkki käsitellään myöhemmin tässä luvussa.
# 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
Linuxissa reitti-ncommand näyttää reititystaulukon, jossa on seuraavat kentät:
kohde
arvo vastaan jonka kohdepaikan IP-osoite täsmäsi.
yhdyskäytävä
reititin, jota käytetään määritetyn määrityksen saavuttamiseen.
Genmask
osoitemaski, jolla IP-osoite sovitettiin Kohdekentässä näkyvään arvoon.
Liput
tietyt reitin ominaisuudet.Mahdolliset Linux-lipun arvot ovat:
liput R, M,C, I ja ! ovat erityisiä Linux. Muita lippuja käytetään mostUnix-järjestelmissä.
U
osoittaa, että reitti on ylös ja toiminnassa.
H
tarkoittaa, että kyseessä on reitti tiettyyn isäntään(useimmat reitit ovat verkkoihin).
G
tarkoittaa, että reitti käyttää ulkoreittiä. Järjestelmän verkkoliitännät tarjoavat reittejä suoraan liitettyihin verkkoihin. Kaikki muut reitit käyttävät ulkoisia yhdyskäytäviä.Suoraan yhdistetyissä verkoissa ei ole g-lippua, vaan kaikissa muissa verkoissa on.
r
osoittaa reitin, joka on asennettu, luultavasti adynaaminen reititysprotokolla käynnissä tässä järjestelmässä, käyttäen thereinstate-vaihtoehtoa.
d
viittaa siihen, että tämä reitti lisättiin ICMP: n Uudelleenohjausviestin vuoksi. Kun järjestelmä saa tiedon reitityksestä ICMP: n uudelleenohjauksesta, se lisää reitin reititystaulukkoonsa niin, että kyseiseen määränpäähän meneviä lisäpaketteja ei tarvitse ohjata. Järjestelmä käyttää D-lippua näiden reittien merkitsemiseen.
M
tarkoittaa reittiä, jota on muutettu, todennäköisesti tässä järjestelmässä ajettavalla adynaamisella reititysprotokollalla käyttäen themod-vaihtoehtoa.
A
tarkoittaa välimuistissa olevaa reittiä, joka on assosioitunut ARP-taulukkoon.
c
osoittaa, että tämä reitti on peräisin kernelrouting-kätköstä. Useimmissa järjestelmissä käytetään kahta reititystaulukkoa: ForwardingInformation Base (FIB), joka on taulukko, josta olemme kiinnostuneita, koska sitä käytetään reitityspäätöksessä, ja kernel routingcache, joka listaa äskettäin käytettyjen reittien lähteen ja määränpään. Tämä lippu on dokumentoitu, mutta en ole koskaan nähnyt C-lippua reititystaulukossa listattuna, vaikka lueteltaisiin reititys välimuisti.
l
osoittaa, että tämän reitin määränpää on yksi tämän tietokoneen osoitteista. Nämä ”localroutes” löytyvät vain reititys välimuisti.
B
tarkoittaa reittiä, jonka määränpäänä on yleislähetys. Nämä ”broadcast reitit” löytyvät vain therouting välimuisti. Solaris antaa Lipun sekä lähetysosoitteille että verkko-osoitteille; toisin sanoen sekä 172.16.255.255 että 172.16.0.0 saavat B-lipun Solaris-järjestelmiltä, jotka elävät verkossa172.16.0.0/16.
I
osoittaa reitin, joka käyttää loopback-rajapintaa johonkin muuhun tarkoitukseen kuin loopback-verkkoon puuttumiseen. Nämä ”sisäiset reitit” löytyvät vain reititysvälimuistista.
!
osoittaa, että tähän testaukseen sidotut datagrammit hylätään. Linux sallii sinun asentaa manuaalisesti ”negatiivisia” reittejä. Nämä ovat reittejä, jotka nimenomaisesti estävät tiettyyn kohteeseen menevän tiedon. Tämä on Linux-spesifinen ja Vähän käytetty, mutta se on mahdollinen lippuasetus.
metrinen
reitin ”kustannus”. Mittaria käytetään ilmoittamaan päällekkäiset reitit, jos niitä esiintyy taulukossa. Tämän lisäksi metrijärjestelmän hyödyntämiseen tarvitaan adynaaminen reititysprotokolla.
Ref
kuinka monta kertaa reitti on viitattu yhteyden muodostamiseksi. Tätä arvoa ei käytetä Linux-järjestelmissä.
käytä
kuinka monta kertaa tätä reittiä tutkittiin IP: n mukaan.
Iface
tämän reitin käyttämän verkkoliittymän nimi.
verkkoliittymä on networkaccess-laitteisto ja-ohjelmisto, jota IP käyttää kommunikoidakseen physical Networkin kanssa. Katso Luku 6, ”konfigurointi käyttöliittymä” fordetails.
jokainen reititystaulukon merkintä alkaa adestinaatioarvolla. Kohdearvo on avain, johon IP-osoite on sovitettu sen määrittämiseksi, onko tämä oikea reitti IP-osoitteen saavuttamiseksi. Destinationvalue on yleensä nimeltään ”kohdeverkko”, vaikka sen ei tarvitse olla verkko-osoite. Destinationvalue voi olla isäntäosoite, multicast-osoite, osoitelohko, joka kattaa monien verkkojen yhdistämisen, tai erityinen arvo oletusreitille tai loopback-osoitteelle. Kaikissa tapauksissa testikenttä sisältää kuitenkin arvon, jota vasten IP-paketin kohdeosoite on sovitettu määritettäessä ifIP: n pitäisi toimittaa datagrammi tätä reittiä käyttäen.
Genmask-kenttä on bittimaski, jota IP käyttää paketin estimaatio-osoitteelle nähdäkseen, vastaako osoite taulukossa olevaa estimaatioarvoa. Jos bitti on bitin maskissa, thecorvastaava bitti kohdeosoitteessa on merkittävä osoitteen formatointi. Näin ollen osoite 172.16.50.183 sopisi otostaulukon toiseen kohtaan, koska osoitteeksi merkitään 255.55.255.0 tuottaa 172.16.50.0.
Kun osoite vastaa taulukossa olevaa merkintää, Portinvartijakenttä kertoo IP: lle, miten määritetty määritys saavutetaan. Jos yhdyskäytävän kenttä sisältää arouterin IP-osoitteen, käytetään reititintä. Jos yhdyskäytävän kenttä sisältää kaikki 0s (0.0.0.0 kun reitti ajetaan-N: llä) tai asteriskin (*kun reitti ajetaan ilman-N: ää), on läpivientiverkko suoraan kytketty verkko ja”yhdyskäytävä” tietokoneen verkkoliittymä. Kunkin taulukon viimeinen kenttä on reitille käytetty verkkoliittymä. Esimerkissä se on joko ensimmäinen Eternetinterface (eth0) tai loopback interface(lo). Määränpää, portti, naamio ja interface määrittelevät reitin.
loput neljä kenttää (Ref, Use, Flags, and Metric) tukevat tietoa reitistä. Näillä informaatiokentillä on vain marginaalinen arvo. Jotkut järjestelmät pitävät tarkkaa lukua Ref-kentässä; toiset, kuten Linux, eivät oikeastaan käytä sitä. Linux käyttää Usefield laskea kuinka monta kertaa aroute piti etsiä, koska se ei ollut reititys cachewhen IP tarvitsi sitä. Joissakin muissa järjestelmissä näkyy reitin kautta lähetettyjen packetstrans-pakettien määrä Käyttökentässä. Lippukenttä näyttää tietoja, jotka ovat usein tärkeitä myös ilman lippuja: jokaisella reitillä on U-lippu, koska jokainen reitti reititystaulukossa on määritelty ylöspäin, ja yhdyskäytäväkentästä katsottuna näet, käytetäänkö ulkoista väylää etsimättä g-lippua. Metricvalue – arvoa käytetään vain, jos suoritat jonkin version ROUTINGINFORMATION Protocol (RIP) – protokollasta järjestelmässäsi. Älä anna tämän tiedon häiritä. Reititystaulukon sydän on reitti, joka koostuu kohteesta, naamiosta, portista ja interfacesta.
IP käyttää reititystaulukon (huolintataulukko)tietoja muodostaakseen aktiivisissa yhteyksissä käytettävät reitit. Aktiivisiin yhteyksiin liittyvät reitit tallennetaan reitityscacheen. Linuxsystemsissä reititys välimuisti voidaan tutkia lisäämällä-C-argumentti komentoriville:
$ 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
reititysvälimuisti poikkeaa reititystaulukosta, koska thecache näyttää vakiintuneet reitit. Reititystaulukkoa käytetään päätösten tekemiseen; reititysvälimuistia käytetään päätöksen tekemisen jälkeen. Reititys näyttää verkkoyhteyden lähteen ja määränpään sekä yhteyden muodostamiseen käytetyn väylän ja käyttöliittymän.
Linux on hyvä esimerkki routattavan sisällön näyttämisestä, koska Linuxin reittikomento näyttää sen niin selvästi. Solaris-järjestelmissä theroute-komennolla on hyvin erilainen syntaksi. Kun käynnistät Solariksen, Näytä reititystaulukon sisältö thenetstat-nrcommand-ohjelmalla. -R-vaihtoehto määrää netstatin näyttämään reititystaulukon, ja-n-vaihtoehto kertoo netstatin esittävän taulukon numeerisessa muodossa.
Linux sisällyttää osoitemaskin tiedot reititystaulukon näyttöön. Solaris 8 tukee maskeja; se ei vain näytä niitä, kun reititystaulua soitetaan.
% 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
ensimmäinen taulukkomerkintä on loopback-reitti paikalliselle isännälle. Tämä on loopbackaddress mainittu aiemmin varattu verkon numero. Koska everysystem käyttää loopback-reittiä lähettääkseen datagrammeja itselleen, loopback-käyttöliittymä on jokaisen isännän reititystaulukossa.H-lippu on asetettu, koska Solaris luo reitin tiettyyn isäntään(127.0.0.1), ei reittiä koko verkkoon (127.0.0.0).Näemme loopback-laitoksen uudelleen, kun keskustelemme kernelkonfiguraatiosta ja ifconfig-komennosta. Toistaiseksi todellinen kiinnostuksemme kohdistuu kuitenkin ulkoreitteihin.
toinen ainutlaatuinen merkintä tässä routintaulukossa on se, jossa on sana ”oletus” in thedestination-kentässä. Tämä merkintä on defaultroutelle, ja tässä kohdassa määritetty yhdyskäytävä on thedefault gateway. Oletusreitti on toinen aiemmin mainittu varattu verkkonumero: 0.0.0.0. Oletusasetusta käytetään aina, kun taulukossa ei ole tiettyä reittiä kohdeverkkoosoitteelle. Esimerkiksi tällä reititystaulukolla ei ole merkintää verkkoon 192.168.16.0. Jos IP vastaanottaa datagrameja, jotka on osoitettu tähän verkkoon, se lähettää ne oletusarvoisen gateway172.16.12.1: n kautta.
kaikki reititystaulukossa esiintyvät yhdyskäytävät ovat suoraan paikallisjärjestelmään liitetyissä verkoissa. Yllä olevassa otoksessa tämä tarkoittaa, että yhdyskäytävän osoitteet alkavat kaikki numerolla 172.16.12 riippumatta kohdeosoitteesta. Tämä on ainoa verkko, johon tämä näyteisäntä on liitetty suoraan, ja siksi se on ainoa verkko, johon se voi suoraan toimittaa tietoja. Yhdyskäytävät, joita isäntä käyttää päästäkseen muuhun Internetiin, on oltava sen aliverkossa.
kuviossa 2-4 kahden isännän ja agatewayn IP-kerros kuvitteellisessa verkossamme korvataan pienellä arouttitaulukolla, joka esittää kohdeverkkoja ja niihin kulkevia yhdyskäytäviä. Oletetaan, että verkko 172.16.0.0: ssa käytetty osoitemaski on 255.255.255.0. Kun lähdeisäntä (172.16.12.2) lähettää tietoja kohdeis-isännälle (172.16.1.2), se käyttää osoitemaskia määrittääkseen, että sen pitäisi etsiä reititystaulukosta paikannusverkon osoite 172.16.1.0. Lähdeosaston reititystaulukko osoittaa, että kohtaan 172.16.1.0 sidotut tiedot lähetetään yhdyskäytävälle 172.16.12.3. Lähde isäntä välittää packetto portti. Yhdyskäytävä tekee samat vaiheet ja etsii esto-osoitteen reititystaulukostaan. Yhdyskäytävä 172.16.12.3 tekee suoran toimituksen 172.16.1.5-rajapintansa kautta. Tarkastelemalla kaaviossa 2-4 olevia reititystaulukoita käy ilmi, että kaikki järjestelmätlistaavat vain yhdyskäytäviä verkoissa, joihin ne ovat suoraan yhteydessä.Tätä kuvaa se, että 172.16.12.1 on defaultgateway sekä 172.16.12.2 että 172.16.12.3, mutta koska 172.16.1.2cannot päästä verkkoon 172.16.12.0 suoraan, se on erilainen defaultroute.
Kuva 2-4. Taulukkopohjainen reititys
reititystaulukko ei sisällä endrouteja. Reitti osoittaa vain seuraavalle reitille, jota kutsutaan seuraavaksi hopiksi, kohdeverkkoon johtavaa polkua pitkin. Isännät ovat paikallisella yhdyskäytävällä tietojen toimittamista varten, ja gatewayrelies muilla yhdyskäytävillä. Kun datagrammi siirtyy yhdeltä yhdyskäytävältä toiselle, sen pitäisi lopulta saavuttaa sellainen, joka on suoraan yhteydessä sen kohdeverkkoon. Se on viimeinen portti, joka lopulta siirtää tiedot kohdeis-isännälle.
kuten luvussa 7, ”Configuring Routing ”, jotkut reititysprotokollat, kuten OSPF ja BGP,saavat päästä päähän-reititystiedot. Paketti on kuitenkin edelleen siirtynyt next-hop-reitittimeen.
IP käyttää osoitteen verkko-osaa verkkojen välisen datagrambetin reitittämiseen. Täydellistä osoitetta,mukaan lukien isäntätiedot, käytetään lopulliseen toimitukseen, kun datagrammi saavuttaa mittausverkon.
2.3. Internet Routing Architecture | 2.5. Address Resolution |