IPv6 - Internet Protocol verze 6

Martin Majkus, xmajkus@informatics.muni.cz


Obsah


Co je IPv6

Internet Protocol verze 6 (dále jen IPv6) je protokol, který má nahradit stávající protokol IPv4.
Jeho nasazení se neplánuje nějakým zlomovým bodem, ale postupně se IPv6 nasazuje v různých sítích, zejména akademického charakteru.

Vlastnosti IPv6

IPv6 vznikl kvůli nedostatkům protokolu IPv4 a má vyřešit problémy, které rozvoj stávajícího Internetu (a tedy i IPv4) způsobil.
Mezi jeho hlavní vlastnosti a zejména přednosti oproti protokolu IPv4 patří:

Formát paketu

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Verze |Priorit|                      Značka toku              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Délka dat          | Další hlavička|   Max. skoků  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                      Adresa odesílatele                       +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                        Cílová adresa                          +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Verze
Číslo verze IP = 6.
Priorita
Priorita paketu
Značka toku
Identifikuje proud datagramů od jednoho odesilatele ke stejnému cíli se stejnými vlastnostmi.
Délka dat
Vyjádřená 16-bitovým unsigned integer. Nepočítá se délka hlaviček.
Další hlavička
Identifikuje typ hlavičky, která následuje za touto hlavičkou.
  • Routing - extended Routing
  • Fragmentace - fragmentace and znovusestavení paketu
  • Authentizace - integrita and authentizace
  • Encapsulace - utajeni
  • Hop-by-Hop Option - speciální typ, který je používán na hop by hop processing
  • Destination Options - doplňující informace pro cílový uzel
Maximum skoků
Snižuje o 1 každý uzel, který forwarduje paket.
Adresa odesílatele
128 bitů.
Cílová adresa
128 bitů.

Adresování v IPv6

Adresy přidělují rozhraním, ne uzlům. Jedno rozhraní může mít přiděleno více adres. Je několik druhů IPv6 adres:
Unicast
Adresa tohoto typu identifikuje právě jedno rozhraní.
Anycast
Adresa typu anycast identifikuje sadu rozhraní. Paket bude doručen na právě jedno rozhraní z této sady (použití například pro rozložení zátěže - několik WWW serverů s duplikovaným obsahem má jednu anycast adresu).
Multicast
Adresa typu multicast identifikuje skupinu rozhraní. Paket bude odeslán na každé z těchto rozhraní (nahrazuje broadcast adresy z IPv4).

Je několik forem unicast adres v IPv6:

Provider based Unicast Addresses
Tyto adresy jsou přidělovány na požádání autoritami (stromovitá struktura).
| 3 |  n bits   |  m bits   |   o bits    | p bits  | o-p bits |
+---+-----------+-----------+-------------+---------+----------+
|010|REGISTRY ID|PROVIDER ID|SUBSCRIBER ID|SUBNET ID| INTF. ID |
+---+-----------+-----------+-------------+---------+----------+
Local-Use Addresses
Tyto adresy jsou určeny například pro sítě nepřipojené do Internetu. Na rozdíl od IPv4 je umožněn jednoduchý převod local-use adresy na globální adresu. Prostě se změní prefix a úvodní část adresy dle poskytovatele připojení.
Interface ID může být generováno (či jen převzato) z ethernetové adresy rozhraní.

Link-Local-Use adresy jsou určeny pro adresování na jednoduché lince - autokonfigurace:
|   10     |
|  bits    |        n bits           |       118-n bits           |
+----------+-------------------------+----------------------------+
|1111111010|           0             |       INTERFACE ID         |
+----------+-------------------------+----------------------------+
Site-Local-Use adresy jsou určeny pro adresaci v síti:
|   10     |
|  bits    | n bits  |    m bits     |       118-n-m bits         |
+----------+---------+---------------+----------------------------+
|1111111011|    0    |   SUBNET ID   |       INTERFACE ID         |
+----------+---------+---------------+----------------------------+
IPv6 adresa s rozšířením pro IPv4
Pro kompatibilitu s IPv4.

Uzel, který pracuje s oběma typy adres (router tunelující IPv6 pakety přes IPv4):
|                80 bits               | 16 |      32 bits        |
+--------------------------------------+--------------------------+
|0000..............................0000|0000|    IPV4 ADDRESS     |
+--------------------------------------+----+---------------------+
Uzel, IPv4-only:
|                80 bits               | 16 |      32 bits        |
+--------------------------------------+--------------------------+
|0000..............................0000|FFFF|    IPV4 ADDRESS     |
+--------------------------------------+----+---------------------+

Anycast adresy:

Tento typ adresy identifikuje několik rozhraní a má vlastnost, že paket poslaný s touto adresou je doručen "nejbližšímu" rozhraní.

Multicast adresy:

