======Vortrag IPv6======
14.05.2011, Tobias Wensing
=====Vorstellung IPv6=====
====Internetprotokoll====
Das Internetprotokoll (engl.: Internet Protocol, IP) findet sich im OSI-Layer **3** wieder. Die wichtigste Aufgabe dieser "Vermittlungsschicht" ist die eindeutige Adressierung über verschiedene Netzwerksegmente und das darauf basierende Routing von Datenpaketen. Hier übernimmt das Internetprotokoll sowohl die Aufgabe der eindeutigen Adressierung als auch die Gruppierung verschiedener Netzwerkkomponenten. [[http://lug-myk.de/doku.php?id=vortraege_ipv6#anlagen|(Siehe Bild)]]
====Ziele von IPv6====
* mehr Adressen
* 128bit statt 32bit (bei IPv4)
* 340.282.366.920.938.463.463.374.607.431.768.211.456 statt 4.294.967.296
* vereinfachtes Protokoll
* [[http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/ipsec.html|IPSec]] ist Teil von IPv6
* [[http://user.informatik.uni-goettingen.de/~elanmk/mobkomII/material/ws0809/MK2_03_MobileIP.pdf|MobileIP]] (gleiche IP in versch. "Netzen")
* [[http://www.it-administrator.de/lexikon/quality_of_service.html|Quality of Service]]
* [[http://de.wikipedia.org/wiki/Multicast|Multicast]]
* [[http://de.wikipedia.org/wiki/Multihoming|Multihoming]] (z.B. mehrere Provider)
* [[http://www.teialehrbuch.de/Kostenlose-Kurse/Internet-Technik/16239-IPv6-Autokonfiguration.html|Autokonfiguration]]
====Adressaufbau IPv6====
* 128bit - Länge
* 64bit Interface Identifier (Bits 65-128)
* eindeutige Adressierung einer Netzwerkschnittstelle ggf. auch bei versch. Netzwerkpräfixen
* Schreibweise
* Hexadezimal (00 = 0; 01 = 1; 09 = 9; 0A = 10; 0F = 15; FF=255;)
* 16bit Blöcke unterteilt ein Doppelpunkt (0001:0203)
* Führende Nullen in Blöcken sind nicht notwendig
* Blöcke mit dem Wert **0** können **1x** mit einem **::** gekürzt werden
* CIDR-Notation für Präfixe (*/64)
* URL: http:/ /**[**2001:4860:0:2001::68**]**:80
* Beispiele
* fe80:0000:0000:0000:4711:0000:0000:0815
* fe80:0:0:0:4711:0:0:815
* fe80::4711:0:0:815
* fe80:0:0:0:4711::815
* 2001:4860:0:2001::68
* 2001:4860:0:2001:0:0:0:68
* 2001:4f8:0:2::14
B : | | | | | | 1 1| 1 1
I : 1| 2 3| 4 4| 5 6| 7 8| 8 9| 0 1| 2 2
T: 8 6| 4 2| 0 8| 6 4| 2 0| 8 6| 4 2| 0 8
---+----+----+----+----+----+----+----+----
|0a0b:1a1b:2a2b:3a3b:4a4b:5a5b:6a6b:7a7b
====IPv6-Bereiche (Scopes)====
* localhost
*::1/128
*nur loopback = verlässt nie die Netzwerkkarte
*link local unicast
*fe80::/10 (fe80… bis fefb…)
*kein Routing
*nur im Netzsegment
*Unique Local Unicast
*fc00::/7 (fc… und fd…)
*Präfix-Erweiterung: (56bit SiteID & SubNetID)
*davon 40bits für (zufällige) 'eindeutige' SiteID
*und 16bits für die SubNetID
*Global Unicast
*::/96 IPv4-Kompatibilitätsscope
*letzten 32bit sollen die IPv4 beinhalten [deprecated]
*0:0:0:0:0:ffff::/96 IPv4-Mapping
*letzten 32bit sollen die IPv4 beinhalten [ermöglicht eine Konvertierung zw.v4 & v6]
*2000::/3 (2000:… bis 3fff:…) globale eindeutige Adressen
*Multicast
*ff00::/8 (ff )
*gefolgt von 1Byte mit jeweils 4bit für Flags & GültigkeitsScope
*ff02::1 -> Broadcast (alle Netzknoten Linklocal)
*ff01::2 -> Broadcast (auf Router Interface-local)
*ff02::2 -> Broadcast (auf Router Linklocal)
*ff05::2 -> Broadcast (auf Router Sitelocal)
*ff05::1:3 -> alle DHCP-Server
====Funktionsweise====
===Privacy Extensions===
Privacy Extensions werden via sysctl aktiviert (als root):
sysctl -w "net.ipv6.conf.eth0.use_tempaddr=2"
ip link set dev eth0 down
ip link set dev eth0 up
Zur dauerhaften Aktivierung sind folgende Zeilen in die /etc/sysctl.conf einzufügen:
#net.ipv6.conf..use_tempaddr = 2
#wobei mit dem Gerätenamen auszutauschen ist (z.B. eth0 oder wlan0)
net.ipv6.conf.eth0.use_tempaddr = 2
gefolgt von einem neu-laden der Konfiguration mit:
sysctl -p
ip link set dev eth0 down
ip link set dev eth0 up
der Wechselintervall kann über folgende Option/Zeile festgelegt werden:
#net.ipv6.conf..temp_valid_lft=
net.ipv6.conf.eth0.temp_valid_lft=3600
oder
sysctl -w "net.ipv6.conf.eth0.temp_valid_lft=3600"
===Adressvergabe===
Vom Provider erhalten wir z.B. folgendes Präfix:
2001:4711:bade:0f00::/56
der Router erweitert dieses Präfix zur Standardpräfixgrösse (/64):
2001:4711:bade:0fad::/64
also könnte ein Netzwerkgerät folgende globale IPv6 haben:
2001:4711:bade:0fad:1234:0815:70b1:6ab1/64
der Interface Identifier wäre also:
1234:0815:70b1:6ab1
seine Private-Adresse würde also wie folgt lauten:
fe80:0000:0000:0000:1234:0815:70b1:6ab1
fe80::1234:0815:70b1:6ab1
==== Anlagen ====
=== Vortrag ===
Im Anhang des Handouts befand sich dieses [[http://de.wikipedia.org/w/index.php?title=Datei:OSI7Layer_model_3.1.svg|Bild]] [[http://de.wikipedia.org/wiki/ISO_OSI|(ISO-OSI-Schema)]]
=== Allgemein ===
*[[http://www.gentoo.de/doc/de/ipv6.xml|Gentoo IPv6 Leitfaden]]
*[[http://www.phpgangsta.de/zuhause-im-ipv6-web-surfen| IPv6 mit Ubuntu]]
*http://www.visualinformation.info/wp-content/uploads/2009/11/ipv6.jpg - engl. Übersicht auf einer Seite
*http://3.bp.blogspot.com/-wuCSpkh_92w/Te9XlOhfFVI/AAAAAAAAA84/szRxi3ejWco/s1600/IPv6_2.png - what is ipv6?