Artikel top billede

(Foto: Computerworld)

Næste generation af Internet

Internettet står over for sin første store opgradering siden sin skabelse. Alt om DATA ser på, hvad baggrunden for opgraderingen er, og hvad der skal ske i den forbindelse.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Det lyder unægteligt spændende, men inden vi kaster os over dette, skal vi lige se på, hvad det er for en teknologi, der bruges på Internet i dag. Når vi har været igennem det, kigger vi lidt på teknikken bag IPv6, og hvordan den er blevet implementeret i Windows Server 2012, for så at slutte med at se på nogle af de strategier, der er for selve implementeringen af IPv6.

Den teknologi, vi bruger til kommunikation på Internet i dag, bygger på protokolsuiten tcp/ip i version 4. Hvad er nu en protokol for noget? En protokol beskriver i detaljer, hvad der skal ske, for at en kommunikation skal kunne ske.

En suite er så en samling af de enkelte protokoller. Der findes andre protokolsuiter, der tager sig af kommunikation, for eksempel så har ipx/spx fra Novell været meget brugt, men er på retur til fordel for tcp/ip. Nedenfor kan du se, at tcp/ip-suiten, ligesom alle andre protokolsuiter, er delt op i lag.

Det har man gjort helt bevidst, både fordi det er nemmere at løse en opgave i dele, og også fordi ved at have isoleret de enkelte dele i lag, kan man ændre på implementeringen i dette lag, uden at det går ud over de andre lag.

Den del, der står over for den helt store opgradering, er ip-delen af tcp/ip, for det er her, protokolsuiten er begyndt at vise tegn på svaghed. I daglig tale bliver den gamle version af ip refereret til som IPv4, og den nye bliver så kaldt for IPv6.

Men lad os nu se på, hvorfor man nu vil til at lave om på den protokolsuite, der tager sig af så at sige al kommunikation på Internettet. Da tcp/ip i sin tid blev designet, havde man ikke i sin vildeste fantasi forestillet sig, at det skulle blive til den succes, det er i dag! Derfor valgte man at basere det adresseformat, der bliver brugt af ip-delen af tcp/ip på 32bit. Eftersom en bit kun kan være enten 0 eller 1, betyder det, at der er 2^32, eller lidt under 4,3 milliarder forskellige adresser.

Det lyder jo som en frygtelig masse adresser, men set i lyset af, at en del af disse adresser er reserveret til forskellige formål, og at vi p.t. er noget, der ligner 5,5 milliarder mennesker på kloden, så bliver det ret tydeligt, at der ikke tilnærmelsesvis er adresser nok.

Nu er det jo så godt nok ikke alle, der har adgang til Internet, men alligevel er vi nu i Europa løbet tør for adresser. Der er stadigvæk nogle enkelte IPv4-adresser tilbage, men de vil kun blive tildelt de firmaer, der er i stand til at demonstrere, at de er i gang med en migrering til IPv6.

Derudover vil der i de kommende år ske det, at for eksempel vores mobiltelefon i højere og højere grad vil komme til at fungere som en slags internetterminal, og ting som køleskabe og trådløse videokameraer også skal være udstyret med adgang til Internet, så nu kan du se, at 4,3 milliarder adresser hurtigt vil blive for lidt til alle de formål, der bliver visualiseret af alle de store i it-branchen.

Samtidig er der brug for at gøre konfigurationen af maskiner, der er udstyret med netværksadgang, simplere. I dag bliver tildelingen af ip-adresser gjort enten automatisk ved hjælp af en protokol kaldet dhcp eller manuelt ved at tildele adressen direkte på maskinen. Derfor er der opstået et behov for at gøre dette nemmere, samtidig med at man så også bliver i stand til i større eller mindre omfang at konfigurere andre ting end lige adressen på maskinerne.

I takt med at mere og mere af den trafik, der er på Internet, er forretningsrelateret, er behovet for yderligere sikkerhed på ip-niveau blevet af yderste vigtighed. Der findes allerede IPSec til IPv4, men det er bare en mulighed, der tilbydes, og mange af de implementationer, der findes, er i større eller mindre grad proprietære. Derfor har man til IPv6 sørget for, at IPSec er blevet bygget ind i denne protokol.

Til sidst så er der ikke i IPv4 mulighed for at tage hensyn til trafik, der i et eller andet omfang er tidskritisk, altså trafik, som det er vigtigt kommer frem i tide, for eksempel videokonferencer. Også dette har man bygget ind som en mulighed i ipV6.

