Odprtokodno usmerjanje
Nekateri internetni usmerjevalniki, namenjeni rabi doma, v resnici zmorejo dosti več, kot navajajo izdelovalci. Skrivnost je v izboljšani strojni programski opremi (firmware), napisani s strani računalniških zanesenjakov.
Današnji (brezžični) usmerjevalniki za pretežno domačo rabo so si po zasnovi na moč podobni. Temeljno nalogo deljenja širokopasovne povezave med več odjemalci opravlja skupek strojne opreme, ki poganja namensko napisano programsko opremo. Samo strojno zasnovo usmerjevalnikov (tako žičnih kot brezžičnih) dandanes izdeluje le nekaj podjetij na svetu (npr. Broadcom, Atheros, Airgo), prodajalcev teh izdelkov (pod lastnim imenom) pa je veliko več. Skupna značilnost pretežne večine izdelkov v prodaji je, da strojna oprema doživi malo ali nič sprememb glede na referenčna tiskana vezja, izdelana v zgoraj omenjenih podjetjih.
Nasprotno pa je programska oprema povečini v domeni končnih izdelovalcev, zato so razlike v zmožnostih in zanesljivosti delovanja tu precej večje. Že videz spletnega nastavitvenega vmesnika je od izdelovalca do izdelovalca in tudi znotraj različnih rodov izdelkov istega izdelovalca docela različen. Še večje razlike med posameznimi usmerjevalniki pa najdemo med zmožnostmi, ki jih ponujajo te napravice. Medtem ko temeljne naloge pozna prav vsak tak izdelek (preslikavanje NAT, dodeljevanje zasebnih številk IP odjemalcem, samodejno povezovanje s ponudnikom interneta ...), so dodatne zmogljivosti in zanesljivost programske kode tisto, kar deli usmerjevalnike na boljše in na tiste bolj osnovne.
Del praktično vsakega usmerjevalnika (tudi najcenejših) je RTOS oz. operacijski sistem, ki deluje v realnem času. Dodatne zakasnitve podatkovnega prometa na poti skozi usmerjevalnik seveda niso dopustne, zato so zahteve po takem operacijskem sistemu razumljive. Izbor ustreznih OS pa je razmeroma majhen: večina izdelovalcev uporablja prirejeno različico Linuxa, ki podpira delovanje v realnem času, nekateri drugi pa so se odločili za operacijski sistem VxWorks podjetja Wind River.
Čeprav sta si omenjena operacijska sistema v zasnovi nadvse podobna, je odločilna razlika med njima v dostopnosti. Sistem VxWorks je zaprt, komercialen sistem, zato je potreben nakup celotne platforme (operacijski sistem, simulacijsko okolje, licence za nadaljnjo distribucijo...). Programska oprema, napisana za VxWorks, je po lastni presoji avtorja oz. avtorjev lahko na voljo drugim zainteresiranim ("open source"), vendar to ni običajna praksa. Stroški sistema VxWorks se zainteresiranemu podjetju poplačajo s prodajo končnih izdelkov, ki temeljijo na tem operacijskem sistemu in programski kodi, napisani zanj.
Linux, nasprotno, nima točno določenega lastnika, saj je v domeni javnosti in je njegova uporaba zatorej brezplačna. To velja tudi za prodajo končnih izdelkov, ki temeljijo na Linuxu in odprtokodni programski opremi, napisani zanj. Vse to pa je mogoče pod enim pogojem: koda, ki jo posameznik ali podjetje izpelje iz neke že obstoječe odprtokodne programske opreme, mora biti v celoti javno objavljena v obliki izvirne kode. Pri usmerjevalnikih to pomeni, da mora biti koda za dodatno funkcionalnost usmerjevalnikov, ki delno ali v celoti temelji na drugi prosto dostopni kodi, na voljo vsej javnosti. S tem je seveda na voljo tudi morebitnim konkurenčnim izdelovalcem, ki jo tako lahko brezplačno uporabijo v svojih izdelkih! Tega pa si izdelovalci z lastnimi razvojnimi oddelki seveda ne želijo, saj so, kot smo ugotovili na začetku članka, dodatne zmožnosti ena izmed ključnih konkurenčnih prednosti.
Obe izvedbi imata torej svoje prednosti in tudi slabosti. Kljub očitnim težavam za izdelovalce, ki jih prinaša odprtokodnost Linuxa, se vseeno zdi, da je več izdelkov zasnovanih na njem. Nasprotno je izvirne kode programskega dela usmerjevalnikov (kljub poplavi takih izdelkov) na trgu silno malo. Za to razliko se skriva dejstvo, da določeni izdelovalci kratko malo ignorirajo zahteve odprtokodne skupnosti in svoje izvirne kode ne ponudijo širši javnosti. To si lahko privoščijo zato, ker je težko dokazati uporabo kode, ki jo pokriva licenca GPL. Tako lahko trdijo, da je njihova koda povsem avtorski izdelek in ne izhaja ali se opira na kodo GPL. Tako izvirne kode ni treba objaviti, s tem pa je dokazovanje uporabe odprtokodnih rešitev praktično onemogočeno.
Nekdo je moral biti prvi!
Podjetje Linksys (v lasti giganta Cisco Systems) je danes med najbolj znanimi izdelovalci usmerjevalnikov in podobnih izdelkov za domače omrežne povezave. Izdelki Linksys veljajo za ene naprednejših in zanesljivejših v svojem cenovnem razredu. Zasluge za to gredo zagotovo tudi temu, da podjetje že dolgo časa uporablja Linux in s strani odprtokodne skupnosti preverjeno programsko kodo. Postopoma so kodo izpopolnjevali in dopolnjevali z dodatnimi zmogljivostmi iz njihovih razvojnih oddelkov, tako da so vseskozi imeli pomembno konkurenčno prednost. Seveda pa ob tem niso niti razmišljali o objavljanju svojega dela (skupaj s preostalo kodo GPL) v obliki izvirne kode.
Skrivanje izvirne kode (namensko ali nenamensko) je bilo uspešno vse do maja 2003. Takrat so se v spletu prvič začele širiti govorice, da Linksys v programski opremi svojih izdelkov uporablja del kode, ki jo pokriva licenca GPL. Zahteve po objavi izvirne kode so nato hitro postale vse glasnejše, in to prav v trenutku, ki je bil za Linksys prelomen - v tistem času so se namreč dogovarjali s Ciscom o nakupu Linksysa. Ker pa si Linksys ni smel privoščiti nobenih nevšečnosti, ki bi lahko vplivale na pogovore o nakupu, so kot odgovor na zahteve javnosti objavili izvirno kodo za nekaj takrat bolj priljubljenih izdelkov. Med drugim tudi za brezžični usmerjevalnik Linksys WRT54G, ki je imel že pred objavo kode dokaj velik krog kupcev, saj je veljal za zmogljiv in zanesljiv izdelek.
Linksys WRT54G/WRT54GS
Poleg izvirne kode za brezžični usmerjevalnik WRT54G je Linksys objavil kodo tudi za žični usmerjevalnik iz serije BEFSR, pa tudi za brezžično dostopno točko iz družine WAP. Največ pozornosti odprtokodne skupnosti pa je bil vsekakor deležen WRT54G. Razlog se skriva v njegovi nadvse dobri opremljenosti (brezžičnost, zmogljiva strojna zasnova usmerjevalnega dela) in je kot tak kar klical po naknadnih predelavah programske opreme.
Pregovor pravi: kuj železo, dokler je vroče. Tega se je zavedal tudi Linksys, saj WRT54G dolgo časa ni doživel bistvenih sprememb, vsaj ne v primerjavi s konkurenco, ki je nove in nove izdelke predstavljala kot po tekočem traku. No, kljub temu je WRT54G poleg številnih nadgradenj strojne programske opreme doživel tudi nekaj revizij same strojne opreme. Le-te pri Linksysu (in tudi pri nekaterih drugih izdelovalcih) označujejo z dodatno številko v oznaki izdelka, npr: WRT54G v4. Spremembe se nanašajo pretežno na boljšo integracijo na tiskanem vezju in s tem zmanjševanje stroškov izdelave. No, pomembna lastnost različice v2 (in drugih novejših) je tudi hitrejši procesor, saj je 125 MHz procesor MIPS zamenjan z 216 MHz. Mimogrede, količina delovnega pomnilnika RAM te družine usmerjevalnikov je 16 MB, pomnilnik flash, v katerem je celotna strojna programska oprema, pa je 4 MB.
Linksys WRT54G, usmerjevalnik, ki uživa daleč največjo podporo odprtokodne skupnosti.
V najnovejši različici WRT54G v5 je Linksys izvedel nepričakovan korak. Odločil se je namreč za spremembo platforme, z Linuxa na VxWorks. To je bržkone posledica nadaljnjega zmanjševanja stroškov (VxWorks za delovanje zahteva občutno manj pomnilnika RAM in flash). Dejstvo, da je VxWorks zaprt sistem in da zato Linksysu ni treba objavljati izvirne kode, pa je verjetno še dodaten razlog v prid uporabe operacijskega sistema VxWorks.
S tem korakom si je Linksys nakopal precej nejevolje zvestih uporabnikov, točneje tistih, ki so dodobra izkoriščali možnost nalaganja alternativnih "firmwarov" na njihove izdelke. Kot odgovor je Linksys razmeroma hitro ponudil še eno novo različico, tokrat z oznako WRT54GL. Dodatna črka "L" na koncu oznake označuje delovanje v sistemu Linux. V resnici (na srečo) je WRT54GL strojno in programsko povsem enak različici WRT54G v4, tako da na njem tečejo vse dosedanje uradne in neuradne različice strojne programske opreme, prirejene tej strojni različici. Razlika naj bi bila le v ceni usmerjevalnika, saj naj bi bil WRT54G v5 cenejši kot WRT54GL. V resnici onkraj velike luže dejansko je cenovna razlika, pri nas pa sta ceni obeh izvedenk bolj ali manj izenačeni, tako da ni dvoma, katera izbira je prava.
Pomudimo se še ob različici WRT54GS. Luč sveta je ugledala kakšno leto pozneje kot prvotna različica, ki je bila predstavljena leta 2003. Bistvena novost je podpora tehnologiji speedbooster, ki naj bi prinesla do 30 % hitrejši prenos podatkov. WRT54GS smo v Monitorju pred časom že preizkusili in ugotovili približno 20 % pohitritev. Poleg hitrosti je opazno višja tudi cena. Kot bomo videli v nadaljevanju, lahko tudi iz običajnega in torej cenejšega usmerjevalnika iz družine "G" dobimo pohitren "GS", skrivnost je v pravi izbiri strojne programske opreme.
Strojna programska oprema - katero izbrati?
Danes je v internetu moč najti več kot 15 različic strojne programske opreme za Linksysovo družino WRT. Izbiranje prave zato vsekakor ni lahko, saj so razlike precejšne. Lahko se nam zgodi celo to, da naložimo različico, v kateri je nastavljanje (in tudi nadgradnja) možno samo v konzolnem načinu (telnet, ssh), to pa odsvetujemo vsem, razen najbolj izkušenim uporabnikom.
Preden se lotimo pregleda lastnosti posameznih različic, je treba vedeti še nekaj o sami nadgradnji strojne programske opreme. Postopek se sicer zdi preprost, saj vsi spletni nastavitveni vmesniki ponujajo možnost nadgradnje na ta način. Vsekakor pa moramo natančno upoštevati navodila za nadgradnjo posamezne strojne programske opreme, drugače se nam hitro zalomi.
Med postopkom nadgradnje velja upoštevati nekaj splošnih pravil. Zelo priporočljiva je ponastavitev usmerjevalnika na tovarniške nastavitve ("reset to factory default") pred nadgradnjo programske opreme in predvsem po njej. S tem zagotovimo, da morebitni ostanki prej naložene programske opreme ali nastavitev ne zaidejo v konflikt z novo. To ima lahko za posledico nestabilno delovanje usmerjevalnika, v najslabšem primeru pa se ob naslednjem zagonu ne bo več uspešno zagnal.
Drugo pravilo je, da nadgradnjo vedno izvajamo prek ožičene povezave med računalnikom in usmerjevalnikom. Načeloma je sicer možna tudi nadgradnja prek brezžične povezave, vendar v splošnem ožičena povezava velja za zanesljivejšo, to pa zmanjša možnost neuspešne nadgradnje.
Pomembna je tudi izbira prave različice programske opreme, ki ustreza našemu usmerjevalniku. Poleg izbire ustreznega usmerjevalnika (WRT54G, GS, GL) prihaja tudi do razlik v programski opremi za različne podrazličice iste družine (v1, v2 ...). To je posledica malenkostnih razlik v strojni zasnovi različic. Na srečo je povečini že v programsko opremo usmerjevalnika vgrajeno dodatno preverjanje, ki se zažene pred samo nadgradnjo in lahko pravočasno opozori na uporabo neustrezne različice. Vendar se ne gre zanašati na to, saj algoritem za preverjanje ni vsemogočen.
Iz običajnega in torej cenejšega usmerjevalnika iz družine "G" lahko dobimo pohitren "GS", skrivnost je le v pravi izbiri strojne programske opreme.
Sveasoft Talisman
Kaj: Strojna programska oprema za usmerjevalnik Linksys WRT54G/GS.
Spletni naslov: www.sveasoft.com.
Cena: 20 dolarjev.
Za: Zmogljivost, dobra podpora uporabnikom.
Proti: Cena, omejitev pet usmerjevalnikov na "licenco".
Sveasoft je ameriško-švedsko podjetje. Bilo je eno prvih, ki so se resno lotila predelave izvirne programske opreme. Nabor nadvse zanimivih funkcij se je hitro večal in to so opazili tudi uporabniki. Takratna različica Satori se je hitro razširila med njimi.
Težave so nastale ob splavitvi nove različice, pri čemer je omenjeno podjetje zaslutilo možnost zaslužka. Neposredna prodaja programske opreme, ki praktično v celoti spada pod GPL, seveda ni bila možna. Zato so začeli svojim uporabnikom zaračunavati "stroške podpore in distribucije", kar so ocenili na 20 ameriških zelencev. S tem kupec ali, po njihovo, naročnik ("subscriber") dobi možnost podpore za največ pet usmerjevalnikov. Omejitev števila podprtih izdelkov deluje prek preverjanja naslovov MAC, saj Sveasoft za vsakega naročnika posebej izdela delno prilagojeno različico kode, ki deluje le na usmerjevalnikih z naslovi MAC, zapisanih v kodi.
S tem so razjezili ne samo vso odprtokodno skupnost, temveč tudi nekatere ljudi, ki so sodelovali pri razvoju strojne programske opreme. Zaradi tega so nekateri nehali sodelovati pri projektu in to je upočasnilo nadaljnji razvoj.
Kljub zelo dobri izpopolnjenosti programske opreme Talisman med uporabniki ni preveč razširjen. Razlog je vsekakor zgoraj omenjeno zaračunavanje podpore; brez plačila namreč ni mogoč niti dostop do njihovega foruma, kjer so odgovori na pogosta vprašanja in drugi uporabni nasveti. Hkrati pa je danes na voljo dovolj drugih različic strojne programske opreme, ki po zmožnostih dosegajo in celo presegajo Talisman, poleg tega pa so povsem brezplačne.
Zaradi navedenih razlogov smo se odločili, da izdelkov Sveasoft ne preizkusimo. No, v resnici smo v internetu poiskali različico, ki ima (nelegalno) odstranjen algoritem za preverjanje naslovov MAC, imenovano Freeman 1.04. Ob poskusu nadgradnje pa se nam je zgodil najbolj črni scenarij: po (sicer uspešni) nadgradnji je usmerjevalnik postal povsem neodziven! Za to, da bi ga oživili, smo morali poseči po najskrajnejši metodi oživljanja, o čemer pišemo v posebnem okvirčku o "reanimaciji" usmerjevalnika.
HyperWRT tofu 13b/thibor 13
Kaj: Strojna programska oprema za usmerjevalnik Linksys WRT54G/GS/GL.
Spletni naslov: tofu.polarcloud.com (tofu); www.thibor.co.uk (thibor).
Cena: Brezplačno.
Za: Hitrost delovanja, zanesljivost, preprost nastavitveni vmesnik.
Proti: Nima nekaterih naprednih zmogljivosti.
HyperWRT je že staro ime na prizorišču neuradne strojne programske opreme. Poleg tega je na voljo tudi različica za dostopne točke, imenovana HyperWAP.
Prve različice HyperWRT so bile precej skromne; ena pogosteje uporabljanih zmogljivosti je bila možnost povečanja oddajne moči usmerjevalnika in s tem izboljšanje dometa napravice.
Pred kratkim pa je HyperWRT dobil nov zagon. Nekaj posameznikov je namreč v obstoječo kodo vgradilo večji del zanimivih dodatnih zmogljivosti, hkrati pa so precej pozornosti namenili tudi zanesljivosti in hitrosti delovanja. Gre torej za eno boljših kombinacij za manj zahtevne uporabnike ta hip. Poleg tega je na spletnem naslovu www.hyperwrt.org na voljo forum s številnimi uporabnimi nasveti in prizadevnimi posamezniki, ki so pripravljeni brezplačno svetovati v primeru težav.
Razlika med različicama "tofu" in "thibor" je v združljivosti z družinami usmerjevalnikov. Medtem ko je različica "tofu" namenjena seriji WRT54G(L), je "thibor" (s podporo pohitritveni tehnologiji speedboster) namenjen družini WRT54GS. Zmožnosti in zanesljivost obeh pa je enakovredna.
Med preizkusom se je izkazalo, da je ob pomoči zvijače mogoče naložiti "pohitreno" različico thibor tudi na WRT54GL (in zatorej tudi na WRT54G v4), ki v osnovi sicer ne podpira tehnologije speedboster. Pred nadgradnjo na različico thibor moramo izvesti nadgradnjo na kodo, katere velikost je manjša od 3 MB (thibor je namreč dolg 3,5 MB). Za ta vmesni korak smo uspešno uporabili programsko opremo z imenom DD-WRT (inačica "mini"), katere opis še sledi. Nadgradnja na thibor je nato potekala brez težav in po vnovičnem zagonu je usmerjevalnik že ponudil tudi speedboster.
DD-WRT v23
Kaj: Strojna programska oprema za usmerjevalnik Linksys WRT54G/GS/GL, Asus WL-500G, Siemens SE505, Motorola WR850G.
Spletni naslov: www.dd-wrt.com (strojna programska oprema), wrt-wiki.bsr-clan.de (dokumentacija).
Cena: Brezplačno.
Za: Bogat nabor zmožnosti, podpora več usmerjevalnikom.
Proti: Občasna nedodelanost vmesnika, slaba vgrajena pomoč.
DD-WRT je novinec na področju strojne programske opreme za Linksys. Za njegov razvoj skrbi nekdo z umetniškim vzdevkom "BrainSlayer". Prve različice so bile večinoma zasnovane na izvirni kodi Alchemy podjetja Sveasoft. Zadnja trenutno stabilna različica v23, ki smo preizkusili tudi mi, pa je spisana povsem na novo.
Podpora različni strojni opremi je zelo dobra. Poleg omenjenih Linksysov podpira tudi usmerjevalnik Asus WL-500G in podobno zasnovan Siemensov in Motorolin izdelek. Značilnost je precej drugačen videz spletnega nastavitvenega vmesnika v primerjavi z izvirnim Linksysom. Kljub temu je preglednost dovolj dobra, da se ne izgubljamo med sicer številnimi zmožnostmi.
DD-WRT je strojna programska oprema, ki ponuja nadvse bogato funkcionalnost. Pravzaprav je zmogljivost tolikšna, da je pomnilnik flash na usmerjevalnikih premajhen, da bi sprejel programsko kodo za vse hkrati. Tako je na domači strani DD-WRT poleg različice "mini" (osnovna, a vseeno zmogljiva funkcionalnost) na voljo še običajna različica; malo manj običajni pa sta različici VoIP ter VPN. Prva ima vgrajeno podporo standardu SIP; usmerjevalnik lahko deluje kot posredovalni strežnik ali registrar za odjemalce SIP, priključene na usmerjevalnik. Druga pa podpira delo z varnimi tuneli VPN, kjer usmerjevalnik igra bodisi vlogo odjemalca ali strežnika. Škoda le, da procesor usmerjevalnika precej omejuje hitrost VPN. Skupna prepustnost VPN je približno 2 Mb/s, to pa zadostuje kvečjemu za rabo doma.
OpenWRT WhiteRussian RC4
Kaj: Strojna programska oprema za številne podprte usmerjevalnike.
Spletni naslov: downloads.openwrt.org (strojna programska oprema), wiki.openwrt.org (dokumentacija).
Cena: Brezplačno.
Za: Poljubna prilagodljivost, podpora številnim usmerjevalnikom.
Proti: Zelo zahtevno nastavljanje prek ukazne vrstice, namestitev le prek TFTP.
OpenWRT je najbolj prilagodljiva različica strojne programske opreme na trgu. Usmerjevalnik namreč spremeni v pravi pravcati računalnik z operacijskim sistemom Linux. Seznam podprte strojne opreme je še daljši kot tisti pri DD-WRT, saj osnovna različica OpenWRT podpira več kot 15 usmerjevalnikov različnih izdelovalcev.
Vse nastavitve v osnovi opravljamo zgolj prek ukazne vrstice (telnet, ssh). Spletnega namestitvenega vmesnika ni, lahko pa ga namestimo naknadno v obliki paketa ("package"), kar velja tudi za večino drugih dodatnih zmožnosti.
Nastavitve posameznih parametrov delovanja usmerjevalnika vsekakor zahtevajo nadvse dobro poznavanje operacijskega sistema Linux in različnih omrežnih protokolov in nastavitev. Že namestitev osnovne različice strojne programske opreme sodi med zahtevnejše, saj je mogoča le prek namenskega programa tftp (priložen Windows XP).
Zmožnosti OpenWRT je težko določiti. Osnovna različica je dokaj skromna. OpenWRT postane zanimiv šele, ko izkoristimo možnost naknadne namestitve paketov. Pripravi nam namreč pravi pravcati datotečni sistem, v katerega lahko namestimo programsko opremo z zmožnostmi, ki jih potrebujemo. Namestitev dodatnih paketov in nastavljanje sistema OpenWRT pa je vse prej kot enostavno, zato to odsvetujemo vsem, razen največjim zanesenjakom.
"Reanimacija" usmerjevalnika
Nadgradnja strojne programske opreme je razmeroma občutljiv proces, med katerim so morebitne napake lahko usodne za delovanje usmerjevalnika. Preden pa se odločimo in nedelujoč usmerjevalnik odnesemo na pooblaščeni servis, lahko preizkusimo nekaj zvijač za njegovo "reanimacijo".
Prav vsak usmerjevalnik ima na ohišju tipko "reset" za ponastavitev na tovarniške nastavitve. Povečini zadostuje daljši pritisk na to tipko za brisanje vseh nastavitev usmerjevalnika. Temu sledi vnovično vnašanje vseh nastavitev. Ta postopek praviloma pomaga pri težavah, kot je nestabilnost ("obešanje") usmerjevalnika. Če se usmerjevalnik ne prebudi niti po daljšem pritisku tipke, pa bo treba poseči po bolj občutljivih načinih oživitve.
Nekateri usmerjevalniki ponujajo možnost prepisovanja obstoječe (nedelujoče) strojne programske opreme s svežo ob pomoči namenskega programa tftp, priloženega Windows XP. Tako nadgradnjo pa lahko opravimo le, če se usmerjevalnik še odziva na zahteve "ping" na naslovu IP usmerjevalnika.
Usmerjevalnik pa lahko tudi povsem odpove poslušnost. To se je zgodilo tudi nam. V takem primeru povečini pomaga le obisk v pooblaščenem servisu. Lastniki usmerjevalnikov Linksys WRT54G/GS/GL pa lahko preizkusijo zvijačo, ki sicer zahteva poseg v notranjost usmerjevalnika. Pri tem naj opozorimo še na to, da z odpiranjem ohišja nepreklicno izničimo garancijo, saj je na vse novejše izdelke nalepljena varnostna nalepka.
Celoten postopek je v sliki in besedi podrobno opisan na naslednjem naslovu:
http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html
Postopek preverjeno deluje, saj je nam uspelo "oživiti" sicer povsem neodziven usmerjevalnik!
Čip izdelovalca Intel, v katerem je shranjena sistemska programska oprema.