TCP/IP er den netværksprotokol, der anvendes stort set alle steder. Derfor kan det være vigtigt at du har en forståelse for den dens opbygning og funktion.
TCP/IP modellen blev oprindeligt beskrevet i 1974 af Vint Cerf og Bob Kahn, og den version vi anvender i dag er RFC 1122 Internet STD3.
TCP/IP sørger for, at data kommer frem frem til det rigtige sted og at der ikke er fejl i de data der modtages:
TCP/IP modellen er opdelt i 4 lag (arbejdsgange), som vi kan opstille på følgende måde:
Applikation og transport foregår på enheden (kaldet en host). Internet og Link foregår på selve netværket.
Opbygningen af TCP/IP pakkerne kan vises på følgende måde:
Lad os se hvad der sker på de enkelte trin, når data gøres klar til netværket. Når pakken modtages fra netværket går processen den anden vej.
På dette lag bliver filen inddelt i mindre pakker der er maks 1500 bytes.
Pakken får tildelt enten en TCP-header eller en UDP-header:
Modtagerens IP-adresse sættes på (IP-header)
Her sætter computeren modtagerens MAC-adresse på. Er det på det lukkede netværk finder computeren selv ud af hvad Mac-adressen er. Findes adressen ikke her, anvendes MAC-adressen på netværkets gateway, som kan få pakken korrekt frem.
Det fysisk netværk består af switche og routere, når vi ser bort fra kabler og trådløse forbindelser.
Switche
Switche ved hvor netværkets enheder er ved hjælp af MAC-adresser. Så snart en enhed kobler sig på netværket husker switchen det. Switchen kan kun denne ene ting, men er rigtig effektiv til det.
I forhold til datapakken gør switchen det, at den kikker i dens Frame header, lukker den igen og sender den til modtageren
Routere
Routeren fungerer som en adgangsportal (gateway) mellem to netværk, og har en tabel over de computere der er i dem.
Routeren har adgang til andre netværk, og har en tabel over de adresser den skal sende til, for at nå modtageradressen. Findes modtageradressen ikke i det netværk den sidder på, så sender den til dette netværks gateway. Denne proces fortsætter indtil pakken kommer til modtageren.
Herunder er et output fra en traceroute forspørgsel, der viser de hop der skal til for at nå www.google.com.
På Ubuntu skal tracerouter installeres først:
sudo apt install traceroute -y
tj@server1:~$ traceroute www.google.dk
traceroute to www.google.dk (172.217.23.131), 30 hops max, 60 byte packets
1 _gateway (192.168.0.1) 2.588 ms 6.301 ms 6.363 ms
2 100.73.128.3 (100.73.128.3) 5.921 ms 5.875 ms 6.015 ms
3 be201.aba-pe31.link.stofa.net (178.155.255.250) 6.689 ms 6.645 ms 7.344 ms
4 be208.koldt-cor03.link.stofa.net (178.155.255.225) 7.995 ms 8.083 ms 8.361 ms
5 be101.koldt-br01.link.stofa.net (212.10.45.200) 8.116 ms 8.053 ms 8.704 ms
6 100.127.255.233 (100.127.255.233) 8.395 ms 4.773 ms 6.673 ms
7 be300-4094.koldt-br01.link.stofa.net (212.112.132.26) 6.574 ms 6.696 ms 6.653 ms
8 * be102.koldb-cor03.link.stofa.net (212.10.45.203) 16.896 ms be101.koldt-cor03.link.stofa.net (212.10.45.201) 16.991 ms
9 89.184.134.181 (89.184.134.181) 16.956 ms 17.280 ms 17.244 ms
10 212.10.11.15 (212.10.11.15) 17.706 ms 18.179 ms 19.138 ms
11 108.170.252.65 (108.170.252.65) 20.315 ms 108.170.251.193 (108.170.251.193) 20.125 ms 108.170.252.65 (108.170.252.65) 20.176 ms
12 216.239.54.63 (216.239.54.63) 15.359 ms 15.300 ms 15.291 ms
13 fra16s18-in-f131.1e100.net (172.217.23.131) 15.249 ms 14.653 ms 14.700 ms
Der er i alt 13 hop
Her vil vi se på hvad der sker i to forskellige sammenhænge:
På et lukket netværk bliver pakken genkendt af switchen og sendt direkte videre til modtageren.
Det sker ved at switchen kigger i pakkens frame-header.
På det routede netværk vil pakker med ukendte MAC-adresser blive sendt til gateway'en. Den sørger så for, at sende den videre i den netværk.
I illustrationen herunder har jeg udeladt switchen, da den ikke er relevant for hvordan TCP/IP pakkerne bliver routed.
Læg mærke til, at routerne på nettet ikke åbner hele TCP/IP pakken. Så snart de har tjekket IP-adressen, så ved routen om pakken skal sendes videre eller sendes ind i routerens eget netværk.
Læser du om netværk, vil du støde på OSI modellen (Operation Interconnection Reference). OSI modellen består af 7 trin:
Du kan se sammenhængen med TCP/IP modellen i tabellen herunder, som er en modificeret udgave af: http://en.wikipedia.org/wiki/OSI_model
OSI | TCP/IP RFC 1122 Internet STD3 |
Cisco Acadamy |
|
---|---|---|---|
Host Layer |
Application | Applikation | Applikation |
Presentation | |||
Session | |||
Transport | Transport | Transport | |
Media Layer |
Network | Internet | Internetwork |
Data link | Link | Network Interface | |
Physical | (n/a) |
Oprindeligt blev IP systemet designet til at have 4,3 mia. forskellige adresser (\( 32 bit = 2^{32} \)). Det har man forlængst erkendt var for få, så derfor har man designet IPv6 der mange flere adresser, nemlig \( 128 bit = 2^{128} = 3,402 \cdot 10^{38} \). Det antal er så stort at der er rigeligt.
Du kan se et eksempel på adresser her
Her kommer et afsnit om subnetting
Forudsætningen for at læse dette afsnit er, at du kender til ovenstående og grundlæggende netværk (se: network.html)
Til at lave beregninger til et IP netværk findes der smarte programmer. F.eks. http://www.iptools.dk/ip-calc/
Når man starter programmet op får man en menu hvor man kan taste sin netværksadresse ind, og trække en skyder indtil man opnår den ønskede mængde adresser i sit subnet.
Osi modellen (eng): http://en.wikipedia.org/wiki/OSI_model
Osi modellen (da): http://da.wikipedia.org/wiki/OSI-model
Classfull network: http://en.wikipedia.org/wiki/Classful_network
Subnetting: http://en.wikipedia.org/wiki/Subnetwork
Supernetwork: http://en.wikipedia.org/wiki/Supernetwork
Internet protocol (eng): http://en.wikipedia.org/wiki/Internet_Protocol
Internet protocol (da): http://da.wikipedia.org/wiki/Internetprotokol
OSI Model forklaret med James Bond (side 2): http://www.lewistech.com/rlewis/Resources/james.aspx
Internet Protocol Suite: http://en.wikipedia.org/wiki/Internet_protocol_suite
CIDR: http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
Video om subnetting: https://www.youtube.com/watch?v=GSX1GlaznKM
Stein-Olsen & Stalheim s. 9 (1998): Netværk, Geir Steen-Olsen & Arnie Stalheim, IDG Bøger A/S, 1. udg. 1.oplag, ISBN: 87-7843-121-2
http://www.libris.dk/produkt/Introduktion_til_netvaerk_3_udgave.htm