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 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Byte | 1 | 2 | ||||||||||||||
1 | Maskinvaretype (HTYPE) (2 bytes) |
Definerer nettverkstype. Settes til 1 for ethernet og MAC-adresser. | ||||||||||||||||
3 | Protokolltype |
---|
(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) |
Protokolladresselengde (PLEN) (1 byte)
| ||||||||||||||||
7 | Operasjon |
---|
(OPER) (2 bytes) | ||||||||||||||||
9 | Avsenders 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 | ||||||||||||||||
15 | Avsenders protokolladresse |
(SPA) (4 bytes) Avsenders IPv4- |
adresse . | ||||||||||||||||
17 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
19 | Mottakers 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 | ||||||||||||||||
25 | Mottakers 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.