You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

TDAT2004 Datakommunikasjon med nettverksprogrammering
Oppgave 50: arp
Av Roger Rambjør Holten

1. Innledning

ARP (Address Resolution Protocol) er en protokoll som brukes for å finne en nodes MAC-adresse ut fra en IPv4-adresse. Dette er en viktig funksjon på et ethernettverk da noder kommuniserer med hverandre via MAC-adresser. IPv6 bruker en protokoll som heter NDP.

2. Protokollens virkemåte

Når en node A skal kommunisere med node B på samme subnett, så vil den sende ut en ARP-forespørsel på nettverket. Denne sendes som en broadcast-pakke med MAC-adresse ff:ff:ff:ff:ff:ff. Forespørselen inneholder IPv4-adressen til node B. Node B vil deretter sende et svar som inneholder dennes MAC-adresse og kommunikasjon kan begynne.

 

ARP-pakke for IPv4
Byte12
1

Maskinvaretype (HTYPE) (2 bytes)
Definerer nettverkstype. Settes til 1 for ethernet og MAC-adresser. 

3Protokolltype (PTYPE) (2 bytes)
Settes til hex-verdien 0x0800 for IPv4. Kan settes til andre verdier hvis man ikke bruker IP. 
5

Maskinevareadresselengde (HLEN) (1 byte)
Lengde på maskinvareadresse i byte. Dette er MAC-adressen i ethernet og den er 6 byte lang.

Protokolladresselengde (PLEN) (1 byte)
 
Lengden på IPv4-adressen, som er 4 byte.

 

7

Operasjon (OPER) (2 bytes)
Settes til 1 hvis dette er en forespørsel, 2 hvis det er et svar. 

9Avsenders maskinvareadresse (SHA) (6 bytes)
I en forespørsel er dette MAC-adressen til noden som sender forespørselen. I svaret er det MAC-adressen til noden forespørselen gjelder. 
11
13
15Avsenders protokolladresse (SPA) (4 bytes)
Avsenders IPv4-adresse .
17
19Mottakers maskinevareadresse (THA) (6 bytes)
I en forespørsel er denne satt til 00:00:00:00:00:00. I et svar er den satt til MAC-adressen til noden som sendte forespørselen. 
21
23
25Mottakers protokolladresse (TPA) (4 bytes)
IPv4-adressen til mottaker. 
27

3. ARP-kommandoen

Når en node sender ut en forespørsel og får et svar, så vil den lagre dette svaret i en lokal ARP-cache. I flere operativsystem kan man hente ut og modifisere denne cachen ved hjelp av arp-kommandoen. Følgende bruker arp-kommandoen slik den fungerer i Windows.

 

  • No labels