Windows - Address Resolution Protocol (ARP) használata

Az alábbiakban bemutatjuk az Address Resolution Protocol (ARP) Windows-os megvalósítását és megismerkedünk a kezeléséhez használható - más operációs rendszerekben is meglévő - eszközével. Az ismereteknek hibajavításkor vagy adathiányos konfigurációknál, inkompatibilis eszközök rendszerbe illesztésénél vehetik hasznát a rendszergazdák. Felhasználására mutatunk egy "életmentő" gyakorlati példát.
Az Address Resolution Protocol (ARP) protokoll a TCP/IP protokollrendszer része, a kimenő adatcsomagok IP és MAC címének megfeleltetéseit tárolja és kezeli (részletes leírás az RFC 826 szabványban található). Minden IP datagram egy keretbe van foglalva és ehhez adódik hozzá a forrás és céleszköz MAC címe. Fontos, hogy a MAC címek egyedileg azonosítják az egész világon az adott eszközt (hálózati kártyát, routert, stb.). Protokollszinten tulajdonképpen a gépek nem IP cím alapján, hanem MAC cím alapján "látják" egymást, csak az operációs rendszer ezt elrejti előlünk, ami nem probléma, mert általában nincs is rá szükség a mindennapi munkában. Így tehát minden egyes kiküldött csomaghoz szükség van a célgép MAC címére.
Azért, hogy ne kelljen állandóan lekérdezni őket, bekerülnek egy helyi gyorsítótárba és ismételt küldésnél innen olvassa ki a protokoll. Az ARP feladata, hogy a cél IP címet megkeresse a helyi tárban és amennyiben megtalálta, hozzárendelje a MAC címet. Ha nem találja, akkor üzenetszórásos kérést küld ki a hálózatba IP cím alapján a MAC címet kérve, melyre csak az a gép fog válaszolni, amelyik az adott IP címmel rendelkezik. Kialakul a gépek között egy oda-vissza irányú "társalgás", melynek részeként eljut a forrásgéphez a célgép MAC címe. Immár minden adat rendelkezésre áll a gyorsítótár bővítéséhez.
A fenti leírásból is érzékelhető, hogy lényegi sebességkülönbség van a gyorsítótárazott és enélküli kérések kiszolgálásának kezdeti reakcióidejében.
Több platformon is rendelkezésre áll az ARP nevű segédprogram (Windows alatt az ARP.EXE hivatott ellátni a feladatát) a gyorsítótár adatainak kezelésére.
Gyorsítótár adatainak megjelenítése
Az alábbi kapcsolóval kilistázhatjuk a képernyőre a gyorsítótár adatait az összes hálózati adapterre vonatkozóan:
arp -a
Ugyanezt érjük el a következő paranccsal is:
arp -g
Ha csak egy adott IP címhez tartozó MAC címre vagyunk kíváncsiak:
arp -a 192.168.0.1
Példánkban a 192.168.0.1 címet használtuk, de tetszés szerint más is megadható.
Új bejegyzés felvétele a gyorsítótárba
Erre a lehetőségre főleg hibajavítások alkalmával lehet szükség:
arp -s 192.168.0.1 00-48-54-6e-79-22
A -s utáni első paraméter a célgép IP címe, második a MAC címe. Ha a felvétel automatikusan történik, mi szükség lehet a kézi beállításokra? Egy egyszerű példa: egyik kollégánk elállította egy AXIS kameraszerver IP címét és a módosított cím feledésbe merült. Ettől kezdve nem volt elérhető a szerver, nem lehetett konfigurálni. Ismert volt viszont a MAC cím (rajta volt a gyári csomagolásán). A fenti paranccsal megadtunk egy fals, de az adott alhálózatban érvényes IP címet - hozzárendeltük a hamis címet az érvényes MAC-hez. Az eredmény: az adott címen elérhető lett a kiszolgáló és vissza lehetett állítani az eredeti IP-t.
Bejegyzés törlése
A -d kapcsoló után meg kell adni a törlendő bejegyzéshez tartozó IP címet:
arp -d 192.168.0.1
Akkor használható, ha a célgépben megváltozott a hálózati adapter és kommunikációs zavarok miatt nem történik meg a forrásgép frissítése.
Az összes bejegyzés törlése:
arp -d *
Ezt végzi el többek között Windows XP alatt a hálózati kapcsolatok javítása menüpont (lásd a kapcsolódó cikkeket).