[ Datateknik ]

nr 16-96

Nya Internetprotokollet är redo att ta över

De pusselbitar som behövs för att man ska kunna utnyttja version 6 av Internetprotokollet IP (IPv6) börjar falla på plats. Själva protokollet fastställdes i december förra året och publicerades då som en Internetstandard med beteckningen RFC 1883, men vissa frågor om hur IPv6 praktiskt ska tillämpas återstod att svara på.

Dit hörde till exempel ett batteri av frågetecken kring hur dynamiska IP-adresser ska hanteras och hur en dator ska bära sig åt för att få tag i en IP-adress. Samt inte minst hur man ska hantera de problem som uppstår när en del datorer använder IPv6 och andra den nuvarande versionen IPv4 -- ett tillstånd som Internet kommer att få leva med under överskådlig tid.

De flesta frågor har i sommar besvarats i nya Internetstandarder. Det börjar också dyka upp produkter som stoltserar med IPv6-kompatibilitet. Ett par exempel: danska Telebit lyckades, som ett av de första företagen i världen, visa upp en IPv6-router redan förra året och har också levererat ett antal till ett danskt provnät. Och nu i höst kommer version 2 av FTP Softwares klientprogram Onnet 32 som använder IPv6.

Så trots att de stora tillverkarna ännu inte har klivit in på marknaden -- i Datatekniks routeröversikt i maj i år var det i stort sett bara Cisco som utlovade stöd för IPv6 -- går det att börja experimentera med IPv6-nät.

Den akuta orsaken till att IPv6 togs fram var att adresserna i IPv4 höll på att ta slut. Det problemet är löst i IPv6 genom att adressfältet har utökats från 32 bitar till 128, tillräckligt för ansluta några triljoner datorer. Men samtidigt passade IETF, den organisation som har hand om standardiseringen av Internet, på att införa flera andra förbättringar i protokollet. Så IPv6 skiljer sig på flera sätt från IPv4:

Adresser

Eftersom 128 adressbitar rimligen är långt mer än vad som krävs för att numrera alla datorer som ansluts till Internet (det trodde IETF visserligen om 32 bitar också en gång, men den här gången är det större sannolikhet att man har rätt) har adressutrymmet delats in i klasser. Det finns en klass för lokala adresser, som kan användas av organisationer som använder TCP/IP internt men inte är anslutna till Internet, en annan för multicast-adresser och så vidare.

Den största klassen, som upptar en åttondel av det totala adressutrymmet, är de leverantörsbaserade adresserna, där en del av adressen talar om vilken Internetoperatör man använder. (I princip har adresserna delats ut fritt i IPv4, men i praktiken har man tvingats använda leverantörsadressering de senaste åren för att hänga med i Internets tillväxt. Så på den här punkten handlar det om en formalisering av rådande praxis.) Med leverantörsbaserade adresser kan all trafik till Tele2s kunder styras direkt till Tele2, vilket förenklar tillvaron för routrar hos andra operatörer.

Ytterligare en åttondel av adressutrymmet har reserverats för geografiska adresser, där man delar ut adresserna per land/län/kommun istället för operatör. De har fördelen att man kan byta Internetleverantör utan att behöva byta IP.adress, men IETF har prioriterat de leverantörsbaserade adresserna. Geografiska adresser kommer därför inte att användas tills vidare.

Flera adresser per nätkort

Ska man vara riktigt noga är det inte en dator som har en IP-adress, det är dess nätkort. En dator med flera nätkort kan därför ha flera adresser. Så långt skiljer sig inte IPv6 från IPv4. Men i IPv6 kan dessutom varje nätkort ha flera adresser.

Speciella gruppadresser

IETF har definierat en uppsättning gruppadresser som all IPv6-kompatibel utrustning måste känna till. "Alla noder" och "alla routrar" är två av de viktigare, men det finns också grupper som "alla namndatabaser" och "alla tidsservrar".

I IPv6 finns också så kallade anycast-adresser, som är en mellanform mellan unicast ("en dator") och multicast ("alla datorer i en grupp"). En anycast-adress betyder "någon dator i en grupp" och används när avsändaren vill nå en viss tjänst men inte bryr sig om från vilken dator svaret kommer. Exakt vad man ska ha det till är dock inte klart än.

Administration

Stora IP-nät kan vara en adminstrativ mardröm eftersom väldigt mycket information måste ställas in för hand. Varje dator ska ha en egen IP-adress, den måste känna till vilka routrar som finns i dess närhet och så vidare. Därför har mycket arbete lagts ner på automatisera inställandet i IPv6.

Det har man åstadkommit genom att kopiera de metoder som används i lokalnätsprotokoll som Appletalk. Det första en IPv6-dator gör när den slås på är att konstruera en unik IP-adress till sig själv, bestående av nätkortets maskinvaruadress och ett särskilt prefix som reserverats för så kallade "link local addresses" som bara får användas inom ett nätsegment -- de ska aldrig vidarebefordras genom en router.

Sålunda utrustad med en temporär IP-adress börjar datorn skicka ut frågor till vissa gruppadresser för att hitta routrar, namndatabas och andra tjänster på sitt eget segment. Den proceduren kallas "Neighbor Discovery" och ersätter i huvudsak Bootp-protokollet i IPv4.

En av de tjänster som ska hittas är en DHCP-server (Dynamic Host Configuration Protocol) från vilken datorn kan få sin permanenta IP-adress.

Säkerhet

Mekanismer för att utnyttja kryptering och autenticering ingår i IPv6 och är därmed tillgängliga för alla program.

Prioritering av trafik

IPv6 är inget realtidsprotokoll utan datapaket levereras som hittills i den takt som nätet medger. Men det finns i alla fall ett "flödesnummer" i pakethuvudet som i princip gör det möjligt för Internetroutrar att prioritera trafik tillhörande vissa flöden framför annan trafik. Ett tänkbart sätt att utnyttja flödesnumret är att reservera en nummerserie för telefonsamtal, en annan för video och så vidare och sedan överlåta åt routrarna att sortera trafiken så att onumrerade paket hamnar sist i kön vid överbelastning.

Ett speciellt problem är samtrafiken mellan IPv4- och IPv6-datorer. Till att börja med gäller det att få en handfull IPv6-datorer att kommunicera med varandra och med en omgivning som till största delen består av datorer som enbart talar IPv4. På sikt blir problemet det omvända, eftersom man troligen aldrig kommer till det läget att hela Internet har konverterat till IPv6.

Den Internetstandard som behandlar ämnet, RFC1933, rekommenderar två metoder:
  -- två protokollstackar, det vill säga en dator som har både IPv4- och IPv6-adress och förstår båda protokollen
  -- tunnling, där IPv6-paket "slås in" i IPv4-paket

Tunnlingen måste användas om IPv6-trafiken ska skickas igenom ett IPv4-nät och passera routrar som inte förstår IPv6.

Datorer som kör båda protokollen kan använda en speciell så kallad "IPv4-kompatibel" IPv6-adress, som helt enkelt består av 96 nollor följt av en 32-bitars IPv4-adress.

Lennart Pettersson

lennart.pettersson@datateknik.se

Copyright Datateknik


[Till början av sidan] [Till artikelförteckningen]