Articles

Rutetabellen (TCP/IP-netværksadministration, 3.udgave)

Book hjem

forrige næste

2.4. Rutetabellen

portaler rute data mellem netværk, men alle netværksenheder, værter såvel som portaler, skal træffe routingbeslutninger. Formost værter, routing beslutninger er enkle:

  • Hvis destinationsværten er på det lokale netværk, leveres dataene til destinationsværten.

  • Hvis destinationsværten er på et eksternt netværk, sendes dataene til en lokal port.

IP routing beslutninger er simpelthen tabel opslag. Pakker rutes mod deres destinationer som anvist af rutetabellen (også kaldet videresendelsestabellen). Rutetabellen kortlægger destinationer til routerand-netværksgrænsefladen, som IP skal bruge for at nå den destination.Undersøgelse af rutetabellen på et system viser dette.

brug rutekommandoen med-noptionen til at vise rutetabellen. – N-optionenforhindrer rute fra at konvertere IP-adresser tilhostnames, hvilket giver en klarere visning. Her er en rutetabelfra et eksempel Red Hat-system:

Thenetstat-kommando bruges til at undersøge rutetabellen på Solaris 8-systemer. Et Solaris eksempel er dækket senere iDette kapitel.

# 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 Linjesystem viser route-ncommand rutetabellen med følgende felter:

Destination

værdien mod hvilken destination IP-adresser matchet.den router, der skal bruges til at nå det angivnedestination.

Genmask

adressemasken, der bruges til at matche en IP-adresse til den værdi, der vises i destinationsfeltet.

flag

visse egenskaber ved denne rute.De mulige Flagværdier er:

flagene R, M,C, I og ! de er specifikke for Linea. De andre flag bruges på de flesteunikke systemer.

U

angiver, at ruten er op og operationel.

H

angiver, at dette er en rute til en bestemt vært(de fleste ruter er til netværk).

G

angiver, at ruten bruger en eksternvej. Systemets netværksgrænseflader giver ruter tildirekte tilsluttede netværk. Alle andre ruter bruger eksterne porte.Direkte tilsluttede netværk har ikke g-flagsættet; alle andre ruter gør det.

R

angiver en rute, der blev installeret, sandsynligvis af adynamic routing protocol, der kører på dette system, ved hjælp af thereinstate mulighed.

D

angiver, at denne rute blev tilføjetpå grund af en ICMP-Omdirigeringsmeddelelse. Når et system lærer om en routevia en ICMP-omdirigering, tilføjer den ruten til sin rutetabel, så yderligere pakker, der er bundet til den destination, ikke behøver at blive rettet. Systemet bruger D-flag til at markere disse ruter.

M

angiver en rute, der blev ændret, sandsynligvis af adynamic routing protocol, der kører på dette system, ved hjælp afmod mulighed.

A

angiver en cachelagret rute, der har en tilknyttet indgang i ARP-tabellen.

C

angiver, at denne rute kom fra kernelrouting cache. De fleste systemer bruger to rutetabeller: den fremadrettede informationsbase (FIB), som er den tabel, vi er interesseret i, fordi den bruges til routingbeslutningen, og kernel routingcache, der viser kilden og destinationen for nyligt anvendte ruter. Dette flag er dokumenteret, men jeg har aldrig set C flag ina routing tabel notering, selv når notering routing cache.

L

angiver, at destinationen for detterute er en af adresserne på denne computer. Disse “localroutes” findes kun i routingcachen.

B

angiver en rute, hvis destination er en broadcastaddress. Disse “udsendelsesruter” findes kun irute cache. Solaris tildeler flaget til både udsendelsesadresserog netværksadresser; dvs. både 172.16.255.255 og 172.16.0.0 ergivet B-flaget af Solaris-systemer, der lever på netværk172.16.0.0/16.

I

angiver en rute, der bruger loopback-grænsefladentil et andet formål end at adressere loopback-netværket. Disse” interne ruter ” findes kun i routingcachen.

!

angiver, at datagrammer bundet til dettedestination vil blive afvist. Du kan manuelt installere”negative” ruter. Disse er ruter, der udtrykkeligt blokererdata bundet til en bestemt destination. Dette er Linuks-specifikt ogsjældent brugt, men det er en mulig flagindstilling.

metrisk

