Ruuter

Marsruuter ehk ruuter on elektrooniline seade, mis ühendab omavahel kaht või enamat arvutivõrku, ning võimaldab nendevahelise andmeside.
Ruuteri tööpõhimõte.
Andmeside kahe arvutivõrgu vahel toimib pakettidena. Iga pakett sisaldab informatsiooni selle kohta, millisest võrgust see tuleb ja millisesse võrku see minema peab. Nende aadresside järgi saab ruuter otsustada, kas paketi saatja ja vastuvõtja on ühes võrgus või on vastuvõtja saatjast erinevas võrgus. Kui alamvõrgust (nt koduarvutist) on soov saavutada ühendus ülemvõrguga (nt internet), siis ruuter otsib oma marsruutimistabelist (ruuterisisene tabel, kus on kirjas ruuteriga ühendatud arvutite ja võrkude aadressid), kas ülemvõrgu aadress on tabelis olemas. Juhul, kui aadressi seal ei ole, siis saadab ruuter paketi modemi aadressile, mis omakorda loob ühenduse soovitud internetiserveriga, ning saadab saadud paketi tagasi ruuterile. Ruuter saadab omakorda paketi tagasi päringu teinud seadmele. Juhul, kui alamvõrgu seade soovib ühendust saada teise alamvõrgu seadmega, siis leiab ruuter soovitud seadme aadressi marsruutimistabelist ja edastab paketi otse õigele seadmele, ilma modemit läbimata.
NAT-ruuteri funktsioon.
NAT-ruuterid loodi selleks, et piiratud IP-aadressiruumi korral oleks internetti võimalik kasutada rohkemates tööjaamades. Kui alamvõrgus on igal arvutil oma IP-aadress, siis internetti ühendades tõlgib ruuter kõik alamvõrgu paketid ümber ja lisab nendele enda kõrgema võrgu aadressi (IP-aadress, mille teenusepakkuja on andnud). Seega on internetis paketti vastuvõtval serveril paketi tagasi saatmiseks alati üks aadress, isegi kui alamvõrgus on mitu seadet, mis korraga päringuid teevad (ruuter määrab ise, millisele alamvõrgu seadmele internetiserverist saadud pakett saata). See hõlbustab internetiserveritel IP-aadresside jälgimist, kuna ilma ruuteriteta oleks vaja jälgida igat alamvõrgus olevat arvutit eraldi. See muudaks aga IP-aadresside arvu nii suureks, et nende erinevate kombinatsioonide arv lõppeks otsa. Seega on NAT-ruuter oma funktsiooni täitmisel hädavajalik.
NAT-ruuteri funktsioonid:
NAT-ruuterid on ka efektiivsed vahendid sisevõrgu turvalisuse tõstmisel.
Ajalugu.
Esimene seade, mis omas tänapäeva ruuteriga sarnast funktsionaalsust, oli IMP (Interface Message Processor), mis ühendas 1960. aastate lõpust kuni 1989. aastani arvutivõrke ja moodustas interneti eelkäija ARPANETi. Ruuteri idee töötati esialgselt välja INWG (International Network Working Group) poolt ning siis kandis see nimetust lüüs (gateway). INWG alustas tegevust 1972. aastal mitteametliku organisatsioonina, mis keskendus erinevate võrkude omavahelisel ühendamisel kerkivatele probleemidele. Sama aasta lõpus sai INWG IFIPi (International Federation for Information Processing) alamkomiteeks.
Lüüsid erinesid varasematest pakette vahetavatest seadmetest kahel viisil. Esiteks ühendasid lüüsid eri tüüpi võrke, näiteks jadaliini ja kohtvõrku. Teiseks olid lüüsid ühenduseta võrguseadmed, mis tähendas, et info liikus pakettidena, millel kõigil oli määratud paketi saaja ja saatja IP-aadress, ning kahe seadme vahel polnud pakettide saatmiseks vaja luua ühendust kogu sideseansi ajaks. 
Lüüside ideed uuris edasi DARPA (Defence Advanced Research Projects Agency) ja 1970. aastatel tulenes sellest tänapäeval kasutatav TCP/IP ehk Interneti mudel.
Esimene IP-protokolliga ruuter töötati samuti välja DARPA initsiatiivil aastatel 1975–1976.
Esimesed multiprotokolliga (mitme protokolli toega) ruuterid loodi 1981. aastal MITis (Massachusettsi tehnoloogiainstituut) Noel Chiappa ja Stanfordi ülikoolis William Yeageri poolt.
Kuigi multiprotokolliga ruuterid on praeguseks peaaegu välja surnud (OSI mudeli võrgukihis on hetkel kasutuses peaaegu eranditult IP-protokoll) olid need väga tähtsad arvutivõrkude algusaegadel, mil kasutuses polnud ainult TCP/IP-, vaid ka mitmed muud protokollid.
1970.–1980. aastateni täitsid ruuteri ülesandeid selleks määratud tavaarvutid. Kuigi tavaarvutid saavad ruuteri ülesannetega hakkama, on tänapäeva ruuterid ülimalt spetsialiseeritud oma funktsioonide täitmiseks: on lisatud riistvara ja tarkvara, mis kiirendab pakettide edastamist ja krüpteerimist.
Ruuterite tüübid.
Ruuterid võib jaotada kaheks, juhtmeta ruuterid ja juhtmega ruuterid.
Ruuteri ehitus.
Ehituselt sarnaneb ruuter väga tavaarvutiga. Neil on olemas protsessor, mälu, pordid perifreeria ühendamiseks ning mõnel ruuterimudelil on isegi ekraan info kuvamiseks. 
Suurim erinevus arvutiga võrreldes on ketaste (diskett, CD-ROM, kõvaketas) puudumine. Ruuteril pole kettaid, kuna ta täidab vaid üht ülesannet, milleks on sissetulevate pakettide töötlemine ja filtreerimine, ning seejärel nende õigesse asukohta edasisaatmine. 
Teine erinevus on ruuteri lisamoodulite lisamise piiratus. Kui tavaarvutisse saab lisada video-, heli- ja graafikakaarte, siis ruuteri lisakaardid on alati võrgufunktsioonide laiendamiseks (uue võrguprotokolli toe lisamine) või nende kiirendamiseks. 
Kui tavaarvuti protsessorid põhinevad alati mingil kindlal protsessori arhitektuuril (nt Intel x86), siis ruuteri protsessorid on väga erinevad ja ette nähtud erinevate funktsioonide täitmiseks (nt Cisco ruuterid kasutavad Motorola, Silicon Graphicsi ja teiste kiibitootjate protsessoreid).
Enamik ruutereid kasutab nelja tüüpi mälu, mis kõik on mõeldud erinevate ülesannete täitmiseks.
Marsruutimistabel.
Marsruutimistabel sisaldab informatsiooni, mille alusel ruuter teeb otsuse järgmiste andmepakettide edastamise kohta. Tabel koosneb kirjetest ehk marsruutidest, iga kirje sisaldab vastuvõtja võrgu aadressi, järgmise sõlme aadressi, millele peab edastama pakette ja marsruudi kaalu – meetrikat. Salvestuste meetrikad tabelis aitavad välja arvutada lühimaid marsruute erinevatele saatjatele. Sõltuvalt ruuteri mudelist ja kasutatavatest marsruutimisprotokollidest võib tabel sisaldada mingit lisainformatsiooni. Näiteks:
Marsruutimistabelit võib koostada kahel viisil:
Tihti rakendatakse tabelite koostamisel graafiteooriat.