Slik henger layer 2 sammen: hva en MAC-adresse er, hvordan switchen finner riktig port, hvordan VLAN deler ett fysisk nettverk i flere, og hvordan trafikken kommer seg fra ett VLAN til et annet. Skrevet for deg som er ny, med tegninger og eksempler hele veien.
Nettverk beskrives i lag (OSI-modellen). Layer 1 (physical layer) er selve kabelen eller radiosignalet. Layer 2 (data link layer) leverer data mellom enheter i samme subnet, ved hjelp av MAC-adresser. Layer 3 (network layer) finner veien mellom forskjellige subnet, ved hjelp av IP-adresser. Switchen jobber på layer 2, routeren på layer 3.
Tenk på det som post
IP-adressen er adressen på konvolutten: den står uendret hele veien fra avsender til mottaker. MAC-adressen er navnet på budet som bærer konvolutten den neste etappen. For hver router på veien får konvolutten et nytt bud – altså nye MAC-adresser – men samme IP-adresse. Dette ser du i praksis i eksempelet nederst.
Kort fortalt
Begrep
Hva det er
Eksempel
MAC-adresse
Fast adresse i nettverkskortet (NIC), brukes inne i ett subnet
00:00:5e:00:53:0a
Switch
Sender frames bare ut porten der mottakeren står
48-ports switch i et rack
MAC table
Switchens liste over hvilken MAC som står på hvilken port
…:0a → port 1
ARP
Finner MAC-adressen som hører til en IP-adresse
«Hvem har 192.0.2.20?»
Broadcast
Frame til alle i subnettet
ff:ff:ff:ff:ff:ff
VLAN
Ett fysisk nettverk delt i flere logiske
VLAN 10 ansatte, VLAN 20 gjest
Access port
Port i ett VLAN, untagged. Til PC-er, skrivere
Port 5 i VLAN 10
Trunk
Port som bærer flere VLAN, tagged. Mellom switcher
Uplink med VLAN 10, 20, 30
Spanning Tree
Blokkerer redundante paths så det ikke blir loops
Én port står i blocking state
Slik virker det
Seksjonene bygger på hverandre. Les dem i rekkefølge første gang – da gir eksempelet til slutt mening.
MAC-adressen
Media Access Control · 48 bit · 6 byte
Alle nettverkskort (NIC) – i PC-er, telefoner, skrivere og switcher – har en MAC-adresse fra fabrikken. Den skrives som seks par med heksadesimale tall (0–9 og a–f). Første halvdel er OUI (hvem som laget kortet), andre halvdel er kortets eget nummer.
Samme adresse, mange skrivemåter.00:00:5e:00:53:0a, 00-00-5E-00-53-0A, 0000.5e00.530a og 00005e-00530a er nøyaktig samme adresse. Det er bare utstyret som viser den forskjellig.
Produsenten kan slås opp. De tre første bytene (OUI) er registrert hos IEEE. Lim inn en adresse i MAC vendor lookup, så ser du hvem som laget kortet. (Adressene på denne siden er fra et område som er satt av til dokumentasjon, så de peker ikke på noen ekte produsent.)
Bare lokal. MAC-adressen forlater aldri subnettet den står i. En router tar den av og setter på nye, så en server på internett ser aldri MAC-adressen til PC-en din.
Kan endres. Mobiler og PC-er bruker ofte en tilfeldig MAC per Wi-Fi-nettverk (MAC randomization) for personvern. Da står andre siffer ofte som 2, 6, a eller e (locally administered address).
Multicast-adresser har sin egen logikk. Se Multicast IP ↔ MAC for hvordan en IP-gruppe blir til en MAC.
Ethernet frame
på layer 2 kalles pakken en frame
Alt som sendes på et kablet nettverk pakkes inn i en Ethernet frame. Framen er som en konvolutt rundt IP-pakken: utenpå står destination og source MAC, inni ligger selve innholdet (payload).
Destination MAC først. Switchen kan begynne å bestemme hvor framen skal, så snart de første seks bytene har kommet.
EtherType sier hva som ligger inni: 0x0800 er IPv4, 0x86DD er IPv6 og 0x0806 er ARP.
FCS (Frame Check Sequence) er en checksum. Stemmer den ikke, droppes framen. Mange FCS- eller CRC-errors på en port betyr nesten alltid dårlig kabel, kontakt eller transceiver.
MTU er hvor mye data en frame kan bære, vanligvis 1500 byte. Jumbo frames (ofte 9000) brukes i data center og storage-nettverk, og må da være slått på hele veien.
Slik lærer switchen
MAC table · learning · flooding · forwarding
En ny switch vet ingenting om hva som står hvor. Den lærer ved å se på source MAC i hver frame som kommer inn: «denne adressen står på denne porten» (learning). Så slår den opp destination MAC i MAC table for å finne ut hvor framen skal ut (forwarding). Eksempel: PC-A på port 1 sender til PC-B på port 3, og switchen har nettopp startet.
1 · PC-A sender
Framen fra …:0a kommer inn på port 1. Switchen lærer source MAC.
2 · Unknown unicast: flooding
…:0b står ikke i MAC table. Framen floodes ut alle porter unntatt den den kom inn på. Bare PC-B tar imot.
3 · PC-B svarer
Nå kjenner switchen begge. Svaret forwardes bare ut port 1 – og resten av samtalen likeså.
MAC table etter en stund
VLAN
MAC-adresse
Port
Lært av
1
00:00:5e:00:53:0a
1
PC-A
1
00:00:5e:00:53:1e
2
Skriver
1
00:00:5e:00:53:0b
3
PC-B
1
00:00:5e:00:53:0c
4
PC-C
Aging. En adresse som ikke har sendt noe på en stund fjernes. Vanlig aging time er 300 sekunder, men det varierer. Slik rydder MAC table seg selv når en PC flyttes eller slås av.
Flere MAC-er på samme port er normalt når det står en annen switch, en IP-telefon med PC bak, eller en server med virtuelle maskiner (VM-er) der.
Broadcast floodes alltid. En frame til ff:ff:ff:ff:ff:ff skal til alle, så den floodes ut alle porter i VLAN-et uansett hva som står i MAC table.
En switch er ikke en hub. En hub sendte alt ut alle porter hele tiden. Switchen sender bare dit mottakeren står, så PC-C ser ikke samtalen mellom PC-A og PC-B.
ARP – fra IP-adresse til MAC-adresse
Address Resolution Protocol · IPv4 (IPv6 bruker Neighbor Discovery)
Programmer bruker IP-adresser, men switchen forstår bare MAC-adresser. Før PC-A kan sende noe til 192.0.2.20, må den finne MAC-adressen som hører til. Det gjør den med ARP.
Spørsmål til alle. PC-A sender en ARP request som broadcast: «Hvem har 192.0.2.20? Svar til 192.0.2.10.» Alle i VLAN-et får den.
Bare eieren svarer. PC-B kjenner igjen sin egen IP og sender en ARP reply direkte til PC-A (unicast) med MAC-adressen sin.
Svaret huskes. PC-A lagrer koblingen i ARP cache i noen minutter, så den slipper å spørre før hver pakke.
Nå kan dataene sendes. PC-A lager en frame med destination MAC …:53:0b, og switchen leverer den som vist over.
Eksempel: mottakeren står i et annet subnet
Skal PC-A (192.0.2.10/24) nå 198.51.100.80 på internett, ser den med subnet mask at adressen ikke er i eget subnet. Da spør den ikke etter 198.51.100.80, men etter default gateway, f.eks. 192.0.2.1. Framen sendes til routerens MAC, med serverens IP inni. Derfor er feil default gateway eller feil subnet mask en av de vanligste årsakene til at en PC «når skriveren, men ikke internett».
Broadcast domain – og hvorfor vi deler opp
Alle enheter som får hverandres broadcast, står i samme broadcast domain. Uten VLAN er det hele switchen – og alle switcher som er koblet til den. I et lite nettverk er det greit. Med hundrevis av enheter blir det mye støy, og alle kan nå alle direkte: gjestens mobil står i samme subnet som lønnsserveren. Løsningen er segmentering.
VLAN – flere nettverk i samme switch
Virtual LAN · IEEE 802.1Q · VLAN-ID 1–4094
Et VLAN deler én fysisk switch i flere logiske switcher. Hver port settes i et VLAN, og en frame kan bare gå til porter i samme VLAN. Hvert VLAN er sitt eget broadcast domain, med sitt eget subnet og sin egen del av MAC table. Eksempel på et lite kontor:
Ett VLAN = ett subnet. Gi hvert VLAN sitt eget subnet. Det gjør feilsøking enkelt: ser du adressen, vet du VLAN-et. Lag en adresseplan med VLSM planner.
Gjesten ser ikke PC-ene. Port 4 og port 1 står i samme boks, men i hvert sitt VLAN. En broadcast fra gjesten når bare port 4 og 5 (og trunken).
VLAN-er snakker ikke sammen av seg selv. Skal ansatte nå skriveren i et annet VLAN, må trafikken via en router eller firewall. Se Inter-VLAN routing.
VLAN 1 er default VLAN på nesten alle switcher: alle porter står der fra fabrikken. Det er god skikk å ikke bruke VLAN 1 til vanlig trafikk.
Eksempel på en VLAN-plan
Mange bruker VLAN-nummeret i adressen, så de er lette å huske: VLAN 10 = 10.10.10.0/24, VLAN 20 = 10.10.20.0/24, VLAN 30 = 10.10.30.0/24, VLAN 99 (management VLAN for switcher og AP-er) = 10.10.99.0/24. Default gateway er alltid .1.
Når VLAN-ene skal fortsette over til en annen switch, trenger du ikke én kabel per VLAN. Én trunk bærer alle, og hver frame får en liten tag som sier hvilket VLAN den hører til. Noen leverandører kaller dette «access/trunk», andre «untagged/tagged» – det er det samme.
Tag-en er 4 byte som settes inn i framen, rett etter source MAC (se Ethernet frame):
Access port (untagged): hører til ett VLAN. Enheten i den andre enden vet ingenting om VLAN – en PC sender og får vanlige frames uten tag.
Trunk (tagged): bærer mange VLAN. Brukes mellom switcher, mot routere og firewalls, mot access points og mot servere med VM-er.
Native VLAN (untagged på en trunk): ett VLAN på trunken kan gå uten tag. Begge ender må være enige om hvilket, ellers havner trafikken i feil VLAN.
Allowed VLANs: på en trunk velger du hvilke VLAN som får gå over. Mangler ett der, virker alt annet – bortsett fra akkurat det VLAN-et. Vanlig feil!
PCP (CoS) brukes til QoS, for eksempel at voice fra telefonene går foran annen trafikk.
Eksempel: access point med flere SSID-er
Et AP sender ut SSID-ene «Firma» og «Gjest». Porten mot AP-et settes som trunk: management VLAN 99 untagged (så AP-et får adresse og kan styres), VLAN 10 og VLAN 20 tagged. AP-et kobler «Firma» til VLAN 10 og «Gjest» til VLAN 20.
Eksempel: IP-telefon med PC bak. Telefonen har en liten switch inni. Switchporten har VLAN 10 untagged for PC-en og VLAN 30 tagged for telefonen (voice VLAN). Telefonen får vite voice VLAN automatisk, ofte via LLDP-MED.
Inter-VLAN routing – her kommer layer 3 inn
SVI · router on a stick · default gateway · DHCP relay
For å komme fra ett VLAN til et annet må trafikken routes: av en L3-switch, en router eller en firewall. Den har et VLAN interface (SVI, Switched Virtual Interface) med en IP-adresse i hvert VLAN. Den adressen er default gateway for PC-ene.
L3-switch: router mellom VLAN i wire speed. Vanlig i core. Ofte tillates alt mellom VLAN-ene, eller det filtreres enkelt med ACL.
Firewall som gateway: all trafikk mellom VLAN går gjennom policy. Tryggere, men firewallen må tåle trafikken. Typisk for gjest, IoT og servere. Se soner i Firewall.
Router on a stick: én trunk fra switchen til en router eller firewall, med et subinterface per VLAN. Vanlig i små nettverk.
DHCP i flere VLAN: DHCP Discover er en broadcast og kommer ikke forbi default gateway. Står DHCP-serveren i et annet VLAN, må gatewayen videresende den (DHCP relay, ofte kalt IP helper).
Loops og Spanning Tree
STP · RSTP (802.1w) · MSTP (802.1s)
To kabler mellom switchene gir redundans – men på layer 2 er det farlig. Frames har ingen TTL (IP har det, Ethernet har ikke noe tilsvarende), så en broadcast som kommer inn i en loop, går rundt og rundt og kopieres hver gang. På sekunder er nettverket fullt. Dette kalles en broadcast storm. Spanning Tree finner loops og blokkerer den redundante pathen til den trengs.
Uten Spanning Tree
Nettverket stopper opp, og du får MAC flapping: samme MAC ses på flere porter.
Med Spanning Tree
Switchene velger en root bridge og finner laveste path cost dit. Én port blokkeres.
Root bridge er midtpunktet i treet. Velg den selv (lavest bridge priority vinner), helst core-switchen. Ellers vinner den med lavest MAC-adresse – ofte den eldste switchen i et skap.
Bruk RSTP eller MSTP. Klassisk STP bruker 30–50 sekunder på convergence. RSTP klarer det på noen sekunder eller mindre. MSTP lar ulike VLAN bruke ulike paths (instances).
Edge ports mot PC-er og skrivere går rett i forwarding uten å vente. Slå på BPDU-beskyttelse (ofte kalt BPDU guard) som stenger porten hvis det plutselig kommer BPDU-er inn der – da har noen koblet inn en switch eller laget en loop.
Vanlig loop i praksis: en kabel mellom to veggkontakter i samme møterom, eller en liten skrivebordsswitch med begge ender i veggen.
Link aggregation – flere kabler som én
LAG · LACP (IEEE 802.1AX, tidligere 802.3ad) · port-channel · trunk-gruppe
Vil du ha både mer båndbredde og redundans uten at Spanning Tree blokkerer, slår du linkene sammen til én logisk link. Begge switchene ser én port, og trafikken lastbalanseres på linkene.
Én flow bruker én link. Trafikken fordeles per flow (hash av MAC, IP og porter), så én enkelt filkopi får fortsatt bare 10 Gbit/s.
Bruk LACP, ikke static. Med LACP sjekker switchene at linkene faktisk går til samme peer, og tar ut en link som ikke svarer.
Like innstillinger på alle member ports: samme speed og samme VLAN-oppsett. Avvik er en vanlig grunn til at en port ikke blir med.
To switcher i den ene enden (MC-LAG, ofte et par i core) gir redundans også om en hel switch går ned. Navn og oppsett varierer mellom leverandører.
Hele veien: PC-en skriver ut
Her er alt i ett eksempel. PC-en i VLAN 10 skriver ut på skriveren i VLAN 20. De står på hver sin access-switch, og core-switchen router mellom VLAN-ene. Følg tallene – og legg merke til hva som endrer seg i framen underveis.
MAC-adressene er forkortet: …:0a er PC-en, …:01 er core-switchen (default gateway) og …:14 er skriveren.
PC-en sender til default gateway. PC-en (10.10.10.25/24) ser med subnet mask at 10.10.20.50 er i et annet subnet. Den slår opp gatewayen 10.10.10.1 med ARP og lager en frame til gatewayens MAC …:01. Porten er en access port, så framen er untagged. SW1 vet at den kom inn på en port i VLAN 10.
SW1 sender framen over trunken. SW1 slår opp …:01 i MAC table for VLAN 10 og finner uplinken. Det er en trunk, så framen får tag 10.
Core router. Framen er til core-switchens egen MAC, så den pakkes opp. Core ser destination IP 10.10.20.50, som ligger i VLAN 20 der den har SVI-en 10.10.20.1. Den slår opp skriverens MAC med ARP og lager en helt ny frame: fra sin egen MAC til skriverens, i VLAN 20. IP-pakken inni er den samme (bare TTL telles ned med én).
Over trunken til SW2. Rammen går med tag 20 til SW2, som finner …:14 i MAC table for VLAN 20.
Fram til skriveren. SW2 fjerner tag-en og sender framen ut access-porten. Skriveren svarer, og svaret går samme vei tilbake – til sin default gateway 10.10.20.1 først.
Vil du tegne ditt eget nettverk med VLAN og trunks? Prøv Network diagram.
Vanlige feil
De fleste layer 2-problemer handler om at VLAN ikke er der man tror. Gå gjennom fra PC-en og innover: port → VLAN → trunk → gateway.
Symptom
Typisk årsak
Sjekk
PC-en får ikke IP-adresse
Porten står i feil VLAN, VLAN-et mangler på trunken, eller DHCP relay mangler på gatewayen
Hvilket VLAN porten står i, og at VLAN-et er i allowed VLANs på alle trunks innover
Får IP fra feil subnet
Porten står i feil VLAN, eller native VLAN er ulikt i de to endene av en trunk
Portens VLAN, og native VLAN i begge ender
Når andre i samme VLAN, men ikke internett eller andre VLAN
Feil default gateway eller subnet mask på PC-en, eller gatewayen mangler SVI i VLAN-et
PC-ens IP, mask og gateway. Prøv å pinge gatewayen
Ett VLAN virker over en ny trunk, et annet ikke
VLAN-et er ikke lagt til på trunken, eller ikke opprettet på den ene switchen
Allowed VLANs i begge ender
Hele nettverket er tregt eller står, lampene blinker vilt
Loop uten Spanning Tree – broadcast storm
Koble fra nylig tilkoblede kabler. Se etter MAC flapping i loggen
Virker en stund, så faller det ut
Duplicate IP, eller samme MAC sett på to porter
ARP-tabellen på gatewayen: bytter MAC-en for IP-adressen?
Mange errors og lav fart på én port
Dårlig kabel eller kontakt, eller duplex mismatch
Error counters (CRC/FCS) på porten, og at begge ender står på auto-negotiation
Port i en LAG blir ikke med
Ulik speed, ulikt VLAN-oppsett eller LACP bare i én ende
At innstillingene er like på alle member ports i begge ender
Ord du møter
Layer 2
Data link layer. Leverer frames mellom enheter i samme subnet, med MAC-adresser.
Frame
Pakken på layer 2: destination MAC, source MAC, EtherType, payload og FCS.
MAC-adresse
48-bits adresse i nettverkskortet, f.eks. 00:00:5e:00:53:0a.
OUI
Organizationally Unique Identifier. De tre første bytene i MAC-adressen, som viser produsenten.
MAC table
Switchens oversikt over hvilken MAC som står på hvilken port i hvilket VLAN. Kalles også CAM table eller forwarding database (FDB).
Flooding
Frame til ukjent mottaker (unknown unicast), broadcast eller multicast sendes ut alle porter i VLAN-et.
Aging
Tiden en MAC-adresse blir stående i MAC table uten trafikk før den fjernes.
Broadcast
Frame til alle i VLAN-et, til ff:ff:ff:ff:ff:ff.
Broadcast domain
Alle enheter som får hverandres broadcast. Ett VLAN = ett broadcast domain.
ARP
Finner MAC-adressen til en IPv4-adresse. IPv6 gjør det samme med Neighbor Discovery (ND).
VLAN
Virtual LAN. Deler ett fysisk nettverk i flere logiske. VLAN-ID 1–4094.
802.1Q
Standarden for VLAN-tagger på Ethernet.
Access / untagged
Port i ett VLAN, uten tag.
Trunk / tagged
Port som bærer flere VLAN, med tag på framene.
Native VLAN
VLAN-et som går uten tag på en trunk.
SVI
Switched Virtual Interface (VLAN interface). IP-adressen en L3-switch har i et VLAN. Er default gateway for VLAN-et.
Default gateway
Adressen enheten sender til når mottakeren er i et annet subnet.
DHCP relay
Gatewayen sender DHCP-forespørsler videre til en server i et annet subnet. Kalles også IP helper.
STP / RSTP / MSTP
Spanning Tree. Hindrer loops ved å blokkere redundante paths. RSTP har raskere convergence, MSTP kan ha ulike instances for ulike VLAN.
Root bridge
Switchen som er midtpunktet (roten) i Spanning Tree.
Broadcast storm
Broadcast som går rundt i en loop og fyller nettverket.
BPDU
Bridge Protocol Data Unit. Meldingene switchene sender hverandre i Spanning Tree.
MAC flapping
Samme MAC-adresse ses vekselvis på to porter. Tegn på loop eller feilkobling.
LAG / LACP
Link Aggregation. Flere links slått sammen til én logisk link. LACP er protokollen som forhandler dette.
MTU
Maximum Transmission Unit. Største payload i én frame, vanligvis 1500 byte.
LLDP
Protokoll der utstyret forteller naboene hva det er og hvilken port det står på.