“omkostninger” af ruten. Metricen bruges tilsort duplikatruter, hvis nogen vises i tabellen. Ud over dette kræves adynamic routing protocol for at gøre brug af metricen.

Ref

antallet af gange ruten er blevet refereret til for at oprette forbindelse. Denne værdi bruges ikke af Linuks-systemer.

brug

antallet af gange denne rute blev slået op af IP.

Iface

navnet på den netværksgrænseflade, der bruges af denne rute.

netværksgrænsefladen er det netværksadgangsudstyr og-program, som IP bruger til at kommunikere medfysisk netværk. Se Kapitel 6, “konfiguration af grænsefladen” fordetaljer.

hver post i rutetabellen starter med adestinationsværdi. Destinationsværdien er den nøgle, som IP-adressen matches med for at afgøre, om dette er den korrekte rute, der skal bruges til at nå IP-adressen. Destinationværdien kaldes normalt “destinationsnetværket”, selvom det ikke behøver at være en netværksadresse. Destinationværdien kan være en værtsadresse, en multicast-adresse, en adresseblok, der dækker en sammenlægning af mange netværk eller en særlig værdi for standardruten eller loopback-adressen. I alle tilfælde indeholder feltet bestemmelse dog den værdi, mod hvilken destinationsadressen fra IP-pakken matches for at bestemme, at ifIP skal levere datagrammet ved hjælp af denne rute.

Genmask-feltet er den bitmaske, som IP gælder for thedestination-adressen fra pakken for at se, om adressen matcher thedestination-værdien i tabellen. Hvis en bit er tændt i bitmasken, er den tilsvarende bit i destinationsadressen signifikant formatering af adressen. Adressen 172.16.50.183 ville således matche den anden post i prøvetabellen, fordi ANDing adressen med255.55.255.0 udbytter 172.16.50.0.

når en adresse matcher en post i tabellen, fortæller Portfeltet IP, hvordan man når den angivne bestemmelse. Hvis Portfeltet indeholder arouter ‘ s IP-adresse, bruges routeren. Hvis Portfeltet indeholder alle 0 ‘er (0.0.0.0, når ruten køres med-n) eller en stjerne ( * , når ruten køres uden-n), er destinationsnetværket et direkte tilsluttet netværk, og”porten” er computerens netværksgrænseflade. Det sidste felt, der vises for hver tabelindgang, er netværksgrænsefladen, der bruges til ruten. I eksemplet er det enten den første Ethernetinterface (eth0) eller loopback interface(lo). Destinationen, porten, masken oggrænsefladen definerer ruten.

de resterende fire felter (Ref, Use, flag og Metric) vises, der understøtter oplysninger om ruten. Disse informationsfelter har kun marginal værdi. Nogle systemer holder en nøjagtig optælling i Ref-feltet; andre, som f.eks. Vi bruger Usefield til at tælle antallet af gange aroute skulle slås op, fordi det ikke var i routingcachen, da IP havde brug for det. Nogle andre systemer viser antallet af pakkertransmitteret via ruten i Brugsfeltet. Flagfeltet viser oplysninger, der ofte er åbenlyse, selv uden flagene: hver rute har U-flag indstillet, fordi hver rute i rutetabellen pr.definition er op, og ved at se på Portfeltet fortæller du, om der bruges en ekstern kanal uden at kigge efter G-flag. Metricvalue bruges kun, hvis du kører someversion af RoutingInformation Protocol (RIP) på dit system. Lad dig ikke distrahere af disse oplysninger. Hjertet i rutetabellen er ruten,som er sammensat af destinationen, masken, porten oggrænsefladen.

IP bruger oplysningerne fra rutetabellen (videresendelsestabellen)til at konstruere de ruter, der bruges til aktive forbindelser. Ruterne forbundet med aktive forbindelser gemmes i routingcache. På Linussystemer kan routingcachen undersøges ved at tilføje-C-argumentet til kommandolinjen 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

rutecachen er forskellig fra rutetabellen, fordicache viser etablerede ruter. Routingstabellen bruges til at laverute beslutninger; routingcachen anvendesefter beslutningen er truffet. Routingcachen viser kilden og destinationen for en netværksforbindelse og den gatevej og grænseflade, der bruges til at oprette denne forbindelse.

