Nätverksdiagram
Ett nätverksdiagram visar hur saker är kopplade i nätverket: vilka datorer och servrar som finns, vilken utrustning som binder ihop dem, och — viktigast — var gränserna går. Vad når internet? Vad är skyddat bakom en brandvägg? Det är frågor du måste kunna svara på när du driftsätter din app, oavsett om den hamnar i ett serverrum eller i molnet.
När du läst detta ska du kunna
- Känna igen och namnge de vanligaste delarna: klient, server, switch, router, brandvägg, internet/moln, lastbalanserare, länk och subnät/zon
- Förklara vad en DMZ är och varför webbservern inte står i samma nät som klienterna
- Läsa och rita en molnmiljö med ett virtuellt nätverk, ett publikt och ett privat subnät
- Översätta de generella begreppen till det du möter i Azure och AWS
Vad används det till?
- Planera ett nät innan något kopplas in eller skapas i molnet
- Säkerhet — se direkt vilka delar som exponeras mot internet, och vilka som inte ska vara det
- Felsöka — “API:t når inte databasen”: ligger de i olika subnät? Finns en brandväggsregel emellan?
- Dokumentera så att nästa person (eller du om ett halvår) vet vad som är kopplat till vad
Det finns ingen gemensam standard för nätverkssymboler. Cisco, Microsoft och AWS har var sin ikonuppsättning. Det viktiga är att vara konsekvent och ha en symbolnyckel — därför har den här sidan en egen, enkel uppsättning.
Delarna och vad de heter
Symbolerna som används på den här sidan:
| Del | Hur den ritas här | Vad den betyder |
|---|---|---|
| Klient | Skärm på fot | En dator, mobil eller annan enhet som använder tjänster |
| Server | Hög låda med “hyllor” | En maskin (fysisk eller virtuell) som erbjuder tjänster: webb, API, filer, databas |
| Switch | Platt låda med pilar åt båda håll | Kopplar ihop enheter inom samma nät (samma subnät) |
| Router | Cirkel med pilar ut åt alla håll | Kopplar ihop olika nät och väljer vägen mellan dem — t.ex. ditt nät och internet |
| Brandvägg | Tegelvägg | Släpper igenom eller stoppar trafik enligt regler: “bara port 443 in” |
| Internet / moln | Moln | Ett nät du inte äger eller inte behöver rita i detalj |
| Lastbalanserare | Låda där en linje delas i flera | Tar emot trafik och fördelar den på flera servrar |
| Länk | Linje — heldragen = kabel, streckad = trådlöst eller VPN | En förbindelse mellan två delar |
| Subnät / zon | Streckad ruta, gärna med adressområde | En grupp adresser och enheter som hör ihop och har samma regler, t.ex. DMZ eller privat subnät |
Adressområdet skrivs i CIDR-form: 10.0.1.0/24 betyder att de första 24 bitarna är fasta, så nätet har 256 adresser (10.0.1.0–10.0.1.255). Ju större siffra efter snedstrecket, desto mindre nät: /16 har 65 536 adresser, /28 bara 16.
Exempel — ett litet företagsnät
Ett konsultbolag med några anställda. Internet kommer in via en router och en brandvägg. Bakom brandväggen finns två zoner: en DMZ (demilitariserad zon) där den publika webbservern står, och det interna nätet med de anställdas datorer och filservern.
Varför två zoner? Webbservern måste gå att nå från internet — det är hela poängen. Men om någon tar sig in på den, vill du inte att de står mitt bland de anställdas datorer. Brandväggen har därför olika regler för de två zonerna:
| Från → till | Tillåtet | Exempel på regel |
|---|---|---|
| Internet → DMZ | Ja, men bara webbtrafik | Port 443 (HTTPS) till webbservern |
| Internet → internt LAN | Nej | Allt blockeras |
| Internt LAN → internet | Ja | Anställda får surfa |
| DMZ → internt LAN | Nej (eller mycket begränsat) | En hackad webbserver ska inte nå filservern |
I verkligheten är router och brandvägg ofta samma låda. Här är de ritade var för sig för att det ska synas att de gör olika saker: routern hittar vägen, brandväggen bestämmer vad som får passera.
Exempel — en molnmiljö
Samma idé i molnet. Istället för kablar och lådor skapar du ett virtuellt nätverk och delar in det i subnät. Webbappen från arkitektursidan driftsätts här med två app-servrar bakom en lastbalanserare och en databas som inte kan nås från internet alls.
Läs det uppifrån och ner:
- Trafik från internet släpps in bara på port 443 (HTTPS).
- I det publika subnätet finns bara lastbalanseraren. Den är det enda som har en publik adress.
- Lastbalanseraren skickar vidare till app-servrarna i ett privat subnät. De har bara interna adresser (
10.0.2.x) — internet kan inte nå dem direkt. - Databasen ligger i ett eget privat subnät. Regeln där är ännu snävare: bara app-subnätet får prata med databasen, och bara på databasporten.
Ett publikt subnät är alltså ett subnät där resurser kan nås från internet, och ett privat subnät ett där de inte kan det. Det är samma tanke som DMZ och internt LAN i företagsnätet — bara att du ritar det med kod och klick istället för kablar.
Samma begrepp hos molnleverantörerna
Diagrammet ovan är medvetet leverantörsneutralt. Så här heter delarna hos de två största:
| Generellt | Azure | AWS |
|---|---|---|
| Virtuellt nätverk | Virtual Network (VNet) | Virtual Private Cloud (VPC) |
| Subnät | Subnet | Subnet |
| Brandväggsregel på subnät/server | Network Security Group (NSG) | Security Group, Network ACL |
| Lastbalanserare | Load Balancer, Application Gateway | Elastic Load Balancing (ALB/NLB) |
| Väg ut mot internet för privata servrar | NAT Gateway | NAT Gateway |
| Publikt subnät | Ett subnät vars resurser har publik IP eller nås via lastbalanserare | Ett subnät med väg till en Internet Gateway |
Exakt hur “publikt” fungerar skiljer sig mellan leverantörerna, men diagrammet ser likadant ut. Rita det generellt först — då förstår du vad du bygger, oavsett vilken portal du klickar i.
När ska du välja ett nätverksdiagram?
| Välj nätverksdiagram när… | Välj något annat när… |
|---|---|
| Det handlar om adresser, subnät, brandväggar och vad som når vad | Du vill visa vilken mjukvara som körs var → driftsättningsdiagram |
| Du planerar eller felsöker en molnmiljö eller ett kontorsnät | Du vill visa hur systemets delar samarbetar logiskt → arkitekturdiagram (C4) |
| Du gör en säkerhetsgenomgång: vad exponeras mot internet? | Du vill visa vilken data som flyttas mellan delarna → dataflödesdiagram |
| Du dokumenterar infrastruktur för drift | Du vill visa ordningen på anrop i ett flöde → sekvensdiagram |
Vanliga misstag
- Ingen symbolnyckel. Det finns ingen standard, så läsaren vet inte vad din cirkel betyder. Ha alltid en nyckel, eller använd en etablerad ikonuppsättning konsekvent.
- Inga zoner. Ett diagram där allt sitter på samma linje döljer det viktigaste: vad som är skyddat och vad som är exponerat. Rita gränserna.
- Databasen i det publika subnätet. Bara det som måste nås från internet ska ligga där — oftast bara lastbalanseraren.
- Blandade detaljnivåer. Varje patchkabel i ett diagram och “molnet” som en enda ruta i ett annat. Bestäm vad läsaren behöver veta.
- Inaktuellt diagram. Ett nätverksdiagram som inte stämmer är farligare än inget, eftersom någon kommer att lita på det. Uppdatera när du ändrar regler eller subnät.
Övning
Rita en molnmiljö för en skolans bokningsapp med ett virtuellt nätverk 10.1.0.0/16:
- Ett publikt subnät med en lastbalanserare.
- Ett privat subnät för API:t med en app-server.
- Ett privat subnät för databasen.
- En administratör som ska kunna logga in på app-servern via VPN (streckad länk) — men inte direkt från internet.
Skriv ut adressområdet för varje subnät och en mening om vilken trafik som är tillåten in i det. Hur många adresser har ett /24-subnät?
TL;DR
| Begrepp | Vad det är |
|---|---|
| Switch | Kopplar ihop enheter inom ett nät |
| Router | Kopplar ihop olika nät |
| Brandvägg | Släpper igenom eller stoppar trafik enligt regler |
| Lastbalanserare | Fördelar trafik på flera servrar |
| Subnät / zon | Grupp av adresser med gemensamma regler, t.ex. DMZ |
| Publikt / privat subnät | Kan / kan inte nås från internet |
| Symbolnyckel | Ett måste — det finns ingen gemensam standard |