Ikke alle enheter vises i arp-tabellen. Synkronisering av RARP-transaksjoner. Gjenopprettingsprotokoll for returadresse

Tidligere ble det sagt at porten eller grensesnittet som ruteren er koblet til et nettverk gjennom regnes som en del av det nettverket. Derfor har rutergrensesnittet koblet til nettverket samme IP-adresse som nettverket (Figur 6.12). Siden rutere, som alle andre enheter, mottar og sender data over nettverket, bygger de også ARP-tabeller, som inneholder tilordninger av IP-adresser til MAC-adresser.

Figur 6.11. RARP-server svarer på en IP-forespørsel fra en arbeidsstasjon med en MAC-adresse 08-00-20-67-92-89


Figur 6.12. IP-adresser tilordnes til MAC-adresser ved hjelp av ARP-tabeller.

En ruter kan kobles til flere nettverk eller undernett. Generelt har nettverksenheter sett med bare de MAC- og IP-adressene som gjentas regelmessig. Kort fortalt betyr dette det typisk enhet inneholder informasjon om enhetene til dens eget nettverk... Samtidig er det svært lite kjent om enheter utenfor deres eget lokale nettverk. Samtidig bygger ruteren tabeller som beskriver alle nettverkene som er koblet til den. Som et resultat kan ARP-tabeller for rutere inneholde MAC- og IP-adresser til enheter på mer enn ett nettverk (6.13). I tillegg til kart over korrespondanse av IP-adresser til MAC-adresser, inneholder tabellene over rutere en kartlegging av porter (fig. 6.14).

Hva skjer hvis en datapakke når en ruter som ikke er koblet til pakkens destinasjonsnettverk? I tillegg til MAC- og IP-adressene til enhetene til de nettverkene som denne ruteren er koblet til, inneholder den også MAC- og IP-adressene til andre rutere. Ruteren bruker disse adressene til å rute data til den endelige mottakeren (Figur 6.15). Når den mottar en pakke hvis destinasjonsadresse ikke er i rutetabellen, videresender en ruter pakken til adressene til andre rutere, som kan ha informasjon om destinasjonsverten i rutetabellene deres.



Figur 6.14. Porter er også oppført i rutetabellen.

Standard gateway

Hvis kilden er plassert på et nettverk med et nummer som er forskjellig fra destinasjonsnettverksnummeret, og kilden ikke kjenner mottakerens MAC-adresse, må kilden bruke tjenestene til en ruter for å kunne levere dataene til mottakeren. . Hvis en ruter brukes på denne måten, kalles den standard gateway. For å bruke tjenestene til standard gateway, kapsler kilden inn dataene ved å plassere MAC-adressen til ruteren i den som destinasjons-MAC-adressen. Siden kilden ønsker å levere dataene til enheten, ikke ruteren, bruker overskriften IP-adressen til enheten, ikke ruteren, som destinasjons-IP-adressen (Figur 6.16). Når ruteren mottar data, fjerner den koblingslagsinformasjonen som brukes i innkapslingen. Dataene sendes deretter til nettverkslaget der destinasjons-IP-adressen analyseres. Ruteren sammenligner deretter destinasjons-IP-adressen med informasjonen i rutetabellen. Hvis ruteren oppdager en tilordning av destinasjons-IP-adressen til den tilsvarende MAC-adressen og konkluderer med at destinasjonsnettverket er koblet til en av portene, kapsler den inn dataene, plasserer informasjon om den nye MAC-adressen i den og overfører den til mål.



Figur 6.15. Data videresendes av ruteren til destinasjonen


Figur 6.16. Destinasjons-IP-adressen brukes til å levere data

Sammendrag

  • Alle enheter på det lokale nettverket må se etter ARP-forespørsler, men bare de enhetene hvis IP-adresse samsvarer med IP-adressen i forespørselen må svare ved å rapportere MAC-adressen sin til enheten som sendte forespørselen.
  • Hvis IP-adressen til enheten samsvarer med IP-adressen i ARP-forespørselen, svarer enheten ved å sende MAC-adressen til kilden. Denne prosedyren kalles ARP-svar.
  • Hvis kilden ikke finner destinasjons-MAC-adressen i ARP-tabellen, oppretter den en ARP-forespørsel og kringkaster den til alle enheter på nettverket.
  • Hvis enheten ikke vet egen IP-adresse, bruker den RARP-protokollen.
  • Når enheten som opprettet RARP-forespørselen mottar et svar, kopierer den IP-adressen til hurtigbufferminnet, hvor denne adressen vil bli lagret gjennom hele økten.
  • Rutere, som alle andre enheter, mottar og sender data over nettverket, så de bygger også ARP-tabeller som inneholder tilordninger av IP-adresser til MAC-adresser.
  • Hvis kilden er plassert på et nettverk med et nummer som er forskjellig fra destinasjonsnettverkets nummer, og kilden ikke kjenner mottakerens MAC-adresse, må kilden bruke ruteren som standard for å kunne levere dataene til mottakeren. inngangsport.

Kapittel 7 Topologier

I dette kapittelet:

  • Definisjon av konseptet topologi
  • Busstopologi, dens fordeler og ulemper
  • Stjernetopologi, dens fordeler og ulemper
  • Eksterne terminatorer
  • Aktive og passive nav
  • Utvidede stjernetopologiegenskaper, definisjon
  • kabellengder for stjernetopologi og måter å øke størrelsen på området dekket av et nettverk med stjernetopologi
  • Demping

Introduksjon

Kapittel 6, "ARP og RARP," diskuterte hvordan enheter på LAN bruker ARP før de sender data til en destinasjon, og så også på hva som skjer hvis en enhet på samme nettverk ikke kjenner medietilgangskontrolladressen. (MAC-adresse) enheter på et annet nettverk Dette kapittelet forklarer topologiene som brukes til å lage nettverk.

Topologi

I lokale datanettverk(LAN) alle arbeidsstasjoner skal være koblet til hverandre Dersom en filserver er inkludert i LAN, må den også kobles til arbeidsstasjonene. Det fysiske diagrammet som beskriver strukturen til det lokale nettverket kalles topologi Dette kapittelet beskriver de tre typene busstopologier, "stjerne" og "utvidet stjerne" (fig. 71, 72)


Figur 7.1. Busstopologi er typisk for Ethernet-LAN ​​inkludert 10Base2 og 10BaseS


Figur 7.2. Stjernetopologi er typisk for Ethernet- og Token Ring-nettverk som bruker en hub, switch eller repeater som sentrum av nettverket.

Busstopologi

En busstopologi er en topologi der alle enheter i et lokalnettverk er koblet til et lineært nettverksdataoverføringsmedium. Dette lineære miljøet blir ofte referert til som en kanal, buss eller spor. Hver enhet, for eksempel arbeidsstasjon eller en server, uavhengig koblet til en felles busskabel ved hjelp av en spesiell kontakt (fig. 7.3). Busskabelen skal termineres med termineringsmotstand eller terminator som absorberer elektrisk signal, og forhindrer at den reflekteres og beveger seg i motsatt retning langs dekket.


Introduksjon

Problemet som vi vil diskutere i dette kapittelet er at IP-adresser bare har noen betydning i TCP/IP-familien av protokoller. Linklag som Ethernet eller Token ring har sitt eget adresseskjema (for det meste 48-biters adresser); nettverkslagene bruker på sin side disse linklagene. Et Ethernet-nettverk kan brukes av forskjellige nettverkslag samtidig. Datamaskiner som bruker forskjellige nettverksprotokoller kan være på samme fysiske kabel.

Når Ethernet-ramme sendt fra en vert over det lokale nettverket til en annen, bestemmer dens 48-bits Ethernet-adresse hvilket grensesnitt den skal leveres til. Sjåfør nettverkskort ser aldri på destinasjons-IP-adressen i et IP-datagram.

Det blir med andre ord nødvendig å etablere en korrespondanse mellom to ulike former adresser: 32-biters IP-adresser og alle typer lenkelagsadresser. RFC 826 [Plummer 1982] er den offisielle ARP-spesifikasjonen.

Figur 4.1 viser de to protokollene som vi skal se på i dette og de neste kapitlene: adresseoppløsningsprotokollen (ARP) og omvendt adresseoppløsningsprotokollen (RARP).

Figur 4.1 Adresseoppløsningsprotokoller: ARP og RARP.

ARP gir dynamisk kartlegging mellom IP-adresser og tilsvarende maskinvareadresser. Vi bruker begrepet dynamisk fordi det skjer automatisk og vanligvis ikke avhenger av applikasjonen eller vil brukes. Systemadministrator.

