ApplicationHTTP, DNS, TLSTransportTCP, UDPInternetIPv4, IPv6LinkEthernet, Wi-Fiencapsulation

TCP/IP-modell

10 min lästNätverk

Om du bara lär dig en nätverksmodell, lär dig TCP/IP. OSI-modellen med sju lager lärs ut i läroböcker; TCP/IP-modellen med fyra lager är vad det faktiska Internet körs på. Att förstå vilket lager som gör vad är grunden för att förstå allt annat – VPN, proxyservrar, NAT, brandväggar, latens.

Hela artikeltexten finns på engelska nedan.

Internets design kommer från ett papper från 1974 av Vint Cerf och Bob Kahn som föreslog en skiktad arkitektur: varje lager gör ett jobb, pratar bara med lagren omedelbart ovanför och under, och implementeras oberoende av de andra. Modellen har fyra lager; allt du lägger på en tråd (eller trådlöst) går igenom dem.

Lager 1: Länklager

Det undre lagret är den fysiska länken mellan intilliggande enheter: Ethernet, Wi-Fi, fiber, mobil. Dess uppgift är att lägga bitar på mediet och få bort dem igen på andra sidan. Varje länkteknik har sin egen inramning, sin egen adressering (MAC-adresser på Ethernet/Wi-Fi) och sin egen felhantering.

Detta lager är det enda som varierar beroende på fysiskt medium. Resten av stacken är densamma oavsett om du använder mobilnät, Wi-Fi eller fiber.

Lager 2: Internetlager

Internetlagret är det globala routinglagret. Dess protokoll är IP (i antingen v4 eller v6), och dess uppgift är att få ett paket från vilken IP-adress som helst till vilken annan IP-adress som helst, möjligen över många mellanliggande hopp. Varje hopp är en router som tittar på destinationsadressen, konsulterar dess routingtabell och vidarebefordrar paketet på lämplig länk.

Internetlagret är bäst: paket kan släppas, ordnas om eller dupliceras. Den återsänder inte. Det är nästa lagers problem.

Layer 3: Transport layer

Transportlagret förvandlar den bästa IP-tjänsten till något som kan användas av applikationer. Två protokoll dominerar:

  • TCP (Transmission Control Protocol) ger en pålitlig, ordnad byteström. Den återsänder förlorade paket, ordnar om paket som inte fungerar, kontrollerar trafikstockningar och säkerställer att båda slutpunkterna förblir ungefär synkroniserade. Priset är latens — ett TCP-handslag tar en tur och retur innan några data flödar.
  • UDP (User Datagram Protocol) tillhandahåller datagram utan tillförlitlighetsgarantier. Applikationen får samma bästa tjänst som IP ger, plus portnummer till multiplexflöden. Används för DNS, realtidsljud/video, spel, QUIC.

Båda transportlagerprotokollen använder 16-bitars portnummer (0–65535) för att multiplexera många flöden över en enda IP-adress.

Layer 4: Application layer

X använder faktiskt allt du använder, HTTP, applikationslagretXPLZ33S, HTTP SMTP, DNS, SSH, FTP, BitTorrent. Varje protokoll definierar sitt eget meddelandeformat, semantik och beteenden, som ligger ovanpå TCP eller UDP.

Detta är det lager som de flesta mjukvaruutvecklare tillbringar sin tid i. Det är också där nästan all modern applikationskomplexitet lever – TLS, HTTP/3, QUIC, GraphQL, gRPC, WebSocket – även om de tre lägre lagren inte har förändrats i lagren. decennier.

Hur ett paket faktiskt flyter

Du klickar på en länk. Din webbläsare öppnar en TCP-anslutning till example.com:443. Här är den skiktade uppdelningen:

  • Application layer: webbläsaren konstruerar en HTTPS-förfrågan.
  • Transportlager: TCP lindar in det i ett segment med käll-/destinationsportar, sekvensnummer, checksum.
  • Internetlager: IP omsluter TCP-segmentet med käll-/destinations-IP, TTL, etc.
  • Link-lager: Ethernet (eller Wi-Fi) omsluter IP-paketet med MAChop-adresser.XPLZPLZ09Nästa för nästa paketet träffar din router, som tar bort länklagerramen, tittar på IP-huvudet, bestämmer vart det ska vidarebefordras, lindar in det i en ny länklagerram för nästa hopp och skickar det vidare. Detta upprepas vid varje router tills paketet når example.com:s server, där lagren packas upp omvänt.

    TCP/IP vs OSI

    OSI-modellen har sju lager — fysiska, datalänk, nätverk, transport, session, presentation, applikation — och lärs ut i klassrum. TCP/IP-modellen kollapsar de två nedre OSI-lagren till ett "länklager" och de tre översta OSI-lagren till ett "applikationslager". Skillnaderna mellan OSI-session/presentation finns i verkliga system (TLS sitter där någonstans), men TCP/IP-vyn i fyra lager matchar faktiska implementeringar på ett bättre sätt.

    Varför detta är viktigt för VPNs

    A VPN-tunneln fungerar genom att kapsla in ett paket i ett annat. Din HTTP-begäran i applikationslagret körs på TCP, som körs på IP, som krypteras och fylls i another IP-paket avsett för VPN-servern. VPN-servern dekapslar och skickar vidare. Det inre paketet är din verkliga trafik; det yttre paketet döljer det från det lokala nätverket. Att förstå vilket lager inkapslingen sker på (vanligtvis IP-in-IP för IPsec/WireGuard, TCP/UDP-in-TLS för OpenVPN) är skillnaden mellan en fungerande VPN och en trasig.

Vanliga frågor

Är OSI-modellen fel?
Inte fel, men mest akademiskt. Verkliga implementeringar matchar TCP/IP-fyrlagersmodellen närmare. Sessions- och presentationslagren i OSI mappar till bibliotekskod i applikationsprotokoll snarare än till diskreta nätverkskomponenter.
Vad är skillnaden mellan TCP och UDP på ​​protokollnivå?
TCP har anslutningsinställningar (trevägshandskakning), sekvensnummer per byte, återsändning, flödeskontroll och överbelastningskontroll. UDP har inget av dessa — det är bara "kasta detta datagram på den IP:porten och hoppas att det kommer." UDP är snabbare men applikationen måste hantera förlust.
Var fungerar brandväggar i den här modellen?
De flesta brandväggar fungerar på internet- och transportlagren – de inspekterar IP-adresser, portnummer och TCP-flaggor. "Applikationsbrandväggar" (även kallade programgateways) inspekterar lager-4 nyttolaster för att genomdriva regler baserade på HTTP-metoder, URL:er eller annat programinnehåll.
Varför saktar en VPN ner saker och ting?
Tre skäl: den extra IP-inkapslingen lägger till 20–60 byte per paket, kryptering/dekryptering använder CPU och VPN-utgångsservern kan vara fysiskt längre från din destination än din riktiga ISP-rutt. Moderna protokoll som WireGuard minimerar de två första; routing omvägen är oundviklig.
Gäller TCP/IP-modellen fortfarande med HTTP/3?
Ja — HTTP/3 körs över QUIC, som körs över UDP i transportskiktet, som körs över IP i Internetskiktet. Lagren har inte ändrats; bara valet av transportlagerprotokoll gjorde det. QUIC drar en del funktionalitet (kryptering, överbelastningskontroll) till ett snävare paket.
TCP/IP-modellen förklaras: Fyra lager, den riktiga Internetstacken