← Område 9 Uppslag · Ramen, ARP och ICMP Ordlista

Dator- och nätverksteknik · område 9 · lektion 44 och 45

Ramen, ARP och ICMP

Pingen skickade två sorters kuvert, och på lektion 43 öppnades bara det ena. Det första var en fråga maskinen behövde ställa innan pingen alls kunde skickas. Den här sidan ger den frågan sitt namn — ARP — och förklarar vad en MAC-adress är, vad ramen bär och varför det är IP-adressen som avgör om mottagaren finns i samma nät. Sedan protokollet som faktiskt är pingen, ICMP, och förklaringen till de tomma raderna från lektion 43. Sist en maskin som finns, som svarar på ARP — och som ändå inte svarar på ping.

1. MAC-adressen

På lektion 43 stod det Ethernet II Header på Layer 2. Den headern bär två adresser, och de är inte IP-adresser.

En MAC-adress — Media Access Control — är ett hårdvaru-ID som sitter i varje nätverkskort från fabriken:

Exempel

0001.C7A3.5B12

Du hittar den med ipconfig /all i Command Prompt på en PC i Packet Tracer. Raden heter Physical Address.

Samma adress, två skrivsätt

Packet Tracer skriver den i Ciscos form, tre grupper om fyra tecken: 0001.C7A3.5B12. Windows skriver samma sak som sex grupper om två: 00-01-C7-A3-5B-12.

Två adresser på samma maskin, och de gör olika saker:

MAC-adressIP-adress
Vem sätter denTillverkaren, i nätverkskortetDu, eller en DHCP-server
Vad den pekar utEtt nätverkskortEn maskin i ett visst nät
Hur långt den räckerTill nästa enhet på samma länkHela vägen till målet
OSI-lager23
I postbildenNamnet på dörrskyltenGatuadressen

2. Ramen

Ramen är Layer 2:s kuvert. Fält för fält:

Mål-MACKäll-MACTypNyttolastFCS
vem den ska tillvem den kommer frånvad som ligger iIP-paketetkontrollsumma

3. ARP

Problemet: maskinen vet mottagarens IP-adress — den skrevs i pingkommandot. Men för att lägga en ram på kabeln behöver den mottagarens MAC-adress. Den har den inte.

ARP — Address Resolution Protocol — löser det i tre steg:

  1. Frågan, som broadcast: "Vem har 192.168.1.11? Svara till 192.168.1.10." Ramen skickas till MAC-adressen FFFF.FFFF.FFFF, som betyder alla på det lokala nätet
  2. Svaret, till en enda: den maskin som äger adressen svarar "Det är jag, min MAC är 0001.C7A3.5B12." Bara den svarar, och svaret går bara till den som frågade
  3. Cachen: frågaren sparar svaret. Nästa paket till samma adress skickas direkt, utan fråga
Broadcast — ett ord som ska sitta

En broadcast når alla i det lokala nätet. FFFF.FFFF.FFFF ser ut som en felkod, men det är broadcastadressen: alla ettor betyder alla.

Hur långt "det lokala nätet" sträcker sig är en av område 10:s viktigaste frågor.

Alla får frågan — inte pingen

ARP-kuvertet går ut på varje switchport. Det betyder att alla får frågan. Bara en svarar, och pingen går sedan bara till den.

4. ARP i din kopia

Två kommandon i Packet Tracers Command Prompt: arp -a visar cachen, arp -d tömmer den. Så här kan det se ut när grannen redan finns i cachen:

C:\>arp -a
  Internet Address      Physical Address      Type
  192.168.1.11          0001.c7a3.5b12        dynamic

C:\>arp -d