RARP brukes hovedsakelig av systemer uten harddisker (diskløse arbeidsstasjoner eller X-terminaler), men krever manuell konfigurering med hjelp av en systemadministrator. Vi dekker RARP inn.

Hvis vi skriver inn kommandoen

% ftp bsdi

følgende handlingssekvens vil bli utført. (Se figur 4.2.)

  1. Applikasjon, FTP-klient, kaller gethostbyname (3) for å konvertere vertsnavnet (bsdi) til en 32-biters IP-adresse. Denne funksjonen kalles en resolver i DNS (Domain Name System), vi vil beskrive dette i detalj i. Dette gjøres ved hjelp av DNS eller, hvis det er et lite nettverk, ved å bruke en statisk vertsfil (/ etc / hosts).
  2. FTP-klienten krever at en TCP-tilkobling opprettes med den angitte IP-adressen.
  3. TCP sender en tilkoblingsforespørsel til den eksterne verten ved å sende IP-datagrammer til den angitte IP-adressen. (Vi skal se på hvordan dette gjøres mer detaljert i.)
  4. Hvis destinasjonsverten er koblet til et nettverk (Ethernet, Token ring eller den andre enden av en punkt-til-punkt-kobling), kan et IP-datagram sendes direkte til verten. Hvis destinasjonsverten er på et eksternt nettverk, bestemmer IP-ruteren Internett-adressen til den direkte tilkoblede neste hop-ruteren for å sende et IP-datagram dit. I begge tilfeller sendes et IP-datagram til enten en vert eller en ruter direkte koblet til nettverket.
  5. Hvis Ethernet brukes, må avsenderverten konvertere 32-biters adresse til en 48-bits Ethernet-adresse. Eller med andre ord, konvertere fra logisk Internett-adresser til den tilsvarende fysiske maskinvareadressen. Dette er hva ARP gjør. ARP fungerer på kringkastingsnettverk der mange verter eller rutere er koblet til samme nettverk.
  6. ARP sender en Ethernet-ramme kalt en ARP-forespørsel til hver vert på nettverket. Lignende metode kringkasting kalles en kringkasting. Figur 4.2 viser kringkastingsforespørselen stiplede linjer... ARP-forespørselen inneholder IP-adressen til destinasjonsverten (hvis navn er bsdi) og forespørselen "hvis du er eieren av denne IP-adressen, vennligst fortell meg maskinvareadressen din."

