Fizikai Szemle 2007/4. 132.o.
HÁLÓZATI PING-PONG
- avagy a fény sebességének számítógépes mérése
Szász Ágota
Bolyai Farkas Elméleti Líceum,
Marosvásárhely, Románia
Néda Zoltán
Babes¸-Bolyai Tudományegyetem, Fizika Kar,
Kolozsvár, Románia
"Billió mérföldekről jött e fény, ....
Terek sötétjén lankadatlanul,
S ki tudja mennyi évezrede már."
Tóth Árpád: Lélektől lélekig
Az itt felvázolt téma ötletét az sugallta, hogy még a
szűkebb fizikusi környezetünkben is csak nagyon kevesen
láttak fénysebesség-mérési kísérletet. A legtöbben
elhisszük az eredményt, és megelégszünk annyival,
hogy ez egy rettentően nagy sebesség, aminek mérése
nehézkes. Érdemes azonban elgondolkodnunk
azon, hogy a fénysebesség egy nagyon fontos fizikai
mennyiség, amelynek döntő szerepe van a modern fizika
logikájának felépítésében, a tér és az idő fizikai
értelmezésében. Ezen mennyiség mérése lényeges ahhoz,
hogy fizikai gondolkodásmódunkat szilárd alapokra
helyezzük. Célunk egy egyszerű, könnyen, olcsón
(bizonyos esetekben ingyen) és bárhol elvégezhető,
korszerű fénysebesség-mérési módszer leírása, amelyet
a számítógépeknél használt "ping" utasítás felhasználásával
lehet megvalósítani. Az ötlet egy korábban
publikált dolgozaton alapszik [1], amelyben azt írtuk le,
hogy hogyan lehet mérni a PING utasítás felhasználásával
az elektromágneses jelek terjedési sebességét hálózati
kábelekben. A bemutatásra szánt módszer elvi
szempontból is érdekes, ugyanis megtanít arra, hogy a
mérést befolyásoló zaj sok esetben hasznos, és hozzásegít
ahhoz, hogy akár a mérőberendezésünk érzékenysége
(felbontóképessége) által megengedett értéknél
pontosabb eredményt kapjunk. Amit bemutatunk,
ahhoz hasonlít, mintha egy jól reprodukálható milliszekundumos
időintervallumot "homokórával" mérnénk.
Ez a mérést befolyásoló szekundomos nagyságrendű
zaj felhasználásával lehetséges úgy, hogy a mérést sokszor
megismételjük, és az eredményeket megfelelő módon
statisztikailag feldolgozzuk.
Módszerünk pontatlanabb a modern lézeres technikáknál,
nagy értéke viszont az, hogy iskolai feltételek
mellett is szemléletesen alkalmazható. A fény vagy
általában az elektromágneses hullámok sebességének
mérése ezzel az érdekes és tanulságos laboratóriumi
kísérlettel jó alkalmat ad a középiskolás diákok kutatásba
való bevonására, és a mérési adatok statisztikus
feldolgozásának a megismerésére. Sok érdekes és
még kihasználatlan eredményt lehet kapni a mikrohullámok
terjedésére, törésére, illetve visszaverődésére
vonatkozóan is. Kétféle mérést fogunk bemutatni,
fénykábelekben, illetve vezeték nélküli (wireless)
hálózaton kapott eredményeket tárgyalva.
Mi a "ping" és mit tud?
A ping a legtöbb operációs rendszerben (Windows,
Linux, Unix) működő egyszerű utasítás, amellyel egy
másik számítógéphálózati elérhetőségét tesztelik. A
ping utasítás a következőképpen használható: ping
IP-szám (vagy számítógép Internet neve) [opciók].
A ping 172.22.22.117 [opciók] 64 byte-os csomagokat
küld el a hálózaton keresztül a 172.22.22.117
IP-számmal rendelkező gépnek.
Ha a csomag megérkezik, a másik gép válaszol, és
megjelenik, hogy mennyi a csomag kétirányú átfutási
ideje a két számítógép között. Egy lehetséges válasz
például: 64 bytes from 172.22.22.117: icmp_seq=1
ttl=64 time=0.376 ms.
A pinggel történő időmérés pontossága mikroszekundum
a Linux operációs rendszer alatt és milliszekundum
a Windows operációs rendszerben. Megemlítendő,
hogy Windows alatt létezik egy ingyenesen
letölthető program (hrping [3]), amely szintén mikroszekundumos
pontossággal méri az átfutási időt.
A ping utasítást rengeteg hasznos opcióval használhatjuk
(egy teljes leírásra LINUX alatt használjuk a
man ping utasítást). Néhány számunkra hasznos opciót
a következő példával mutatunk be. A ping
172.22.22.117 -c N -i dt -s w -p ff típusú utasításban
például N-nel megadjuk a küldött csomagok számát,
dt -vel a küldések közti időintervallum, w-vel a csomag
nagyságát (s-ban, illetve byte-ban kifejezve) és
ff -fel a küldött csomag struktúráját. Számos más opció
is létezik, amelyek segítségével majdnem mindent
lehet állítani.
Hogyan lehet "ping"-gel fénysebességet mérni?
A kísérlet során megmérjük a küldött jel oda-vissza
útjának az átlagos időtartamát. Optikai szálas vagy
vezeték nélküli lokális hálózatot használunk számítógépről
pingelve egy lokális routert (1. ábra). Különböző
hosszúságú kábelekben (illetve távolságokon
a vezeték nélküli hálózatok esetén) nagyon sok pingelést
végzünk, és relatív méréseken keresztül próbáljuk
a fény, illetve mikrohullámok sebességét megbecsülni.
Mivel a fénykábelek és a vezeték nélküli hálózat
esetén is aránylag kis távolságokon dolgozunk, a
jel által a kábelekben megtett út oda-vissza ideje 1 µs
alatt van. Ezért, ha ideális számítógépekkel, hálózati
kártyákkal és routerekkel dolgoznánk, ilyen rövid
távolságokon nem lenne kimutatható időkülönbség.
Segít bennünket azonban a rendszerben levő zaj, ami
a gépi válaszokhoz tartozó kis késleltetések sokaságából
ered. A zaj véletlenszerűen tologatja a ping válaszok
idejét, és az ennek megfelelő statisztikából sikerül
megbecsülnünk a ping felbontóképességénél kisebb
időintervallumokat is. Hogy jobban lássuk, hogyan
is történik ez, tekintsünk egy konkrét példát.
Tételezzük fel, hogy egy adott úthosszra a ping válasz
10 ?s lenne. Az idő legnagyobb része a hálózati kártyán
és a routeren történő késleltetéseknek tulajdonítható,
és csak egy nagyon kis rész (általában 1 µs-nál
jóval kisebb) az, ami az elektromágneses hullámok
véges terjedési sebességéből ered. Mivel a véges terjedési
sebességből adódó késés mindig rövidebb 1 µs-nál
(a ping felbontóképességénél), zaj hiányában
mindig ugyanazt a 10 µs értéket mérnénk, és ezáltal a
véges terjedési sebességre nem tudnánk következtetni.
A rendszerben levő zaj, ami szintén µs nagyságrendű,
véletlenszerűen tologatja a mért értéket.
Ha elvégzünk 1000 pingelést ugyanolyan körülmények
között, azt kaphatjuk, például, hogy 125 esetben
9 µs, 500 esetben 10 µs, 375 esetben meg 11 µs a
válaszidő. Feltételezve, hogy a zaj statisztikai tulajdonságai
a kísérlet során változatlanok, a mérés arra
fog utalni, hogy a zajos rendszerben a ping átlagos
átfutási ideje
.
Ha feltételezzük, hogy a rendszerben levő zaj statisztikája
nem változik a különböző úthosszak esetén, a
mérés sokszori megismétlésével megbecsülhetővé
válik a ping felbontása alatti időkülönbség is, és ezáltal
mérhető az elektromágneses hullámok véges
terjedési sebessége.
Rövid idő alatt nagyszámú pingelést végezhetünk
(például 20 perc alatt akár 100 000 pinget) és ezáltal jó
statisztikával akár 50 ns nagyságrendű időkülönbségeket
is megbízhatóan fel lehet oldani. A pingek eloszlása
a valóságban egy sokkal tágabb intervallumban
történik, mint ahogy a fenti példán szemléltettük,
de a módszer alkalmazhatósága ugyanaz marad.
Kísérleti berendezések
A kísérletek gyakorlati kivitelezéséhez egy LINUX
operációs rendszer alatt működő PC-t és egy routert
használtunk. Fénykábelekben (2. ábra), illetve vezeték
nélküli hálózatokon mértünk (3. ábra). A LINUX
operációs rendszer nagy előnye, hogy jól ellenőrizhető,
mi történik a rendszerben, és a számítógép "lebutítható"
annyira, hogy csak az alapoperációs rendszer
és a ping utasítás fusson a gépen. Ezáltal a különböző
hosszúságú utakon történő mérésekre ugyanazon
késleltetések és zajok jelennek meg. A ping utasítást
ugyanakkor egy kicsit átírtuk, hogy a kimeneti adat
csak a válaszidő legyen mikroszekundumban. A futtatható
programunk letölthető a tanulmányunknak
szentelt honlapról [4].
Fénykábelek esetén egymódusú, lépcsős indexű
szálat használtunk, amelynek a törésmutatóját a gyártó
által kiadott dokumentumból vettük (1300 nm-es
infravörös fényre: n = 1,477). Különböző hosszúságú
szálakkal dolgoztunk (a. oda: 2 m, vissza 2 m; b. oda:
2 m, vissza 100 m; c. oda: 2 m, vissza 200 m).
Vezeték nélküli (wireless) hálózatokon egy LINUX
alatt futó EMACHINE M5305 (AMD Athlon 2400+)
laptop számítógépet a PCMCI PB6-2086 hálózati kártyával
használtuk. A router egy SMC 2404WBR volt, és
az általuk kialakított vezeték nélküli hálózat a standard
802.11b protokoll alatt a 2,4 Ghz mikrohullámok
tartományában működött. Hogy a mikrohullámok falakról
történő visszaverődéseit kiküszöböljük, a méréseket
egy mezőn végeztük el (3. ábra), a routert a
számítógéptől 5, 10, és 50 m-re elhelyezve.
Mindkét mérés esetén minden távolságon legalább
106 számú ping válaszidejét mértük, és ezek statisztikájából
próbáltuk meghatározni az elektromágneses
hullámok terjedési sebességét. Az eredmények feldolgozásához
többféle statisztikai módszert alkalmaztunk,
helyhiány miatt itt csak a legegyszerűbbet ismertetjük.
Ezen egyszerű módszer lényege az, hogy
egy adott válaszidő intervallumban [tmin, tmax] meghatározzuk
a mért pingek átlagos válaszidejét. Ennek a
különböző úthosszakra történő változásából következtetünk
az adott elektromágneses hullám terjedési
sebességére.
A mérési eredmények
Az optikai szálakban történő mérések sokkalta jobb
és tisztább eredményt szolgáltattak, mint a vezeték
nélküli hálózatokon mért értékek. A válaszidők egy
nagyságrenddel kisebbek voltak, és ezek eloszlása is
sokkalta "tisztább" volt fénykábelek esetén. Ezért hasonló
statisztikai feldolgozással a fénykábelekben
kapott értékek sokkal jobb fénysebességértéket szolgáltattak.
Vezeték nélküli hálózatok esetén a ping
válaszidők eloszlásának alakja változik annak függvényében
is, hogy hol mérünk, és ezáltal milyen visszaverődések
vannak. Habár a fénysebesség meghatározásának
szempontjából ez hátrányt jelent, mégis előnyös
lehet a mikrohullámok néhány terjedési tulajdonságának
tanulmányozására.
A 4. ábrán szemléltetjük a válaszidők eloszlását a
fénykábelekben és a vezeték nélküli hálózatokon
való mérések esetén. Fénykábelek esetén a 4, 102 és
202 m-es oda-vissza utakra a válaszidők eloszlásfüggvényét
(annak a valószínűségét, hogy egy adott válaszidőt
mérjünk) pontokkal, négyzetekkel, illetve
háromszögekkel ábrázoltuk (4.a ábra). A hisztogramból
jól kivehetők a különböző hosszúságú kábelekben
mért eloszlások közötti eltolódások. A vezeték
nélküli hálózatokban kapott válaszidők eloszlása a 10,
40 és 100 m-es oda-vissza távolságokra csak sokkal
nagyobb nagyítás esetén megkülönböztethető (a 4.b
ábrán levő kinagyított tartomány).
Fénykábelek esetén többféle [tmin, tmax] intervallumot
tekintve, és összehasonlítva a 4, 102 és 202 m-es
távolságokon kapott átlagos időkülönbségeket [4] a
v 2,07 · 108 m/s sebesség adódik a fény optikai szálbeli
terjedési sebességére. Figyelembe véve az optikai
szál törésmutatóját (n = 1,477), a légüres térben mért
fénysebességre c = 3,05 · 108 m/s-t kapunk ami 2%-
osnál kisebb relatív hibával megközelíti a manapság
elfogadott értéket!
Vezeték nélküli hálózatok esetén, amint már jeleztük,
az eredmények jóval szerényebbek. Az adatokat
hasonlóan feldolgozva, többféle [tmin, tmax] intervallumot
tekintve [4], a mikrohullámok terjedési sebességére levegőben
a c = 2,74 · 108 m/s átlagos értéket kaptuk.
Összefoglalás
A számítógépeknél elterjedten használt "ping" utasítás
segítségével olcsón és látványosan megbecsülhető az
elektromágneses hullámok terjedési sebessége. Fénykábeleket
használva eredményeink 2 százalékos pontossággal,
vezeték nélküli hálózatok esetében nagyságrendileg
jól megközelítik a fénysebességre elfogadott
értéket [2] (c 299 792,5 km/s). A bemutatott
módszer elvi szempontból is értékes lehet, ugyanis
szépen illusztrálja, hogy a mérési pontosság növeléséhez
hasznos lehet a zaj. Megfelelő statisztika mellett a
zaj segítségével elérhető, hogy a berendezés felbontóképességénél
jóval pontosabb méréseket végezzünk.
Az általunk végzett kísérletek során kiderült, hogy az
itt leírt módszer kitűnően alkalmas a mikrohullámok
terjedési tulajdonságainak a vizsgálatára is.
Irodalom
- . J. Lepak, M. Crescimanno, Speed of light measurement using
ping. physics/0201053 és American Physical Society - Meeting
Abstracts (2002) abstract B2.009.
- . T.G. Blaney, C.C. Bradley, G.J. Edwards, B.W. Jolliffe, D.J.E.
Knight, W.R.C. Rowley, K.C. Shotton, P. T. Woods, Nature 251
(06 September 1974) 46
- . http://www.cfos.de/ping/ping.htm
- . http://www.phys.ubbcluj.ro/~zneda/ping.html