Az útválasztás, hálózati forgalomirányítás vagy routing (még mint: routeing, route-olás, routolás) az informatikában annak kiválasztását jelenti, hogy a hálózatban milyen útvonalon haladjon a hálózati forgalom. Útválasztásról beszélhetünk telefonhálózatok, elektronikus adathálózatok (mint amilyen az internet) vagy akár közúti hálózat esetében is. A csomagkapcsolt számítógép-hálózatokkal foglalkozunk. Csomagkapcsolt hálózatokban az útválasztás határozza meg a csomagtovábbítást (packet forwarding), azaz a logikai címzéssel ellátott csomagok átvitelét a forrás irányából a cél irányába, köztes hálózati csomópontokon (node-okon) keresztül; ez utóbbiak tipikusan útválasztók (routerek), hálózati hidak (bridge-ek), átjárók (gatewayek), tűzfalak (firewallok) vagy hálózati kapcsolók (switchek). Több hálózati kártyával rendelkező, általános célú számítógépek is képesek csomagokat továbbítani és útválasztást végezni, bár specializált hardver hiányában ezt kisebb teljesítménnyel végezhetik. Az útválasztás általában egy útválasztó tábla (routing table) alapján történik, ami különböző hálózati célállomások felé vezető útvonalak leírását tartalmazza. Az útválasztó memóriájában tartott útválasztó tábla felépítése fontos eleme az útválasztás hatékonyságának. A legtöbb útválasztó algoritmus két cím között egyetlen hálózati útvonalat használ, de léteznek többutas forgalomirányítási (multipath routing) technikák, melyek több alternatív útvonalat használhatnak.
Forgalomirányítás (útválasztás, útvonal választás; routing): Csomagok (IP datagramok) továbbítási irányának meghatározásával kapcsolatos döntések meghozatala. Forgalomirányítási táblázat (routing table): A forgalomirányításhoz szükséges információkat tartalmazó táblázat. Tipikus (legfontosabb) mezők: Célhálózat Hálózati maszk Kimenő interfész Következő csomópont (next hop) Metrika Forgalomirányított protokoll (routed protocol): Olyan hálózati réteghez kötődő általános adatszállító protokoll, amelyet a forgalomirányító (router) irányítani képes (pl. IP, IPX). Forgalomirányítási protokoll (routing protocol): A forgalomirányítási táblázat(ok) felépítéséhez szükséges információk továbbítását (routerek közötti cseréjét) leíró protokoll (pl. RIP, OSPF, BGP). Autonóm rendszer (AS): Hálózatok forgalomirányítási adminisztrációs egysége, amelyben egy közös forgalomirányítási stratégia (routing protocol) érvényesül. Metrika: Egy adott forgalomirányítás eredményeként előálló útvonal minőségének mérési módja, alapvetően két (egymásba transzformálható) kategóriában vizsgálható: - Távolságalapú (költségalapú) metrika. - Jóság alapú metrika.
Az IP-címek hálózati eszközökhöz vannak rendelve, amikor azok az adott hálózathoz vannak konfigurálva. A hozzárendelés módja lehet statikus vagy dinamikus. A statikus IP-cím kézzel van hozzárendelve egy eszközhöz, amely lehet számítógép, nyomtató, útválasztó vagy egyéb hálózati eszköz. Ezt a címet az a személy írja be aki az eszközt a hálózaton beállítja, és ez sosem módosul. A statikus IP-cím akkor módosul ha a hálózatot kezelő személy azt direkt módosítja. A dinamikus IP-cím automatikusan van hozzárendelve egy számítógéphez, nyomtatóhoz vagy egyéb hálózati eszközhöz. Hozzárendelheti egy útválasztó vagy egy speciális kiszolgáló is. A dinamikus címeket lízingnek is hívják. A lízing egy adott időre érhető el. Fontos tudni, hogy a dinamikus IP-címek változhatnak. Ha egy adott IP-című nyomtató nem válaszol az IPcím alapján akkor lehet, hogy új lízinget kapott, és az IP-címe módosult. Statikus IP cím
3
CÍMFORDÍTÁS, NAT (IP MASQUERADE) A belső és a külső IP címek összerendelése Címfordítási táblázat (ötlet ua. Protokoll több port): D Destination S - Source Külső IP cím(ek) Protokoll (TCP,UDP) Külső Port Belső IP cím(ek) Protokoll (TCP,UDP) Belső Port D=152.66.8.5 TCP(UDP)/d S=193.6.5.4 TCP(UDP)/sk Külső cím Belső cím 193.6.5.4/32 10.1.2.0/24 Router D=152.66.8.5 TCP(UDP)/d S=10.1.2.4 TCP(UDP)/sb NAT 10.1.2.4 D=193.6.5.4 TCP(UDP)/sk S=152.66.8.5 TCP(UDP)/d D=10.1.2.4 TCP(UDP)/sb S=152.66.8.5 TCP(UDP)/d IPv4 Külső világ Belső világ
A hálózati címfordító a belső gépekről érkező csomagokat az internetre továbbítás előtt úgy módosítja, hogy azok feladójaként saját magát tünteti fel, így az azokra érkező válaszcsomagok is hozzá kerülnek majd továbbításra, amiket a célállomás címének módosítása után a belső hálózaton elhelyezkedő eredeti feladó részére ad át. Ebből kifolyólag ez minden esetben egy aktív hálózati eszközt igényel, amely folyamatosan figyeli az érkező csomagokat és azok feladói és címzettjei alapján elvégzi a szükséges módosításokat. Ez többnyire (de nem szükségszerűen) egy tűzfal, amely megfelelően szétválasztja a külső internetet a belső hálózattól. Innen származik a terminológia is: a külső, illetve belső hálózat fogalma. A belső hálózatnak olyan címtartományt kell adni, amelyet minden hálózati eszköz a nemzetközi szabványoknak megfelelően belsőnek ismer el, és így azokat nem irányítja közvetlenül a külső hálózat felé. A belső címeket az alábbi táblázat mutatja be: Méret Tartomány Prefix Osztályok szerinti leírás Legnagyobb CIDR blokk 24 bites blokk 10.0.0.0-10.255.255.255 20 bites blokk 172.16.0.0-172.31.255.255 16 bites blokk 192.168.0.0-192.168.255.255 /8 1db A osztályú blokk 10.0.0.0/8 /12 16db folytonos B osztályú blokk /16 256 db folytonos C osztályú blokk 172.16.0.0/12 192.168.0.0/16 EGYETLEN KÜLSŐ CÍM ESETÉN: KICSERÉLI A BELSŐ FORRÁS CÍMET A KÜLSŐ CÍMRE MEGNÉZI, HOGY AZ EREDETI FORRÁS PORT SZABAD-E A KÜLSŐ OLDALON. HA SZABAD, AKKOR AZT VÁLASZTJA. HA FOGLALT, AKKOR A SZABAD (VÁLASZTHATÓ) PORTOK KÖZÜL VÁLASZT EGYET. HA NINCS SZABAD PORT, AKKOR ELDOBJA A CSOMAGOT. BEJEGYZI EGY TÁBLÁZATBA A FORDÍTÁST A VISSZAFELÉ JÖVŐ, ILLETVE A TOVÁBBI CSOMAGOK ÉRDEKÉBEN. TÖBB KÜLSŐ CÍM ESETÉN: HA NINCS SZABAD PORT, AKKOR VESZI A KÖVETKEZŐ KÜLSŐ CÍMET ÉS AZON KERES SZABAD PORTOT. (UGYANÚGY MINT EGY CÍM ESETÉN.) A címfordítás segítségével megoldható, hogy akár egy egész cég teljes belső hálózati forgalma egyetlen külső IP cím mögött legyen, azaz gyakorlatilag egyetlen külső címet használ el egy több száz gépes hálózat. A belső forgalomban természetesen szükség van az egyedi belső címekre, de erről csak a címfordítást végző hálózati eszközöknek kell tudnia, kifelé ennek részletei már nem látható információk. Így létrejöhet olyan gazdaságos konfiguráció is, hogy egy viszonylag nagy cég teljes külső címfoglalása 10-20 db cím, míg a belső forgalmukban akár több ezer belső cím is lehet. Nagy előnye ennek a technikának, hogy ugyanazt a belső tartományt nyugodtan használhatja bárki más is, amíg mindegyik egyedi külső cím mögé van fordítva, ez nem okoz zavart.
Dynamic Host Configuration Protocol (DHCP) A dinamikus állomáskonfiguráló protokoll (angolul Dynamic Host Configuration Protocol, rövidítve DHCP) egy számítógépes hálózati kommunikációs protokoll. Ez a protokoll azt oldja meg, hogy a TCP/IP hálózatra csatlakozó hálózati végpontok (például számítógépek) automatikusan megkapják a hálózat használatához szükséges beállításokat. Ilyen szokott lenni például az IP-cím, hálózati maszk, alapértelmezett átjáró stb. A DHCP szerver-kliens alapú protokoll, nagy vonalakban a kliensek által küldött DHCP kérésekből, és a szerver által adott DHCP válaszokból áll. A DHCP-vel dinamikusan oszthatóak ki IP-címek, tehát a hálózatról lecsatlakozó számítógépek IP-címeit megkapják a hálózatra felcsatlakozó számítógépek, ezért hatékonyabban használhatóak ki a szűkebb címtartományok. 3 féle IP-kiosztás lehetséges DHCP-vel: kézi (MAC cím alapján) automatikus (DHCP-vel kiadható IP-tartomány megadásával) dinamikus (IP-tartomány megadásával, de az IP-címek újrahasznosításával )
TCP/IP A TCP/IP betűszó az angol Transmission Control Protocol/Internet Protocol (átviteli vezérlő protokoll/internetprotokoll) rövidítése, mely az internetet felépítő protokollstruktúrát takarja. Nevét két legfontosabb protokolljáról kapta, a TCP-ről és az IP-ről. Beágyazás (enkapszuláció): A felsőbb szintről érkező, s az adott réteg által már nem módosítható információ (ún. Service Data Unit, SDU) egy bizonyos (alsóbb rétegbeli) protokoll fejlécével történő kiegészítése, becsomagolása (mint pl. levél küldésekor a borítékba helyezés és a boríték címzése). A TCP Fő feladata egy megbízható, és biztonságos kapcsolat kiépítése két folyamat között. Menetét alapvetően három részre bonthatjuk: Létrejön a megbízható kapcsolat két állomás között Megkezdődik a tényleges adatátvitel A kapcsolat lezárása, és a számára elkülönített erőforrások felszabadítása.
Hop by Hop, End to End A hop-by-hop szállítás az adatforgalom szabályozásának egyik alapelve a hálózatban. A hop-by-hop szállítással az adatok darabjait a csomópontról a csomópontra továbbítják tárolási és továbbítási módban. Mivel a hop-by-hop szállítás nem csak a forrás és a cél csomópontot, hanem a közbülső csomópontok egy részét vagy egészét is magában foglalja, lehetővé teszi az adatok továbbítását, még akkor is, ha a forrás és a cél közötti útvonal nem állandó kapcsolatban áll a kommunikáció során. Azonban az "end-to-end" elv azt állítja, hogy a szállítási irányítást végponttól végpontig kell végrehajtani, kivéve, ha a hop-by-hop szállítás végrehajtása lényegesen jobb teljesítményt eredményez. Továbbá, a hop-by-hop szállításhoz átmeneti állapotinformációra van szükség a köztes csomópontokon, ami korlátozza a skálázhatóságát. Ez az egyik oka annak, hogy ma szinte minden kommunikációt a végponttól végpontig terjedő szállítási protokollok vezérelnek, mint például a TCP. A mobilhálózatok területén folyó kutatások olyan alkalmazási forgatókönyveket vizsgálnak, amelyekben a végpontok közötti összeköttetés csak szakaszosan áll rendelkezésre, mivel ilyen körülmények között a hop-by-hop szállítás jelentős teljesítménynövekedést eredményezhet.
A kapcsolat-állapot alapú útválasztás működési vázlata: Kapcsolat állapot 1. Szomszédok felfedezése. 2. A szomszédok felé vezető kapcsolat (link) költségének mérése. 3. Csomagkészítés a mérési eredményekről. 4. A készített csomag küldése a hálózati forgalomirányítási egység összes útválasztójának. 5. Minden router ismeri a teljes hálózati topológiát, s ki tudja számítani (pl. Dijkstra algoritmussal) a többi routerhez vezető optimális utat (feszítőfa, spanning tree számítás).
A legrövidebb út meghatározása Nyilvánvaló hogy a forgalomirányítás során két pont között meg kell találni a legoptimálisabb útvonalat, amely még egyéb csomópontokat tartalmaz. Az optimális útvonal nem feltétlenül jelenti a fizikailag legrövidebb útvonalat, mivel számos egyéb tényező is befolyásolhatja az optimális választást: lehet például mértéknek a csomópont-átlépések számát tekinteni, lehet azt az időt, hogy mennyi idő alatt jut el a csomag, vagy a vonalhasználat költségeit. Az objektív mérték megállapításához lehet olyan teszteket futtatni az adott szakaszokon, amely megadja az átlagos sorbaállási és átviteli késleltetési időt, és ezt tekinti a mértéknek. Általánosan egy adott szakasz mértékét a távolság, az adatátviteli sebesség, az átlagos forgalom, a kommunikációs költség, az átlagos sorhossz vagy más egyéb tényezők alapján határozzák meg. Matematikailag a probléma a gráfelmélet segítségével tárgyalható, ahol a csomópontok az egyes IMP-k, és a csomópontokat összekötő éleket jellemezzük az előbb említett mértékekkel. A feladat a gráf két csomópontja közötti olyan élekből álló útvonal meghatározása (shortest path), amelyre az érintett élek mértékeinek összege minimális. Az ismertetett módszer Dijsktrá-tól (1959) származik.