nexthoptools

Layer 2 explained

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.

Hva er layer 2?

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.

Router layer 3 – mellom subnet andre nettverk Switch layer 2 – inne i ett subnet PC-A192.0.2.10 PC-B192.0.2.20 Skriver192.0.2.30 Samme subnet (192.0.2.0/24): switchen leverer direkte mellom enhetene, routeren trengs ikke
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

BegrepHva det erEksempel
MAC-adresseFast adresse i nettverkskortet (NIC), brukes inne i ett subnet00:00:5e:00:53:0a
SwitchSender frames bare ut porten der mottakeren står48-ports switch i et rack
MAC tableSwitchens liste over hvilken MAC som står på hvilken port…:0a → port 1
ARPFinner MAC-adressen som hører til en IP-adresse«Hvem har 192.0.2.20?»
BroadcastFrame til alle i subnettetff:ff:ff:ff:ff:ff
VLANEtt fysisk nettverk delt i flere logiskeVLAN 10 ansatte, VLAN 20 gjest
Access portPort i ett VLAN, untagged. Til PC-er, skriverePort 5 i VLAN 10
TrunkPort som bærer flere VLAN, tagged. Mellom switcherUplink med VLAN 10, 20, 30
Spanning TreeBlokkerer 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.

00:00:5e : 00:53:0a OUI (24 bit) hvem som laget kortet NIC-specific (24 bit) unikt fra produsenten Unicast 00:00:5e:00:53:0a til én bestemt enhet Broadcast ff:ff:ff:ff:ff:ff til alle i subnettet Multicast 01:00:5e:00:00:fb til en gruppe (subscribers)

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).

Vanlig Ethernet frame Dest. MAC6 byte Source MAC6 byte EtherType2 byte Payload (IP-pakke)46–1500 byte FCS4 byte Med VLAN-tag (802.1Q) – slik ser den ut på en trunk Dest. MAC Source MAC VLAN-tag4 byte EtherType Payload (IP-pakke) FCS …:53:0b …:53:0a VLAN 10 0x0800 fra 192.0.2.10 til .20 checksum

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

Switch MAC table …:0a → port 1 (ny) 1 2 3 4 PC-A…:0a Skriver…:1e PC-B…:0b PC-C…:0c
Framen fra …:0a kommer inn på port 1. Switchen lærer source MAC.

2 · Unknown unicast: flooding

Switch MAC table …:0a → port 1 …:0b → ? unknown 1 2 3 4 PC-A…:0a Skriverdropper PC-Btar imot PC-Cdropper
…: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

Switch MAC table …:0a → port 1 …:0b → port 3 (ny) 1 2 3 4 PC-A…:0a Skriver…:1e PC-B…:0b PC-C…:0c
Nå kjenner switchen begge. Svaret forwardes bare ut port 1 – og resten av samtalen likeså.

MAC table etter en stund

VLANMAC-adressePortLært av
100:00:5e:00:53:0a1PC-A
100:00:5e:00:53:1e2Skriver
100:00:5e:00:53:0b3PC-B
100:00:5e:00:53:0c4PC-C

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.

PC-A192.0.2.10…:53:0a Switch PC-B192.0.2.20…:53:0b Skriver192.0.2.30…:53:1e 1 «Hvem har .20?» broadcast til alle Skriveren: «ikke meg» – dropper den 2 «.20 er …:53:0b» – bare til PC-A ARP cache på PC-A: 192.0.2.20 → …:53:0b
  1. 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.
  2. Bare eieren svarer. PC-B kjenner igjen sin egen IP og sender en ARP reply direkte til PC-A (unicast) med MAC-adressen sin.
  3. Svaret huskes. PC-A lagrer koblingen i ARP cache i noen minutter, så den slipper å spørre før hver pakke.
  4. 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:

Én switch, tre VLAN 12345678 PC-1VLAN 10 PC-2VLAN 10 SkriverVLAN 10 GjestVLAN 20 GjestVLAN 20 TelefonVLAN 30 TelefonVLAN 30 Neste switchtrunk: 10, 20, 30 VLAN 10 Ansatte · 10.10.10.0/24 VLAN 20 Gjest · 10.10.20.0/24 VLAN 30 Telefon · 10.10.30.0/24
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.

