← Område 10 Uppslag · Switchen och adresstabellen Ordlista

Dator- och nätverksteknik · område 10 · lektion 50 och 52

Switchen och adresstabellen

Område 9 slutade med en gräns: ramen når switchen — men hur switchen väljer vilken port ramen ska ut på lämnades till det här området. Den här sidan besvarar den halvan av frågan. Switchen lär sig var varje maskin sitter genom att läsa avsändaren i varje ram den tar emot, och skriver upp det i sin MAC-adresstabell. Vet den inte var mottagaren sitter skickar den ramen till alla — och det är inget fel. Sist två switchar i samma nät, som har var sin tabell och inte delar den med varandra, och en tabell som glömmer.

1. Frågan som väntat

Så slutade område 9

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.

Den här sidan tar switchen. Routern kommer på lektion 53, och står på routersidan.

Kom ihåg från lektion 42: en switch är en lager 2-enhet. Den tittar i Ethernet-kuvertet — MAC-adresserna — och bryr sig inte om vad som står i IP-kuvertet inuti.

2. Switchen lär sig av avsändaren

Varje gång en ram kommer in läser switchen ramens käll-MAC, och skriver upp den tillsammans med porten ramen kom in på. Listan kallas MAC-adresstabellen.

Brevbäraren

Tänk dig en brevbärare som noterar vilken dörr varje avsändare bor bakom — av breven de själva lämnar i lådan. Efter en stund vet hen var alla bor, utan att någon har berättat det.

Sedan läser switchen ramens mål-MAC och slår upp den i tabellen. Vad den gör då beror på vad den hittar.

3. Tre fall

Mål-MAC i tabellen?Switchen görKallas
Ja, på en annan portSkickar ut på den porten, ingen annanVidarebefordran (forwarding)
NejSkickar ut på alla portar utom den ramen kom in påFlödning (flooding)
Ja, på samma port som ramen kom in påKastar ramen — mottagaren har redan fått denFiltrering

Det tredje fallet är sällsynt i ett nät med en maskin per port. De två första är de som ska sitta. Tabellen kommer tillbaka resten av området, och på prov 3.

4. Flödning är normalt

Flödning är inte ett fel

Det är vad switchen gör när den inte vet — och den vet aldrig något från början. En switch som just startats flödar nästan allt, och lär sig på några sekunder.

Jämför med hubben från lektion 36. Hubben skickade allt till alla portar, alltid. Switchen gör det bara tills den lärt sig. Det är hela skillnaden, och det är därför switchen ersatte hubben.

5. Tabellen läst rad för rad

Tabellen visas med kommandot show mac address-table i switchens kommandorad. I Packet Tracer: klicka på switchen, fliken CLI, tryck Enter, skriv enable — prompten ska sluta på #, inte > — och sedan kommandot. En rad kan se ut så här:

Switch#show mac address-table
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0001.c7a3.5b12    DYNAMIC     Fa0/1
KolumnBetyder
VlanVilket VLAN porten tillhör — 1 från början. Kolumnen får andra värden på lektion 55, se VLAN-sidan
Mac AddressAvsändaren switchen lärde sig
TypeDYNAMIC — inlärd, inte inskriven för hand
PortsPorten avsändaren sågs på
Cisco IOS, inte en standard

show mac address-table är Cisco IOS-syntax — det språk Packet Tracers switchar och Ciscos riktiga switchar talar. Andra tillverkare har andra kommandon för samma tabell. Det är tabellen som är kunskapen, inte kommandot.

Två kommandon till behövs på den här sidan: clear mac address-table dynamic tömmer tabellen, och arp -d — på en PC, i Command Prompt — tömmer maskinens ARP-cache, som på lektion 44.

6. Flödningen i din kopia

I parets egen kopia från område 9. Följ ordningen — den spelar roll:

  1. Realtime: pinga från en maskin till en annan. Kontrollera med arp -a att mottagaren finns i cachen
  2. Switchen, CLI: enable, show mac address-table. Skriv av tabellen
  3. clear mac address-table dynamic. Kör show mac address-table igen. Tom
  4. Simulation, filter på ICMP, och samma ping igen
  5. Capture/Forward tills echo request når switchen, och ett klick till. Skriv upp vilka portar ramen gick ut på. De maskiner som inte är mottagaren tar emot den och kastar den
  6. Klicka fram echo reply. Skriv upp vilken enda port svaret gick ut på
  7. Pinga igen. Vilken port använde nästa förfrågan?
  8. show mac address-table igen. Skriv av — nu har tabellen rader