Multicast adresa je identifikátorem pro skupinu rozhraní. Zařízení může náležet do libovolného množství multicast skupin. Multicast adresy mají následující formát:
     |   8    |  4 |  4 |                  112 bits                   |
     +------ -+----+----+---------------------------------------------+
     |11111111|FLGS|SCOP|                  GROUP ID                   |
     +--------+----+----+---------------------------------------------+
Prefix 11111111 určuje, že jde o multicast adresu.
První tři bity FLGS jsou nuly (rezervováno pro budoucí použití) a poslední bit znamená:
0 - indikuje permanentně přiřazenou ("well-known") multicast adresu určenou globální autoritou.
1 - značí dočasnou ("transient") multicast adresu.

SCOP je pole čtyř bitů určující rozsah platnosti multicast skupiny. Hodnoty jsou:
0  Reserved		8	Organization-local scope
1  Node-local scope	9	(unassigned)
2  Link-local scope	A	(unassigned)
3  (unassigned)		B	(unassigned)
4  (unassigned)		C	(unassigned)
5  Site-local scope	D	(unassigned)
6  (unassigned)		E	Global scope
7  (unassigned)		F	Reserved
GROUP ID identifikuje multicast skupinu.

IPv6 a routing

Routování v IPv6 je téměř shodné s IPv4. S několika drobnými změnami všechny routovací algoritmy (OSPF, RIP, IDRP, ISIS, apod.) mohou být použity pro routování IPv6.

IPv6 navíc podporuje: Tyto nové vymoženosti vznikly zavedením sekvencí adres. Blíže v následujícím příkladě:
                           ----- P1 ------
                          /       |       \
                         /        |        \
                       H1        PR        H2
                         \        |        /
                          \       |       /
                           ----- P2 ------
Mějme počítače H1 a H2 oba připojeny k ISP P1 a P2. Tředí ISP je PR, který je spojen jak s P1, tak s P2.

V případě, že H1 posílá paket H2 a rozhodne se použít k P1, vytvoří sekvenci:
H1, P1, H2
Když H2 odpovídá vytvoří sekvenci opačnou:
H2, P1, H1
Když se H1 stane mobilním a připojí se k ISP PR, tak bez přerušení spojení ustanoví novou sekvenci a komunikace může pokračovat:
H1, PR, P1, H2
Vytváření sekvencí je jednoduchá, ale účinná vlastnost.

IPv6 - Quality Of Service

Pole priorita a značka toku v hlavičce IPv6 paketu jsou používány k identifikaci paketů, u kterých je požadováno speciální zacházení ze strany routerů.

Značka toku

Toto 24 bitové pole je určeno k identifikaci toku dat. Tato položka je stále v experimentální a očekává se její další specifikace a změny.

Priorita

Toto 4 bitové pole určuje prioritu paketu. Priorita 0-7 značí komunikaci, která vyžaduje zpětnou odezvu (TCP), priorita 8-15 značí komunikaci bez odezvi (UDP).
  1. Uncharacterized traffic
  2. Filler traffic (e.g., netnews)
  3. Unattended data transfer (e.g., email)
  4. (Reserved)
  5. Attended bulk transfer (e.g., FTP, HTTP, NFS)
  6. (Reserved)
  7. Interactive traffic (e.g., telnet, X)
  8. Internet control traffic (e.g., routing protocols, SNMP)
Následně priorita číslo 8 je určena pro pakety, které mohou být ztraceny (vysílání s nízkou kvalitou), až priorita 15 pro pakety, u kterých chceme co nejmenší ztrátovost (vysílání s vysokou kvalitou).

IPv6 - bezpečnost

Oproti IPv4 poskytuje IPv6 2 bezpečnostní mechanizmy: Tyto mechanizmy jsou mohou být použity buď oba dva zároveň, či libovolně jen jeden z nich.

IPng Authentication Header

Přídavná hlavička, která podporuje autentizaci odesílatele paketu a integritu jeho obsahu. Je algoritmicky nezávislá.

IPng Encapsulating Security Header

Tato hlavička zajišťuje integritu a tajnost přenášených paketů.

Implementace IPv6 v Linuxu

IPv6 bylo implementováno v několika operačních systémech. Nejdále postoupila implementace u operačních systému z rodiny BSD (NetBSD, FreeBSD...), naopak nejhorší je u Microsoftích systémech.

Co je potřeba

Kompilace jádra

Je potřeba povolit IPv6:
	Networking options	The IPv6 protocol	Y
Pro vlastní zprovoznění stačí zapsat:
/etc/sysconfig/network: NETWORKING_IPV6="yes" A následně restartovat síťový subsystém.

Potřebné aplikace

Jsou aplikace, které nativně podporují IPv6. Z užitečných zmiňme:

Zdroje pro IPv6