Rutningsscheman _
|
---|
|
|
|
|
|
|
Routing är processen för att bestämma den optimala datarutten i kommunikationsnätverk.
Rutter kan ställas in administrativt ( statiska rutter ), eller beräknas med routingalgoritmer , baserat på information om topologin och nätverkets tillstånd som erhålls med routingprotokoll (dynamiska rutter).
Statiska rutter kan vara:
Routing i datornätverk utförs av speciell mjukvara och hårdvaru- routrar ; i enkla konfigurationer kan den också köras av allmänna datorer som är konfigurerade därefter.
Routningsprotokollet kan endast fungera med paket som tillhör ett av de routade protokollen, såsom IP , IPX eller Xerox Network System , AppleTalk . Ruttade protokoll definierar formatet för paket (headers), vars viktigaste information för routing är destinationsadressen. Protokoll som inte stöder routing kan överföras mellan nätverk med hjälp av tunnlar . Sådana funktioner tillhandahålls vanligtvis av mjukvaruroutrar och vissa modeller av hårdvaruroutrar.
De första routrarna var specialiserad programvara som hanterade inkommande IP-paket på ett specifikt sätt. Denna programvara kördes på datorer som hade flera nätverksgränssnitt som ingick i olika nätverk (routing mellan dem). Senare dök routrar upp i form av specialiserade enheter. Datorer med routingprogramvara kallas mjukvaruroutrar , utrustning - hårdvaruroutrar .
I moderna hårdvaruroutrar används specialiserad mjukvara (“firmware”) för att bygga routingtabeller, medan bearbetning av IP-paket använder en switching-matris (eller annan hårdvaruväxlingsteknik), utökad med adressfilter i IP-pakethuvudet.
Det finns två typer av hårdvarurouting: med statiska flödesmallar och med dynamiskt anpassningsbara tabeller [1] .
Statiska mallar innebär uppdelning av alla IP-paket som kommer in i routern i virtuella strömmar; varje ström kännetecknas av en uppsättning funktioner för paketet, såsom: avsändarens/mottagarens IP-adresser , avsändarens/mottagarens TCP/UDP-port (om routing baserad på lager 4-information stöds), port genom vilken paketet anlände [1] .
I det här fallet är routingoptimering baserad på idén att alla paket med samma funktioner ska behandlas på samma sätt (enligt samma regler), medan funktionerna endast kontrolleras för det första paketet i strömmen (när ett paket visas med en uppsättning funktioner som inte passar in i befintliga flöden, ett nytt flöde skapas ), baserat på resultaten av analysen av detta paket, bildas en statisk mall, som används för att bestämma reglerna för att byta inkommande paket ( inom flödet). Vanligtvis lagras en oanvänd mall under en begränsad tid (för att frigöra routerresurser). Den viktigaste nackdelen med ett sådant schema är trögheten med avseende på ändring av routningstabellen (i fallet med ett befintligt flöde kommer en ändring i paketdirigeringsreglerna inte att "märkas" förrän mallen raderas) [1] .
Dynamiskt anpassningsbara tabeller använder routingregler "direkt", med hjälp av masken och nätverksnumret från routingtabellen för att validera paketet och bestämma porten på vilken paketet ska vidarebefordras. Samtidigt påverkar förändringar i routingtabellen (som ett resultat av t.ex. routing/reservationsprotokoll) omedelbart bearbetningen av alla nyanlända paket. Dynamiskt anpassningsbara tabeller gör det också enkelt att implementera snabb (hårdvaru)kontroll av åtkomstlistor [1] .
Programvarurouting utförs antingen av specialiserad routermjukvara (i de fall när hårdvarumetoder inte kan användas, till exempel vid tunnling ), eller av datorprogramvara. I allmänhet dirigerar vilken dator som helst sina egna utgående paket (åtminstone för att separera paket som skickas till standardgatewayen och paket som är avsedda för värdar i det lokala nätverkssegmentet). För att dirigera andras IP-paket, såväl som att bygga routingtabeller, används olika programvaror:
Internetrouting baseras på TCP/IP-protokoll .
Information överförs med hjälp av IP-paket , rubriken på varje IP-paket innehåller IP-adresserna till mottagaren och avsändaren av paketet. Varje paket bearbetas av routern enligt dess routingtabell . Tabellen innehåller i sin tur information på datorn med vilken adress man ska skicka paket med ett eller annat adressintervall. Till exempel kan alla paket i ett visst intervall dirigeras till en annan router som är "ansvarig" för detta segment.
I vissa fall kan routern omvandla pakethuvudet och ersätta adresserna till avsändaren och/eller mottagaren av paketet. I synnerhet händer detta när ett lokalt nätverk (som har sina egna adresser) interagerar med det globala Internet. I detta fall kan det lokala nätverket ses från utsidan av en enda global IP-adress. För att routern ska kunna vidarebefordra paket med en global adress till vissa mottagare i det lokala nätverket används NAT -tabellen där, förutom IP-adresser, portar indikeras som identifierar applikationer som upprättar en anslutning. I det här fallet anges inte portnumren i IP-pakethuvudet, utan i TCP- eller UDP- segmenthuvudet (segmenten är inkapslade i datafältet för IP-paket). Detta möjliggör en-till-en identifiering av mottagaren och avsändaren i de fall där det finns många datorer i lokala nätverk bakom en global adress. NAT-tabellexempel [2] :
Global adress | Lokal adress |
---|---|
209.165.200.226:1444 | 192.168.1.15:1444 |
209.165.200.226:1445 | 192.168.1.26:1444 |