IPv6

Från Wikipedia
Hoppa till: navigering, sök
Protokollstack för IP-nätverk
IP-skikt
Protokoll
5. Applikation  BitTorrent | DHCP | DNS | FTP | HTTP | IMAP | IRC | NNTP | POP3 | RTP | SIP | SMTP | SNMP | SSH | Telnet | TLS | SSL | TFTP
4. Transport DCCP | SCTP | TCP | UDP | IL | RUDP
3. Nätverk ARP | BGP | ICMP | IGMP | IP (IPv4 | IPv6) | RIP
2. Länk ATM | Ethernet | FDDI | ISDN | MPLS | Token Ring | PPP | SLIP | Wi-Fi
1. Fysiskt IEEE 802 | ISDN | RS-232 | IrDA | Bluetooth | xDSL

Internet Protocol version 6 (IPv6) är version sex av internetprotokollet (IP). Enligt OSI-modellen arbetar IPv6 i nätverksskiktet.

Protokollet är avsett att ta över efter IPv4. Det fanns även ett IPv5 som dock inte var en efterföljare till IPv4 utan snarare ett experimentellt protokoll avsett för flödande protokoll, gjort för att stödja ljud- video- och röstkommunikation.

Avsikt med protokollet[redigera | redigera wikitext]

IPv6 utvecklades på grund av att antalet möjliga adresser i IPv4 inte är tillräckligt. IPv4 har med sin 32-bitars adresslängd drygt 4 miljarder möjliga adresser. Detta räcker inte till en adress till varje invånare på jorden och utrustning som kan önskas kopplas in på Internet. IPv6 löser detta genom att använda 128 bitar långa adresser istället. Detta ger en teoretisk möjlighet för 3,4·1038 adresser. För att göra det mer överskådligt, 6,7·1017 adresser per kvadratmillimeter på jordens yta, eller drygt 57 miljarder adresser per gram av hela vår planets massa, eller sammanlagt exakt: 340 282 366 920 938 463 463 374 607 431 768 211 456 adresser (nästan 340,3 sextiljoner).

I dagsläget används IPv6 i vissa mobila och privata nätverk. Man tror att IPv4 kommer att stödjas fram till åtminstone 2025, för att de flesta buggar och systemfel i IPv6 ska hittas och åtgärdas.

Historia[redigera | redigera wikitext]

IPv6 uppfanns av Steve Deering och Craig MudgeXerox PARC. IPv6 accepterades av IETF 1994, och kallades då för "IP Next Generation" (IPng).

Implementeringen av IPv6 har saktats ner till stor del på grund av introduceringen av NAT, som delvis löser problemet med för få adresser. NAT har dock en hel del begränsningar som gör det mindre lämpligt för P2P-trafik så som IP-telefoni och fildelning.

Internet domineras fortfarande av IPv4 och bara några få procent av Internets datorer har IPv6-adresser. I Sverige finns stöd för IPv6 hos bland annat Bredband2, IP-Only, SUNET, Availo, Loopia och Bahnhof samt Hi3G_Access_AB (3). I USA har det bestämts att alla federala myndigheter ska ha visst stöd för IPv6 år 2008.

20 juli 2004 gick ICANN ut med att den första ROOT-DNS-servern på Internet har modifierats för att stödja både IPv6 och IPv4. [1]

Adressering[redigera | redigera wikitext]

128-bitars längd[redigera | redigera wikitext]

Den största förändringen mellan IPv4 och IPv6 är längden på adresserna. IPv6-adresser är 128 bitar långa, något som specificeras i RFC 2373 samt RFC 2374. Detta skrivs normalt med 32 hexadecimala tecken, grupperade om fyra separerade med kolon.

IPv6-adresser är vanligen komponerade av två logiska delar: ett 64-bitars nätverksprefix, samt en 64-bitars lokal del. Den senare delen genereras ibland automatiskt med hjälp av nätverkskortets MAC-adress. Oftare används ett slumpat 64-bitars tal eftersom MAC-adresser avslöjar information om användaren. Detta beskrivs i större detalj i RFC 3041.

Notation[redigera | redigera wikitext]

IPv6 adresser skrivs normalt som åtta grupper om fyra tecken. Adressen åtföljs ofta av ett snedstreck, och därefter längden på prefixet. Ett exempel: 2001:0db8:85a3:08d3:1319:8a2e:0370:7334/64 är en giltig IPv6 adress.