Der findes mange andre ting end disse, der ligger til forskel på de to versioner, men dem er der desværre ikke plads til at dække i denne artikel. I boksen på næste side, der hedder Yderligere læsning, har jeg listet nogle bøger op, som de af jer, der er sultne efter mere, kan bruge til at skaffe jer yderligere indblik i detaljerne omkring IPv6.

Allerede i starten af 1990’erne begyndte arbejdet med at designe en ny version af ip, der skulle tage sig af problemet med manglende adresser. Nu kan man så undre sig over, at det ikke blev til en version 5, men det skyldes, at version 5 blev brugt som navn til en protokol til forskningsbrug. Derfor blev det så til IPv6.

Der er mange ændringer i IPv6, men en af de vigtigste er, at man er gået fra at bruge 32bit til adresserne til at bruge 128bit. Det vil sige, at der nu er 2^128 mulige adresser eller 3,4×10^38 individuelle adresser til rådighed for IPv6. For at give et billede af, hvor mange adresser det er, så vil det sige, at hvis der blev tildelt 1 million adresser hvert mikrosekund, så vil det alligevel tage 10^20 år, før alle adres-ser er blevet brugt! Så det kommer til at vare noget tid, inden vi løber tør for adresser igen, når implementeringen af IPv6 engang er færdig.

Selvom dette nu tager sig af problemet med manglen på adresser, så bringer det andre problemer med sig. Vi mennesker har vænnet os til, at en ip-adresse på 32bit skrives i 4 blokke af 8bit som for eksempel 128.234.1.23. Hvis vi skulle gøre det samme med en adresse på 128bit, ville det komme til at sådan her ud: 104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255. Øv, det blev en IPv6-adresse jo ikke nemmere at forstå af! Hvad gør vi så?

Hmm, vi kunne jo prøve at koge den ned i en kolonsepareret hexadecimal (se faktaboksen ovenfor) form. Det vil så komme til at se ud, som føl-ger: 68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF. Kolonsepareret form har den fordel, at det kræver færre tal og separationskarakterer end den første mulighed, der kaldes for punktumsepareret decimalform.

Derudover har kolonsepareret form yderlige et par fordele, nemlig at man kan lave det lille trick, der hedder nul kompression. For eksempel så vil denne adresse FF05:0:0:0:0:0:0:B3 kunne koges ned til FF05::B3. På den måde ligger det implicit i den form, at der skal udfyldes nuller imellem de to kolonner. Det er jo stadigvæk ikke noget, som et menneske vil betragte som nemt at forstå. Til gengæld er det mums for enhver computer at arbejde med.

Det var så adresseudvidelsen, men der må da være andre fordele ved en protokolopgradering end bare lige at udvide antallet af mulige adres-ser? Det er der selvfølgelig også. Jeg har allerede nævnt en af dem, nemlig IPSec, der tager sig af krypteringen af kommunikationen. Ikke sådan at forstå, at IPSec er en krypteringsalgoritme. Den tager sig udelukkende af den krypterede kommunikation. Man kan selv vælge, hvilken form for kryptering, man ønsker, om det skal være den gamle 3DES eller den nyere aes (se faktaboksen nedenfor).

Så har IPv6 fået det, der bliver kaldt for udvidelsesheadere. I IPv4 er der ud over selve adresserne i headeren også andre headere, der for ek-sempel kan bruges til at opprioritere trafikken. Disse headere vil være at finde i headeren til IPv4, uanset om de bliver brugt eller ej. I IPv6 har man så lavet det lille trick, at hvis en eller flere headere ikke skal bruges i en kommunikation, så bliver de slet inkluderet.

Det giver selvfølgelig den fordel, at de så ikke fylder op i kommunikationslinjerne. Mange af disse udvidelsesheadere svarer i funktionalitet til dem, der er i IPv4, men en del af dem er nye, for eksempel dem, der er en del af IPSec-delen af IPv6. Her vil vi kigge på den header, der bliver kaldt for fragmentheader. Inden vi ser på den, skal vi lige have fastslået, hvad et fragment er. Et fragment er det, man får, hvis en ip-pakke bliver delt op i flere bidder.

Det sker, når man sender en pakke fra et net til et andet, hvor det ene net for eksempel kan sende pakker, der er 1.500 bytes lange. Det kan for eksempel være Ethernet, der er de facto-standarden for lan-net. Hvis sådan en pakke pludselig skal sendes over et wan-link, der kun understøtter 500 bytes, så bliver pakken delt i tre bidder af den router, der adskiller de to net. Når disse fragmenter så når frem til modtageren, bliver de samlet igen der.