Linuk giver et godt eksempel til at vise indholdet af rutetabellen, fordi kommandoen linukak viser tabellen så tydeligt. På Solaris-systemer har theroute command en meget anden syntaks. Når du kører Solaris, skal du vise rutetabellens indhold med thenetstat-nrcommand. Indstillingen-r fortæller netstat for at vise rutetabellen, ogindstillingen-n fortæller netstat at vise tabellen i numerisk form.

Linuk inkorporereradressemaskeoplysningerne i routingtabelvisningen. Solaris 8understøtter adressemasker; det viser dem bare ikke, når du viser rutetabellen.

% 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 tabelindgang er loopback-rutenfor den lokale vært. Dette er loopbackadressen nævnt tidligere som et reserveret netværksnummer. Fordi everysystem bruger loopback-ruten til at sende datagrammer til sig selv, er en entryfor loopback-grænsefladen i hver værts rutetabel.H-flaget er indstillet, fordi Solaris opretter en rute til en bestemt vært(127.0.0.1), ikke en rute til et helt netværk (127.0.0.0).Vi ser loopback-anlægget igen, når vi diskuterer kernelconfiguration og ifconfig-kommandoen. For nu er vores reelle interesse imidlertid i eksterne ruter.

en anden unik post i denne rutetabel er den med ordet “standard” idestination felt. Denne post er for defaultroute, og den port, der er angivet i denne post, er default-porten. Standardruten er det andet reserverede netværksnummer nævnt tidligere: 0.0.0.0. Standardvejen bruges, når der ikke er nogen specifik rute i tabellen fora destinationsnetværksadresse. For eksempel har denne routingtabel noentry til netværk 192.168.16.0. Hvis IP modtager nogen datagramsadresseret til dette netværk, vil det sende dem via standardporten172.16.12.1.

alle porte, der vises i rutetabellen, er på netværkdirekte forbundet til det lokale system. I prøven vist ovenfor betyder det, at portadresserne alle begynder med 172.16.12 uanset destinationsadressen. Dette er det eneste netværk, som denne prøvevært er direkte knyttet til, og derfor er det kun netværk, som det direkte kan levere data til. Portene, som en vært bruger til at nå resten af internettet, skal være på sit undernet.

i figur 2-4 erstattes IP-laget af to værter og agatvej på vores imaginære netværk af et lille stykke aroutingbord, der viser destinationsnetværk og Portene, der bruges til at nå disse destinationer. Antag at adressemasken bruges tilnetværk 172.16.0.0 er 255.255.255.0. Når kildeværten (172.16.12.2) sender data til destinationsværten (172.16.1.2), anvender den adressemasken for at bestemme, at den skal kigge efterdestinationsnetværksadresse 172.16.1.0 i rutetabellen. Rutetabellen i kildeværten viser, at data, der er bundet til 172.16.1.0, sendes til Port 172.16.12.3. Kildeværten videresender pakkentil porten. Porten gør de samme trin og ser op thedestination adresse i sin routing tabel. Port 172.16.12.3 gør derefter direkte levering gennem sin 172.16.1.5-grænseflade. Undersøgelse af rutetabeller i figur 2-4 viser, at alle systemerliste kun porte på netværk, som de er direkte forbundet med.Dette illustreres ved, at 172.16.12.1 er standardvejen for både 172.16.12.2 og 172.16.12.3, men fordi 172.16.1.2kan ikke nå netværk 172.16.12.0 direkte, det har en anden defaultroute.

figur 2-4

figur 2-4. Tabelbaseret routing

en routingtabel indeholder ikke end-to-endroutes. En rute peger kun på den næstegatvejen, kaldet det næste hop, langs stien tildestinationsnetværket. Værten ligger på den lokale port for at levere dataene, og porten ligger på andre porte. Når et datagram bevæger sig fra en port til en anden, skal det til sidst nå en, der er direkte forbundet tildets destinationsnetværk. Det er denne sidste port, der endeligleverer dataene til destinationsværten.

som vi vil se i kapitel 7, “konfiguration af Routing “, får nogle routingprotokoller, såsom OSPF og BGP,end-to-end routingoplysninger. Ikke desto mindre er pakkenstadig overført til næste hop router.

IP bruger netværksdelen af adressen til at dirigere datagrammetmellem netværk. Den fulde adresse, inklusive værtsoplysningerne, bruges til at foretage endelig levering, når datagrammet når thedestination-netværket.

Previous Home Next
2.3. Internet Routing Architecture Book Index 2.5. Address Resolution

Library Navigation Links

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *