A fenti problémák kiküszöbölésére több megoldás is született, amelyek közül a legsikeresebb és a világon leginkább elterjedt a NET/ROM lett. Ez valójában egy speciális program, illetve az ezt tartalmazó EPROM, amivel kicserélve egy TNC2 eredeti programját, az egy valódi hálózatvezérlő eszközzé válik.
A programot az amerikai "Software 2000" nevű cég, illetve Ron Raikes, WA8DED dolgozta ki. Nálunk a NORD><LINK nevű, nyugatnémet amatőrökből álló társaság által készített, a NET/ROM-mal kompatibilis, de annál néhány dologban ügyesebb program, a TheNet terjedt el.
Ezen kívül megjelentek olyan szoftverek is, melyek IBM-PC gépen tudják emulálni a NET/ROM-ot. Ezek közül legismertebbek a TCP/IP és G8BPQ fejlesztette TheNode. Az egyes változatok kezelése hasonló egymáshoz, parancskészletük azonban kismértékben eltérő.
Kompatibilis a jelenleg is érvényben lévő AX.25v2 protokollal, használata nem igényel semmilyen változtatást a felhasználói oldalon.
Valódi csamagkapcsolást valósít meg, a csomagok nyugtázása mindig az útvonal egyes szakaszain önállóan történik. A korábbi példánál maradva, HA0XXX csomagjaira a nyugtázást nem HA5ZZZ, hanem GALYA fogja adni.
Ha a csomag megsérül a BUD2 .. HA5ZZZ szakaszon, akkor a csomag ismétlése csak itt fog megtörténni anélkül, hogy zavarná az útvonal előző szakaszainak forgalmát. Ezzel jelentősen megnő az összeköttetések megbízhatósága és egyúttal megnő a hálózat áteresztő képessége is.
Lehetővé teszi speciális eszközök nélkül, több TNC2 összekapcsolásával többcsatornás csomópontok kialakítását, amelyek frekvencia és sebesség váltást végezhetnek. Erre tipikus példa az RH/URH kapuállomás, a GateWay.
Az egyes NET/ROM-ok automatikus adaptív útvonal képzést végeznek. Ez azt jelenti, hogy a változó terjedési és forgalmi viszonyok között is karbantartják az útvonal adatokat, azaz tudják, milyen útvonalon lehet elérni a hálózat más csomópontjait.
Ha egy útvonal valamilyen oknál fogva használhatatlanná válik, a NET/ROM egy másik útvonalat kezd használni, amennyiben ez lehetséges. Az újonann telepített hálózati csomópontok automatikusan beépülnek a rendszerbe.
Ellentétben a digitális átjátszóval, a NET/ROM esetén nem kell a felhasználónak ismernie a teljes útvonalat, csak azt, hogy a másik állomáshoz, akivel összeköttetést akar létesíteni, a hálózat melyik csomópontja van legközelebb. Az útvonalat a NET/ROM-ok automatikusan alakítják ki.
A csomópontok a szabályos rádióamatőr hívójel mellett rendelkeznek névvel is. Ennek hossza legfeljebb hat karakter és a telepítési helyre utal.
Automatikusan felismeri a felhasználó által használt protokolt, azaz dolgozhatunk a régi 1.0-ás vagy az új, 2.0-ás protokollal egyaránt.
Az első lépés a NET/ROM használatakor az, hogy összeköttetést kell vele létrehozni. Ez a szokott módon történik. Használjuk a hálózati csomópont hívójelét vagy nevét. Utóbbi esetben tetszőleges SSID ( másodlagos állomás azonosító ) megadható.
Budapesten ez lehet a HG5KDQ-2 vagy BUD2, BUD2-1, ... BUD2-14, BUD2-15. Így egyidejűleg több összeköttetés is létrehozható a csomóponttal. Miután az összeköttetés felépült, a csomópont parancsokat vár a felhasználótól.
Az összeköttetés bontására nincs külön parancs, mivel egy felépült összeköttetésben a NET/ROM csomópont transzparensen működik, ezért a bontás valamelyik felhasználó által kiadott Disconnect TNC paranccsal lehetséges.
A lejövő ágon ( DownLink ) az összeköttetést kezdeményező állomás hívójele megváltozik úgy, hogy az eredeti SSID-t a csomópont kivonja tizenötből. Ez biztosítja, hogy amikor két, egymást közvetlenül halló állomás dolgozik a csomóponton keresztül, a felmenő ág csomagjai ne zavarják meg a pertner állomás TNC-jét.
A hálózat ( az egymással együttműködő csomópontok ) gondoskodik arról, hogy valamennyi úton lévő, a felhasználónak nyugtázott csomag megérkezzen a címzetthez, természetesen csak akkor, ha erre egyébként lehetőség van.
Ez azt jelenti, hogy a hálózatba bekerült szöveg akkor is továbbításra kerül, ha az azt beíró állomás már bontotta az összeköttetést.
A hálózat egy idő után automatikusan bontja az összeköttetést, ha hosszabb ideig egyik irányban sincs hasznos információ átvitel. Ez az idő 20 .. 30 perc szokott lenni.
A következőkben a hazai hálózatban használatos TheNet 1.0 és 1.1 verziójának a parancsait ismertetjük. Ezek zöme kisebb nagyobb eltéréssel megtalálható más NET/ROM kompatibilis rendszerekben is.
A parancsok: Connect, CQ, Info, Nodes, Parms, Routes és Users.
Megengedett a parancsok rövidítése, a CQ kivételével ( pl. Connect helyett állhat a Conn, Co, vagy C ). Az esetleges paramétereket egymástól és a parancstól legalább egy szóközzel kell elválasztani. A sor hossza legfeljebb 80 karakter lehet, a végét CR jelzi.
A Connect parancs segítségével kérhetjük áramkör létrehozását egy másik hálózati csomóponthoz, összeköttetés létesítését egy felhasználóval vagy a csomópont saját termináljával. Virtuális áramkör kéréséhez egy másik csomóponthoz a formátum:
Connect <csomópont>
ahol a <csomópont> a hívójele vagy a neve egy másik, az éppen használt csomópont által ismert másik csomópontnak. Ezek listáját a Nodes parancs segítségével tudhatjuk meg.
Összeköttetés kérése másik felhasználóval:
Connect <felhasználó> [[Via] <átjátszó> ... ]
ahol <felhasználó> annak az állomásnak a hívójele, akivel összeköttetést akarunk létesíteni, <átjátszó> pedig az esetlegesen használt digitális átjátszók hívójele. Ha átjátszókat is használunk, a "Via" megadása nem kötelező, és megengedett a "Vi" vagy "V" rövidítés is. Az átjátszók elválasztására mind a vessző, mind a szóköz használható.
Összeköttetés kérése a csomópont termináljával:
Connect
ahol további paraméterek megadása nem szükséges. Mivel a hálózati csomópontok többnyire hegytetőkön vannak telepítve és felügyelet nélkül működnek, nincs hozzájuk terminál csatlakoztatva.
Valamennyi esetben az összeköttetés felépülését a "Connected to ..." üzenet jelzi. A sikertelen kísérletet a "Failure with ...", a hívott állomás foglaltságát pedig a "Busy from ..." üzenet jelzi.
Egyéb, ritkán előforduló üzenetek a "Node busy", "Circuit table full", "Link table full" vagy "Host table full". Ezek valamilyen erőforrás hiányát jelzik. Ilyenkor bontsuk az összeköttetést és próbálkozzunk később.
A folyamatban lévő Connect parancs az összeköttetés létrejötte előtt törölhető egy újabb parancs vagy egy üres sor begépelésével.
Az összeköttetés létrejöttekor a csomópont átjátszóvá válik, azaz az információt minden változtatás nélkül viszi át. Ha az összeköttetés végén egy újabb NET/ROM kompatibilis csomópont van, akkor annak adhatjuk a parancsokat. Ily módon több, csomóponton keresztül is dolgozhatunk egymás után. Ezek száma a hálózat konfigurálásától függ, tipikusan 10 és 16 közötti érték szokott lenni.
Erre a parancsra válaszul a TheNet csomópont legfeljebb 160 karakter hosszúságú szöveges üzenetet küld. Ennek első fele fixen van beégetve és a csomópontra vonatkozó adatokat tartalmaz. A szöveg második fele változó, amit a karbantartó SysOp tölt be. Ez többnyire aktuális információt tartalmaz, ezért célszerű rendszeresen használni.
A Nodes parancs segítségével kérhetjük le az adott hálózati csomópont által ismert más csomópontok hívójelét, azok nevét, a hozzájuk vezető útvonalakat és azok minőségét. Az ismert csomópontok listázásához paraméter nélkül adjuk meg a Nodes parancsot.
Egy meghatározott csomópont útvonal információjának lekérdezéséhez a Nodes parancs után adjuk meg a kérdéses csomópont hívójelét vagy azonosítóját. A kapott válasz formátuma:
BUD2:HG2KDQ-2>Routes to: HA3PMF-2 >100 5 0 HA3PMF-2 75 5 0 HG5BME-6 0 1 0 HG5BME-2
A listán legfeljebb három, a megadott csomóponthoz vezető útvonal íródik ki. Az egyes útvonalaknál a következő adatok kerülnek kiírásra:
A hálózatban előfordulhatnak olyan csomópontok is, amelyek nem szolgálnak közvetlen felhasználói hozzáférést. Ezek neve többnyire # karakterrel kezdődik. Az ilyen "rejtett" csomópontok nem jelennek meg a Nodes listán, csak a Nodes * utasítás hatására. Ez alól kivétel a TheNet 1.1-es verziója, melynél ez a parancs hiányzik és mindig kiírja valamennyi csomópontot.
A Parms parancs a csomópont paramétereinek lekérdezésére szolgál. Használatára a hétköznapi forgalmazásban nincs szükség. Az egyes adatok jelentését a mellékelt táblázat tartalmazza. { 6.2.2. TheNet 1.0 paraméterek }
A Users parancs segítségével tudhatjuk meg, kik használják a csomópontot. A kapott válasz formátuma:
BUD2:HG5KDQ-2>TheNet Version 1.1 (686) Uplink(HG5OB) Uplink(HA2RD) <--> Downlink(HA2RD-15 HA4YF) Circuit(ZAGI:YU2ADE-2 YU2GB) <--> Circuit(HG5BME-6 YU2GB) Circuit(KAB:HG5BME-2 HG1ZR) <--> Downlink(HG1ZR-15 HA5RE) Circuit(CTW:IR3TV-2 IK3GIG) Circuit(PAKS:KA3KNX-1 HA3NL) <..> Downlink(HA3NL-15 HG3FAC)
Az első sor tartalmazza a hálózati szoftver típusát és verziószámát, valamint zárójelben a rendelkezésre álló bufferek mennyiségét. Ezt követik az egyes összeköttetések adatai. Baloldalon állnak a csomópontba bemenő, jobboldalon a csomópontból továbbmenő vonalak.
A zárójelben megadott hívójelek jelentése:
Amennyiben a sor közepén a szokásos <--> jel helyett <..> íródik ki, akkor a jelzett összeköttetés még nem épült fel. A bemutatott példában a csomópont lejövő ágon HA3NL-15 hívójellel hívja a HG3FAC-ot, de még nem jött létre a kapcsolat.
A TheNet 1.1 a Users listán kiírja az esetleges digitális átjátszók hívójelét is, ami a többi verziónál nem jelenik meg.
A Routes parancs segítségével kérdezhetjük le a szomszédos, közvetlenül hallott csomópontok listáját.
BUD2:HG5KDQ-2>Routes: 0 HG8KUN-2 192 6 ! > 0 HG5BME-6 192 8 ! 0 HA3KNX-1 192 0 ! > 0 HG5BME-2 192 10 ! > 0 HA5OB-5 100 3
Az egyes tételek jelentése a következő:
A CQ parancs segítségével adható általános hívás az adott hálózati csomópontból illetve lehetővé tehető, hogy egy másik állomás hozzákapcsolódjon válaszul a hívást kezdeményező állomáshoz. A parancs formája:
CQ szöveg
ahol a szöveg legfeljebb 77 karakter hosszúságú, tetszőleges karaktersorozat lehet. Tartalmazhat szóközöket és írásjeleket is. Megadása nem kötelező. A parancs nem rövidíthető. Válaszul a CQ parancsra a csomópont kisugározza a megadott szöveget "unproto" módban UI csomag formájában, forrásként a felhasználó hívójelét és a megfordított SSID-t, címzettként pedig "CQ"-t használva.
Ezt követően a csomópont "élesíti" azt a mechanizmust, amely lehetővé teszi a válaszok fogadását. Ez az állapot automatikusan törlődik 15 perc eltelte után vagy egy újabb parancs kiadásakor, illetve az összeköttetés bontásakor.
A CQ-ra válaszoló állomásnak elegendő egy "Connect" parancsot kiadnia a szokott módon arra a hívójelre, ami a csomag feladójaként szerepel.
Azt, hogy mely állomások CQ hívásai vannak érvényben, a Users paranccsal tudhatjuk meg. Az "élesített" CQ csatorna a következő módon jelenik meg:
(Uplink, Circuit vagy Host) <..> cq (hívójel)
Az összeköttetéshez a CQ-t adó állomással a Connect parancsot kiadhatjuk a csomóponton keresztül is, nem szükséges az összeköttetés bontása és az újra hívás a hagyományos módon.
A teljesség kedvéért megadtuk a csomópont által a Parms parancsra adott paraméter lista egyes értékeinek jelentését is. A paraméterek zömének jelentése a rövid megnevezés alapján is nyilvánvaló, más részük azonban a NET/ROM illetve az AX.25 protokol működésének részletes ismeretét tételezi fel, ezek kifejtésére itt nem vállalkozunk.
A TheNode G8BPQ által írt olyan program, mely IBM-PC kompatibilis gépen valósítja meg a NET/ROM protokolt. Képes több TNC egyidejű kezelésére, így kiválóan alkalmas különböző frekvenciák összekapcsolására GateWay-ként, miként az HA5OB-nál is történik.
A program háttérben működik, vagyis ugyanazon a gépen futtatható BBS program is.
A BBS és a hálózati csomópont külön-külön engedélyezhető, így nem szükségszerű mindkettő egyidejű működése.
A csomópont parancsai a következők:
BBs, Connect, Bye, Info, Nodes, Ports, Routes és Users.
Ezt a parancsot használva hívhatjuk meg a csomópontból közvetlenül a hozzátartozó BBS-t. A BBS rendelkezik saját hívójellel is, ami megjelenik a környező csomópontok Nodes listáján. Ha a BBS-t akarjuk használni, nem szükséges előtte a saját csomóponthoz kapcsolódni, meghívhatjuk egy másik Node-ról vagy akár direktben is.
Ha egy másik csomópontot hívunk ( virtuális áramkör létrehozása ), akkor a szokott módon járjunk el. A Nodes listán nem látható normál állomások hívásakor meg kell adni azt a portot, amelyiken keresztül hívni akarunk:
Connect <port> <felhasználó>
A protok számozása 1-től kezdődik. Azt, hogy melyik port milyen frekvencián működik, a Ports paranccsal tudhatjuk meg.
Ezzel a paranccsal elbúcsúzhatunk a csomóponttól, amely bontani fogja az összeköttetést. Természetesen csak akkor használható, ha a Node parancsokat vár.
Kilistázza a használható portok, azaz frekvenciák legfontosabb adatait. Az itt kiíródó portszámok jelennek meg a Routes, Nodes és Users listákon is.
Az Info, Nodes, Routes és Users parancsok hasonlóak a TheNet-nél leírtakhoz, annyi eltéréssel, hogy a Users listán a Host típusú link jelzi a BBS összeköttetéseit.
A NET/ROM típusú csomópontok az egymás közötti forgalomban is az AX.25v2 protokolt alkalmazzák, azonban megkülönböztetésül az információs csomagok PID ( protokol azonosító ) byte-ja nem $FF, hanem $CF. Ezek a csomagok nem a megszokott 2. hálózati réteg, hanem a negyedik, transzport szint információit hordozzák, egyidőben rendszerint több összeköttetését is.
Ezekben a csomagokban nem csak szövegek, hanem bináris adatok is előfordulnak, és az a terminálok egy részénél monitor üzemben problémát okozhat. Ilyenkor célszerű a csomópontok által generált csomagok megjelenítését letiltani. Az újabb terminál programok már dekódolják a NET/ROM-ok egymásnak küldött csomagjait, így azok forgalma a megszokott monitor üzemmódhoz hasonlóan követhető.
Egy hallott állomásról nem tudhatjuk, hogy valamelyik NET/ROM típusú csomópont lejövő ágán szól, illetve melyik melyik az a csomópont, mivel a Node nem helyezi el saját azonosítóját a csomagban. Sejthetjük ugyan a rendszerint 15-ös vagy 14-es SSID-ből, de biztosak nem lehetünk benne. Hogy mások tájékozódását megkönnyítsük, ne használnunk 7-nél nagyobb SSID-t.
A lejövő ágon a Node csak a meghívott ellenállomástól fogad el csomagokat. Mások hívására nem válaszol, illetve a hívásról nem tájékoztatja a hívottat, hiszen nem tudhatja, milyen adatok áramlanak át rajta ( pl. program ). Ez alól egyedül a CQ a kivétel.
A hálózat nehezen alkalmazkodik a gyorsan változó terjedéshez. Ne bízzunk meg feltétlenül az automatikus útvonal kiválasztásban, főleg rendkívüli terjedések alkalmával vagy akkor, ha igen zsúfolt a csatorna. Ilyenkor a rendszer hajlamos nem megfelelő utakra terelni a csomagokat.
Ez ellen úgy védekezhetünk, hogy lépésről lépésre haladunk a csomópontokon keresztül. Pl. BUD2-ről nem közvetlenül hívjuk meg PECS2-őt, hanem előbb KUN2-höz kapcsolódunk.
Ha a Nodes listán nem látható a kívánt csomópont, még nem biztos, hogy nem is működik. Nagy forgalomban előfordul, hogy kimaradnak az útvonal információt tartalmazó csomagok. Ilyenkor nyugodtan adjuk ki a Connect parancsot, ügyelve arra, hogy ne a Node nevét, hanem a hívójelét használjuk.
A csomópont mind felmenő, mind lejövő ágon ellenőrzi a hívójeleket és nem fogadja el az olyanokat, mint a NOCALL, PK-232 vagy 000000.
A hálózati csomópontok általában nem használhatók digitális átjátszóként, hogy szükségtelenül ne terheljék a csatornát.
Nagyobb mennyiségű adatot ( pl. programot ) csak akkor próbáljunk meg átvenni, ha meggyőződtünk a link megfelelő minőségéről. Ennek hiányában előfordulhat, hogy miután mi már kikapcsoltuk a TNC-t, még egy óra múlva is körbejárnak csomagjaink több Node között, megkeserítve ezzel mások életét, illetve szórakozását.