I parets egen kopia:

  1. Command Prompt på en PC: arp -a. Skriv upp vad som står
  2. arp -d, och arp -a igen. Tom
  3. Simulation, filter på ARP och ICMP
  4. ping till en granne, och Capture/Forward steg för steg. Se ARP-kuvertet gå ut till alla maskiner på switchen, och svaret komma tillbaka till en
  5. Öppna ARP-kuvertet. Vart är det adresserat? Skriv upp mål-MAC:en
  6. Öppna ICMP-kuvertet. Skriv upp käll-IP, mål-IP, käll-MAC och mål-MAC
  7. Tillbaka i Command Prompt: arp -a. Grannen finns nu i cachen
  8. Pinga samma granne igen. Kommer något ARP-kuvert?
Två skilda paket

I fönstret är det två paket med olika innehåll: först frågan om MAC-adressen, sedan pingen. Det är det du ska kunna peka på.

ARP har ingen IP-header runt sig — den ligger direkt i ramen. Titta på vilken Layer-rad Packet Tracer visar den.

Kontrollfrågan

Varför kom inget ARP-kuvert andra gången? Kan du svara på det har du förstått cachen.

Syns inget ARP-kuvert ens första gången var cachen redan fylld. Kör arp -d först.

Skärmbilderna av de två kuverten, och arp -a före och efter, är ett bevis till labb 9. ARP är ett av de protokoll som kan räknas till kravet på tre.

5. Samma nät eller annat nät

På lektion 43 stod det IP Header på Layer 3. Den bär käll-IP och mål-IP — adresserna som sattes för hand på lektion 40.

Frågan som avgör allt: hur vet maskinen om mottagaren finns i samma nät? Den jämför nätdelarna, med nätmasken. Samma regel som på lektion 40, nu med förklaringen till varför den spelar roll:

Mottagaren är…Maskinen ARP:ar efter…Ramen går till…
I samma nätMottagarens egen MACMottagaren
I ett annat nätRouterns MACRoutern, som skickar vidare
IP-adressen bestämmer, MAC-adressen levererar

Det är IP-adressen och masken som avgör om mottagaren finns i samma nät. MAC-adressen levererar bara till nästa steg.

I postbilden: gatuadressen avgör om brevet ska till grannen eller till postkontoret. Dörrskylten är bara vad som står på dörren man faktiskt knackar på.

Här går gränsen mot område 10

Ramen når switchen. Paketet kan nå en router. Hur switchen väljer port, och hur routern väljer väg, är område 10.

Undrar du redan nu är frågan rätt — den besvaras från den 30 mars.

6. Frågan utan brus

Pröva det själv

ComputerExplorer → networking → arp — nodens titel är ARP.

Noden visar samma sak som Packet Tracer, utan simulatorns brus: ingen switch, inga andra protokoll — bara frågan och svaret.

  1. Välj en värd i A vill nå och tryck Skicka ▸. Logg visar broadcasten och svaret
  2. Titta i A:s ARP-cache. Adressen ligger där
  3. Skicka till samma värd igen. Nodens förklaring börjar med Cacheträff
  4. Tryck Töm ARP-cache, och skicka en gång till. Broadcasten kommer tillbaka
Fördjupning: ramens fält

ComputerExplorer → networking → ethernet-frame — nodens titel är Ethernet-ram.

Klicka på varje fält i ramen och läs vad det gör. Tryck sedan Vänd en bit i nyttolasten och se FCS-fel — kasta. Ramen kastas utan att någon får veta det, och det är ett lager högre upp som får skicka om. Vilket lager står på transportsidan.

Läs också fältet Typ och leta upp värdet för ARP. Det är det fältet som gör att mottagaren vet att det inte är ett IP-paket.

7. ICMP

Ping — Packet Internet Groper — är kommandot. ICMP — Internet Control Message Protocol — är protokollet det använder.

En lyckad ping består av två meddelanden, och ingenting annat:

MeddelandeTypVem skickarBetyder
Echo request8Den som pingarÄr du där?
Echo reply0Den som pingasJa.

Typen hittar du i PDU-fönstret under Out Layers, på Layer 3, där både IP-headern och ICMP Message Type står.

8. Varför Layer 4 är tomt

