ARP | |
---|---|
Navn | Adresseopløsningsprotokol |
Niveau (ifølge OSI-modellen ) | kanaliseret |
Familie | TCP/IP |
Oprettet i | 1982 |
Port/ID | 0x0806/ Ethernet |
Formål med protokollen | Konvertering af netværksadresser til kanaladresser |
Specifikation | RFC 826 |
Vigtigste implementeringer (klienter) | implementeringer af TCP/IP-stakken i Microsoft Windows , Linux og BSD |
Kerneimplementeringer ( servere ) | implementeringer af TCP/IP-stakken i Windows , Linux og BSD |
Mediefiler på Wikimedia Commons |
ARP ( Eng. Address Resolution Protocol - address determination protocol) er en protokol i computernetværk designet til at bestemme MAC-adressen på en anden computer ved hjælp af en kendt IP-adresse .
Beskrivelsen af protokollen blev offentliggjort i november 1982 i RFC 826 . ARP blev designet til at transmittere IP-pakker over Ethernet-pakker (rammer). Princippet om at finde ud af hardwareadressen på målværten, brugt i ARP, blev derefter brugt i andre typer netværk.
ARP er blevet mest udbredt på grund af de allestedsnærværende IP- netværk bygget oven på Ethernet, da de næsten altid bruger ARP. ARP findes ikke i IPv6 -protokolfamilien , dens funktioner er tildelt ICMPv6 .
Overvej essensen af ARP 's funktion i et simpelt eksempel. Computer A (IP-adresse 10.0.0.1) og computer B (IP-adresse 10.22.22.2) er forbundet via et Ethernet -netværk . Computer A ønsker at sende en datapakke til computer B, IP-adressen på computer B er kendt af den. Ethernet-netværket, de er tilsluttet, fungerer dog ikke med IP-adresser. Derfor skal computer A kende adressen på computer B på Ethernet-netværket ( MAC-adressen i Ethernet-termer) for at kunne transmittere over Ethernet. Til denne opgave bruges ARP-protokollen. Under denne protokol sender computer A en broadcast-anmodning adresseret til alle computere i det samme broadcast-domæne . Essensen af anmodningen: "computer med IP-adresse 10.22.22.2, fortæl din MAC-adresse til computeren med MAC-adresse (f.eks. a0:ea:d1:11:f1:01)". Ethernet-netværket leverer denne anmodning til alle enheder på det samme Ethernet-segment, inklusive computer B. Computer B svarer på computer A med anmodningen og rapporterer dens MAC-adresse (f.eks. 00:ea:d1:11:f1:11) Nu, Efter at have modtaget MAC-adressen på computer B, kan computer A sende alle data til den via Ethernet-netværket.
Der er følgende typer ARP-meddelelser: ARP-anmodning ( ARP-anmodning ) og ARP-svar ( ARP-svar ). Det afsendende system, ved hjælp af en ARP-anmodning, anmoder om hardwareadressen på det modtagende system, som kommer inde i ARP-svaret.
Før en netværkslagspakke sendes over et Ethernet-segment, tjekker netværksstakken ARP-cachen for at se, om den påkrævede destinationsknudeinformation allerede er registreret i dens tabel. Hvis der ikke er en sådan indtastning i ARP-cachen, foretages en ARP-udsendelsesanmodning. Denne anmodning om enheder på netværket har følgende betydning: "Kender nogen den fysiske adresse på enheden med sådan en IP-adresse?" Når en vært med denne IP-adresse modtager sådan en anmodningspakke, skal den svare: "Ja, dette er min IP-adresse og min hardwareadresse er sådan og sådan." Derefter vil afsenderen af anmodningen gemme modtagerens hardwareadresse i sin ARP-cache og vil være i stand til at adressere oplysningerne til modtageren.
Nedenfor er et eksempel på en ARP-anmodning og -svar. < se nederst på siden>
Indtastninger i ARP-cachen kan være statiske eller dynamiske. Eksemplet ovenfor beskriver en dynamisk cache-indgang. Du kan også oprette statiske poster i tabellen. På de fleste operativsystemer kan dette gøres med kommandoen:
arp -s <IP-адрес> <MAC-адрес>I Windows Server 2003 forbliver ARP-tabelposter, der er oprettet dynamisk, i cachen i 2 minutter. Hvis der i løbet af disse to minutter var en gentransmission af data til denne adresse, forlænges lagringstiden for posten i cachen med yderligere 2 minutter. Denne procedure kan gentages flere gange, men den maksimale indtastning i cachen varer op til 10 minutter. Herefter vil posten blive fjernet fra cachen, og om nødvendigt vil en ny ARP-anmodning [1] blive sendt .
På nyere operativsystemer er opbevaringstiden for indtastninger i ARP-tabellen og lagringsmetoden programmatisk valgbare og kan ændres, hvis det ønskes.
ARP blev oprindeligt udviklet ikke kun til IP, denne protokol kan også bruges til at finde ud af MAC-adresser i forskellige Layer 3 -protokoller adresser . ARP er også blevet tilpasset til at opnå andre (hardware) lag 2-adresser af OSI-modellen ( Layer 2-adresser ).
InARP- og ATM ARP-protokollerne bruges i forskellige IP over ATM-indkapslinger beskrevet i RFC 1577 ( Classic IP and ARP over ATM ) [2] .
I øjeblikket bruges ARP hovedsageligt til at matche IP- og MAC-adresser på ethernet-netværk.
Inverse Address Resolution Protocol , Inverse ARP eller InARP er en protokol til at opnå netværkslagsadresser (for eksempel IP-adresser ) på andre arbejdsstationer ved deres linklagsadresser (for eksempel DLCI i Frame Relay - netværk). InARP er almindeligt anvendt i Frame Relay og ATM -netværk .
Sammenligning af ARP og InARPARP oversætter netværkslagsadresser til linklagsadresser, mens InARP kan ses som dets omvendte. InARP er implementeret som en udvidelse til ARP. Pakkeformaterne for disse protokoller er de samme, kun de operationskoder og felter, der skal udfyldes, er forskellige.
Reverse Address Resolution Protocol , Reverse ARP eller RARP , ligesom InARP , oversætter linklagsadresser til netværkslagsadresser. Men RARP bruges til at få de logiske adresser på selve afsenderstationerne, mens afsenderen i InARP-protokollen kender sine egne adresser og anmoder om den logiske adresse på en anden station. RARP blev opgivet til fordel for BOOTP , som igen blev erstattet af DHCP .
Adresseoversættelse udføres ved at slå korrespondancetabellen op mellem IP- og MAC-adresser. Denne tabel, kaldet ARP-tabellen, er gemt i operativsystemets hukommelse og indeholder indgange for hver vært kendt af den. De to kolonner indeholder IP- og Ethernet-adresserne (MAC). Hvis du vil konvertere en IP-adresse til en MAC, så leder ARP-tabellen efter en post med den tilsvarende IP-adresse.
Eksempel på forenklet ARP-tabel223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
Pakkestrukturen, der bruges i ARP-anmodninger og -svar, er illustreret nedenfor. På Ethernet -netværk bruger disse pakker EtherType 0x0806, og anmodninger sendes til broadcast- MAC-adressen - FF:FF:FF:FF:FF:FF. Bemærk, at i pakkestrukturen vist nedenfor, bruges 32- bit ord konventionelt som SHA, SPA, THA og TPA - den faktiske længde bestemmes af den fysiske enhed og protokol.
|
Hvis en vært med IPv4-adresse 10.10.10.123 og MAC-adresse 00:0D:9D:86:59:E2 ønsker at sende en pakke til en anden vært med adresse 10.10.10.140, men ikke kender sin MAC-adresse, skal den sende en ARP anmodning om at løse adressen.
Pakken vist nedenfor repræsenterer en udsendelsesanmodning. Hvis værten med IP 10.10.10.140 er til stede på netværket og tilgængelig, så modtager den denne ARP-anmodning og returnerer et svar.
|
I situationen beskrevet ovenfor, hvis noden med adressen 10.10.10.140 har en MAC-adresse på 00:09:58:D8:33:AA, vil den sende pakken, der er illustreret nedenfor, tilbage. Bemærk, at afsender- og modtageradresseblokkene nu har ændret værdier (afsenderen af svaret er nu modtageren af anmodningen; modtageren af svaret er afsenderen af anmodningen). Svaret har også en værts-MAC-adresse på 10.10.10.140 i feltet for den fysiske kildeadresse (SHA), og THA-feltet er ikke tomt (unicast-svar).
Enhver vært på samme netværk som afsender og modtager vil også modtage anmodningen (fordi det er en udsendelse) og dermed tilføje information om afsenderen til sin cache. ARP-svaret er kun rettet til oprindelsen af ARP-anmodningen, så ARP-svaret er ikke tilgængeligt for andre værter på netværket.
|
Effektiviteten af ARP afhænger i høj grad af den ARP-cache ( ARP-cache ), der er tilgængelig på hver vært. Cachen indeholder en korrespondancetabel mellem MAC- og IP-adresser kompileret af operativsystemet.
Levetiden for en cachepost er overladt til udviklerens skøn. Standarden kan være fra titusinder af sekunder (f.eks. 20 sekunder) til fire timer ( Cisco IOS ). [3]
ARP kan bruges til at detektere IP-adressekonflikter på et lokalt netværk. RFC 5227 definerer et ARP Probe - anmodningsformat med et SPA - felt helt nul (IP-adresse 0.0.0.0). Før du tildeler en IP-adresse til en grænseflade, KAN en vært verificere, at adressen ikke er i brug af en anden vært på LAN-segmentet.
En ARP- meddelelse er en pakke (normalt en ARP-anmodning [4] ), der indeholder den korrekte SHA og SPA for den afsendende vært, med en TPA lig med SPA. Dette er ikke en anmodning om tilladelse, men en anmodning om at opdatere ARP-cachen for andre værter, der modtager pakken.
De fleste operativsystemer sender sådan en pakke, når en vært kommer online, hvilket hjælper med at forhindre en række problemer. For eksempel, når netværkskortet ændres (når tilknytningen mellem IP- og MAC-adresser skal opdateres), vil en sådan anmodning rette indtastningerne i ARP-cachen på andre værter på netværket.
ARP-advarsler bruges også til at "sikre" IP-adresser i Zeroconf -protokollen , beskrevet i RFC 3927 .
Et særligt tilfælde af en ARP-anmodning er en anmodning om ens egen IP-adresse, det kaldes " Gratuitous ARP " (frivillig ARP-anmodning) [5] .
I en sådan anmodning er IP-adresserne på afsender og modtager de samme.
Gratis ARP bruges til to formål [5] :
TCP / IP-protokoller efter lag af OSI-modellen | Grundlæggende|
---|---|
Fysisk | |
kanaliseret | |
netværk | |
Transportere | |
session | |
Repræsentation | |
Anvendt | |
Andet anvendt | |
Liste over TCP- og UDP-porte |