Varför steg 1

Är ARP-cachen tom skickar maskinen först en ARP-fråga, och den är en broadcast. Den flödas också — men av ett annat skäl än det du ska se här. Den här gången ska den första ramen vara en vanlig ram till en mottagare switchen inte känner. Broadcasten är lektion 51:s ämne, och står på broadcastsidan.

Syns ARP ändå som första ram: pinga i Realtime igen och kontrollera med arp -a.

Kontrollfrågan

Varför gick svaret bara till en port, när förfrågan gick till alla? Svaret är avsnitt 2: switchen lärde sig frågarens port när förfrågan passerade.

Syns ingen flödning var tabellen redan fylld — töm den med clear mac address-table dynamic före pingen. Tar CLI:n inte emot show mac address-table har du glömt enable.

Ta en skärmbild av flödningen och av tabellen före och efter. Anteckningen är områdets första underlag, och hör hemma i labb 10:s utförandedel.

7. Tabellen medan den fylls

Pröva det själv

ComputerExplorer → networking → switch-learning — nodens titel är Switch-inlärning.

Noden visar det Packet Tracer visar först i efterhand: tabellen, medan den fylls. Packet Tracer visar rörelsen, noden visar minnet.

  1. Tryck Återställ (töm tabell). Tabellen säger att switchen inte vet någonting
  2. Välj A → B under Skicka en ram och tryck Skicka ▸. Logg visar flödningen. Switchens MAC-tabell har fått en rad — vilken?
  3. Skicka B → A. Ramen vidarebefordras direkt. Nu har tabellen två rader
  4. Skicka A → B igen. Ingen flödning

Läs nodens förklaring efter varje ram. I vilket steg lärde sig switchen B:s port?

Vill du ha mer

Skicka mellan alla värdar i noden tills flödningen upphört helt, och räkna hur många ramar det tog.

I kopian: flytta en maskins kabel till en annan switchport och pinga igen. Vad händer med tabellen? Porten är inte knuten till maskinen — det sades på lektion 35, och här syns varför det fungerar. Och fundera: en switch med tomt minne flödar allt. Vad liknar den då?

8. Broadcasten över två switchar

På lektion 51 kopplades en andra switch in, med två maskiner på 192.168.<grupp>.20 och .21. Hur det görs står på broadcastsidan. På lektion 52 bevisas att en broadcast når varje port på båda switcharna.

Kontrollera nätet först:

  1. Länken mellan switcharna är grön i båda ändar
  2. .20 och .21 har rätt adress och mask, 255.255.255.0
  3. Realtime: pinga .20 från en maskin på den första switchen. Svar

Går det inte: korsad kabel, samma nätdel, samma mask. Skriv ner vad som var fel — det är felsökningsavsnittets material.

Sedan fångas broadcasten:

  1. clear mac address-table dynamic på båda switcharna
  2. arp -d på en maskin på den första switchen
  3. Simulation, filter på ARP
  4. Pinga 192.168.<grupp>.20
  5. Capture/Forward ett steg i taget. På den första switchen går ARP-frågan ut på alla portar utom den den kom in på — också länken till den andra switchen. På den andra switchen går den ut på alla portar utom länken den kom in på
  6. Skärmbild när frågan har nått alla maskiner på båda switcharna
  7. Klicka fram svaret. Vart går det?

Fyll i:

SwitchFrågan kom in påFrågan gick ut på
Den första  
Den andra  
Kontrollfrågan

Varför gick svaret bara en väg, när frågan gick till alla?

Svaret är lektion 50 och 51 tillsammans: frågan var en broadcast, och en broadcast flödas alltid. Svaret är en vanlig ram till frågaren — och frågaren lärde båda switcharna sin port när frågan passerade.

Tar du skärmbilden för tidigt har frågan inte nått den andra switchen än. Klicka tills alla maskiner fått den.

9. Två switchar, två tabeller

Kör show mac address-table på båda switcharna, och skriv upp tabellerna sida vid sida. Portnumren här är ett exempel — dina kan vara andra:

Den första switchenDen andra switchen
MACPortMACPort
frågarensFa0/1frågarensGi0/1
.20:sGi0/1.20:sFa0/1

Två saker att se:

