Die neue Version des Internetprotokolls zieht die Lehren aus 30 Jahren Netzwerkrealität
Das Internet wächst unaufhörlich und selbst die mutigsten Einschätzungen über seine Popularität zum Zeitpunkt seiner Erschaffung sind längst überholt. In diesen Tagen werden die letzten Adressvorräte des aktuellen Protokolls angebrochen und alles blickt auf den neuen Standard: IPv6.
Die neue Version des Internetprotokolls verspricht nicht nur das Adressproblem zu lösen, auch sind in den Neuansatz zahlreiche andere Erkenntnisse aus fast dreißig Jahren Netzbetrieb eingeflossen. Die Umstellung ist zwar knifflig und langwierig, aber auch potentiell heilsbringend und darüber hinaus bitter nötig.
Im Gespräch mit Tim Pritlove erläutert Clemens Schrimpe die notwendigen Grundlagen der Internetkommunikation und zeigt auf, welche konkreten Änderungen sich durch die Einführung von IPv6 ergeben, welche Möglichkeiten heute schon bestehen, davon zu profitieren und welche Vorkehrungen zu treffen sind, um einen reibungslosen Übergang zu organisieren.
Shownotes
- Intro
The new, larger version of the Internet: IPv6
Vinton G. Cerf
- CRE Intro
- Begrüßung
- Heute mal wieder Technik
- Clemens Schrimpe
CRE191 Internet im Festnetz
CRE194 Bier
Andreas Bogk
- “Das Bier-Thema hat auf jeden Fall auch eine Menge bewirkt, aber ich glaube der Leidensdruck war da nicht so groß.” (Tim)
- Einführung
- Thema IPv6 steht schon seit Ewigkeiten auf der Liste
- Tims Vortrag auf dem Congress über IPv6
IPv4
- IPv6 hieß mal IPnG (Internet Protocol next Generation)
IPv6
Internet Protocol (IP)
CRE141 IPv4
Fabian Yamaguchi
Internet-Protokollstack
TCP
UDP
- Clemens Schrimpe
- Warum ist Clemens überhaupt berechtigt, für das Internet zu sprechen?
Modem
- Kommunikation
Paketvermittlung
Phil Karn
KA9Q
Amateurfunk
Datex-P
DOS
C
Protocol stack
Userland
Telnet
FTP
- Uni Dortmund
Amsterdam Internet Exchange
DNS
/etc/hosts
- Clemens hat sich damals einen IPv4-Adressraum zuteilen lassen
RIPE
- Angeblich hatte China vor 8, 9 Jahren weniger Adressen als Clemens
Volksrepublik China
- Clemens war Mitglied des Interop-Netzwerks
Interop
FDDI
Fast Ethernet
Gigabit Ethernet
ATM
IETF
- Clemens hat auch Internet nach Berlin geholt
Internet Service Provider
Mailbox
Semipermanente ISDN-Verbindung
- Die komplette Berliner Internetszene wurde mit 64kbit/s versorgt
GPRS
EDGE
- Clemens war die ganze Zeit mit Internet beschäftigt
Router
ISDN
- Internet Protocol (IP)
- Terminologie
IPv4
IPv6
- Das Internet wurde mit IPv4 geboren
IP
Protokoll
TCP
UDP
HTTP
FTP
etc. pp.
- IPv4 hat gut funktioniert und funktioniert auch heute noch
- Am IPv6 Day haben einige Content-Anbieter IPv6 angeschaltet
World IPv6 Day und World IPv6 Launch Day
Facebook
Google
Betatest
- “Man hat jetzt echte User – also nicht nur Nerds auf irgendwelchen Kongressen oder an irgendwelchen Unis, sondern echte User die halt echte Userdienste benutzen.” (Clemens)
- Warum heißt es IPv6 und nicht IPv5?
- “Niemand weiß das so genau.” (Clemens)
- Es gab nie ein IPv5
- Man könnte noch bis IPv15 hochzählen
- Gerücht: Chinesen bauen sich eine eigene IP-Version
- IPv4: Probleme
- IPv6 hieß anfangs “IP next Generation”
- IPv4 Adressraum
- Hauptaufgabe IP ist es, Pakete von A nach B zu vermitteln
- Vergleich zu einem Postkartendienst
Postkarte
- Adressen
- Empfängeradresse
- Absenderadresse
- Adressen sind Zahlen
- IPv4 hat 32 Bit lange Adressen
Router
- 32 Bit entsprechen über 4 Milliarden Adressen
- “Damals waren ja eh Computer irgendwie so hausfüllend und dass jemand mit so einem Ding in der Tasche herumrennt oder mit zweien oder dreien davon, das hat man nicht gesehen.” (Clemens)
"640kB ought to be enough for anybody."
- Rückblick erklärt, warum der IPv6-Adressraum so exzessiv groß ist
- Für das Routing ist Struktur in der Adressverteilung sinnvoll
Verzeichnisdienst
Telefonnummer
Rufnummernmitnahme
Landesvorwahl
Stadtvorwahl
- Fixed Numbering Plan
- Flexibler Rufnummernplan
- Man braucht Platz im Adressraum für Struktur
- Die meisten Router gucken sich nur die “Vorwahl” an
- IPv4: Netzklassen
Netzklasse
Vorwahl Berlin: 30
Vorwahl Menz: 33082
- Netzklassen bei IPv4
- Class A (8 Bit “Vorwahl”, 24 Bit “Rufnummer”)
- Class B (16 Bit “Vorwahl”, 16 Bit “Rufnummer”)
- Class C (24 Bit “Vorwahl”, 8 Bit “Rufnummer”)
- Class D (Multicast)
- Class E (reserved)
- Apple hat ein Class-A-Netz (17.0.0.0/8)
- “Haben sie sich zuteilen lassen, haben gesagt: ‘Wir sind groß genug, wir sind geil genug, wir wollen gerne mal so ein Class-A-Netz.’” (Clemens)
- Das starre ABC-Modell ist unpraktisch
Classless Inter-Domain Routing (CIDR)
- Bei CIDR kann man den Trenner zwischen “Vorwahl” und “Rufnummer” beliebig einstellen
- “/24” bedeutet 24 Bit “Vorwahl”
- Geschäftskunden bekommen z.B. ein /28-Netz
Durchwahl
- Clemens mag die CIDR-Notation lieber
- CIDR wurde hinterher auf IPv4 draufgestrickt
- Vor CIDR war die Netzklasse an der Adresse selbst ablesbar
- Seit CIDR muss die Netzklasse explizit dazugeschrieben werden
Netzmaske
- “Es gab nämlich Leute, die sich gedacht haben: ‘Och, pff, warum soll eigentlich die Vorwahl immer links stehen? Die Vorwahl könnte ja auch einfach in der Mitte der Rufnummer stehen.’” (Clemens)
- “Keine Ahnung was das sollte. Dann hat man aber festgestellt, dass das sozusagen wenig zukunftsträchtig ist und dass diese Schreiberei mit diesen langen 255.255 und so ein bisschen nervig ist.” (Clemens)
- Netzmaske bzw. Präfixlänge stehen nicht im IPv4-Paket
- IPv4: Strukturierung des Adressraums
- IPv4-Adressraum wurde in Regionen aufgeteilt
- Einführung von Regional Internet Registries
Regional Internet Registry (RIR)
RIPE NCC
Daniel Karrenberg
- Strukturierung des Adressraums
- Beispiel: Routing von Amerika nach Europa
- “The intention was good.” (Clemens)
- Hierarchie bei Adressvergabe
- Routing-Entscheidung dem Router möglichst einfach machen
- Verkehrsschild “Alle Richtungen”
Postleitzahl
- IPv4 verschwendet viele Adress-Bits
- Erste und letzte Adresse können nicht benutzt werden
- Erste Adresse ist Synonym für das ganze Netz
- Letzte Adresse ist die Broadcast-Adresse
Broadcast
- /30 ist also das kleinste IPv4-Netz
- Informationen über Adressblöcke
ARIN
InterNIC
- ftp.internic.net ftp://ftp.internic.net/
- IPv4: Nicht verfügbare Adressen
- Class E (reservierte Adressen) macht ein 16tel aus
- Class D (Multicast) macht auch ein 16tel aus
- Nicht routbare Adressen
Reserved IP Adresses
- 0.0.0.0/8 (Current Network)
- 127.0.0.0/8 (Loopback)
- 10.0.0.0/8 (RFC1918)
- 172.16.0.0/12 (RFC1918)
- 192.168.0.0/16 (RFC1918)
- 169.254.0.0/16 (Link-local)
RFC1918 Address Allocation for Private Internets
- Kollateralschäden
- Clemens kann seinen Adressraum 192.68.0.0/16 nicht benutzen
Regional Internet Registry (RIR)
RIPE NCC
ARIN
LACNIC
APNIC
AFRINIC
- Ungenutzte Adressen aus der Zeit vor den RIRs
- Clemens zitiert Statistik, die behauptet, dass 30% des nutzbaren Adressraums nicht genutzt werden
- Etwa die Hälfte aller Adressen wird nicht genutzt oder kann nicht genutzt werden
- Die RIRs haben keine Adressen mehr zur Verfügung
- Die RIRs haben auch keine Lust mehr auf IPv4
- Network Address Translation (NAT)
- In der IPv4-Welt muss der Endnutzer sich mit einer Adresse zufrieden geben
- “Und deswegen benutzt man dort einen Mechanismus, der wirklich ein Krebsgeschwür, eine Pest ist in vielerlei Hinsicht, nämlich das sogenannte NATing.” (Clemens)
Network Address Translation (NAT)
- Innerhalb des Heimnetzes werden andere Adressen benutzt als außerhalb
“Fräulein vom Amt”
- “Es ist ein Wunder, dass das überhaupt funktioniert.” (Tim)
- Geräte innerhalb des Netzes wissen nichts vom NAT
SIP
FTP
IP-Telefonie
- “Also wenn man sozusagen Adressen umlügt, ist das immer ein schwerwiegendes Thema, da könnten wir alleine eine Sendung drüber machen was da alles für Mord und Totschlag bei passiert.” (Clemens)
- Mobilfunk ist auch mit NAT
Push Notifications
- Eingebaute “Firewall”
- Im UMTS kann man wegen NAT bswp. keinen Webserver betreiben
Drei
- “Das Land, in dem Milch und Honig und IP-Adressen fließen.” (Tim)
- Adressknappheit ist real und eingetreten
iPhone
- Adressknappheit ist der leicht erkennbare Grund für IPv6
- “When you type ‘Google’ into Google, you can destroy the internet.” (IT Crowd)
- Probleme beim Facebook-Login
- Schlechte Technik sichert Businessmodelle
- IPv6: Zuteilung von Adressen
- Eindeutigkeit von Adressen
- IPv6 regelt Adressvergabe politisch und technisch
- Vergabemechanismen am Endgerät
WLAN
DHCP
- Vergabe von Adressen ist nachträglich zu IPv4 hinzugefügt worden
BOOTP
- Wie funktioniert BOOTP?
- Wie funktioniert DHCP?
Port
DNS
- Normalnutzer muss sich nicht um IPv6 kümmern
- Argument für IPv6 ist: Adressen
- IPv6: Header-Format
Header
Payload
Problem Anderer Leute (PAL)
IPv4-Header
IPv6-Header
- IPv6 hat 128 Bit lange Adressen
- Zahlenspiele mit dem IPv6-Adressraum
- Struktur ist wichtiger als die Anzahl
- Keine Prüfsumme im IPv6-Header
Checksum
- Time To Live wird in IPv6 zum Hop Limit
Time To Live
RFC791
- Prüfsumme musste nach jedem Hop neu berechnet werden
- IPv4 Header Options
- IPv6 macht dem Router das Leben leichter
- Fragmentierung und MTU-Discovery
IP-Fragmentierung
- Probleme mit der Fragmentierung
DSL
- Ethernet-MTU: 1500 Bytes
Ethernet
WLAN
Maximum Transmission Unit (MTU)
- DSL-MTU: 1492 Bytes
- Abhilfe bei IPv4 schafft MTU-Discovery
Path MTU Discovery
- Wie funktioniert MTU Discovery?
- DF-Bit (Don’t Fragment)
ICMP Destination Unreachable
ICMP Time Exceeded
- Probleme mit MTU-Discovery
Internet Control Message Protocol (ICMP)
- “Die halten das für die schlimmste Erfindung seit es Schokolade gibt.” (Clemens)
Firewall
- Bei IPv6 ist MTU Discovery Pflicht
- “Das Schöne ist, bei IPv6 haben sie sich gesagt: ‘Wir hören jetzt mal auf mit dem Blödsinn.’” (Clemens)
- Keine Fragmentierung mehr bei IPv6
- “Ja, und wenn ein Admin jetzt das abstellt, dann geht das Internet nicht mehr schlecht, sondern dann geht es einfach gar nicht mehr.” (Clemens)
- IPv6 zieht die Lehren aus über 40 Jahre IPv4
Arpanet
- IPv6: Link-local Adressen
- “Ein Rechner der v6 benutzen möchte, grundsätzlich erstmal um die Adresse zu kriegen – muss man ihn anmachen.” (Clemens)
Link-local address
- Link-local bei IPv4
- 196.254.0.0/16 (Zeroconf)
- Wo kommt die Link-local Adresse her?
Ethernet
Token Ring
IP over Avian Carriers
- Jedes Ethernet-Gerät hat von Werk eine MAC-Adresse
MAC-Adresse
Apple Macintosh
Media Access Control
EPROM
EEPROM
IEEE
- “Die IEEE diesmal, sozusagen die – ist das ‘International’ vorne? ‘Electrical Engineering E-irgendwas’. Also irgendeine Assoziation von Elektrikern.” (Clemens)
OUI
oui.txt
- NetCS Informationstechnik GmbH (OUI: 00A0AB)
Bluetooth
- Mit der eindeutigen MAC-Adresse kann man sich eine IPv6-Adresse basteln
- Kollisionen sind trotzdem möglich
Hexspeak
- Link-local Adressen sind nur auf direkter Verbindung gültig
- IPv6-Interface muss mehrere Adressen pro Interface unterstützen
OS X
Abmahnung
- IPv6: Adresstypen und Gültigkeitsbereiche
Notrufnummer
Rufnummer
- Unicast (einer an einen)
Unicast
- Multicast (einer an mehrere)
Multicast
- Broadcast (einer an alle)
Broadcast
- Broadcast gibt es in IPv6 nicht mehr
Denial of Service
- Anycast (einer an einen beliebigen aus einer Gruppe)
Anycast
- Nachricht geht an einen Empfänger aus einer Gruppe, an wen aus der Gruppe ist egal
- Anycast wird bspw. für Root-Nameserver benutzt
DNS
Root-Nameserver
- Anycast lässt keinen fortgeführten Dialog zu
- Zusammenfassung der Adresstypen
Loud Howard
- Adress-Gültigkeitsbereiche
- Link-local scope
- Site-local scope (wird nicht mehr benutzt)
- Global scope
- IPv6: Der Weg zur globalen Adresse
- Gerät fragt mit der Link-local-Adresse in dem lokalen Netz nach einer globalen Adresse
- Vordefinierte Multicast-Adressen
- “All Routers”-Adressen
- Router Solicitation
- Router Advertisement
- Router Advertisement schließt globalen Netzpräfix mit ein
ISP
- Umrechnung der MAC-Adresse in den Interface Identifier
EUI-64
ifconfig
- Zusammenfassung
- fe80::/64 (Link-local)
Duplicate Address Detection
- IPv6 Interface Identifier (die letzten 64 Bit der Adresse)
- IPv6-Netzpräfixe sind immer /64
- IPv6: Struktur im Adressraum
Regional Internet Registry
- 2001::/ (RIPE)
inter.net
snafu
- 2001:1560::/32
- Adressbereich der Deutschen Telekom
Deutsche Telekom
- Kleine ISPs bekommen normalerweise /32-Netze
- Der ursprüngliche Plan zur Netzaufteilung
- Jeder Kunde sollte ein /48-Netz bekommen
- “Das hat man inzwischen eingesehen, dass das ein bisschen doch zu exzessiv ist.” (Clemens)
- Momentan sind /56-Netze für Kunden üblich
- “Warum gibt man denn überhaupt so viel? Ich meine, das ist doch vollkommen illusionär, dass jemand soviel wirklich benötigt, was soll denn das?” (Tim)
- Hierarchien beim Endkunden
- “Es gibt keine Zuteilungsmechanismen, die funktionieren, wenn du dem Kunden weniger als 64 Bit überlassen willst.” (Clemens)
Comcast
- IPv6: Privacy Extensions
- Präfix und Interface Identifier
Aluhüte
- “Wenn man sich das jetzt realisiert, stellt man fest, dass man auf so viele Arten und Weisen dort so unglaublich global unique ist, dass Werbeleute und sonst Leute, die darauf stehen, möglichst viel von dir zu erfahren nasse Hosen kriegen.” (Clemens)
YouPorn
My Little Pony
- Bei IPv6 gibt es kein NAT
- “‘Ich hab hier mal einen Vorschlag, wie man NAT machen könnte!’” (Clemens)
- IPv6-Adressen aus dem Heimnetz sind global sichtbar
- Identifikation über Interface Identifier
- Das Problem ist erst spät aufgefallen
- Abhilfe schaffen die Privacy Extensions
- Privacy Extensions waren in vielen Betriebssystemen lange nicht angeschaltet
- Was machen die Privacy Extensions?
- Link-local Adresse ist sowieso notwendig
- Globale “traditionelle” IP-Adresse
- Zusätzliche temporäre IP-Adressen
NTP
SHA
- Automatisch und periodisch werden neue IP-Adressen erstellt
- Ständige Erreichbarkeit durch die “traditionelle” IP-Adresse
- Temporäre Adressen für ausgehende Verbindungen
- Tim hat viele Adressen mit dem Status “temporary deprecated”
- Vergleich zum Handy
- Identifikation über Netzpräfix
- Netzpräfix kann sich natürlich auch ändern
- IPv6: Mehrere Nutzer gleichzeitig nutzen
- Hinzufügen und Entfernen von Netzpräfixen zur Laufzeit
FRITZ!Box
- Anwendungsfall Firmennetzwerk
- Address Selection
- Router kann sagen: “priorisiere mich”
- Router kann sagen: “benutz mich lieber nicht”
- IPv6 macht diese Verhaltensweisen zur Pflicht
Routing Information Protocol (RIP)
- Address Selection
- Fall 1: Verbindung wird von außen angestoßen
- Fall 2a: Die Applikation gibt es vor
- Fall 2b: Der Applikation ist es egal
Browser
Kernel
Unique local address (ULA)
- IP-Tunnel
- IPv4 und IPv6 im Parallelbetrieb
- Entscheidung IPv4 vs. IPv6
- Apple macht das dynamisch
- Multicast, Broadcast und Neighbor Discovery im Ethernet
- Wie funktioniert Ethernet?
- 48 Bit Adressen
- Früher war Ethernet immer ein Kabel
Yellow Cable
BNC-Stecker
- Dann wurden Switches eingeführt
Switch
Stern-Topologie
Bus
Port
Saturn
Netgear
Airport Extreme
- “Stell dir vor, du hast einen kleinen normalen Briefkasten und jeden Tag stellt dir einer einen Container mit Papier vor die Tür.” (Clemens)
- Moderne Switches merken sich, wer zu welchem Multicast gehört
Internet Group Management Protocol (IGMP)
Opt-In
- Grundlegende Mechanismen in IPv6 beruhen auf Multicast
Neighbor Discovery Protocol (NDP)
- Subnetwork Conversion Protocol
Address Resolution Protocol (ARP)
- ARP und IPv4 sind separate Protokolle
- Neighbor Discovery gehört zu IPv6
- Flooding mit unbekannten Ethernet-Adressen
- Switch lernt durch Antwortpakete, welches Gerät an welchem Port steckt
- Funktionsweise von ARP bei IPv4
- IPv6 definiert Multicast-Adressen für gesuchte MAC-Adresse
- IPv6 Provider
- NetCologne
- Adressneuvergabe alle 24h ist politisches Problem
- Clemens Vermutung zum stockenden IPv6-Deployment
- IP-Tunnel & Transition Strategies
- Grundidee bei Tunnel
Token Ring
IP over Avian Carriers
- Tunnelprovider
Anything In Anything (AYIYA)
- Verschiedene Tunnelprovider
SixXS (Six Access)
FRITZ!Box
- SixXS “Nachteile”
PoP (Point of Presence)
Hurricane Electric Free IPv6 Tunnel Broker
- 6to4-Tunnel
6to4
- IPv6-Präfix aus IPv4-Adresse generieren
- 2002::/16 (6to4)
- 192.88.99.1 (6to4-Zieladresse, Anycast)
- Rückweg funktioniert genauso, nur umgekehrt
FRITZ!Box
- 6to4 ist hauptsächlich für IPv6-only Dienste interessant
- Andere Transition Strategies
6in4
6rd
- “Man muss dazu erzählen, damit könnte man alleine wieder Stunden füllen und jetzt kommen wirklich fiese Mindfucks raus.” (Clemens)
Carrier-grade NAT
- Clemens plaudert aus dem Nähkästchen
France Télécom
- SixXS scheint der entspannteste Weg zu sein
CRE191 Internet im Festnetz
- IP-Tunnel Anwendungsfälle
- Konstante (und mobile) Adressen
Port Address Translation
VPN
SSH
Telnet
- Support für befreundete Anwender
- Vorteile bei der Netzwerk-Administration
- inter.net
- IPv6-only Netzwerke
- Geräte ohne IPv4 finden sich erst nach einer Weile damit ab
FRITZ!Box
- Wieviel Internet ist über IPv6 erreichbar?
- ipv6.google.com
Metaebene
meta.metaebene.me
FRITZ!Box
- IPv6: Unterstützung von Anwendungen
- Was muss eine Applikation tun um IPv6 zu unterstützen? (Spoiler: Meistens nichts.)
Adressnotation
- IPv4-Adressen (4 Gruppen a 8 Bit, Trenner “.”)
- IPv6-Adressen (8 Gruppen a 16 Bit, Trenner “:”)
- Der größte Null-Block in einer IPv6-Adresse lässt sich mit “::” abkürzen
- 2001:1560:42::42
2001:1560:42::61 <http://[2001:1560:42::61]/>
- In der URL stehen IPv6-Adressen in eckigen Klammern
- Buchstaben werden klein geschrieben, führende Nullen weggelassen
- DHCPv6
- DNS unter IPv6
DHCPv6
- DHCPv6: Prefix Delegation
- IPv6CP (IPv6 Control Protocol)
- “Das ist sozusagen der feuchte Traum eines Admins für ein Firmennetz in der Größe von sagen wir mal Siemens, dass du das alles schön etabliert hast, nimmst dein Ethernet-Kabel und steckst es bei Provider A rein und plötzlich macht es WAPAPAPAPAPAP und durch deine ganze Organisation durch kriegen alle Leute plötzlich IP-Adressen. So, und jetzt nimmst du dein zweites Kabel, steckst es bei Provider B rein und DATATATATATA geht es wieder durch. Das kannst du bauen.” (Clemens)
- Ankommen in der IPv6-Welt
The KAME Project
- “Wenn man lame ist, kann man zum Beispiel auch einfach www.ripe.net aufrufen.” (Clemens)
- IPv6: Cui bono?
- Für normale Anwender sollte sich nichts ändern
- Für große Netzwerke ist IPv6 die Erlösung
Bonjour
Fefe (Felix von Leitner)
- Verabschiedung
Andreas Bogk
CRE194 Bier
- Sendung sollte ein Einstieg sein
- “Wir sehen uns dann demnächst in einem anderen Addressrange.” (Tim)
- CRE Outro