arp.exe -d *

Podstawy zasad dzialania sieci mówia, ze adres IP musi byc przed wyslaniem ramek przetlumaczony na adres fizyczny, czyli na przyklad w sieciach ethernetopodobnych (ale nie tylko!) na adres sprzetowy (adres MAC). Oczywiste jest, ze poszukiwanie wlasciwego adresu MAC przed kazda wyslana ramka byloby bez sensu, bo komputer o poszukiwanym adresie IP nieczesto zmienia adres MAC. Stad dosc jasne jest, ze po znalezieniu adresu sprzetowego, adres ten trafia do pamieci podrecznej i pózniej w razie potrzeby jest gotowy do uzycia. Tkwi tam 10 minut od pierwszego uzycia, ale przy kazdym kolejnym, czas jego zycia jest przedluzany o 20 minut.
Do zarzadzania tym, co Windows wie o adresach sprzetowych sluzy polecenie ARP.exe Nazwa w jasny sposób wynika z nazwy protokolu Address Resolution Protocol (RFC 826), czyli wlasnie metody okreslania MAC, gdy znamy tylko adres IP.
Jedna z waznych funkcjonalnosci polecenia ARP.exe jest czyszczenie pamieci podrecznej. Wywoluje sie je zazwyczaj w postaci arp.exe –d *
Zaskakujaco czesto jednak, w systemach Windows Vista i Windows Server 2008, polecenie to zamiast wykonac sie poprawnie, zwraca blad: "The ARP entry deletion failed: 87"
Pojawia sie pytanie, co oznacza blad numer 87. W zaleznosci od tego, kto bedzie bledu szukal, zajrzy w rózne miejsca. Programista siegnie do plików naglówkowych, laik do wyszukiwarki a administrator do polecenia NET HELPMSG. Tak czy inaczej odpowiedz bedzie jedna: "The parameter is incorrect."
Co dzieki temu wiadomo? Wlasciwie nic, poza tym, ze cos nie jest mocno nie tak, jak byc powinno. Blad jest oczywisty, ale na szczescie niezbyt bolesny. Po pierwsze: rzadko w codziennej pracy pojawia sie potrzeba czyszczenia pamieci ARP. Po drugie: czesto arp –d dziala poprawnie. Po trzecie: zastosowac mozna netsh interface ip delete arpcache. A to polecenie jest znacznie od arp.exe nowsze i praktycznie zawsze dziala bezblednie.

Autor: Grzegorz Tworek