Access ports og trunks

untagged og tagged · 802.1Q · native VLAN · allowed VLANs

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.

SW1 SW2 Trunk (tagged): bærer VLAN 10 og 20 på én kabel tag 10 + frame tag 20 + frame PC-1VLAN 10 Gjest-1VLAN 20 PC-2VLAN 10 Gjest-2VLAN 20 access port: untagged access port: untagged SW1 legger på tag, SW2 fjerner den igjen

Tag-en er 4 byte som settes inn i framen, rett etter source MAC (se Ethernet frame):

802.1Q-tag, 4 byte = 32 bit TPID0x8100 PCP0–7 DEI0/1 VLAN-ID10 16 bit: «her kommer en tag» 3 bit: priority (CoS) 1 bit 12 bit: 1 til 4094
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 eller firewall VLAN 1010.10.10.1 VLAN 2010.10.20.1 routes mellom VLAN-ene PC10.10.10.25/24gw 10.10.10.1 Skriver10.10.20.50/24gw 10.10.20.1

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

SW1 SW2 SW3 loop broadcast storm
Nettverket stopper opp, og du får MAC flapping: samme MAC ses på flere porter.

Med Spanning Tree

SW1 root bridge SW2 SW3 blocked port – backup går til forwarding hvis en link går ned
Switchene velger en root bridge og finner laveste path cost dit. Én port blokkeres.

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.

SW1 SW2 2 × 10 Gbit/s = én logisk link på 20 Gbit/s Spanning Tree ser én link – ingenting blokkeres

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.

PCVLAN 10 SW1access CoreL3 / gateway SW2access SkriverVLAN 20 1 2 3 4 5 Framen underveis Dst MACSrc MACVLAN-tagDst IPSrc IP …:01…:0auntagged10.10.20.5010.10.10.25 …:01…:0a1010.10.20.5010.10.10.25 routing:ny frame,nytt VLAN …:14…:012010.10.20.5010.10.10.25 …:14…:01untagged10.10.20.5010.10.10.25 IP-adressene er de samme hele veien – MAC-adressene og VLAN-et byttes i routeren

MAC-adressene er forkortet: …:0a er PC-en, …:01 er core-switchen (default gateway) og …:14 er skriveren.

  1. 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.
  2. 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.
  3. 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).
  4. Over trunken til SW2. Rammen går med tag 20 til SW2, som finner …:14 i MAC table for VLAN 20.
  5. 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.

SymptomTypisk årsakSjekk
PC-en får ikke IP-adressePorten står i feil VLAN, VLAN-et mangler på trunken, eller DHCP relay mangler på gatewayenHvilket VLAN porten står i, og at VLAN-et er i allowed VLANs på alle trunks innover
Får IP fra feil subnetPorten står i feil VLAN, eller native VLAN er ulikt i de to endene av en trunkPortens VLAN, og native VLAN i begge ender
Når andre i samme VLAN, men ikke internett eller andre VLANFeil default gateway eller subnet mask på PC-en, eller gatewayen mangler SVI i VLAN-etPC-ens IP, mask og gateway. Prøv å pinge gatewayen
Ett VLAN virker over en ny trunk, et annet ikkeVLAN-et er ikke lagt til på trunken, eller ikke opprettet på den ene switchenAllowed VLANs i begge ender
Hele nettverket er tregt eller står, lampene blinker viltLoop uten Spanning Tree – broadcast stormKoble fra nylig tilkoblede kabler. Se etter MAC flapping i loggen
Virker en stund, så faller det utDuplicate IP, eller samme MAC sett på to porterARP-tabellen på gatewayen: bytter MAC-en for IP-adressen?
Mange errors og lav fart på én portDårlig kabel eller kontakt, eller duplex mismatchError counters (CRC/FCS) på porten, og at begge ender står på auto-negotiation
Port i en LAG blir ikke medUlik speed, ulikt VLAN-oppsett eller LACP bare i én endeAt 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å.

Les videre