På lektion 43 var Layer 4 till 7 tomma för pingkuvertet. Så här ser kuverten ut:

┌─ Layer 2: Ethernet ──────────────────┐
│  ┌─ Layer 3: IP + ICMP typ 8 ─────┐  │
│  │  (inget mer)                   │  │
│  └────────────────────────────────┘  │
└──────────────────────────────────────┘
Det saknades inget — det fanns inget att lägga där

ICMP ligger i internetlagret, bredvid IP. Det har inget transportlager ovanför sig och inget portnummer, eftersom det inte är ett protokoll för ett enskilt program.

Det är nätverkets eget protokoll för att rapportera status och fel: är du där, kom inte fram, för långt bort.

På lektion 46 fylls Layer 4. TCP och UDP har portnummer.

9. ICMP-paret i din kopia

  1. arp -d på den PC som ska pinga, så att hela sekvensen syns
  2. Simulation, filter på ARP och ICMP
  3. ping till en granne
  4. Capture/Forward tills echo request ligger vid sändaren. Öppna det: Out Layers, Layer 3. Skriv upp typen
  5. Klicka fram tills echo reply lämnar mottagaren. Öppna det. Skriv upp typen
  6. Titta i Event List: i vilken ordning kom ARP-frågan, ARP-svaret, echo request och echo reply?

Skriv upp sekvensen:

#ProtokollFrånTillTyp eller innehåll
1ARP FFFF.FFFF.FFFFfråga
2ARP  svar
3ICMP  echo request, typ 8
4ICMP  echo reply, typ 0

Command Prompt skickar fyra pingar, inte en. Det syns i Event List, och i kommandotolken:

C:\>ping 192.168.1.11

Pinging 192.168.1.11 with 32 bytes of data:

Reply from 192.168.1.11: bytes=32 time<1ms TTL=128

Följ den första hela vägen. De andra tre är likadana, utan ARP.

Kontrollfrågan

Vilken Layer-rad står typen på, och varför just där? Letar du efter den på Layer 4 har du missat avsnitt 8.

Skärmbilderna in i rapporten nu: echo request och echo reply, med typen synlig. Det är labb 9:s andra bevis.

10. Maskinen som inte svarar

Tabellen från lektion 41 hade en högerkolumn: vad ett uteblivet svar bevisar. Här prövas den.

Meningen från lektion 41

Ett uteblivet svar bevisar att maskinen inte svarade på just den frågan — och ingenting mer.

Bygg en maskin som finns men inte svarar på ping. Packet Tracers PC har en egen brandvägg:

  1. Pinga en maskin i kopian. Svar
  2. Öppna den maskinens Desktop → Firewall, fliken IPv4 Firewall. Slå på den: Service: On
  3. Lägg till en regel: Action: Deny, Protocol: ICMP, Remote IP: 0.0.0.0, Remote Wildcard Mask: 255.255.255.255. Tryck Add
  4. arp -d på den PC som ska pinga, och pinga igen
  5. Svaret blir Request timed out. — fyra gånger
  6. arp -a på den som pingade. Brandväggsmaskinens MAC-adress står där
Steg 6 är beviset

ARP-frågan besvarades. Maskinen är påslagen, sitter i nätet och har rätt adress — det var den som svarade "det är jag". Den svarade bara inte på ICMP, eftersom brandväggen säger nej till just det protokollet.

Två protokoll, två svar, samma maskin.

Stäng av brandväggen efteråt

Service: Off igen när du är klar. Står den kvar fungerar inga tjänster på lektion 46.

Blockerar brandväggen i din version också ARP, så att MAC-adressen inte syns i steg 6: kontrollera i stället att länken är grön och adressen rätt. Skriv i så fall ner det — det är också ett resultat.

Ute i verkligheten svarar många servrar inte på ping, med avsikt, men levererar webbsidor och e-post utan problem. En webbserver som inte svarar på ping är inte nere. Den pratar bara inte ICMP med dig.

Vill du ha mer