Sekvenser av nollor kan förkortas och göras mer läsvänlig för människor genom att skriva ihop två kolon och utelämna nollorna där emellan. Inledande nollor i en grupp om 16 bitar (eller 4 hexadecimala tecken) kan förkortas bort. Exempelvis kan adressen 2001:fe0c:0000:0000:0000:0000:00db:1dc0 skrivas 2001:fe0c::db:1dc0. Förfarandet beskrivs i detalj i RFC 4291.

Dessa sex exempel är alla giltiga och likvärdiga:

2001:0db8:0000:0000:0000:0000:1428:07ab/64
2001:0db8:0000:0000:0000::1428:07ab/64
2001:0db8:0:0:0:0:1428:07ab/64
2001:0db8:0::0:1428:07ab/64
2001:0db8::1428:07ab/64
2001:db8::1428:7ab/64

Dock så är 2001::25de::cade/64 ogiltig eftersom det är otydligt hur många 0000-grupper som har förkortats bort på vardera sida.

Allokerade adresser[redigera | redigera wikitext]

IPv6 har vissa grupper av adresser tillägnade speciella ändamål. IANA har en lista över vilka adressprefix som får användas för olika bruk.

  • ::/8 används för att beskriva den ospecificerade adressen ::/128 som motsvarar IPv4-adressen 0.0.0.0. Gruppen innehåller även loopback-adressen ::1/128 som får användas internt av mjuk- och hårdvara för att beskriva den egna datorn. ::1/128 motsvaras i IPv4 av 127.0.0.1.
    • ::ffff:0:0/96 bör enbart användas för att översätta IPv4-adresser till IPv6-adresser enligt RFC 3484. Genom att följa denna standard kan datorer med IPv6-adresser ansluta till datorer med enbart IPv4-adresser.
  • 2000::/3 används för att beskriva unika adresser nåbara över internet. Alla datorer som är anslutna till internet och har en IPv6 adress har minst en adress ur den här gruppen.
    • 2001:db8::/32 är speciellt tillägnad exempel-adresser i dokumentation. Detta beskrivs mer i RFC 3849.
    • 2002::/16 används för att översätta IPv4-adresser till IPv6-adresser och för att skicka IPv6-paket över IPv4-nätverk. Detta beskrivs bland annat i RFC 3056.
  • fc00::/7 får lov att användas i LAN.
  • fe80::/10 får lov att användas lokalt mellan två datorer som är direkt anslutna. Ofta används adresserna härur mellan en dator och en router.
  • ff00::/8 används för multicast. (Sända meddelanden till flera datorer samtidigt.)
  • fec0::/10 och 200::/7 bör inte användas eftersom de internt är inkompatibla mellan olika RFC-dokument.

Övriga adresser används ännu inte till någonting. Ytterligare adressgrupper kan finns inuti de allokerade mängderna som har fler specifika ändamål. Listan ovan är inte fullständig.

Pakethuvud[redigera | redigera wikitext]

IP-trafik är paketbaserat, och varje paket inleds med en header enligt följande:

+ Bits 0 - 3 4 - 11 12-15 16 - 31
0 Version Traffic class Flow label
32 Payload length Next header Hop limit
64 Source adress, 128 bitar
192 Destination Address, 128 bitar
320 Data

Version - vilken version av IP-protokollet paketet består av. Detta fält är alltid 6 (binärt 0110) för IPv6.

Traffic class - Beskriver paketets prioritet. Paket med låg prioritet kan kastas före paket med högre prioritet om en länk blir överbelastad.

Flow label - En QoS-indikator som nätleverantörer kan sätta för att ge olika behandling till olika typer av tjänster, protokoll eller användare.

Payload length - Antal byte som följer efter pakethuvudet i paketet.

Next header - Beskriver vilken typ av information som följer direkt efter pakethuvudet. Det kan vara en beskrivning av ett annat protokoll (till exempel TCP) eller ytterligare information (extension headers) som beskriver hur paketet önskas behandlas av nätutrustningen. Detta beskrivs bland annat i RFC 2460.

Hop limit - Antal gånger som paketet får skickas vidare mellan nätutrustning innan det når mottagaren. Fältet finns för att motverka att paket skickas vidare i all evighet om nätutrustningen vore felkonfigurerad.

Source Address - Sändarens IP-adress

Destination Address - Mottagarens IP-adress

Data - Information som skickas till mottagaren

Implementering av IPv6[redigera | redigera wikitext]