A kérdésbe én ekkor futottam bele, ugyanis gyanakodtam, hogy hiába vagyok felkészülve a megfelelő infrastruktúrával (gigabites) arra, hogy a nason lévő adataimat elérjem, mi van, ha valami nem stimmel? (Ezenkívül a Gigabites posztomban is ígértem, hogy lesz szó a sávszélesség-mérés mikéntjéről)
Mindenáron szerettem volna egy megbízható módszert annak érdekében, hogy le tudjam tesztelni, amit én Gigabitnek vettem, az vajon tényleg tudja-e azt, ami nekem kell, ha nem tudja, akkor hol van a szűk keresztmetszet.
A kérdést úgy lehetne átfogalmazni, hogy mennyire tudom a Gigabit által biztosított, elméletben 128 MB/s-es értéket a gyakorlatban megközelíteni, fasorban vagyok-e ehhez képest egyáltalán. A módszer azonban nem kizárólag a gigabit lemérésére alkalmas. 🙂
Legyen bármilyen sávszélességről is szó, ezzel a módszerrel tök jól meggyőződhetünk arról, hogy mennyi is az annyi, pl. egy mobillal a ház bármely sarkának tényleges wifi (vezeték nélküli) sávszélességét is tudjuk mérni, nem csak mindenféle jelerősség értékeket kapunk.
Egyébként nem a gigabites hálózatról, vagy gigabites eszközök létjogosultságáról akarlak győzködni (arra itt van ez a bejegyzés), szimplán azt akarom mondani, hogy ha mondod hogy x mbited, vagy akár gigabited van otthon a belső hálózaton (kábelen és/vagy wifin), akkor ha az a kapcsolat ténylegesen nem hozza az elvárható sávszélességet, akkor miként lehetne megpróbálni kiiktatni a szűk keresztmetszete(ke)t.
A szoftver, amit használni fogunk: iperf3
A sávszélesség mérést az ingyenesen letölthető iperf3-mal fogjuk végezni. Ez a szoftver letölthető windowsra, linuxra, ios-re, androidra, de – kapaszkodj meg, még a Synology DSM-jére is fel tudunk tenni egy verziót dockeren keresztül – és szerver-kliens architektúrában működik: Az egyik eszközünkön (számítógépen, nason) futtatunk egy szervert, míg a másik eszközön egy kliens módban tevékenykedünk.
Az iperf oda-vissza adatcsomagokat fog küldözgetni, majd a végén szépen megmutatja, hogy mit is hoztunk össze.
Két felállásban fogunk belső, helyi hálózati sávszélesség mérést végezni:
- Windows-os PC lesz a szerver, és egy Android-os mobil a kliens
- Egy Synology NAS lesz a szerver, és egy PC a kliens.
PC<>Android
A dologban nem lesz túl sok bonyolultság: letöltöd a fenti oldalon található linket PC-re, kicsomagolod a fájlt, ehhez talán még nem írnék útmutatót.
Nyitsz egy parancssort (command prompt) – A windows főmenüjében menüben begépeled hogy „cmd”, vagy kikeresed és elindítod.
Megkapod a régi közkedvenc konzol ablakot, ahova okos dolgokat gépelgetve pont úgy fogsz kinézni, mint aki baromira tudja, hogy mit csinál a PCvel. 😀
El kell navigálnod abba a mappába, ahova az iperfet letöltötted és kicsomagoltad, ez nálam úgy nézett ki, hogy beírtam, hogy „e:”, ezáltal meghajtót váltottam parancssorban, majd a windows intéző címsorából kimásolt elérési utat bebiggyesztettem egy „cd” mögé, így nézett ki a parancs: „cd e:\iperf-3.1.3-win64\iperf-3.1.3-win64”, ezzel meg is érkeztünk oda, ahol az iperf3at futtatni lehet.
Igenám, de tudnunk kell, hogy mi a számítógépünk belső hálózaton éppen használt IP címe, hiszen az erre történő hivatkozással tudunk majd csatlakozni hozzá az androidos mobilkészülékről a kliensszoftver elindítása után.
Bepötyögtem tehát a parancssorba, hogy „ipconfig”. Keresni kell egy olyan IPv4 Address-t, ami ahhoz a hálózati csatolóhoz tartozik, amit mi adott esetben éppen használunk: az én esetemben az „Ethernet adapter”-hez tartozó IP cím 192.168.1.XYZ volt ekkor (ezt kell megjegyeznünk).
Ezt követően bepötyögtem, hogy „iperf3 -s”, amiből a -s azt jelenti, hogy szerver módban indítom a dolgot, a program nyugtázta, hogy „server listening”, tehát várja, hogy egy kliens csatlakozzon.
Androidra a MagicIperf nevu ingyenes progit szedtem le, egyszerűbb, mint az 1×1, átváltottam a felső csúszkával iperf2-ből iperf3 módba, bepötyögtem az indítóparancsot: „-c 192.168.1.165”, majd indítás. (Itt kellett a szerver IP címére emlékezni)
A teszt pedig gond nélkül lefutott, és mutatta a szerver oldalon a parancssorban, illetőleg a kliens oldalon a telefonomon is, hogy ekkor a Gigabittel routerre kötött PC-m, és az 5GHz-en keresztül a másik szobában lévő routeremre wifin csatlakozó mobiltelefon között kb 21.5MB/s-es adatátviteli sebességet sikerült realizálni.
Megcsináltam többször a tesztet, néha 30+ lett belőle, de helyváltoztatás nélkül mindig ebben a 20~30-as tartományban maradt a mutatott érték. Hát ez elég messze van a Gigabittől, de nincs ebben semmi meglepő.
Wifin többszáz Mbites értékeket elvétve lehet mérni, kb akkor ha vigyázzban állsz közvetlenül a router mellett.
Ha a wifi sávszél elméleti és gyakorlati értékeinek különbségéről levonok még a lentiekben (a nasos tesztnél) egy érdekes konklúziót.
Synology DSM <> Windows PC
Következő példánk arról fog szólni, hogy az iperf3-at telepítjük a Synology DSM rendszerére, és a NAS-on fog futni az iperf3 szerverünk, míg a PC-nk fogja játszani a kliens szerepét.
Az első és legfontosabb dolog az az, hogy az iperf3 nasra történő telepítéséhez szükség van egy „docker” nevű „környezetre”, egy programra. Ez a docker barátunk… Ez nem fut minden NAS-on. A Synology oldalán van egy lista, hogy mely eszközök a támogatottak. Ha a Te Synology NAS-od nincs rajta a listán, nem szabad csüggedni, némelyik NAS-ra még így is fel lehet játszani a progit.
Viszont… a végén a NAS-od procijától függ, hogy a dolog menni fog-e, ennélfogva például egy DS418playre (Intel Celeron J3355) fel tudod rakni a körülményesebb móddal a dockert, míg egy sima DS418(Realtek RTD1296)-ra sajnos nem. (Ha mégis tudsz ilyen módszerről, akkor kérlek írd meg!)
Tehát akkor tudunk továbbmenni, ha a NASod benne van ebben a listában, vagy ha nincs akkor mindenesetre legalább fű alatt támogatja a dolgot.
Docker telepítése a NAS-ra
Ha benne van a NAS-od a fent említett listában, akkor megnyitod a DSM-et, bemész a „Package centerbe”, azaz az alkalmazásboltba, rákeresel, letöltöd telepíted, kész vagyunk. Ha nincs benne a fenti listában, akkor el kell ugranod erre a weboldalra, ahonnan manuálisan letöltheted a docker dsm-re készült spk telepítőjét.
A DSM Package centerjében van egy Manual Install azaz kézi telepítés gomb, itt kitallózod a dockered telepítőfájlját, végigklikkeled amit kell, és a docker már fel is települ a Te nasodra is (feltéve hogy ténylegesen kompatibilis vele).
Ha ezzel megvagyunk, akkor most bonyolódik kicsit a dolog, a dockerre az iperf 3-at ssh használatával fogjuk tudni feltelepíteni. Tudod ez megint egy kicsit olyan parancssoros „nagyonájtí”-s lesz.
SSH bekapcsolása
A DSM vezérlőpultodban át kell váltani „advanced” azaz bővített módba, akkor fogod látni a „Terminal & SNMP” fukciót. Ezt megnyitva az „SSH szolgáltatás bekapcsolása” melletti kis doboz bepipálásával, 22-es porton megnyitva a dolgot kell leokézni az ablakot.
Mi a Nasod Belső hálózati IP címe?
Ezt azért kell tudni, mert a NAS-on futó Iperf3 szerverhez kell tudni majd később IP cím alapján csatlakozni a PC-ről. A vezérlőpultban, a hálózati beállítások / hálózati csatoló részben a LAN1 fület lenyitva láthatod, hogy mi a NAS jelenleg használt IP-címe, ez az én esetemben most 192.168.1.ZZZ
Csatlakozás dockerhez SSH-n keresztül
Nyitsz egy Windows parancssort, és a következő parancsot adod ki: ssh *felhasználói neved*@*nas ip címe*. Ha mindent jól csináltál, akkor kapsz egy autentikációs kérdést, melyre egy sima „yes”-szel válaszolva a felhasználónevedhez tartozó jelszót fogja kérni a a parancssor. Add hát meg, és üss entert. Ha minden jól sikerült, a parancssor eleje zöldre vált, és mutatja, hogy „bent vagy”.
Le kell töltenünk az iperf3 telepíthető verzióját. Add ki a következő parancsot „sudo docker run -it –rm -p 5201:5201 networkstatic/iperf3 –help”
Ezt követően megint meg kell adni majd a jelszavad, és szépen fogod látni, hogy az iperf3 letöltésre kerül. Ha ezzel is meglennénk, akkor a letöltött iperf3 futtatását kell indítványozni szerver módban. Ezt a következő paranccsal tudod intézni:
„sudo docker run -it –rm –name=iperf3-server -p 5201:5201 networkstatic/iperf3 -s”
Ezt követően azonnal meg jelenni a korábbiakból már jól ismert „Server listening” visszajelzés, tehát az iperf3 fut, és várja azt, hogy egy kliens csatlakozzon! A nehezével megvagyunk! 🙂
Kliens-oldali iperf3 indítása
Nyissunk egy új parancssor ablakot a PC-ken, és telefonos fenti verzióban írtak szerint navigáljunk el a kicsomagolt iperf3hoz. Úgy fog kinézni a dolog, hogy míg az egyik ablakban SSH-n keresztül csatlakozva látjuk a szerveroldali visszajelzéseket, addig a másik oldalon kliensként fogunk tevékenykedni:
iperf3 -c 192.168.1.ZZZ (Ahol ZZZ – de igazából az egész IP cím behelyettesítendő a Te nasod IP-jével)
És Voilá, a dolog működik!
Szépen apránként fogjuk látni, hogy mindkét ablakban pakolássza ki az új sorokat, a sebességértékeket. A kliensoldali ablak az szinte ugyanúgy fog kinézni, mint amikor a bejegyzés elején a telefon és a pc között mértük a sávszélességet.
Egyébként miután az iperf3 szerver elindításra került, igazából be is zárhatjuk az SSH-s parancssort, ki is kapcsolhatjuk (sőt kapcsoljuk is ki!) az SSH-t a nason, és nekünk totálisan elég lesz a kliensoldali visszajelzést figyelni a sávszélességeket illetően. Szóval nem kell SSH-n csatlakozva lennünk a sávszélesség-mérések lebonyolításához.
Na és miket mértem én?
Wifi
Egy elméletben Gigabites router egy majdnem Gigabites access pointtal (Synology RT2600AC + MR2200AC), a kettő gigabites kábellel (kb 5méter) összekötve. A laptopom az access pointtal azonos emeleten található, jelerősség alulról súrolja a közepeset, légvonalban mért táv kb 6-8m, ehhez 2 falon kell áthatolni a jelnek, vagy kerülővel két nyitott ajtón). Az 5GHz-es azaz gyorsabb frekvencián vagyunk.
Elméleti maximum: 867 Mbps -> 108MB/s.
Mért érték: 206Mbps -> 25MB/s.
Nem hagyott a fene nyugodni, odaálltam a laptoppal a router mellé 1m-re, közvetlen rálátással, a jelerőt a router tökéletesnek jelezte, a sebesség pedig: 230Mbps =-> 29MB/s.
Kábel
A fent említett router, Gigabit, kb 10m-es hosszúságú kábel.
Elméleti maximum: 1024Mbps (128MB/s)
Mért érték: 95Mbps =->(11MB/s) :O
Ez a 10/100-as kimaxolása. Hol van az én Gigabitem? Ez lesz az a dolog, amit sürgősen ki kell derítenem a következő napokban. Nagyon nem keseredtem el, de azért hogy ezt elhidd, kikerestem egy korábbi mérésem eredményét, ahol 882Mbps-t mértem, azaz 110MB/s-ot. Ez már döfi!
Konklúzió
Minden olyan eszközöm, ami UTP kábellel vezetékesen csatlakoztatható a helyi hálózatomhoz… Legyen vezetékkel csatlakoztatva.
A gigabit elméleti maximumának 80%át lazán ki lehet hozni kábeles kapcsolattal, és ez brutál sebességeket eredményez, ai először tapasztalja meg, és emlékszik még arra, hogy milyen volt 56k-s modemmel internetezni, annak ez a Gigabit-téma már-már hihetetlennek is tűnhet elsőre. Nekem legalábbis az volt. De ujjongtam. 🙂
A Wifi… csúúúnyán leszerepelt. Azt kell mondani, hogy ha nem irtózatosan ideálisak a körülmények: azaz nincs légüres tér, közvetlen rálátás, nullához konvergáló távolság, akkor jó eredményeket elérni lehetetlen. Oké, ez relatív, kinek mi a jó? 200 Mbitet csinálni vezeték nélkül szintén nem rossz, azért kútba nem kell ugrani miatta…. Adatfogyasztási szokásaid és a napi rutinod függvénye, hogy jól fog-e a dolog szuperálni, elégségesen-e.
Ennélfogva rengeteg minden mellett egyáltalán nem meglepő, hogy miért kell egy NAS-nak kábellel csatlakozni a routerre, és hogy miért érdemes az irodádban (ahogy én is teszem) wifi helyett kábellel csatlakozni a belső hálózatra.
De hogyan néz ki egy ilyen sebesség fájlok másolása közben?
Hát, elég jól. 🙂