Pinga en adress som inte finns i kopian. ARP-frågan går ut, men ingen svarar. Vad skiljer det från brandväggsmaskinen?

Pinga din egen adress — lämnar kuvertet ens maskinen? Läs IP-headern under Out Layers och hitta TTL: vad tror du att den är till för? Den kommer tillbaka med traceroute i område 11. Och fundera på varför en administratör stänger av ping på en server — det finns ett säkerhetsskäl, och det är värt att formulera själv.

11. Meningen i rapporten

Skriv en mening i din egen rapport som börjar så här:

Början

Ett uteblivet pingsvar bevisar inte att maskinen är oåtkomlig, eftersom …

Ett eget exempel — det är skillnaden mellan E och C

En mening som bara upprepar regeln är E-nivå. Meningen ska ha ett eget exempel. Brandväggen i kopian är ett. Webbservern som inte svarar på ping är ett annat.

Gjorde du brandväggen själv: ta en skärmbild av arp -a. Det är ett starkt felsökningsexempel.

Fråga dig också: vad mer hade kunnat bevisa att maskinen fanns, om inte ARP? Svaret är vilket annat protokoll som helst som den svarar på. Det är samma tanke som område 11 bygger felsökning på: pröva flera vägar innan du drar en slutsats.

Mot A

Brandväggsexemplet är ett samband mellan två protokoll: ARP svarade, ICMP inte. Det är den sortens samband mellan nätverkets delar som A-nivån frågar efter — och en rapport som förklarar varför ARP måste komma före ICMP har redan börjat skriva A-meningen.

12. Vanliga missuppfattningar

10 rader

Man tror oftaMen
MAC-adress och IP-adress är samma sakDörrskylt och gatuadress. MAC till nästa enhet på länken, IP hela vägen
MAC-adressen avgör om mottagaren är i samma nätDet gör IP-adressen och masken. MAC-adressen levererar bara
Inget ARP-kuvert betyder att något är felCachen var redan fylld. arp -d först — det är poängen, inte ett fel
Broadcasten betyder att alla får pingenAlla får frågan. Bara en svarar, och pingen går bara till den
FFFF.FFFF.FFFF är en felkodDet är broadcastadressen. Alla ettor betyder alla
Packet Tracer och Windows visar olika MAC-adresserSamma adress i två skrivsätt: Ciscos och Windows
Ping och ICMP är samma sakPing är kommandot. ICMP är protokollet det använder
ICMP-typen står på Layer 4Den står på Layer 3, med IP-headern. ICMP har inget lager 4
Maskinen med brandväggen är trasigarp -a visar att den svarade på ARP. Den finns
Ett uteblivet pingsvar betyder att maskinen är bortaDet betyder att den inte svarade på just den frågan — och ingenting mer

13. Ordlista

Ordträning

OrdBetyder
MAC-adressMedia Access Control — hårdvaru-ID:t i varje nätverkskort, satt från fabriken. OSI-lager 2
RamLayer 2:s kuvert: mål-MAC, käll-MAC, typ, nyttolast och FCS
NyttolastDet ramen bär — oftast ett IP-paket
FCSFrame Check Sequence — ramens kontrollsumma. Stämmer den inte kastas ramen
ARPAddress Resolution Protocol — frågar efter MAC-adressen till en känd IP-adress
BroadcastEtt meddelande till alla i det lokala nätet
BroadcastadressFFFF.FFFF.FFFF — MAC-adressen som betyder alla
ARP-cacheDär maskinen sparar svaren, så att frågan inte behöver ställas för varje paket. Visas med arp -a
IP-headerLayer 3:s kuvert, med käll-IP och mål-IP
ICMPInternet Control Message Protocol — nätverkets eget protokoll för status och fel. Det ping använder
Echo requestICMP typ 8. Pingens fråga: är du där?
Echo replyICMP typ 0. Pingens svar
BrandväggRegler för vilken trafik en maskin tar emot. Kan säga nej till ett protokoll men ja till andra