ARP - Address Resolution Protocol ( RFC 826 )
Pentru comunictia între calculatoare , între routere sau între oricare doua dispozitive de retea , informatiei I se ataseaza mai multe numere de identificare ( portul sursa si destinatie , adresele logice sursa si destinatie , adresele fizice sursa si destinatie ). Sursa îsi identifica adresele propii dar are nevoie de adresele dest 12512h713m inatiei finale sau intermediare prin care trece informatia .
Sursa este ajutata de noi , cei ce utilizam reteaua : noi îi furnizam numele destinatiei ( ex . www.yahoo.com ) . Este suficient !!! Softul de retea preia numele destinatiei si prin programele de care dispune începe munca de depistare a numerelor de care are nevoie pentru realizarea pachetului cu date si trimiterea lui în retea.
Prima etapa presupune aflarea adresei logice ( ex. Adresa de IP ) a destinatiei finale , operatiune de care se ocupa serviciul DNS . A doua etapa utilizeaza adresa logica a destinatiei finale si afla prin intermediul ARP adresa fizica a destinatiei intermediare sau finale.
Nume destinatie DNS Adresa de IP destinatie ARP Adresa fizica destinatie
![]() | ![]() |
info.netacad.net DNS 197.23.123.4 ARP 23-31-42-7d-ad-8b
![]() | ![]() |
Cum actioneaza ARP
ARP client trimite interogari de tip broadcast în retea (ARP REQUEST), interogari care suna cam asa :
stie cineva din cei care ma aud care este adresa fizica a calculatorului cu adresa 213.200.12.4 ?
Sau
Who has 213.200.12.4 ? Tell to 192.13.24.2
Daca destinatia este pe acelasi segment de retea cu sursa, îi va raspunde furnizîndu-I adresa ei fizica .
Daca destinatia este într-un alt segment de retea , raspunsul la mesajul de interogare de tip broadcast va fi dat de Routerul conectat pe acelasi segment de retea cu sursa. Routerul nu va trimite sursei adresa pe care aceasta a cerut-o ci propia sa adresa fizica . Raspunsul suna cam asa :
Nu stiu adresa fizica a calculatorului cu IP 213.200.12.4 dar îti trimit adresa mea fizica. Trimite-mi mie pachetul si am eu grija sa ajunga la destinatie !!!
Mesajele ARP sunt împachetate o singura data la nivelul Data Link ( la nivelul placii
![]() |
Pachetul ARP
Hardware Type |
Protocol Type |
Harware Address Length Protocol Address Length |
Operation Code |
Sender Hardware Address |
Sender Protocol Address |
Target Hardware Address |
Target Protocol Address |
Hardware Type
Precizeaza tipul dispozitivului fizic de conectare la retea
Type |
Description |
Ethernet |
|
Experimental Ethernet |
|
X.25 |
|
Token Ring |
|
Chaos |
|
IEEE 802.X |
|
ARCNET |
Protocol Type
Type in baza 10 |
Description |
|
XEROX |
IP |
|
X.75 |
|
ARP |
|
XNS |
|
RARP |
|
APPLE TALK |
Operation Code
Este 0x0001 pentru ARP REQUEST
Este 0x0002 pentru ARP REPLY
Hardware Type
Reprezinta tipul adaptorului de retea ( ex. Ethernet , Token Ring , .. )
Protocol Type
Reprezinta tipul softului de retea ( ex. IP , Apple Talk , DecNet .. )
Hardware Address Length
Reprezinta lungimea în octeti a adresei fizice ( MAC ) ( Ex . 6 octeti în cazul Ethernet )
Protocol Address Length
Reprezinta lungimea în octeti a adresei logice data de softul de retea ( Ex . 4 octeti în cazul IP )
Zona contine o tabela de echivalenta între adresele IP si adresele MAC corespunzatoare . Înregistrarile din tabela pot fi introduse manual ( de catre administrator prin comanda arp -s ) sau dinamic ( prin ARP Request / ARP Reply ) .
Înregistrarile din tabela au un timp de viata cuprins între 2 minute în Windows si 20 minute în Unix .
|
Options |
Action |
-a |
Displays current ARP entries by interrogating the current protocol data. If inet_addr is specified, the IP and Physical addresses for only the specified computer are displayed. I more than one network interface uses ARP, entries for each ARP table are displayed. |
-g |
Same as -a. |
inet_addr |
Specifies an internet address. |
-N if_addr |
Displays the ARP entries for the network interface specified by if_addr. |
-d |
Deletes the host specified by inet_addr. |
-s |
Adds the host and associates the Internet address inet_addr with the Physical address th_addr. The Physical address is given as 6 hexadecimal bytes separated by hyphens. The entry is permanent. |
eth_addr |
Specifies a physical address. |
|
If present, this specifies the Internet address of the interface whose address translation table should be modified. If not present, the first applicable interface will be used. |
|