Adresstabellen är switchens eget minne

Den delas inte. Det är skälet till att det räcker att koppla in en switch till utan att konfigurera något: den lär sig själv, från början, av trafiken.

10. Tabellen glömmer

En rad ligger inte kvar för evigt. Har ingen ram setts från en adress på en stund tas raden bort — på Ciscos switchar efter 300 sekunder, fem minuter. Det kallas åldrande, aging.

Varför? Maskiner flyttas. En bärbar dator kopplas in i en annan port, en maskin stängs av. En tabell som aldrig glömmer skulle till slut peka fel.

Följden: nästa ram till en bortglömd adress flödas igen, tills switchen lär sig porten på nytt. Samma flödning som i avsnitt 4 — nu som något som kan komma tillbaka när som helst, och fortfarande inte ett fel.

Pröva i din version

Skriv show mac address-table aging-time i switchens CLI. Fungerar kommandot inte i din version av Packet Tracer: töm tabellen med clear mac address-table dynamic. Det är vad fem minuter utan trafik gör.

11. Labb 10:s första underlag

In i labb 10-rapportens utförandedel:

Och i planeringsdelen: topologin — två switchar, vilken port som är länken, och vilka maskiner som sitter var.

Arbetar du mot C eller A

Planeringen ska vara godkänd av läraren innan lektion 53. På E-nivå stämmer du av under arbetets gång; på C och A planerar du färdigt först och genomför sedan självständigt.

Saknas anteckningen från lektion 50: gör om den nu — tom tabell, ping, tabell. Det tar fem minuter. Hela labben står på labbsidan.

Vill du ha mer

Flytta .20:s kabel till en annan port på den andra switchen och pinga igen. Vad händer med den andra switchens tabell? Och den första?

Pinga från .21 till .20 — båda på den andra switchen — med tömda tabeller. Går frågan över länken till den första switchen? Varför?

Och om de två switcharna hade kopplats ihop med två kablar i stället för en — vad händer med en broadcast? Utan skydd blir det en slinga som aldrig tar slut. Switchar har ett eget protokoll mot det, Spanning Tree, som stänger den ena länken. Kursen går inte djupare, men frågan är värd att ha ställt.

12. Vanliga missuppfattningar

10 rader

Man tror oftaMen
Switchen skickar till alla, alltså är den trasigFlödning är normalt när den inte vet. Nästa ram går till en port
Switchen lär sig av mottagarenAv avsändaren. Mottagaren lärs in först när den svarar
Den första ramen i ett ping är alltid ICMPÄr ARP-cachen tom är den första ramen en ARP-broadcast. Pinga i Realtime först
Ingen flödning syns, alltså fungerar det inteTabellen var redan fylld. clear mac address-table dynamic före pingen
show mac address-table fungerar på alla switcharDet är Cisco IOS. Andra tillverkare har andra kommandon. Tabellen är kunskapen
Den första switchen vet att .20 sitter på Fa0/1Den ser .20 på länkporten. Bara den andra switchen vet Fa0/1
Broadcasten stannar vid den första switchenLänken är en port som alla andra. Broadcasten flödas dit också
Två ihopkopplade switchar delar tabellVar sin. De lär sig av sina egna portar
En rad i tabellen ligger kvar för alltidDen glöms efter en stund utan trafik — 300 sekunder hos Cisco
Flödningen som kommer tillbaka är ett felNormalt. Tabellen glömmer för att maskiner flyttas

13. Ordlista

Ordträning

OrdBetyder
MAC-adresstabellSwitchens lista över vilken MAC-adress som setts på vilken port. Byggs av avsändarna
VidarebefordranForwarding — ramen skickas ut på den enda port där mottagaren sitter
FlödningFlooding — ramen skickas ut på alla portar utom den den kom in på, eftersom mottagaren är okänd
FiltreringRamen kastas, eftersom mottagaren sitter på samma port som ramen kom in på
KällportPorten ramen kom in på. Den flödas aldrig tillbaka dit
LänkportPorten som går till en annan switch. Maskinerna på andra sidan syns där
ÅldrandeAging — en rad utan trafik tas bort efter en stund, hos Cisco 300 sekunder
Cisco IOSOperativsystemet och kommandospråket i Ciscos switchar och routrar, och i Packet Tracer
CLICommand Line Interface — enhetens kommandorad
enableGer behörighet att läsa och ändra allt. Prompten slutar på #