Rutingstabellen (TCP/IP Nettverksadministrasjon, 3.Utgave)
2.4. Rutetabellen
Gateways rutedata mellom nettverk, men alle networkdevices, verter samt gateways, må ta rutingsbeslutninger. Formest verter, ruting beslutninger er enkle:
-
hvis målverten er på det lokale nettverket, blir dataene levert til målverten.
-
hvis målverten er på et eksternt nettverk, blir dataene videresendt til en lokal gateway.
IP ruting beslutninger er bare tabell oppslag. Pakker er routedtoward sine destinasjoner som anvist av routingtable(også kalt forwardingtable). Rutingstabellen tilordner mål til ruterenog nettverksgrensesnittet SOM IP må bruke for å nå dette målet.Å undersøke rutingstabellen på Et Linux-system viser dette.
på Et Linux-system, brukrute kommandoen med-noption for å vise rutingstabellen. -N-alternativethindrer rute fra å konvertere IP-adresser tilnavn, noe som gir en klarere skjerm. Her er en rutetabellfra Et Eksempel Red Hat system:
Thenetstat-kommandoen brukes til å undersøke routingtable På Solaris 8-systemer. Et Solaris-eksempel er dekket senere idette kapittelet.
# 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
På Et Linux-system viser route-ncommand rutetabellen med følgende felt:
Mål
verdien mot hvilken destinasjon ip-adresseer matchet.
Gateway
ruteren som skal brukes til å nå det spesifisertedestinasjon.
Genmask
adressemasken som brukes til å matche EN IP-adresse med verdien som vises i Målfeltet.
Flagg
Visse egenskaper av denne ruten.De mulige Linux-flaggverdiene er:
flaggene R, M,C, I og ! er spesifikk For Linux. De andre flaggene brukes på mostUnix-systemer.
U
Indikerer at ruten er oppe og i drift.
H
Indikerer at dette er en rute til en bestemt vert(de fleste ruter er til nettverk).
G
Angir at ruten bruker en ekstern gateway. Systemets nettverksgrensesnitt gir ruter tildirekte tilkoblede nettverk. Alle andre ruter bruker eksterne gateways.Direkte tilkoblede nettverk har Ikke g-flagget satt; alle andre ruter gjør det.
R
Indikerer en rute som ble installert, sannsynligvis ved hjelp av adynamic routing protocol som kjører på dette systemet, ved hjelp av thereinstate-alternativet.
D
Indikerer at denne ruten ble lagt tilpå Grunn AV EN ICMP-Omdirigeringsmelding. Når et system lærer AV en ROUTEVIA EN ICMP-Omdirigering, legger den ruten til rutingstabellen slik at ekstra pakker som er bundet til den destinasjonen, ikke trenger å bli omdirigert. Systemet bruker d-flagget for å markere disse rutene.
M
Indikerer en rute som ble endret, sannsynligvis av adynamic routing protocol som kjører på dette systemet, ved hjelp av themod-alternativet.
A
Angir en bufret rute som har en associatedentry i arp-tabellen.
C
Indikerer at denne ruten kom fra kernelrouting-hurtigbufferen. De fleste systemer bruker to rutetabeller: ForwardingInformation Base (FIB), som er tabellen vi er interessert ifordi den brukes til rutebeslutningen, og kjernen routingcache, som viser kilden og destinasjonen til nylig bruktruter. Dette flagget er dokumentert, men Jeg har aldri sett c-flagget i en rutetabelloppføring, selv når du noterer rutingbufferen.
L
Indikerer at målet for detteruten er en av adressene til denne datamaskinen. Disse «localroutes» finnes bare i rutingbufferen.
B
Angir en rute der målet er en kringkastingsadresse. Disse «kringkastingsruter» finnes bare irute cache. Solaris tilordner flagget til begge kringkastingsadresserog nettverksadresser; dvs. både 172.16.255.255 og 172.16.0.0 aregitt b-flagget Av Solaris systems som lever på network172.16.0. 0/16.
I
Angir en rute som bruker loopback-grensesnittetfor andre formål enn å adressere loopback-nettverket. Disse «interne ruter» finnes bare i rutingbufferen.
!
Angir at datagrammer som er bundet til thisdestination, vil bli avvist. Linux tillater deg å manuelt installere»negative» ruter. Dette er ruter som eksplisitt blockdata bundet til en bestemt destinasjon. Dette Er Linux-spesifikt ogsjelden brukt, men det er en mulig flagginnstilling.
Metrisk
«kostnaden» av ruten. Metriske brukes tilsortere dupliserte ruter hvis noen vises i tabellen. Utover dette er adynamisk rutingsprotokoll nødvendig for å gjøre bruk av metriske.
Ref
antall ganger ruten har blitt referert tiletablere en tilkobling. Denne verdien brukes ikke Av Linux-systemer.
Bruk
antall ganger denne ruten ble slått OPP AV IP.
Iface
navnet på nettverksgrensesnittet som brukes av denne ruten.
nettverksgrensesnittet er nettverksmaskinvaren OG programvaren SOM IP bruker til å kommunisere med det fysiske nettverket. Se Kapittel 6, «Konfigurere Grensesnittet» fordetaljer.
Hver oppføring i rutingstabellen starter med adestinasjonsverdi. Målverdien er nøkkelen SOM ip-adressen samsvarer med for å avgjøre om dette er den riktige ruten som skal brukes til Å nå IP-adressen. Destinasjonverdien kalles vanligvis «destinasjonsnettverket», selv om det ikke trenger å være en nettverksadresse. Destinationvalue kan være en vertsadresse, en multicast-adresse, en adresseblokk som dekker en aggregering av mange nettverk, eller en spesiell verdi for standard rute-eller tilbakekoblingsadresse. I alle tilfeller inneholder imidlertid destinasjonsfeltet verdien som måladressen fra IP-pakken samsvarer med for å avgjøre omip skal levere datagrammet ved hjelp av denne ruten.
genmask-feltet er bitmasken SOM IP gjelder for destinasjonsadressen fra pakken for å se om adressen samsvarer med destinasjonsverdien i tabellen. Hvis en bit er på i bitmasken, viltilsvarende bit i måladressen være betydelig formatering av adressen. Dermed vil adressen 172.16.50.183 samsvare med den andre oppføringen i eksempeltabellen fordi ANDing adressen with255. 55.255.0 gir 172.16.50.0.
Når en adresse samsvarer med en oppføring i tabellen, Forteller Gatewayfield IP HVORDAN du når det spesifiserte målet. Hvis Gateway-feltet inneholder ip-adressen til router, brukes ruteren. Hvis Gateway-feltet inneholder alle 0s (0.0.0.0 når ruten kjøres med-n) eller en stjerne (*whenroute kjøres uten-n), er destinasjonsnettverket et direkte tilkoblet nettverk, og» gateway » er datamaskinens nettverksgrensesnitt. Det siste feltet som vises for hver tabelloppføring, er nettverksgrensesnittet som brukes for ruten. I eksemplet er det enten det første Ethernetinterface(eth0) eller loopback interface (lo). Målet, gatewayen, masken oggrensesnittet definerer ruten.
de resterende fire feltene (Ref, Bruk, Flagg og Beregning) viser støtte for informasjon om ruten. Disse informationalfields er av bare marginal verdi. Somesystems holder en nøyaktig telling I Ref-feltet; andre, slik Som Linux, bruker det egentlig ikke. Linux bruker Usefield å telle antall ganger aroute måtte bli sett opp fordi DET ikke var i ruting cachewhen IP trengte DET. Noen andre systemer viser antall pakkeroverført via ruten I Bruk-feltet. Den Flagsfield viser informasjon som er ofteobvious selv uten flaggene: hver rute har u flagg setbecause hver rute i rutetabellen er opp per definisjon, andlooking På Gateway feltet forteller deg hvorvidt en externalgateway brukes uten å lete Etter g flagget. Metricvalue brukes bare hvis du kjører noenversjon Av RoutingInformation Protocol (RIP) på systemet ditt. Ikke bli distrahert av denne informasjonen. Hjertet i rutingstabellen er ruten, som består av målet, masken, gatewayen og grensesnittet.
IP bruker informasjonen fra rutingstabellen (videresendingstabellen)til å konstruere rutene som brukes for aktive tilkoblinger. Ruteneassosiert med aktive tilkoblinger lagres i routingcache. På Linuxsystems kan rutingbufferen beexamined ved å legge til-c-argumentet til rutekommandolinjen:
$ 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
rutingbufferen er forskjellig fra rutingstabellen fordi hurtigbufferen viser etablerte ruter. Rutingstabellen brukes til å lagerouting beslutninger; ruting cache er bruktetter at avgjørelsen er gjort. Ruting cacheshows kilden og målet for en nettverkstilkobling og thegateway og grensesnitt som brukes til å lage den tilkoblingen.
Linux gir et godt eksempel for å vise innholdet i routingtable fordi Linux route kommandoen viser thetable så tydelig. På Solaris-systemer harroute-kommandoen en helt annen syntaks. Whenrunning Solaris, vise ruting tabellens innhold med thenetstat-nrcommand. Den – r optiontells netstat å vise ruting tabellen, andthe – n alternativet forteller netstat todisplay tabellen i numerisk form.
Linux inkorporerer adressemaskeinformasjonen i rutetabellvisningen. Solaris 8støtter adressemasker; det viser bare ikke dem når du viser rutingstabellen.
% 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
den første tabelloppføringen er tilbakeslagsveienfor den lokale verten. Dette er loopbackaddress nevnt tidligere som et reservert nettverksnummer. Fordi everysystem bruker loopback-ruten til å sende datagrammer til seg selv, er en inngang for loopback-grensesnittet i hver verts rutingstabell.H-flagget er angitt fordi Solaris oppretter en rute til en bestemt vert(127.0.0.1), ikke en rute til et helt nettverk (127.0.0.0).Vi ser loopback-anlegget igjen når vi diskuterer kernelconfiguration og ifconfig-kommandoen. For nå er imidlertid vår reelle interesse for eksterne ruter.
En annen unik oppføring i denne routingtable er den med ordet «standard» i destinasjonsfeltet. Denne oppføringen er for defaultroute, og gatewayen som er angitt i denne oppføringen, er defaultgatewayen. Standardruten er det andre reserverte nettverksnummeret nevnt tidligere: 0.0.0.0. Defaultgateway brukes når det ikke er noen bestemt rute i tabellen fora destinasjonsnettverksadresse. Denne rutingstabellen har for eksempel noentry for nettverk 192.168.16.0. Hvis IP mottar datagramadressert til dette nettverket, vil DET sende dem via standard gateway172.16.12.1.
Alle gatewayene som vises i rutingstabellen, er koblet direkte til det lokale systemet på networksdirectly connected to the local system. I eksemplet vist ovenfor betyr dette at gatewayadressene alle begynner med 172.16.12 uavhengig av destinasjonsadressen. Dette er det eneste nettverket som denne prøveverten er direkte knyttet til,og derfor er det det eneste nettverket som det direkte kan levere data til. Gatewayene somen vert bruker for å nå resten av Internett, må være på sitt delnett.
I Figur 2-4 er IP-laget av to verter og agateway på vårt imaginære nettverk erstattet av et lite stykke rundbord, som viser destinasjonsnettverk og gatewayene som brukes tilnå disse destinasjonene. Anta at adressemasken som brukes tilnettverk 172.16.0.0 er 255.255.255.0. Når kildeverten(172.16.12.2) sender data til målverten (172.16.1.2), bruker itapplies adressemasken for å bestemme at den skal se etterdestinasjonsnettverksadressen 172.16.1.0 i rutingstabellen. Therouting-tabellen i kildeverten viser at data bundet til 172.16.1.0 sendes til gateway 172.16.12.3. Kildeverten videresender pakkentil gatewayen. Gatewayen gjør de samme trinnene og ser oppdestinasjonsadressen i rutingstabellen. Gateway 172.16.12.3 dengjør direkte levering gjennom sitt 172.16.1.5-grensesnitt. Undersøkeruting tabeller I Figur 2-4 viser at alle systemerliste bare gateways på nettverk som de er direkte koblet til.Dette illustreres av det faktum at 172.16.12.1 er standardgateway for både 172.16.12.2 og 172.16.12.3, men fordi 172.16.1.2cannot reach network 172.16.12.0 direkte, den har en annen defaultroute.
Figur 2-4. Tabellbasert ruting
en rutingstabell inneholder ikke endroutes. En rute peker bare til nextgateway, kalt neste hopp, langs stien tildestinasjonsnettverket. Hostrelies på den lokale gatewayen for å levere dataene, og gatewayrelies på andre gateways. Som et datagram beveger seg fra en gateway tilen annen, den skal til slutt nå en som er direkte koblet tilsitt destinasjonsnettverk. Det er denne siste gatewayen som endeligleverer dataene til destinasjonsverten.
som vi ser I Kapittel 7, «Konfigurere Ruting «, får noen rutingsprotokoller, for EKSEMPEL OSPF og BGP,ende-til-ende rutingsinformasjon. Likevel er pakkenfortsatt overført til neste-hop-ruteren.
IP bruker nettverksdelen av adressen til å rute datagrambetween-nettverkene. Den fulle adressen, inkludert vertsinformasjonen, brukes til å gjøre endelig levering når datagrammet når destinasjonsnettverket.
2.3. Internet Routing Architecture | 2.5. Address Resolution |