BPQether interfész
Tartalomjegyzék
Mi ez?
A klasszikus csomagrádió AX.25 csomagját lehetséges etherneten keresztül a helyi hálózaton átvinni. Erre szolgál a BPQether interfész. A helyi hálózatból internetre kilépve azonban ez a megoldás nem alkalmas AX25 adattovábbításra, mivel a BPQether nem TCP/IP-re épül, így az első TCP/IP router eldobja a csomagját. De a switcheken átmegy, így LAN-on kiválóan működik. Tekintettel arra, hogy „egyszerű, mint a faék”, célszerű megismerkedni vele.
Megjegyzés: ha TCP/IP (pl. internet) felett akarunk AX.25 csomagot továbbítani, akkor erre az ax25ipd szoftver használható erre a célra.
BPQether keretfelépítés
- Célcím (Destination MAC) = 0xFFFFFF FFFFFF - ethernet broadcast cím, azaz minden LAN-on levő eszköznek
- Forráscím (Source MAC) = saját hálózati kártya MAC címe
- Protokollazonosító (amely IPv4 esetén 0x0800 lenne) = 0x08ff
- Tartalom:
- 16 bites kerethossz, amely 5-tel nagyobb érték, mint az alábbi AX25 keret hossza
- AX25 keret a felvezető és záró 0x7e nélkül, bitbeszúrás (bitstuffing) nélkül és a keretvégi CRC nélkül. Tehát csak az AX25 keret tartalma.
Mire használható
Mint a fentiekből látható, az AX.25 csomag változtatás nélkül kerül az Ethernetre. Ezáltal teljes egészében ugyanolyan értékű AX.25 kapcsolat alakítható ki rajta két helyi hálózaton levő számítógép között, mint amilyen a rádiók felhasználása esetén a rádión egymást látó számítógépek között.
Felhasználható a szomszédos, vezetéken összeköthető node-ok rádiómentes rendszerbe integrálásába, továbbá rádióamatőr csomagrádiós alkalmazás kipróbálására, tesztelésre.
Hogyan konfigurálható BPQether interfész Linux alatt?
Mindenekelőtt gondoskodjunk arról, hogy legyenek feltelepítve a következő csomagok: libax25, ax25-tools, ax25-apps. Debian vagy Ubuntu disztribúció esetén például
apt-get install ax25-apps ax25-tools
parancs fel is telepíti ezeket. Ha nincs a bpqether a kernelbe fordítva vagy még nincs betöltve modulként, töltsük be:
modprobe bpqether
Nézzük is meg a hatást:
root@hg2ecz:~# ifconfig bpq0 bpq0 Link encap:AMPR AX.25 HWaddr LINUX-1 [NO FLAGS] MTU:256 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Majd konfiguráljuk fel célszerűen a saját hívójelünkre:
root@hg2ecz:~# ifconfig bpq0 hw ax25 HG2ECZ-8 up
Ennek hatására:
root@hg2ecz:~# ifconfig bpq0 bpq0 Link encap:AMPR AX.25 HWaddr HG2ECZ-8 UP RUNNING MTU:256 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
És innentől kezdve már csak a /etc/ax25/axports állományba kell egy
ether HG2ECZ-8 38400 255 7 BPQether-en keresztül
bejegyzés, amelyből a leglényegesebb az első két paraméter, a formális név és az ifconfig-gal beállított hívójellel egyező hívójel, majd paracssorból egy
call ether hg2ecz-12
parancsot kiadhatunk, amit tcpdump parancssal a másik számítógépből monitorozva az alábbit kapjuk:
root@hg2ecz-12:~# tcpdump -i eth0 -ne 22:28:26.725455 00:40:95:30:7f:0a > Broadcast, ethertype Unknown (0x08ff), length 60: 0x0000: 1400 908e 648a 86b4 f890 8e64 8a86 b471 ....d......d...q 0x0010: 3f00 0000 0000 0000 0000 0000 0000 0000 ?............... 0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
Tehát a 0x0014-5=0x000F byte hosszú AX25 keret (célállomás hívójele+SSID, forrásállomás hívójele+SSID, Control mező, amely épp 0x3F, azaz SABM+, magyarul csatlakozás kérelem. Lásd AX.25 protokoll) kiküldésre került, innetől kezdve már a túloldalon levő node szoftvert kell beállítani és természetesen alatta a hálózati interfészt, amely fogadja a call paranccsal kezdeményezett hívást, majd válaszol rá.