Figur 4.2 ARP-svar på brukerinndata: ftp-vertsnavn.

  • Destinasjonsverten på ARP-nivå mottar denne kringkastingsforespørselen, fastslår at avsenderen ber om IP-adressen sin, og svarer den med et ARP-svar (ARP-svar). Dette svaret inneholder IP-adressen og den tilsvarende maskinvareadressen.
  • Et ARP-svar mottas, og IP-datagrammet som initierte ARP-forespørselen - ARP-svarutvekslingen kan sendes.
  • Et IP-datagram sendes til destinasjonsverten.
  • Det grunnleggende konseptet bak ARP er som følger. Nettverksgrensesnittet har en maskinvareadresse (48-bit for Ethernet eller Token-ring). Rammer som utveksles i maskinvare må adresseres til riktig grensesnitt. Imidlertid bruker TCP / IP sitt eget adresseskjema: 32-biters IP-adresser. Å kjenne IP-adressen til en vert forhindrer kjernen i å sende et datagram til den verten. Ethernet-driveren må kjenne maskinvareadressen til destinasjonen for å kunne sende data dit. Formålet med ARP er å gi dynamisk kartlegging mellom 32-biters IP-adresser og maskinvareadresser som brukes av ulike nettverksteknologier.

    Punkt-til-punkt-lenker bruker ikke ARP. Når disse kanalene er konfigurert (vanligvis ved oppstart), må kjernen fortelle IP-adressen for hver ende av kanalen. Maskinvareadresser, for eksempel Ethernet-adresser, i i dette tilfellet ikke brukes.

    Effektiviteten til ARP-funksjonen er i stor grad avhengig av ARP-cachen, som er tilstede på hver vert. Cachen inneholder Internett-adresser og deres tilhørende maskinvareadresser. Standard levetid for hver bufferoppføring er 20 minutter fra tidspunktet oppføringen ble opprettet.

    Innholdet i ARP-cachen kan sees ved å bruke arp (8)-kommandoen. Alternativet -a viser alle oppføringer i hurtigbufferen:

    bsdi% arp -a
    sol (140.252.13.33) kl. 8: 0: 20: 3: f6: 42
    svr4 (140.252.13.34) ved 0: 0: c0: c2: 9b: 26

    48-bits Ethernet-adresser er oppført som seks heksadesimale tall atskilt med kolon. Ekstra funksjoner arp-kommandoer er omtalt i avsnittet i kapittel 4.

    ARP-pakkeformat

    Figur 4.3 viser ARP-forespørselsformatet og ARP-svarformatet ved bruk av Ethernet og IP-adresser. (ARP kan brukes på andre nettverk og er i stand til å kartlegge mer enn bare IP-adresser. De fire første feltene etter rammetypefeltet indikerer typene og størrelsene til de siste fire feltene.)

    Figur 4.3 ARP-forespørsel eller svarformat når du arbeider med Ethernet.

    De to første feltene i Ethernet-overskriften er Ethernet-kilde- og destinasjonsfeltene. All-one Ethernet spesialdestinasjon er kringkastingsadressen. Rammer med denne adressen vil bli mottatt av alle Ethernet-grensesnitt på kabelen.

    Ethernet-dobbelbyte-rammetypen indikerer hvilken type data som vil følge. For en ARP-forespørsel eller ARP-svar inneholder dette feltet 0x0806.

    Uttrykkene maskinvare og protokoll brukes til å beskrive felt i ARP-pakker. For eksempel ber en ARP-forespørsel om maskinvareadressen (i dette tilfellet Ethernet-adressen) som tilsvarer protokolladressen (i dette tilfellet IP-adressen).

    Feltet for hard type indikerer typen maskinvareadresse. For Ethernet er denne verdien én. Prot type indikerer typen protokolladresse som skal matches. For IP-adresser er verdien 0x0800. I det tiltenkte formålet tilsvarer denne verdien typefeltet i Ethernet-rammen som inneholder IP-datagrammet. (Se figur 2.1.)

    De neste to enkeltbyte-feltene, hard størrelse og prot-størrelse, indikerer størrelsene i byte for maskinvareadressen og protokolladressen. I ARP-forespørsler og svar er de 6 for Ethernet og 4 for IP-adresser.

    Op-feltet angir operasjonstypen: ARP-forespørsel (sett til 1), ARP-svar (2), RARP-forespørsel (3) og RARP-svar (4). (Vi snakker om RARP i.) Dette feltet er obligatorisk fordi rammetypefeltene er de samme for en ARP-forespørsel og et ARP-svar.

    De følgende fire feltene er: avsender maskinvareadresse (Ethernet-adresse i dette eksemplet), protokolladresse (IP-adresse), destinasjonsmaskinvareadresse og destinasjonsprotokolladresse. Vær oppmerksom på at i dette tilfellet er det noe duplisering av informasjon: maskinvareadressen til avsenderen kan hentes både fra Ethernet-overskriften og fra ARP-forespørselen.

    For en ARP-forespørsel fylles alle felt ut, bortsett fra destinasjonsmaskinvareadressen. Når systemet mottar en ARP-forespørsel som er beregnet på det, setter det inn maskinvareadressen, bytter kilde- og destinasjonsadresser, setter op-feltet til 2 og sender et svar.

    ARP eksempler

    I denne delen vil vi bruke kommandoen tcpdump for å se hvordan ARP faktisk fungerer når du starter en vanlig TCP-applikasjon som Telnet. Denne inneholder tilleggsinformasjon om hvordan tcpdump fungerer.

    Typisk eksempel

    For å se hvordan ARP fungerer, kjører vi telnet-kommandoen for å koble til serveren forkast (kast server).

    bsdi% arp -a sjekk at ARP-cachen er tom
    bsdi% telnet svr4 forkast koble til serveren
    Prøver 140.252.13.34 ...
    Koblet til svr4.
    Escape-tegnet er «^].
    ^] trykk på Ctrl og høyre hakeparentes,
    telnet> slutte for å motta en Telnet-forespørsel og avslutte økten
    Tilkoblingen er lukket.

    Mens disse trinnene pågår, kjører vi tcpdump-kommandoen med alternativet -e på den andre verten (sun). Dette vil tillate oss å se maskinvareadressene (48-bit Ethernet-adresser).


    arp hvem-har svr4 fortelle bsdi
    2 0,002174 (0,0022) 0: 0: c0: c2: 9b: 26 0: 0: c0: 6f: 2d: 40 arp 60:
    arp svar svr4 er-at 0: 0: c0: c2: 9b: 26
    3 0,002831 (0,0007) 0: 0: c0: 6f: 2d: 40 0: 0: c0: c2: 9b: 26 ip 60:
    bsdi.1030> svr4.discard: S 596459521: 596459521 (0)
    vinn 4096
    4 0,007834 (0,0050) 0: 0: c0: c2: 9b: 26 0: 0: c0: 6f: 2d: 40 ip 60:
    svr4.discard> bsdi.1030: S 3562228252: 3562228252 (0)
    ack 596459522 vinn 4096
    5 0,009615 (0,0018) 0: 0: c0: 6f: 2d: 40 0: 0: c0: c2: 9b: 26 ip 60:
    bsdi.1030> svr4.discard:. ack 1 seier 4096

    Figur 4.4 ARP-forespørsel og ARP-svar generert ved forespørsel om en Telnet-tilkobling.

    % D0% A7% D0% B8% D1% 81% D0% BB% D0% BE,% 20% D0% BA% D0% BE% D1% 82% D0% BE% D1% 80% D0% BE% D0% B5 % 20 % D0 % BF % D0 % B5 % D1 % 87 % D0 % B0 % D1 % 82 % D0 % B0 % D0 % B5 % D1 % 82 % D1 % 81 % D1 % 8F % 20 % D0 % B2 % 20% D0% BA% D0% B0% D0% B6% D0% B4% D0% BE% D0% B9% 20% D1% 81% D1% 82% D1% 80% D0% BE% D0% BA% D0% B5,% 20% D0% BF% D0% BE% D1% 81% D0% BB% D0% B5% 20% D0% BD% D0% BE% D0% BC% D0% B5% D1% 80% D0% B0 % 20 % D1 % 81 % D1 % 82 % D1 % 80 % D0 % BE % D0 % BA % D0 % B8 % 20- % 20 % D1 % 8D % D1 % 82 % D0 % BE % 0A % D0 % B2 % D1% 80% D0% B5% D0% BC% D1% 8F% 20 (% D0% B2% 20% D1% 81% D0% B5% D0% BA% D1% 83% D0% BD% D0% B4% D0 % B0 % D1 % 85) % 20 % D0 % BA % D0 % BE % D0 % B3 % D0 % B4 % D0 % B0 % 20 % D0 % BF % D0 % B0 % D0 % BA % D0 % B5 % D1 % 82 % 20 % D0 % B1 % D1 % 8B % D0 % BB % 20 % D0 % BF % D1 % 80 % D0 % B8 % D0 % BD % D1 % 8F % D1 % 82 % 20 % D0 % BF % D1 % 80% D0% BE% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D0% BE% D0% B9% 20tcpdump.% 20% D0% 92% 20% D0% BA% D0 % B0% D0% B6% D0% B4% D0% BE% D0% B9% 20% D1% 81% D1% 82% D1% 80% D0% BE% D0% BA% D0% B5% 0A% D0% BF % D0% BE% D1% 81% D0% BB% D0% B5% 20% D0% BF% D0% B5% D1% 80% D0% B2% D0% BE% D0% B9% 20% D1% 81% D0 % BE % D0 % B4 % D0 % B5 % D1 % 80 % D0 % B6 % D0 % B8 % D1 % 82 % D1 % 81 % D1 % 8F % 20 % D1 % 80 % D0 % B0 % D0 % B7 % D0 % BD % D0 % B8 % D1 % 86 % D0 % B0 % 20 % D0 % B2 % D0 % BE % 20 % D0 % B2 % D1 % 80 % D0 % B5 % D0 % BC % D0 % B5 % D0 % BD % D0% B8% 20 (% D0% B2% 20% D 1 % 81 % D0 % B5 % D0 % BA % D1 % 83 % D0 % BD % D0 % B4 % D0 % B0 % D1 % 85) % 20 % D1 % 81 % 20 % D0 % BF % D1 % 80 % D0 % B5 % D0 % B4 % D1 % 8B % D0 % B4 % D1 % 83 % D1 % 89 % D0 % B5 % D0 % B9 % 20 % D1 % 81 % D1 % 82 % D1 % 80 % D0 % BE % D0 % BA% D0% BE% D0% B9.% 0A% D0% AD% D1% 82% D0% BE% 20% D0% B7% D0% BD% D0% B0% D1% 87% D0% B5% D0% BD % D0 % B8 % D0 % B5 % 20 % D0 % BF % D1 % 80 % D0 % B8 % D0 % B2 % D0 % BE % D0 % B4 % D0 % B8 % D1 % 82 % D1 % 81 % D1 % 8F% 20% D0% B2% 20% D1% 81% D0% BA% D0% BE% D0% B1% D0% BA% D0% B0% D1% 85.% 20% D0% 9A% D0% B0% D0 % BA % 20 % D0 % B2 % D0 % B8 % D0 % B4 % D0 % BD % D0 % BE % 20 % D0 % B8 % D0 % B7 % 20 % D1 % 80 % D0 % B8 % D1 % 81 % D1 % 83 % D0 % BD % D0 % BA % D0 % B0, % 20 % D0 % B2 % D1 % 80 % D0 % B5 % D0 % BC % D1 % 8F % 20 % D0 % BC % D0 % B5 % D0 % B6% D0% B4% D1% 83% 20% D0% BE% D1% 82% D0% BF% D1% 80% D0% B0% D0% B2% D0% BA% D0% BE% D0% B9% 0AARP% 20% D0% B7% D0% B0% D0% BF% D1% 80% D0% BE% D1% 81% D0% B0% 20% D0% B8% 20% D0% BF% D0% BE% D0% BB% D1% 83% D1% 87% D0% B5% D0% BD% D0% B8% D0% B5% D0% BC% 20ARP% 20% D0% BE% D1% 82% D0% BA% D0% BB% D0% B8 % D0 % BA % D0 % B0 % 20 % D1 % 81 % D0 % BE % D1 % 81 % D1 % 82 % D0 % B0 % D0 % B2 % D0 % BB % D1 % 8F % D0 % B5 % D1 % 82 % 202,2 % 20 % D0 % BC % D1 % 81, % 20 % D0 % 9F % D0 % B5 % D1 % 80 % D0 % B2 % D1 % 8B % D0 % B9 % 20TCP % 20 % D1 % 81 % D0 % B5 % D0 % B3 % D0 % BC % D0 % B5 % D0 % BD % D1 % 82 % 0A % D0 % BF % D0 % BE % D1 % 81 % D0 % BB % D0 % B0 % D0 % BD % 20 % D1 % 87 % D0 % B5 % D1 % 80 % D0 % B5 % D0 % B7 % 200,7 % 20 % D0 % BC % D1 % 81 % 20 % D0 % BF % D0 % BE % D1 % 81 % D0 % BB % D0 % B5 % 20 % D1 % 8D % D1% 82% D0% BE% D0% B3% D0% BE.% 20% D0% A2% D0% B0% D0% BA% D0% B8% D0% BC% 20% D0% BE% D0% B1 % D1 % 80% D0% B0% D0% B7% D0% BE% D0% BC,% 20% D0% B4% D0% BB% D1% 8F% 20% D0% B4% D0% B8% D0% BD% D0% B0% D0% BC% D0% B8% D1% 87% D0% B5% D1% 81% D0% BA% D0% BE% D0% B3% D0% BE% 20% D0% BE% D0% BF% D1% 80 % D0 % B5 % D0 % B4 % D0 % B5 % D0 % BB % D0 % B5 % D0 % BD % D0 % B8 % D1 % 8F % 0A % D0 % B0 % D0 % B4 % D1 % 80 % D0 % B5% D1% 81% D0% B0% 20% D1% 81% 20% D0% B8% D1% 81% D0% BF% D0% BE% D0% BB% D1% 8C% D0% B7% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B5% D0% BC% 20ARP,% 20% D0% B2% 20% D0% B4% D0% B0% D0% BD% D0 % BD % D0% BE% D0% BC% 20% D0% BF% D1% 80% D0% B8% D0% BC% D0% B5% D1% 80% D0% B5,% 20% D0% BF% D0% BE% D1% 82% D1% 80% D0% B5% D0% B1% D0% BE% D0% B2% D0% B0% D0% BB% D0% BE% D1% 81% D1% 8C% 20% D0% BC% D0% B5% D0% BD% D0% B5% D0% B5% 20% D1% 87% D0% B5% D0% BC% 203% 20% D0% BC% D1% 81.

    % D0 % 98 % 20 % D0 % BF % D0 % BE % D1 % 81 % D0 % BB % D0 % B5 % D0 % B4 % D0 % BD % D0 % B5 % D0 % B5 % 20 % D0 % BD % D0 % B0 % 20 % D1 % 87 % D1 % 82 % D0 % BE % 20 % D1 % 81 % D0 % BB % D0 % B5 % D0 % B4 % D1 % 83 % D0 % B5 % D1 % 82 % 20 % D0 % BE% D0% B1% D1% 80% D0% B0% D1% 82% D0% B8% D1% 82% D1% 8C% 20% D0% B2% D0% BD% D0% B8% D0% BC% D0 % B0% D0% BD% D0% B8% D0% B5% 20% D0% B2% 20% D0% B2% D1% 8B% D0% B2% D0% BE% D0% B4% D0% B5% 20tcpdump:% 20 % D0 % BC % D1 % 8B % 20 % D0 % BD % D0 % B5 % 0A % D1 % 83 % D0 % B2 % D0 % B8 % D0 % B4 % D0 % B8 % D0 % BC % 20ARP % 20 % D0% B7% D0% B0% D0% BF% D1% 80% D0% BE% D1% 81% 20% D0% BE% D1% 82% 20svr4,% 20% D0% BA% D0% BE% D0% B3 % D0% B4% D0% B0% 20% D0% BE% D0% BD% 20% D0% BF% D0% BE% D1% 81% D1% 8B% D0% BB% D0% B0% D0% B5% D1 % 82 % 20 % D1 % 81 % D0 % B2 % D0 % BE % D0 % B9 % 20 % D0 % BF % D0 % B5 % D1 % 80 % D0 % B2 % D1 % 8B % D0 % B9 % 20 TCP % 20 % D1 % 81 % D0 % B5 % D0 % B3 % D0 % BC % D0 % B5 % D0 % BD % D1 % 82 % 20 ( % D1 % 81 % D1 % 82 % D1 % 80 % D0 % BE % D0 % BA% D0% B0% 204).% 0A% D0% 94% D0% B5% D0% BB% D0% BE% 20% D0% B2% 20% D1% 82% D0% BE% D0% BC,% 20 % D1 % 87 % D1 % 82 % D0 % BE % 20svr4 % 20 % D1 % 83 % D0 % B6 % D0 % B5 % 20 % D0 % B8 % D0 % BC % D0 % B5 % D0 % B5 % D1 % 82 % 20 % D0 % B4 % D0 % B0 % D0 % BD % D0 % BD % D1 % 8B % D0 % B5 % 20 % D0 % BE % 20bsdi % 20 % D0 % B2 % 20 % D1 % 81 % D0 % B2 % D0% BE% D0% B5% D0% BC% 20ARP% 20% D0% BA% D1% 8D% D1% 88% D0% B5,% 20% D1% 82% D0% B0% D0% BA% 20 % D0% BA% D0% B0% D0% BA,% 20% D0% BA% D0% BE% D0% B3% D0% B4% D0% B0% 0A% D1% 81% D0% B8% D1% 81% D1 % 82 % D0 % B5 % D0 % BC % D0 % B0 % 20 % D0 % BF % D0 % BE % D0 % BB % D1 % 83 % D1 % 87 % D0 % B0 % D0 % B5 % D1 % 82 % 20ARP % 20% D0% B7% D0% B0% D0% BF% D1% 80% D0% BE% D1% 81,% 20% D0% BF% D0% BE% D0% BC% D0% B8% D0% BC% D0% BE% 20% D1% 82% D0% BE% D0% B3% D0% BE% 20% D1% 87% D1% 82% D0% BE% 20% D0% BE% D0% BD% D0% B0% 20% D0% BF% D0% BE% D1% 81% D1% 8B% D0% BB% D0% B0% D0% B5% D1% 82% 20ARP% 20% D0% BE% D1% 82% D0% BA% D0% BB% D0% B8% D0% BA,% 20% D0% BE% D0% BD% D0% B0% 20% D1% 82% D0% B0% D0% BA% D0% B6% D0% B5% 0A % D1% 81% D0% BE% D1% 85% D1% 80% D0% B0% D0% BD% D1% 8F% D0% B5% D1% 82% 20% D0% B0% D0% BF% D0% BF % D0 % B0 % D1 % 80 % D0 % B0 % D1 % 82 % D0 % BD % D1 % 8B % D0 % B9 % 20 % D0 % B0 % D0 % B4 % D1 % 80 % D0 % B5 % D1 % 81 % 20 % D0 % B8 % 20IP % 20 % D0 % B0 % D0 % B4 % D1 % 80 % D0 % B5 % D1 % 81 % 20 % D0 % B7 % D0 % B0 % D0 % BF % D1 % 80 % D0 % BE % D1 % 81 % D0 % B8 % D0 % B2 % D1 % 88 % D0 % B5 % D0 % B3 % D0 % BE % 20 % D0 % B2 % 20 % D1 % 81 % D0 % B2 % D0 % BE % D0% B5% D0% BC% 20ARP% 20% D0% BA% D1% 8D% D1% 88% D0% B5.% 20% D0% AD% D1% 82% D0% BE% 0A% D0% BB% D0% BE% D0% B3% D0% B8% D1% 87% D0% BD% D0% BE,% 20% D1% 82% D0% B0% D0% BA% 20% D0% BA% D0% B0% D0 % BA % 20 % D0 % B5 % D1 % 81 % D0 % BB % D0 % B8 % 20 % D0 % B7 % D0 % B0 % D0 % BF % D1 % 80 % D0 % BE % D1 % 81 % D0 % B8 % D0 % B2 % D1 % 88 % D0 % B8 % D0 % B9 % 20 % D1 % 81 % D0 % BE % D0 % B1 % D0 % B8 % D1 % 80 % D0 % B0 % D0 % B5 % D1 % 82 % D1 % 81 % D1 % 8F % 20 % D0% BF% D0% BE% D1% 81% D0% BB% D0% B0% D1% 82% D1% 8C% 20IP% 20% D0% B4% D0% B0% D1% 82% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 83,% 20% D1% 82% D0% BE% 0A% D0% BF% D0% BE% D0% BB% D1% 83 % D1 % 87 % D0 % B8 % D0 % B2 % D1 % 88 % D0 % B5 % D0 % BC % D1 % 83 % 20 % D1 % 81 % D0 % BA % D0 % BE % D1 % 80 % D0 % B5 % D0 % B5 % 20 % D0 % B2 % D1 % 81 % D0 % B5 % D0 % B3 % D0 % BE % 20 % D0 % BF % D1 % 80 % D0 % B8 % D0 % B4 % D0 % B5 % D1 % 82 % D1 % 81 % D1 % 8F % 20 % D0 % BE % D1 % 82 % D0 % BF % D1 % 80 % D0 % B0 % D0 % B2 % D0 % B8 % D1 % 82 % D1 % 8C % 20 % D0% BE% D1% 82% D0% B2% D0% B5% D1% 82% 20% D0% BD% D0% B0% 20% D1% 8D% D1% 82% D1% 83% 0A% D0% B4 % D0 % B0 % D1 % 82 % D0 % B0 % D0 % B3 % D1 % 80 % D0 % B0 % D0 % BC % D0 % BC % D1 % 83.

    % 0A % 0A

    denne gangen telnet til IP-adressen, ikke vertsnavnet
    bsdi% Dato; telnet 140.252.13.36; Dato
    Lør 30. januar 06:46:33 MST 1993
    Prøver 140.252.13.36 ...
    telnet: Kan ikke koble til ekstern vert: Tilkoblingen ble tidsavbrutt
    Lør 30. januar 06:47:49 MST 1993 76 sekunder har gått

    bsdi% arp -a sjekk ARP cache
    ? (140.252.13.36) på (ufullstendig)

    I figur 4.5 ser vi utdata fra tcpdump.

    1 0.0 arp hvem-har 140.252.13.36 tell bsdi
    2 5.509069 (5.5091) arp hvem-har 140.252.13.36 tell bsdi
    3 29.509745 (24.0007) arp hvem-har 140.252.13.36 tell bsdi

    Figur 4.5 ARP-forespørsel for en ikke-eksisterende vert.

    Nå spesifiserer vi ikke -e-alternativet, siden vi allerede vet at ARP-forespørselen er kringkastet.

    Her er det interessant å se hvor ofte ARP-forespørsel sendes: 5,5 sekunder etter første forespørsel og igjen etter 24 sekunder. (Vi vil dekke TCP-tidsavbrudd og retransmisjonsalgoritmen mer detaljert i.) Den totale tiden vist i tcpdump-utgangen er 29,5 sekunder. Imidlertid utdata fra datokommandoen før og etter telnet-kommandoer viser at tilkoblingsforespørselen fra Telnet-klienten varte i 75 sekunder. Faktisk vil vi se senere at de fleste BSD-implementeringer setter en grense på 75 sekunder for fullføring av en TCP-tilkoblingsforespørsel.

    ARP-autorisert agent

    En ARP proxy-agent lar en ruter svare på ARP-forespørsler på ett nettverk mens den forespurte verten er på et annet nettverk. Dette betyr å lure avsenderen til å sende en ARP-forespørsel til å tro at ruteren er destinasjonsverten, mens destinasjonsverten i virkeligheten er "på den andre siden" av ruteren. Ruteren fungerer som en proxy-agent for destinasjonsverten, og videresender pakker fra en annen vert.

    For bedre å beskrive hvordan ARP-proxyer fungerer, skal vi se på et eksempel. Figur 3.10 viser at sun er koblet til to Ethernet-nettverk. Men i virkeligheten er dette ikke tilfelle, som man kan se ved å sammenligne dette bildet med bildet på innsiden av omslaget. Mellom sol og subnett 140.252.1 er en ruter som fungerer som en ARP-proxy, noe som får det til å se ut som at sol er på subnett 140.252.1. Figur 4.6 viser at en Telebit NetBlazer kalt netb sitter mellom subnettet og vertssolen.

    Figur 4.6 Eksempel på autorisert ARP.

    Når en annen vert på subnett 140.252.1 (si gemini) ønsker å sende et IP-datagram til vertssol på adressen 140.252.1.29, sammenligner gemini nettverks-ID (140.252) og subnett-ID (1), og hvis de er identiske, sender en ARP-forespørsel til øvre Ethernet (i figur 4.6) til IP-adressen 140.252.1.29. Netb-ruteren gjenkjenner denne IP-adressen som tilhørende en av oppringningsvertene og svarer ved å sende maskinvareadressen til dette Ethernet-grensesnittet på kabel 140.252.1. Gemini-verten sender et IP-datagram til netb over Ethernet, og netb sender datagrammet til sol over oppringte SLIP-koblinger. Dette gjør det gjennomsiktig for alle verter på 140.252.1-undernettet, siden solen faktisk er "bak" nettb-ruteren.

    Hvis vi løper arp kommando på gemini-verten etter å ha kommunisert med vertssolen, vil vi se at begge disse adressene tilhører subnett 140.252.1 (netb og sun) og at de tilsvarer samme maskinvareadresse. Dette er vanligvis hovedårsaken til at ARP-proxyen brukes.

    gemini% arp -a
    det vil være mange linjer om verter fra subnett 140.252.1
    netb (140.252.1.183) ved 0: 80: annonse: 3: 6a: 80
    sol (140.252.1.29) ved 0: 80: annonse: 3: 6a: 80

    En annen detalj i figur 4.6 som må forklares er mangelen på en IP-adresse under boksen som angir netb-ruteren (SLIP-lenke). Hvorfor er det ingen IP-adresse i begge ender av SLIP-lenken, som mellom bsdi og slip? I delen av kapittel 3, fra utdataene fra ifconfig-kommandoen, la vi merke til at destinasjonsadressen til SLIP-koblingen er 140.252.1.183. NetBlazer krever ikke IP-adresser i hver ende av SLIP-koblingen. (Dette sparer flere verdifulle IP-adresser.) Den bestemmer hvilken vert som sender pakken basert på hvilket serielt grensesnitt pakken kommer på, så det er ikke nødvendig for hver vert på SLIP-koblingen å bruke en unik IP-adresse for sin kobling til ruter. Alle oppringte verter bruker 140.252.1.183 som destinasjon for sine SLIP-koblinger.

    Proxy ARP-agenten sørger for at datagrammer leveres til sun, men hvordan gjør andre verter på 140.252.13-undernettet det? Ruting må brukes for å rute datagrammer til andre verter. Rutingtabelloppføringer må gjøres et sted på nettverk 140.252, så alle datagrammer som er rettet til subnett 140.252.13 eller til de spesifiserte vertene på det subnettet vil bli dirigert til ruteren netb. Denne ruteren vet hvordan den skal få datagrammene til deres endelige destinasjon ved å sende dem gjennom solen.

    Proxy ARP kalles også promiskuøs ARP eller ARP-hack. Disse navnene kom fra en annen bruk av proxy ARP-agenter: de ble brukt til å skjule fra hverandre to fysiske nettverk som ruteren var plassert mellom. I dette tilfellet brukte begge fysiske nettverkene samme nettverks-ID fordi ruteren i mellom var konfigurert som en ARP-proxy-agent for å svare på ARP-forespørsler fra ett nettverk til verter på det andre. Denne teknikken har blitt brukt tidligere for å skjule en gruppe verter med flere gammel versjon TCP / IP på en egen fysisk kabel. De to grunnene til at disse "legacy" vertene måtte frakobles var fordi de for det første ikke kunne støtte subnetting, og for det andre brukte de gamle kringkastingsadresser (verts-ID-en besto av alle nullbiter i stedet for den moderne standarden der vertsidentifikatoren består av enkeltbiter).

    Urimelig ARP

    En annen ARP-funksjon som er verdt å vurdere er gratis ARP. Det manifesterer seg når en vert sender en ARP-forespørsel basert på sin egen IP-adresse. Dette gjøres vanligvis når grensesnittet er konfigurert ved oppstart.

    Hvis vi kjører tcpdump på host sun mens vi starter opp host bsdi, ser vi pakken vist i figur 4.7.

    1 0,0 0: 0: c0: 6f: 2d: 40 ff: ff: ff: ff: ff: ff arp 60:
    arp som-har 140.252.13.35 tell 140.252.13.35

    Figur 4.7 Eksempel på "gratuitous" ARP.

    (Vi brukte -n-flagget til tcpdump for å skrive ut adresser i numerisk desimalnotasjon i stedet for vertsnavn.) Når det gjelder ARP-forespørselsfeltene, er avsenderprotokolladressen og destinasjonsprotokolladressen identiske: 140.252.13.35 (som tilsvarer host bsdi ). Kildeadressen i Ethernet-overskriften, 0: 0: c0: 6f: 2d: 40 som vist av tcpdump, tilsvarer kildens maskinvareadresse (fra figur 4.4).

    Root ARP gir to egenskaper.

    1. Den lar en vert avgjøre om det finnes en annen vert med samme IP-adresse. Host bsdi forventer ikke svar på forespørselen, men hvis svaret blir akseptert, viser konsollen feilen "duplisert IP-adresse funnet med Ethernet-adresse: a: b: c: d: e: f". Dette er en advarsel til systemadministratoren om at et av systemene er feilkonfigurert.
    2. Hvis verten som sendte den gratis ARP-en nettopp endret maskinvareadressen sin (kanskje fordi verten ble slått av, grensesnittkortet ble fjernet, og verten ble startet på nytt), tvinger denne pakken en annen vert på kabelen, som har en oppføring i sin cache for gammel maskinvareadresse, oppdater ARP cache tilsvarende. Lite kjent faktum om ARP er at hvis en vert mottar en ARP-forespørsel for en IP-adresse som den allerede har i cachen, oppdateres innholdet i cachen med avsenderens maskinvareadresse (Ethernet-adresse) fra ARP-forespørselen. Dette gjøres for enhver ARP-forespørsel mottatt av verten. (Igjen, ARP-forespørsler kringkastes, så dette gjøres av alle verter på nettverket hver gang en ARP-forespørsel mottas.) Beskriver applikasjoner som bruker denne ARP-funksjonen. Den lar en backup-filserver ta plassen til en mislykket server ved å bruke en "gratis" ARP-forespørsel med en ekstra maskinvareadresse, men med samme IP-adresse som den mislykkede verten. I dette tilfellet vil alle pakker rettet til den mislykkede serveren sendes til backupserveren, og tilpassede applikasjoner vil ikke være klar over at hovedserveren er nede.
    Dessverre forlot forfatterne denne tilnærmingen, siden den avhenger av riktig implementering av ARP på alle typer klienter. Det finnes ulike typer ARP som ikke støtter denne spesifikasjonen.

    Å observere alle systemene på undernettet som brukes i denne boken viser at SunOS 4.1.3 og 4.4BSD bruker gratis ARP ved oppstart, og SVR4 støtter ikke denne funksjonen.

    Arp kommando

    Vi brukte denne kommandoen med flagget -a for å liste alle ARP-cache-oppføringer. Det finnes også andre alternativer.

    Superbrukeren kan bruke -d-alternativet for å fjerne oppføringen fra ARP-cachen. (Dette ble gjort før du kjørte noen av eksemplene for å vise ARP-endringene.)

    Oppføringer kan legges til ved å bruke -s-alternativet. Når du bruker dette alternativet, må du spesifisere vertsnavnet og Ethernet-adressen, IP-adressen som tilsvarer vertsnavnet og Ethernet-adressen legges til cachen. En lignende oppføring er gjort på permanent basis(det vil ikke bli tidsavbrutt fra cachen), med mindre på slutten kommandolinje vil ikke bli brukt søkeord temp.

    Pubnøkkelordet på slutten av kommandolinjen med -s-alternativet vil få systemet til å fungere som en ARP-agent for den verten. Systemet vil svare på ARP-forespørsler om IP-adresser som samsvarer med vertsnavnet, og svaret vil inneholde den angitte Ethernet-adressen. Hvis den annonserte adressen er adressen til selve systemet som svarer, betyr det at systemet fungerer som en proxy ARP-agent for det angitte vertsnavnet.

    Korte konklusjoner

    ARP er hovedprotokollen som brukes av nesten alle TCP/IP-implementeringer. Vanligvis avhenger ikke funksjonen av applikasjonene som brukes eller viljen til systemadministratoren. ARP-cache er grunnlaget for dette arbeidet. Vi brukte arp-kommandoen til å vise eller endre cachen. Hver oppføring i hurtigbufferen har en tidtaker som brukes til å fjerne uferdige eller fullførte oppføringer. arp-kommandoen viser modifiserte oppføringer i ARP-bufferen.

    Vi så på hvordan ARP fungerer normalt og de spesialiserte versjonene: proxy ARP (der ruteren svarer på ARP-forespørsler for verter på et annet rutergrensesnitt) og gratis ARP (sender ARP-forespørsler om sin egen IP-adresse, vanligvis ved oppstart).

    Øvelser

    1. La oss gå tilbake til kommandoen vi kjørte for å få utdata vist i figur 4.4. Hva skjer hvis vi skriver inn kommandoen etter at vi sjekket den lokale ARP-cachen og den viste seg å være tom

      bsdi% rsh svr4 arp -a

      for å sjekke at ARP-cachen også er tom på destinasjonsverten? (Denne kommandoen vil utføre kommandoen arp -a på svr4-verten.)

    2. Beskriv en test som vil avgjøre om en bestemt vert håndterer "gratis" ARP-forespørsler korrekt.
    3. Trinn 7 i delen kan ta en viss tid (millisekunder) fordi pakken er sendt og ARP venter på svar. Tror du ARP vil behandle flere datagrammer som ankom fra IP til samme destinasjon i løpet av denne tidsperioden?
    4. På slutten av avsnittet nevnte vi at Host Requirements RFC og Berkeley-implementeringene er forskjellige når det gjelder håndtering av tidsavbrudd for aktive ARP-oppføringer. Hva skjer hvis en Berkeley-klient prøver å kontakte en server som har blitt slått av og Ethernet-kortet er fjernet fra det? Vil noe endre seg hvis serveren sender ut en gratis ARP-forespørsel ved oppstart?

    ARP-protokollen fungerer på forskjellige måter avhengig av hvilken lenkelagsprotokoll som fungerer i et gitt nettverk - en lokal nettverksprotokoll (Ethernet, Token Ring, FDDI) med mulighet til å kringkaste samtidig til alle nettverksnoder, eller protokollen globalt nettverk(X.25, frame relay), støtter vanligvis ikke kringkastingstilgang.

    På LAN bruker ARP Link Layer Broadcast-rammer for å søke i nettverket etter en vert med en spesifisert IP-adresse.

    Driftsprinsipp:

      Noden som må tilordne IP-adressen til lokal adresse, genererer en ARP-forespørsel, setter den inn i en datalink-protokollramme, spesifiserer en kjent IP-adresse i den, og kringkaster forespørselen.

      Alle verter på det lokale nettverket mottar en ARP-forespørsel og sammenligner IP-adressen som er spesifisert der med sin egen.

      Hvis de samsvarer, genererer verten et ARP-svar, der den spesifiserer sin IP-adresse og dens lokale adresse og sender den allerede rettet, siden avsenderen angir sin lokale adresse i ARP-forespørselen.

    Arp-tabell for adresseoversettelse

    Adresseoversettelse gjøres ved å slå opp i tabellen. Denne tabellen, kalt ARP-tabellen, er lagret i minnet og inneholder rader for hver vert.

    ARP-tabeller er bygget i henhold til RFC-1213 og inneholder fire koder for hver IP-adresse:

      Ifindex - Fysisk port (grensesnitt) som tilsvarer den gitte adressen;

      Fysisk adresse - MAC-adresse, for eksempel Ethernet-adresse;

      IP adresse - IP-adresse som tilsvarer den fysiske adressen;

      matchtype for adresse - dette feltet kan ha 4 verdier: 1 - alternativet er ikke standard og passer ikke til noen av typene beskrevet nedenfor; 2 - denne oppføringen samsvarer ikke lenger med virkeligheten; 3 - permanent binding; 4 - dynamisk binding;

    Tar imot bord for Ethernet-teknologier:

    Ethernet-adresse

    08: 00: 39: 00: 2F: C3

    08: 00: 5A: 21: A7: 22

    08: 00: 10: 99: AC: 5

    Det er akseptert å skrive alle byte til en 4-byte IP-adresse i desimaltall, atskilt med punktum. Når du skriver en 6-byte Ethernet-adresse, er hver byte spesifisert i heksadesimal og atskilt med et kolon.

    ARP-tabellen er nødvendig fordi IP- og Ethernet-adresser velges uavhengig og det er ingen algoritme for å konvertere den ene til den andre.

    IP-adressen velges av nettverksadministratoren. Ethernet-adressen velges av produsenten av nettverksgrensesnittutstyret fra adresseplassen som er tildelt den under lisensen. Når maskinens NIC-kort byttes ut, endres også Ethernet-adressen.

    Arp cache.

      Effektiviteten til ARP-funksjonen er i stor grad avhengig av ARP-cachen, som er tilstede på hver vert.

      Standard levetid for hver bufferoppføring er 20 minutter fra tidspunktet oppføringen ble opprettet.

    Adresse oversettelsesordre

    Under vanlig arbeid nettverksprogram for eksempel TELNET sender en applikasjonsmelding ved hjelp av TCP-transporttjenester. TCP-modulen sender den tilsvarende transportmeldingen gjennom IP-modulen. Resultatet er en IP-pakke som må sendes til Ethernet-driveren. Destinasjons-IP-adressen er kjent for applikasjonsprogrammet, TCP-modulen og IP-modulen. Du må finne Ethernet-destinasjonsadressen basert på den. ARP-tabellen brukes til å bestemme ønsket Ethernet-adresse.

    Hvordan fylles ARP-tabellen ut? Den fylles ut automatisk av ARP-modulen etter behov. Når den eksisterende ARP-tabellen ikke kan løse IP-adressen, skjer følgende:

      En ARP-kringkastingsforespørsel sendes over nettverket.

      Den utgående IP-pakken står i kø.

    Hvert nettverkskort mottar sendinger. Alle Ethernet-drivere sjekker typefeltet i den mottatte Ethernet-rammen og videresender ARP-pakker til ARP-modulen. ARP-forespørselen kan tolkes slik: "Hvis IP-adressen din samsvarer med den spesifiserte, vennligst fortell meg Ethernet-adressen din." En ARP-forespørselspakke ser slik ut:

    Eksempel på ARP-forespørsel

    Hver ARP-modul sjekker oppslags-IP-adressefeltet i den mottatte ARP-pakken, og hvis adressen samsvarer med sin egen IP-adresse, sender den et svar direkte til forespørserens Ethernet-adresse. ARP-svaret kan tolkes som: "Ja, dette er min IP-adresse, den tilsvarer en slik og en Ethernet-adresse." En ARP-svarpakke ser slik ut:

    Eksempel ARP-svar

    Dette svaret mottas av maskinen som sendte ARP-forespørselen. Driveren for denne maskinen sjekker typefeltet i Ethernet-rammen og sender ARP-pakken til ARP-modulen. ARP-modulen analyserer ARP-pakken og legger til en oppføring i ARP-tabellen.

    Den oppdaterte tabellen ser slik ut:

    Rangering: 4,86 ​​Stemmer: 7 kommentarer: 10

    La oss starte med teori...

    Hva er ARP og hvorfor trenger vi det

    ARP("Address Resolution Protocol" - adresseoppløsningsprotokoll) - protokollen som brukes i datanettverk lavt nivå, designet for å bestemme lenkelagets adresse på en kjent adresse nettverkslaget... Denne protokollen er mest brukt på grunn av allestedsnærværende IP-nettverk bygget på toppen av Ethernet, siden ARP i nesten 100 % av tilfellene brukes med denne kombinasjonen.

    ARP-protokollen fungerer med MAC-adresse amy. Hvert nettverkskort har sin egen individuelle MAC-adresse.

    MAC-adresse ("Media Access Control" - medietilgangskontroll) er en unik identifikator knyttet til forskjellige typer utstyr til datanettverk... Flertall nettverksprotokoller Koblingslaget bruker ett av tre IEEE-administrerte MAC-adresserom: MAC-48, EUI-48 og EUI-64. Adressene i hvert av rommene skal i teorien være globalt unike. Ikke alle protokoller bruker MAC-adresser, og ikke alle protokoller som bruker MAC-adresser trenger at disse adressene er like unike.

    Figur 1. Sti til ARP-tabell.

    Fig. 2. ARP bord.

    I figur 2 ser vi en ARP-tabell. Det er tre poster i den, de legges til automatisk og har følgende struktur. IP adresse Er faktisk IP-adressen til datamaskinen på nettverket, MAC-adresse Er mac-adressen til samme datamaskin, og Grensesnitt, som indikerer hvilket grensesnitt som ligger bak denne datamaskinen... Vær oppmerksom på at ved siden av alle poster er det en bokstav D. Det betyr at denne posten er dynamisk og vil bli endret hvis noen data endres. Det vil si at hvis brukeren ved et uhell oppgir feil IP-adresse, vil oppføringen i ARP-tabellen ganske enkelt endres og ingenting annet. Men det passer ikke oss. Vi må forsikre oss mot slike saker. For dette legges statiske oppføringer til ARP-tabellen. Hvordan gjøre det? Det er to måter.

    Fig. 3. Legg til en statisk post på den første måten.

    Metode én. Trykk på det røde pluss som vanlig. I vinduet som vises, skriv inn IP-adressen, MAC-adressen og velg grensesnittet som denne datamaskinen befinner seg bak.

    Fig. 4. Legg til en statisk post på den andre måten.

    Metode to. Velg ønsket oppføring, dobbeltklikk på venstre museknapp, i vinduet som vises, trykk på knappen Lag statikk... Statisk oppføring lagt til.

    Fig. 5. En tabell med statiske poster.

    Som du kan se i figur 5, er det ingen bokstav D på motsatt side av posten som er lagt til. Dette betyr at posten er statisk.

    Nå, hvis brukeren ved et uhell skriver inn feil adresse, Mikrotik, etter å ha sjekket korrespondansen til IP- og MAC-adressene i ARP-tabellen og ikke funnet ønsket oppføring, vil ikke tillate brukeren å få tilgang til Internett, og dermed lede brukeren til ideen om at han kan ha tatt feil og det ville være nødvendig å ringe administratoren.

    Hva annet vil jeg ha få din oppmerksomhet e: Disse oppføringene gjelder for pakker som passerer gjennom ruteren.

    Ruter eller ruter- nettverksenhet, som tar beslutninger om videresending av nettverkslagspakker (lag 3 av OSI-modellen) mellom ulike nettverkssegmenter basert på informasjon om nettverkstopologien og visse regler.

    Hvis du vil at reglene skal brukes på Bridge, må du i Bridge aktivere funksjonen Bruk IP-brannmur (fig. 6.).

    Bro er en metode for å koble sammen to Ethernet-segmenter ved koblingslaget, dvs. uten å bruke protokoller mer høy level som IP. Pakker overføres basert på Ethernet-adresser, ikke IP-adresser (som i en ruter). Siden overføring utføres ved datalinklaget (lag 2 av OSI-modellen), er alle høyere lags protokoller transparente brokoblet.

    Fig. 6... Aktiverer funksjonen Bruk IP-brannmur.

    Evgeny Rudchenko

    Hvis datamaskinen er i kontakt med en annen lignende enhet på samme nettverk, kreves en fysisk adresse eller MAC-adresse. Men siden appen ga mottakerens IP-adresse, trenger den en eller annen mekanisme for å binde den til MAC-adressen. Dette gjøres ved hjelp av Address Resolution Protocol (ARP). Destinasjonsvertens IP-adresse kringkastes, og mottakerverten rapporterer kilden til MAC-adressen.

    Dette betyr at i alle tilfeller når maskin A har til hensikt å sende datapakker til enhet B, må den sende en ARP-pakke for å løse MAC-adressen B. Derfor øker dette trafikkbelastningen for mye til å redusere kostnadene for kommunikasjon , datamaskiner som bruker ARP-protokoller, holder en hurtigbuffer med nylig ervervede IP_to_MAC-adressebindinger, det vil si at de ikke skal gjenbruke protokollen.

    Moderne utseende

    Flere forbedringer av ARP og dets formål er i bruk i dag. Så når maskin A ønsker å sende pakker til enhet B, er det mulig at B vil sende data til A snart. Av denne grunn, for å unngå ARP for maskin B, må A binde IP_to_MAC-adressen når den ber om Bs MAC-adresse i en spesiell pakke.

    Siden A gjør sin første forespørsel om Bs MAC-adresse, må hver datamaskin på nettverket hente og lagre IP_to_MAC A-adressebindingen i hurtigbufferen. ny datamaskin(for eksempel ved omstart operativsystem), kan den kringkaste denne bindingen slik at alle andre maskiner kan lagre den i cachen. Dette vil eliminere mange ARP-pakker fra alle andre maskiner når de ønsker å kommunisere med enheten som er lagt til.

    ARP-protokollvariasjoner

    Tenk på et scenario der en datamaskin prøver å kommunisere med en ekstern maskin ved hjelp av PING-programmet uten tidligere å utveksle IP-datagrammer mellom disse enhetene, og en ARP-pakke må sendes for å identifisere MAC-adressen til den eksterne datamaskinen.

    Address Resolution Protocol-forespørselsmeldingen (som ser ut som A.A.A.A-adresser B.B.B.B - IP-adresser) kringkastes på det lokale nettverket ved hjelp av protokollen Ethernet-type 0x806. Pakken blir droppet av alle maskiner unntatt målmaskinen, som svarer med en APR-svarmelding (AAAA - hh: hh: hh: hh: hh: hh hvor hh: hh: hh: hh: hh: hh er Ethernet-kildeadressen ). Dette svaret er unicast for maskinen med IP-adressen B.B.B.B. Siden APR-protokollforespørselsmeldingen inkluderte maskinvareadressen (nemlig Ethernet-kilden) til den anmodende datamaskinen, trenger ikke målenheten en annen melding for å forstå dette.

    Forholdet til andre protokoller

    Når du forstår hva ARP er for, bør du vurdere hvordan den samhandler med andre elementer på nettverket.

    RARP er protokollen som fysisk maskin på det lokale nettverket kan gjøre en forespørsel om å finne ut IP-adressen fra protokolltabellen eller gatewayserverens caching. Dette er nødvendig, siden enheten ikke kan være permanent til stede installert disk hvor den kan lagre IP-adressen permanent. Nettverksadministratoren oppretter en tabell i LAN-gateway-ruteren som tilordner adresser fysisk datamaskin(eller medietilgangskontroll - MAC) med den tilsvarende "ip". Når ny bil konfigurert, henne klientprogram RARP ber RARP-serveren på ruteren om å sende IP-adressen. Forutsatt at en oppføring er konfigurert i rutertabellen, denne serveren RARP vil returnere "ip" til datamaskinen, som kan lagre den for fremtidig bruk. Dermed er dette også en slags adressebestemmelsesprotokoll.

    Mekanisme i detalj

    Både maskinen som sender forespørselen og serveren som svarer på den, bruker fysiske nettverksadresser i prosessen. kort kommunikasjon... Vanligvis vet ikke datamaskinen som ber om det. Dermed sendes forespørselen til alle maskiner på nettverket. Anmoderen må nå identifisere seg unikt for serveren. For å gjøre dette kan du bruke enten serienummer prosessor eller fysisk nettverksadresse enheter. Samtidig har det to fordeler å bruke den andre som en unik identifikator:

    • Disse adressene er alltid tilgjengelige og er ikke nødvendigvis knyttet til oppstartskoden.
    • Siden legitimasjonen er nettverksspesifikk og ikke CPU-avhengig, vil alle maskiner på et gitt nettverk gi unike identifikatorer.

    Som en ARP-melding sendes en RARP-forespørsel fra en datamaskin til en annen, innkapslet i et stykke nettverksrammedata. Ethernet-rammen som inneholder den har den vanlige innledningen, Ethernet-kilde- og destinasjonsadresser, og pakketypefelt foran rammen. Rammen koder verdien 8035 for å identifisere innholdet som en RARP-melding. Datadelen av rammen inkluderer en 28 oktettmelding.

    Avsenderen sender en RARP-forespørsel som identifiserer seg som rekvirenten og målmaskinen, og sender sin fysiske nettverksadresse i målmaskinvareadressefeltet. Alle enheter på nettverket mottar forespørselen, men bare de som er autorisert til å gi RARP behandler forespørselen og sender et svar. Slike maskiner er uformelt kjent som servere. av denne protokollen... For at ARP/RARP skal lykkes, må nettverket inneholde minst én slik server.

    De svarer på en forespørsel ved å fylle ut målprotokollens adressefelt, endre meldingstypen fra forespørsel til svar og sende svaret direkte til maskinen som sender forespørselen.

    Synkronisering av RARP-transaksjoner

    Siden RARP bruker direkte fysisk nettverk, ingenting annet programvare protokollen skal ikke svare på forespørselen eller sende den på nytt. RARP-programvare må utføre disse oppgavene. Noen arbeidsstasjoner som er avhengige av denne protokollen for oppstart velger å prøve på nytt i det uendelige til de mottar et svar. Andre implementeringer erklærer en feil etter flere forsøk på å forhindre at nettverket fylles opp med unødvendige sendinger.

    Fordeler med flere RARP-servere: høy pålitelighet.

    Ulempe: Overbelastning kan oppstå når alle servere reagerer.

    Derfor, for å unngå ulempene, kan primære og sekundære servere brukes. Hver datamaskin som ber om en RARP-forespørsel er tildelt primær server... Den svarer vanligvis på alle anrop, men hvis den mislykkes, kan avhøreren ta en timeout og videresende forespørselen. Hvis den andre serveren mottar en ny kopi av forespørselen innen kort tid etter den første, svarer den. Det kan imidlertid fortsatt være et problem der alle sekundære servere reagerer som standard, og dermed overbelaste nettverket. Dermed er problemet å unngå å overføre svar fra begge serverne samtidig. Hver sekundærserver som godtar forespørselen, beregner en tilfeldig forsinkelse og sender deretter et svar.

    Ulemper med RARP

    Fordi den opererer på et lavt nivå, krever den direkte adresser på nettverket, noe som gjør det vanskelig for applikasjoner å opprette en server. Den utnytter ikke fullt ut egenskapene til et nettverk som ethernet, som brukes til å sende minimumspakke... Siden svaret fra serveren bare inneholder én liten informasjon, er en 32-biters RARP Internett-adresse formelt beskrevet i RFC903.

    ICMP-protokoll

    Denne protokollen er en kryptert mekanisme som gatewayer og verter bruker til å utveksle kontroll- eller feilinformasjon. Internett-protokollen gir en pålitelig tilkoblingsløs dataoverføringstjeneste, et datagram reiser fra gateway til gateway til det når en som kan levere det direkte til sin endelige destinasjon.

    Hvis gatewayen ikke er i stand til å rute eller levere datagrammet, eller hvis den oppdager en uvanlig tilstand, for eksempel overbelastning av nettverket, som påvirker dens evne til å videresende datagrammet, må den instruere den opprinnelige kilden om å iverksette tiltak for å unngå eller fikse problemet .

    Koblingslink

    Internet Protocol Control Protocol lar gatewayer sende feilmeldinger eller administrere meldinger til andre gatewayer eller verter. ICMP gir kommunikasjon mellom Internett-protokollprogramvare mellom datamaskiner. Dette er en såkalt meldingsmekanisme med spesialformål lagt til av utviklerne til TCP/IP-protokollene. Dette gjør at gatewayer på Internett kan rapportere feil eller sende informasjon om beredskap.

    Selve IP-protokollen inneholder ikke noe som hjelper til med å koble til sendertesting eller for å finne ut om feil. Feilrapporter og feilrettinger rapporteres via ICMP kun med hensyn til den opprinnelige kilden. Det bør assosiere feil med individuelle applikasjonsprogrammer og iverksette tiltak for å rette opp problemer. Dermed gir det en mulighet for gatewayen til å rapportere en feil. Den definerer imidlertid ikke helt hva som skal gjøres for å fikse problemet.

    ICMP er begrenset i forhold til den opprinnelige kilden, men ikke til ICMP-mellommeldinger. De sendes over Internett i en databit av et IP-datagram som selv reiser rundt i nettverket. Derfor er de nært knyttet til ARP-protokollen. ICMP-meldinger rutes på samme måte som datagrammer som inneholder informasjon til brukere uten å måtte gjøre det ekstra pålitelighet eller prioritet.

    Et unntak er tilstede for feilhåndteringsprosedyrer når et IP-datagram bærer ICMP-meldinger genereres ikke for feil som oppstår fra datagrammer som inneholder feilmeldinger.

    ICMP meldingsformat

    Den har tre felt:

    • 8-bits heltalls TYPE-felt som identifiserer meldingen;
    • 8-bits KODE-felt som gir Ytterligere informasjon om typen;
    • 16-biters CHECKSUM-felt (ICMP bruker det samme sjekksum algoritme, som bare dekker meldingen til denne protokollen).

    I tillegg inkluderer ICMP-feilmeldinger alltid overskriften og de ledende 64 bitene av datagramdataene som forårsaker problemet.

    Forespørsler og svar

    TCP/IP gir verktøy for å hjelpe nettverksadministratorer eller brukere med å identifisere nettverksproblemer. Et av de mest brukte feilsøkingsverktøyene lager ICMP-ekkoforespørselanrop og ekkosvarmeldinger. En vert eller gateway sender en melding til en bestemt destinasjon.

    Enhver datamaskin som aksepterer ekkoforespørselen oppretter et svar og returnerer det til den opprinnelige avsenderen. Forespørselen inkluderer et valgfritt rutet dataområde. Svaret inneholder en kopi av dataene som er sendt i forespørselen. Ekkoforespørselen og responsen knyttet til den kan brukes til å sjekke tilgjengeligheten til et oppnåelig mål og respons.

    Siden både forespørselen og svaret sendes i IP-datagrammer, bekrefter vellykket mottak at systemet fungerer som det skal. For å gjøre dette må følgende betingelser være oppfylt:

    • Kilde-IP-programvaren må rute datagrammet;
    • Destinasjons- og kildemellomgatewayer må være operative og rute datagrammet riktig;
    • Destinasjonsdatamaskinen må kjøre og både ICMP- og IP-programvare må kjøres på den;
    • Returrutene i portene skal være korrekte.

    Hvordan det fungerer?

    ARP og ICMP er nært beslektet. Når en feil forhindrer ruting eller levering av et datagram til gatewayen, sender den en uoppnåelig melding tilbake til kilde og sletter deretter datagrammet. Uopprettelige nettverksproblemer involverer vanligvis dataoverføringsfeil. Siden meldingen inneholder det korte prefikset til datagrammet som forårsaker problemet, vet opphavsmannen nøyaktig hvilken adresse som ikke er tilgjengelig. Retning er kanskje ikke tilgjengelig pga Maskinvare midlertidig nede, avsenderen oppga en ikke-eksisterende destinasjonsadresse, eller fordi gatewayen ikke har en rute til målnettverket.

    Selv om gatewayer sender ubesvarte meldinger til den tiltenkte destinasjonen, hvis de ikke kan rute eller levere datagrammer, kan ikke alle slike feil oppdages. Hvis datagrammet inneholder en ugyldig kilderuteparameter, kan det utløse en kilderutefeilmelding.