header image
Home arrow Protokoły TCP/IP arrow Sieci LAN arrow ARP - Address Resolution Protocol
ARP - Address Resolution Protocol E-mail
Oceny: / 26
KiepskiBardzo dobry 

Protokół ARP (Address Resolution Protocol) transluje adresy IP na adresy MAC. Służy do uzyskiwania/poszukiwania informacji o adresie fizycznym MAC komputera znajdującego sie w tej samej podsieci, pod warunkiem, że znamy jego adres sieciowy IP. ARP wykorzystujemy również w celu poszukiwania adresu MAC routera domyślnego (Default Gateway), jeśli komputer chce się skontaktować z komputerem znajdującym się poza naszą podsiecią. Protokół ARP został zdefiniowany w RFC826 "An Ethernet Address Resolution Protocol --or-- Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware "

 

 

Pakiet ARP Request

Przykład pakietu ARP Request (zapytanie ARP) wygenerowanego przez komputer o adresie sieciowym IP 10.0.0.138 i adresie MAC 00:1d:e1:03:03:03, który poszukuje adresu MAC komputera o adresie IP 10.0.0.100 (zrzut z Wireshark'a):


No.     Time        Source                       Destination      Protocol   Info
1       3.627816  00:1d:e1:03:03:03     ff:ff:ff:ff:ff:ff       ARP         Who has 10.0.0.100?  Tell 10.0.0.138

Frame 1
    [Protocols in frame: eth:arp]
Ethernet II, Src: 00:1d:e1:03:03:03, Dst: Broadcast (ff:ff:ff:ff:ff:ff)
    Type: ARP (0x0806)
Address Resolution Protocol (request)
    Hardware type: Ethernet (0x0001)
    Protocol type: IP (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: request (0x0001)                         (ARP request)
    Sender MAC address: 00:1d:e1:03:03:03  (adres MAC tego komputera)
    Sender IP address: 10.0.0.138                  (adres IP tego komputera)
    Target MAC address: 00:00:00_00:00:00
    Target IP address: 10.0.0.100                   (adres IP komputera, którego szukamy adres MAC)


Pakiet ARP Reply

Przykład pakietu ARP Reply (odpowiedź ARP) otrzymana od komputera o adresie sieciowym IP 10.0.0.100 i adresie MAC 00:1d:e1:01:01:01. Jest to odpowiedź na ARP request od komputera o adresie sieciowym IP 10.0.0.138 i adresie MAC 00:1d:e1:03:03:03. W polu "Sender MAC address: 00:1d:e1:01:01:01", PC o adresie 10.0.0.138 dostaje informacje o poszukiwanym adresie MAC (zrzut z Wireshark'a):    
    
No.    Time         Source                       Destination                  Protocol   Info
2       3.627877   00:1d:e1:01:01:01     00:1d:e1:03:03:03      ARP         10.0.0.100 is at 00:1d:e1:01:01:01

Frame 2
    [Protocols in frame: eth:arp]
Ethernet II, Src: 00:1d:e1:01:01:01, Dst: 00:1d:e1:03:03:03
    Type: ARP (0x0806)
Address Resolution Protocol (reply)
    Hardware type: Ethernet (0x0001)
    Protocol type: IP (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: reply (0x0002)
    Sender MAC address: 00:1d:e1:01:01:01  (adres MAC tego komputera - poszukiwany MAC)
    Sender IP address: 10.0.0.100                  (adres IP komputera odpowiadającego na ARP request)
    Target MAC address: 00:1d:e1:03:03:03   (adres MAC komputera, który wysłał ARP request)
    Target IP address: 10.0.0.138                   (adres IP komputera, który wysłał ARP request)


Tablica ARP

Tablica ARP (badź ARP cache) służy dowolnemu systemowi bedącemu w sieci do szybkiego rozwiązywania adresów sieciowych IP na adresy fizyczne MAC, bez potrzeby wysyłania pakietów ARP. Tablica ARP może być budowana statycznie bądź dynamicznie. Dynamiczne budowanie tablicy opiera się o protokół ARP, czyli jeśli system (komputer, router) otrzyma pakiet ARP, bądź dostanie odpowiedź na swoje zapytanie ARP, to wpisuje informacje o skojarzeniu adresu IP z adresem MAC do swojej tablicy lokalnej ARP. Podczas komunikacji z dowolnym komputerem w naszej podsieci IP, w tej tablicy będą wszystkie te powiązania adresów IP z adresami MAC, z którymi się komunikujemy (do których wysyłamy/odbieramy pakiety IP). Oczywiście każda tablica ARP ma określony czas życia danego wpisu (ARP aging time). Domyślnie w systemie Windows XP jest to 10 minut.

Przykład wyświetlenia tablicy ARP w systemie Windows XP.

C:\>arp -a

Interface: 10.0.0.100 --- 0x3
  Internet Address      Physical Address      Type
  10.0.0.101            00:1d:e1:02:02:02     dynamic
  10.0.0.138            00:1d:e1:03:03:03     dynamic

Przykład wyczyszczenia tablicy ARP (polecenie arp -d * ) w systemie Windows XP i ponowne jej wyświetlenie po wyczyszczeniu (arp -a). "No ARP Entries Found" - brak wpisów w tablicy ARP.

C:\>arp -d *

C:\>arp -a
No ARP Entries Found

C:\>

Przykład wyświetlenia informacji o konfiguracji IP w systemie Windows XP, gdzie mamy podany adres IP i adres MAC naszego komputera. 

C:\>ipconfig /all

Windows IP Configuration

        Host Name        . . . . . . . . . . . . : LocalPC
        Primary Dns Suffix      . . . . . . . :
        Node Type          . . . . . . . . . . . . : Peer-Peer
        IP Routing Enabled  . . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No
        DNS Suffix Search List.  . . . . . :
 
Ethernet adapter LocalLAN:

        Connection-specific DNS Suffix  . :
        Description      . . . . . . . . . . . : Intel 10/100Mbit Card
        Physical Address. . . . . . . . . : 00-1d-e1-01-01-01
        Dhcp Enabled . . . . . . . . . . . : No
        IP Address     . . . . . . . . . . . . : 10.0.0.100
        Subnet Mask    . . . . . . . . . . . : 255.255.255.0
        Default Gateway  . . . . . . . . . : 10.0.0.138
        DNS Servers    . . . . . . . . . . . : 10.0.0.138

 

Następny >