Det er det, der sker, når man anvender IPv4, i IPv6 bliver det gjort noget anderledes. I IPv6 er det afsenderens ansvar, at de pakker, der bliver af-sendt, ikke er større, end at de kan sendes over de forskellige net, der ligger mellem afsender og modtager.

Det sker ved, at afsenderen sender en pakke af sted med fragmentenheder, som så beder de routere, der er imellem afsender og modtager, om besked om, hvad den maksimale pakke-størrelse er, de understøtter. Når afsenderen så har fået besked om det, bliver pakkerne fragmenteret til den rette størrelse, og modtageren samler så pakkerne igen, ligesom for IPv4.

Nu er det jo ikke kun ip-delen af tcp/ip, der skal ændres på i forbindelse med en opgradering til IPv6. Det gælder også for mange andre af de protokoller, der er en del af suiten.

Det gælder for eksempel for de protokoller, der tager sig af at holde routerne opdateret med information om, hvor de forskellige net befinder sig henne. De skal selvfølgelig også kunne opdatere med IPv6-adresser. Også dhcp, der tildeler adresser automa-tisk til maskiner på netværket, skal kunne tildele IPv6-adresser. Så en opgradering til IPv6 er ikke bare liiige – det kræver omhyggelig planlægning!

Nu er det heldigvis ikke sådan, at man skal lave opgraderingen over hele ens net på en gang. Der er mulighed for, at man kan køre med både IPv4 og IPv6 på samme tid på netværket.

Routere fra Cisco og Juniper kan alle sammen holde styr på routertabeller for begge protokoller på samme tid, så man kan lave sin opgradering i tempi. I sammenligning med hvad der kræves af de store internetudbydere og telekommunikations-selskaber, så er en opgradering af ens lan legende let.

For deres vedkommende så skal de ud i noget komplekst noget med at sende IPv6-trafik over en IPv4-tunnel og omvendt i en rum tid, indtil alle over hele verdenen er ovre på IPv6. Når man sender IPv6-trafik over IPv4, så gøres det ved, at man gemmer IPv6-pakken inden i en IPv4-pakke. Der er adskillige måder, man kan vælge at tilgå disse teknologier.

For det første har man lavet IPv6 på en sådan måde, at IPv4-adresserne er en integreret del af IPv6. Det vil sige, at nogle af alle IPv6-adresserne er kompatible med IPv4. På den måde kan en IPv6-maskine tale med en IPv4-maskine direkte, hvis IPv6-maskinen har en af de kompatible adresser.

Der er også den mulighed at køre med både IPv4 og IPv6 på samme tid på samme netværk. På den måde kan IPv4-maskiner tale med hinanden og IPv6-maskiner med hinan-den. Det vil uden tvivl være en af de mest populære løsninger, eftersom firmaer og teleudbydere kan konvertere øer af deres netværk til IPv6 og bruge tunneller til at kommunikere imellem dem.

Så netværksingeniører og netværksteknikere får deres at se til i de kommende år. Både Windows Server 2008 R2 og Windows Server 2012 har gruppepolitikker til at hjælpe med overgangen til ipV6, som du kan se på figur 3.

Nu er det ikke kun routere og deres protokoller, der skal understøtte IPv6, det gælder også for vores operativsystemer. Det er heldigvis sådan, at alle de store leverandører har inkluderet IPv6 i deres produkter.

Det gælder for eksempel for Windows Server 2008 og senere og Windows Vista og senere, der alle sammen kommer med en ny protokolstak, der er kodet med IPv6-understøttlese fra starten af, for WinXP’s vedkommende så er IPv6 kommet med efter SP2, men det er funktionalitet, der er blevet tilføjet tcp/ip-stakken i Windows XP, ikke tænkt ind fra starten af som i de senere udgaver af Windows.

Også de store Unix’er som AIX fra IBM og Solaris fra SUN kommer med IPv6. Og så der gratis Unix-varianter fra *BSD-projekterne, og Linux har IPv6-understøttelse.

De ting, som jeg har beskrevet her, er på ingen måde en komplet oversigt over, hvad der ligger i IPv6, men det giver dig et udgangspunkt for at komme i gang med IPv6, og gør dig ingen illusioner, inden for de næste par år vil vi alle sammen blive tvunget til at bruge IPv6, for der er ikke flere IPv4-adresser tilbage.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det hexadecimale talsystem

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

DES og AES

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Yderligere læsning

[/themepacific_accordion_section]
[/themepacific_accordion]