Denne guide sigter mod at give dig et indblik i hvordan et netværk er bygget op og et overblik over netværksbegreber. Der vil være en del teori og fagbegreber, som er nødvendige for at forstå hvordan netværk mellem computere er opbygget.
John Cage, der var ledende forsker hos SUN, er kendt for følgende to citater:
The network is the computer (1984)
og ...
What stopped the Vietnam War was that we told the truth about what was happening. Today, the truth-telling mechanisms that we can put in people's hands are a million times more powerful,
...
And when every person on the planet has access to that power – which is what I'm trying to do – then watch what happens. (1996)
http://www.wired.com/1996/12/esgage/
Læg mærke til citaternes alder - og hvor præcist de beskriver den virkelighed som for alvor er ved at være vores virkelighed nu (2015).
Internettet som vi kender det i dag startede som projekt under det amerikanske forsvar i starten af 1960'erne
For at adskille og beskrive de forskellige typer af netværk anvender man følgende betegnelser:
Netværkstype | |
---|---|
LAN | Local Area Network |
VLAN | Virtual Area Network Network |
WLAN | Wireless Area Network Network |
WAN | Wide Area Network |
SAN | Storage Area Network |
VPN | Virtual Private Network |
Dette er de to grundlæggende netværkstyper. Forskellen mellem dem er, at LAN er afgrænset og WAN ikke er det. Det kan f.eks. være et firmanetværk (LAN) og Internettet (WAN).
Her er vist et eksempel:
Læg mærke til at der sidder en router mellem WAN og LAN, men også at der sidder en switch før routeren. Det smarte ved TCP/IP er netop, at den beskytter den interne trafik, og at
Som vi så ovenfor er LAN egentlig blot en overordnet betegnelse for et netværk der er adskilt fra et større netværk. Der findes så tre forskellige LAN typer:
LAN er den overordnede betegnelse for hele netværket, og det er underforstået at:
LAN kan være segmenteret (inddelt) i flere underliggene netværk der er adskilt af routere. Disse segmenterede netværk kaldes for VLAN og WLAN.
Det giver den fordel at man kan lave små afgrænsede netværk der er afgrænset af funktioner, afdelinger, tjenester osv. F.eks. kan det være en fordel at have printerne stående i sit eget VLAN, da de har det med at "snakke" meget på netværket. F.eks. fortælle at de er tilgængelige, om de har toner osv.
Man kan også lukke lokaler og afdelinger inde i sådanne netværk, og det kan både give en ekstra grad af sikkerhed, men også gøre det nemmere at administrere store netværk. For systemadministratoren får man altså et overblik (se nedenstående eksempel)
LAN | |
---|---|
VLAN1/WLAN1 | Lærere |
VLAN2/WLAN2 | Lokale B1-b4 |
VLAN3/WLAN3 | Lokal B5-B8 |
VLAN4/WLAN4 | Administration |
SAN beskriver netværk der indeholder harddisk-arrays, som er servere der kun er beregnet til at opbevare data. Ved at segmentere og lave et SAN netværk, kan man begrænse hvem der har adgang til det. Man kan f.eks. sørge for at det kun er enkelte maskiner på netværket (servere) der har adgang til SAN, og sætte resten af maskinerne på til at have adgang til serveren.
Det gør det både nemmere at administrere adgangen og sikkerheden til netværket.
VPN er en netværksforbindelse der skabes mellem to computeren uafhængig af netværket omkring dem. Denne form for netværk bliver også omtalt som en "tunnel". Det har den fordel at resten af netværket ikke kan se trafikken. Hvis man ønsker at sikre datastrømmen yderligere kan man kryptere den. Det kan f.eks. være en fordel hvis man som rejsenden sælger skal kunne tilgå sine filer sikkert på serveren i virksomheden.
VPN bliver også misbrugt f.eks. til nogle af de "smarte" programmer man downloader til sin browser for at kunne få adgang til bestemte typer filer. Det betyder f.eks. at ens datatrafik ikke bliver administreret af ens lokale netværk, men af udbyderen. I realititen kan udbyderen vælge at anvende denne dataforbindelse til at opbevare data på den lokale PC. Nogle af disse "smarte" programmer anvender kun VPN funktionen når programmet kører, hvorimod andre helt overtager ens datatrafik.
Når man installerer programmer fra nettet der lover at forbedre ens ydelse, eller som giver adgang til specielle typer af programmer, så bør man undersøge om det gøres gennem VPN.
Ordet netværkstopologi henviser til den måde netværket er opbygget. Her vil to af dem blive gennemgået: Stjerne- og ringtopologi.
Stjerne-topologien er den mest anvendte netværksopbygning. Det er den type netværk man får når forbinder sine computere med både trådede og trådløse switche.
Grunden til at det hedder stjernetopologi er, at alle enheder er forbundet direkte til en netværksenhed - i dette tilfælde en switch. Se illustrationen:
Den eneste ulempe stjernetopologien har er selve netværket. Hvis et knudepunkt (f.eks. routere og switche ) er defekt vil de enheder der er sluttet til dette knudepunkt ikke være tilgængelig for resten af netværket.
Denne ulempe omgår man ved at skabe mange forbindelser til knudepunkter. På denne måde vil datapakker kunne komme frem til modtageren selvom dele af netværket er defekt.
Som du kan se af netværket ovenfor så kan det miste et knudepunkt uden at netværket er brudt. Kan det miste 2? 3? Kunsten er at designe sit netværk så det har mest mulig redeundans for mindst ressourcer.
Fordelen ved at sætte maskinerne i en ring er, at datapakkerne bliver sendt i en retning. Det giver et stærkere signal og dermed kan hastigheden øges. Denne type netværk anvendes i "backbones" hvilket vil sige i centrale dele af store netværk, hvor hastigheden mellem de enkelte enheder er vigtig.
For at kommunikere med maskiner uden for netværket bliver en af maskinerne sat op som router.
Den netværksprotokol vi i dag anvender i vores netværk er oprindeligt skabt af det amerikanske forsvarsministerium. Ideen var, at netværket skulle være i stand til at fungere selv hvis dele af netværket blev ødelagt. Det blev så til TCP/IP netværket. TCP står for Transmission Control Protocol og er den del der sikrer at det er de korrekte data der afsendes og modtages. IP står for Internet Protocol, og er den del der sørger for at data kommer det rigtige sted hen.
Det som er smart ved TCP/IP protokollen er:
IP-adresser består af 4 tal, mellem 0 og 255 adskilt af punktummer. Det kan f.eks. være 152.115.53.68 (også adressen på folketingets web-server www.ft.dk). Danmarks Radio (www.dr.dk) har således IP-adressen: 159.20.6.38.
Grunden til de "mystiske" tal er, at de kommer fra binære værdier, som er computerens sprog. Helt konkret består en IP-adresse af 4 binære oktetter - altså 4 binære tal med 8 cifre i hver. Således er 152.115.53.68 det samme som 10011000.01110011.00110101.01000100. På den måde er den mindst værdi altså 0 (00000000)og den største 255 (11111111). Grunden til at vi angiver IP-adresser ved hjælp af 4 decimalværdier er simpelthen fordi de er menneskelæselige.
I dag arbejder man med to versioner af TCP/IP: IPv4 og IPv6. IPv4 er den "gamle" protokol, som har det problem, at man er løbet tør for unikke IP-adresser, da den "kun" har \( 2^{32} = 4,3 \cdot 10^9 \) (milliarder) selvstændige adresser. IPv6 har til sammenligning \( 2^{128} = 3,4 \cdot 10^{38} \) mulige kombinationer.
For at kunne målrettet IP-adresser til specifikke tjenester kan man sætte en ekstra parameter på, som kaldes en port. F.eks. kører al web-trafik på port 80 (http - ikkekrypteret) og port 443 (https - krypteret). Herunder er en liste med nogle af mest anvendte porte
Port | Tjeneste |
---|---|
20/21 | FTP (File Transport Protocol)- henholdsvis data og kontrol (kommandoer) |
22 | SSH (Secure SHell) Krypterede kommandoer over nettet |
23 | Telnet - ukrypteret kommandoer over nettet |
25 | SMTP (Simple Mail Transfer Protocol) - router mail mellem servere |
80 | HTTP (HyperText Transfer Protocol) - Ikke krypteret webindhold |
123 | NTP (Network Time Protocol) - bruges til sunkronisering af tid. |
443 | HTTPS (HyperText Transfer Protocol over TLS/SSL) - Krypteret webindhold |
631 | IPP (Internet Printing Protocol) og CUPS (Common Unix Printing Protocol) - Printer data |
666 | DOOM - første online FPS (First Person Shooter) |
989/990 | FTPS - FTP over TLS/SSL - Krypteret FTPS. |
1194 | OpenVPN |
3128 | SQUID - Web proxy |
3306 | MySQL |
6000- 6063 |
X11 protocol mellem X-klient og X-server (fjernskrivebord) |
For at se hvordan din computer er på netværket anvender man programmet ipconfig (ifconfig hvis det er Linux/Mac), som køres fra kommandolinien.
Kommando Mac | Kommando Windows |
---|---|
ifconfig | ipconfig |
I det output der kommer skal du lede efter wireless. Herunder er resultatet på Windows og min PC.
Wireless LAN adapter Wi-Fi: Connection-specific DNS Suffix . : vestfyns.dk Link-local IPv6 Address . . . . . : fe80::30d6:9545:17b0:c51a%8 IPv4 Address. . . . . . . . . . . : 172.25.255.238 Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . : 172.25.0.1
Infrormationerne fortæller at min computer har adressen: 172.25.255.238 og at routerens (defailt gateway) IP-adresse er 172.25.0.1
Ved hjælp af ovenstående kommando ved vi nu at computerens netværkskort er konfigureret. Men vi ved reelt ikke om den er på nettet. For at finde ud af det anvender vi ping
Kommando Mac | Kommando Windows |
---|---|
ping dr.dk | ping dr.dk -t |
Begge kommandoer afsluttes med Ctrl+c |
Herunder ser du output fra en kørsel på min PC.
C:\Users\ThomasJensen>ping dr.dk -t Pinging dr.dk [159.20.6.38] with 32 bytes of data: Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=16ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Reply from 159.20.6.38: bytes=32 time=6ms TTL=251 Ping statistics for 159.20.6.38: Packets: Sent = 16, Received = 16, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 6ms, Maximum = 16ms, Average = 6ms Control-C ^C C:\Users\ThomasJensen>
Vi kan se at:
ping kan konfigureres så man bl.a. kan ændre pakkesstørrelsen og andre ting f.eks sættes pakkestørrelsen her til 1024 bytes. PÅ den måde kan man diagnosticere netværket.
Windows
ping dr.dk -t -l 1024
Mac
ping dr.dk -s 1024
C:\Users\ThomasJensen>ping dr.dk -t -l 1024 Pinging dr.dk [159.20.6.38] with 1024 bytes of data: Reply from 159.20.6.38: bytes=1024 time=12ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=14ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=14ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=13ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=14ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=14ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=15ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=12ms TTL=248 Reply from 159.20.6.38: bytes=1024 time=16ms TTL=248 Ping statistics for 159.20.6.38: Packets: Sent = 9, Received = 9, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 12ms, Maximum = 16ms, Average = 13ms Control-C ^C C:\Users\ThomasJensen>
I al sin enkelhed angiver TCP/IP protokollen hvordan to enheder på et netværk kan kommunnikere, også selvom det ikke er samme protokol. Det kan illustreres på følgende måde:
Wikipedia om TCP/IP: https://en.wikipedia.org/wiki/Internet_protocol_suite
For at få netværket til at fungere anvender vi forskellige netværksudstyr. De vi vil kigge på her er:
Routeren sørger for at adskille og skabe forbindelse mellem netværk, og den har to porte hvor en er konfigureret til LAN og den anden til WAN. Routeren ved med andre ord hvilke IP-adresser der tilhører LAN, og hvilke der ikke gør. Hvis Routeren ikke har en IP-adresse i tabellen sender den data videre ud til WAN.
I TCP/IP protokollen er der defineret nogle IP-adresser der ikke kan routes. Det betyder i praksis, at der er IP-adresser som routeren ikke kan/vil sende mellem sine porte. Disse kaldes private netværk. Ved at indsætte mange routere i sit netværk kan man altså lave mange private netværk ... i sit private netværk. Der kan altså indbygges ret høj sikkerhed bare ved hjælp af netværkets hardware
I denne tabel er de private netværks IP-adresser angivet, og x der kan indsættes tallene fra 0-255 på dets plads.
Version | Private netværk | Netværks bit |
Antal IP-adresser |
---|---|---|---|
IPv4 | 10.x.x.x | 24 | \( 2^{24} = 16,777,216 \) |
IPv4 | 172.16.x.x - 172.32.x.x/12 | 20 | \( 2^{20} = 1,048,576 \) |
IPv4 | 192.168.x.x | 16 | \( 2^{16} = 65,536 \) |
IPv6 | FC00::/7 | 121 | \( 2^{121} = 2,658 \cdot 10^{36} \) |
I både IPv4 og IPv6 er der nogle adresser der er låst til nogle helt specifikke formål anvendelse. Kig i skemaet herunder
IPv4 | IPv6 | Beskrivelse |
---|---|---|
127.0.0.1/8 | ::1/128 | Denne adresse kaldes Loopback. Det fungerer som et virtuel netværkskort, som den lokale computer kan anvende til interne TCP/IP funktioner |
169.254.0.0/16 | FE80::/10 | Denne adresse kaldes Lokal Link. Hvis netværkskortet ikke får en IP-adresse fra netværket eller ikke er konfigureret korrekt vil IPv4 sørge for at give netkortet en vilkårlig adresse i dette netværk |
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 |
FC00::/7 | Private netværk (se ovenfor) |
n/a | ::FFFF:0:0/96 | Denne IPv6-adresse indeholder en IPv4-adresse. På denne måde sikrer man sig at netværk der stadig kører med IPv4 er tilgængelige når IPv6 slår helt igennem |
192.0.2.0/24 198.51.100.0/24 203.0.113.0/24 |
2001:0DB8::/32 | Disse IP-adresser anbefales til dokumentation. |
En firewall er noget software som kan aktiveres i en router. Det en firewall gør er, at filtrere datatrafikken. Det kan den f.eks. gøre ved at tillade adgang (ALLOW), afvise (REJECT - sender signal tilbage), smide (DROP - sender ikke signal tilbage). Ved hjælp af firewalls kan man styre hvilke IP-adresser og tjenester der skal ahve adgang til ens netværk.
Firewalls kan også sættes op på enheder i netværket, så netværkstrafikken kan blive yderligere filtreret lokalt.
Switchen har en tabel indbygget, så den ved hvilke enheder der er sluttet til den enkelte port ved hjælp af deres MAC-adresser. Det betyder, at hvis du sidder og sender en fil til en computer i dit eget netværk vil switchen kunne videresende pakken uden at at spørge routeren.
Fordelen er at datapakken kan forblive på link-laget.
Når vi er på det trådløse netværk, så fungerer det trådløse accespoint (den enhed som giver adgang til det trådløse net) som en switch med virtuelle porte - en for hvor enhed der er tilsluttet. Det trådløse net er langt mindre effektivt end et kablet net, men vores erfaring viser, at det i langt de fleste tilfælde er er effektivt nok.
En hjemmerouter er reelt en router og en switch der er pakket ind i den samme kasse. Dvs. at der reelt er to netværksenheder i samme kasse. Det er en pakkeløsning til private, som er designet til få brugere. Se nedestående diagram
Herunder kan du se et eksempel på et mindre firmanetværk, som består af 6 klienter og en server i LAN
til almindelige netværk anvendes der ethernet, og det stik man anvender kaldes RJ45. Et ethernet kabel har 8 ledere, som parvist er snoet om hinanden, hvilket er årsagen til at man også kalder kablerne for Twisteds Pair (TP). Det gør man for at forhindre elektromagnetisk støj. Efterhånden er den metode ikke effektiv nok, så man er begyndt yderligere at skærme kablerne for elektromagnetisk støj (se længere nede).
Det man skal være opmærksom på er typen af kabler man anvender. Herunder er der en tabel over kablernes egenskaber. Hastigheden der er angivet henviser til den hastighed de er specificeret til. Hvis man f.eks. har GiB (gigabit) internet, så skal man altså som minimum anvende kategori 5e.
Kabel kategorier | |||
---|---|---|---|
Kategori | Type | Hastighed | Båndbredde |
cat 3 | UTP | 10 Mbps | 16 MHz |
cat 5 | UTP | 10/100 Mbps | 100 MHz |
cat 5e | UTP | 1000 Mbps | 100 MHz |
cat 6 | UTP/STP | 1000 Mbps | 250 MHz |
cat 6a | STP | 10.000 Mbps | 500 MHz |
cat 7 | SSTP | 10.000 Mbps | 600 MHz |
UPT: Unshielded Twisted Pair, STP: Shielded Twisted Pair, SSTP: Screened Shielded Twisted Pair
Når man sender data igennem kabler så kan de blive udsat for elektromagnetisk støj. Det kan betyde at data-signalet bliver ødelagt. Det kan f.eks. være tilfældet hvis der ligger mange netværkskabler samlet. For at omgå dette problem skærmer man kablerne for den elektromagnetiske støj.
Jo mere elektronik vi får, og jo flere kabler vi lægger samlet, jo større bliver problemet med elektromagnetisk støj. For at imødegå problemet begyndte man at skærme (STP) kablerne. De nye kategorier er endda dobbeltskærmet (SSTP)for at sikre dataoverførslen. En problematik man også skal tage med i denne sammenhæng er, at det reelt er muligt at aflytte den data-trafik der er i kablerne, og det er også en af årsagerne til at man vælger at skærme kablerne.
Til almindeligt hjemmebrug er Cat5e rigeligt og praktisk. Problemet med at gå op i cat6 og derover er, at de bliver for stive og har svært ved at "knække" rundt om hjørner. Men arbejder man et sted hvor data-strømmen er kritisk og at den skal sikres mest muligt, så skal man op i SSTP kabler.
DNS står for Domain Name System, og er en tjeneste som TCP/IP netværk bruger til at slå adresser op i. Ofte vil man kalde det en DNS-server, da der også findes servere der kun laver dette.
Når en router ikke ved hvor den skal sende en pakke hen, spørger den en DNS-server. Hvis DNS serveren kender adressen får routeren adressen, så den kan sende pakken rigtigt afsted. Kender DNS-serveren ikke modtageren spørger den andre DNS-servere. På den måde kan en DNS hele tiden blive klogere på nettets opbygning.
Ofte vil man i netværk anvende nogle af de store firmaers DNS-servere, f.eks. Google, som hedder 8.8.8.8 og 8.8.4.4.
Alle enheder på Internettet har som sagt en unik IP adresse. For at skabe forbindelse til en af disse forbindelser skal datapakkerne kende ruten. Her vil jeg gennemgå hvordan din router finder frem til websiden www.dr.dk.
Systemet er bygget op af niveauer af DNS servere:
Root DNS Servere holder styr på de forskelle "top level" domæner også kaldet TLD. Det kan f.eks. være:
Du kan finde en liste over alle top level domæner her: https://www.iana.org/domains/root/db.
TLD holder styr på de forskellige Second Level domæner (SLD). Det kan f.eks. være:
SLD holder styr på sub domænerne. Det kan f.eks. være:
Så første gang du efterspørger www.dr.dk.
Herunder er DNS systemet vist grafisk
Når vi f.eks. tager en adresse som www.dr.dk/nyheder, så angiver det som kommer før skråstregen (/) den del som DNS systemet tager sig af. nyheder er noget som bliver admistreret lokal af Danmarks Radio.
Så nettet læser reelt ovenstående adresse som: .dk.dr.www, og webserveren giver adgang til mappen nyheder.
Fordelen ved dette system er, at hvis man har en lokal DNS, så kan den efterhånden huske hvor de forskellige domæner er henne. På den måde behøver man ikke at gå helt ned til Root Level DNS hver gang.
Top level domænener bliver bliver organiseret af en non-profit organistation der hedder ICANN (Internet Corporation for Assigned Names and Numbers).
De danske domæner bliver administreret af .dk hostmaster. Her kan man tjekke om et domænenavn er ledigt eller informationer om ejeren af domænet.
Mere om topologier: https://en.wikipedia.org/wiki/Network_topology
Netværk er en kompliceret størrelse, og selvom TCP/IP-modellen er den der anvendes på Internettet, så er der en anden model, som bliver anvendt meget. Bl.a. af Cisco, som er storleverandør af netværksudstyr. De anvender OSI modellen ( Open Systems Interconnection ) som arbejder med 7 lag.
Nedestående skema er en modificeret udgave af: http://en.wikipedia.org/wiki/OSI_model
Lag | OSI Open Systems Interconnection |
TCP/IP RFC 1122 Internet STD3 |
|
---|---|---|---|
Værts lag | 7 | Application | Applikation |
6 | Presentation | ||
5 | Session | ||
4 | Transport | Transport | |
Medie lag | 3 | Network | Internet |
2 | Data Link | Link | |
1 | Physical | -- n/a -- |
http://en.wikipedia.org/wiki/Internet_protocol_suite#cite_note-21
Det man skal tænke på er, at det reelt kun er medielagene 1, 2 og 3 (dvs. Internet og Link lagene), vi tænker på, når vi taler om netværket. De andre lag handler om hvordan operativsystemet gør pakkerne klar til at blive sendt/modtaget.
Herunder kan du se en illustration på hvordan det foregår.
For at få adgang til det andet netværk bliver pakkerne ledt igennem routeren ud på internettet, hvor der er DNS-servere der ved hvor den router der giver adgang til modtagercomputerens netværk er. Her bliver pakkerne sendt hen, for at modtager-routeren kan sende pakkerne videre til modtageren. Her bliver data fra TCP/IP pakkerne gendannet.
TCP/IP protokollen er opbygget af 4 lag, som beskriver hvordan netværket skal fungere:
Herunder er forklaret hvad TCP/IP protokollen laver, når den skal sende data ud på nettet:
På applikationslaget sørger protokollen for at pakke data ned i små pakker, så de kan håndteres af protokollen
På transport laget sørger netværksprotokollen for at data kan tjekkes for fejl og mangler (verificeres). Det gøres ved at hæfte en TCP-header på datapakken. Hvis data er blevet ødelagt under transporten vil TCP opdage det og sørge for at pakken bliver gensendt.
På Internetlaget bliver der koblet en modtageradresse på.
På dette led sætter protokollen modtagerens MAC-adresse på TCP/IP pakken.
MAC-adressen er en unik identifikation, som alle netværksenheder har, og som er kodet ind i hardwaren. På den måde ved din datapakke hvilket router den skal finde frem til på netværket. Det er en 48-bits adresse, som bliver angivet i det hexadecimale talsystem. Det kan f.eks. være: 08:00:27:76:6A:D0. Der findes i alt \( 2^{48} = 2,8 \cdot 10^{14}\)
Samlet vil det se ud som herunder:
Her er der en film, der viser hvordan TCP/IP fungerer:
Du kan læse mere om IPv4 her: http://en.wikipedia.org/wiki/IPv4