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 .
ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [ inet_addr] [-N if_addr]
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. |
|