|
Chaos Communication Congress 96Keep it simple, keep it fast: IPv6Referent: Tim Pritlove, tim@ccc.de"Wenn irgendwas komplizierter ist, als ein Toastbrot, wird es nicht benutzt." Wir schreiben das Jahr 1997. Das Routing im Internet basiert auf IP Version 4, die eigentlich Version 1 ist. Jeder Rechner (genauer: jede Schnittstelle) benötigt eine eindeutige Adresse. Diese Adressen werden aus 4 Bytes (=32 bit) zusammengesetzt. Es bestehen ein ganze Reihe von Problemen: Die maximal verfügbaren Adressen reichen demnächst nicht mehr aus, wenn Taschenrechner, Toaster und Fernseher (sowieso) meinen, über IP miteinander verkehren zu müssen. Darüberhinaus zwickt und zwackt es an noch mehr Stellen, und das im Gegensatz zum zu kleinen Adressraum schon jetzt ganz konkret: Die 32 Bit Adressierung reicht in großen Netzen nicht mehr, die erforderlichen Subnetze zu verwalten. Mit der IP V.4 Adressierung verknüpft ist die Existenz unzähliger verschiedener Routerprotokolle. Daher rührt auch die Nichtbenutzung vieler Features, die IP V.4 durchaus anbietet. Ein Router, der das machen würde, wäre sehr langsam und nicht kompatibel zu den anderen. Das an sich ist ein Problem, schlimmer ist aber noch, daß praktisch jeder Router auf der Welt Routingtabellen verwalten muß, die seit langer Zeit exonentiell wachsen und inzwischen kaum mehr zu verarbeiten sind. Etwas neues muß her und das heißt dann IP V.6. Viele Gruppen haben an etwas neuem herumgebastelt, IP V.6 stammt aus der Feder der IP Next Generation Gruppe. (***Buchtip) Und das ist wohl etwas ganz tolles. Neuer Aufbau der IP-Pakete an sich Der Grundsätzliche Aufbau eines IP Paketes ist: Header + Payload Payload ist sind die eigentlichen Daten, die transportiert werden sollen. Die Länge des Headers kann bei V.4 varieren, was das Handling natürlich erschwert. In IP V.6 ist ein Header konstant lang, und im Vergleich zu V.4 einfach aufgebaut. 90 Prozent aller Pakete werden mit einem einfachen Header auskommen. Für besondere Anwendungen Extension Headers, die dem Basisheader (im Sinne einer verketteten Liste folgen). Base Header + Extension Header ( + Extension Header) + Payload Extension Header sind z.B: * Sourcerouteheader - Zum Festlegen der Route, die ein Paket nehmen soll. Z.B. 'Das Paket hier soll über meinen Provider laufen' * Authentication Header - Authentifizierung aller nachfolgenden Header und der Payload (Signatur) Neue Adressen Wie gesagt, jetzt hat eine Adresse 32 Bit. Bei V.6 werden es 128. Das ist doppelt so viel, wie mathematisch betrachtet nötig wäre. Aber wir sind ja lernfähig und planen gleich etwas mehr ein. (Wobei die Adressverlängerung den Adressraum hier exponentiell erweitert und 'etwas mehr' stark untertrieben ist.) Die Adressen sagen dann etwas über den Standort des Empfängers aus, früher war es halt einfach irgendeine Nummer, deren Zuordnung zu realen Maschinen über ausufernde Tabellen lief. Die Adresse enthält dann 5 Informationen: Registry, Provider, Subscriber, Subnet, Interface. * Die Registry ist eine von mehreren Adressverteilungsautoritäten: IANA, RIPE, INTERNIC, usw. * Der Provider ist die Organisation, die einem die Leitung gibt. * Der Subscriber ist der Kunde. * Subnet, falls der Kunde so groß ist, daß er das braucht. Sollte sich herausstellen, daß eine Firma nicht einfach aus Subnets besteht, sondern auch Subsubnets und so weiter, sind immer noch genug Bits frei, das zu integrieren. * Interface, das Endgerät. Neu ist hier noch, daß ein Interface, also die z.B. Netzkarte in einem Rechner beliebig viele IP Adresse haben kann, bisher ging das nicht so einfach. Die Notation der Adressen ist Hexadezimal mit Doppelpunkten als 2 Byte Trennung. Es treten immer an einer Stelle in der Adresse eine größere Anzahl Nullen auf, die durch zwei aufeinanderfolgende Doppelpunkte repräsentiert und abgekürzt werden. Zum Beispiel: FEDC:B198::7654:3210 Es fällt ins Auge, daß die letzten 32 Bit für die abwärtskompabilität zu V.4 bestimmt sind. Die Adressen sind großräumig für bestimmte Aufgaben verteilt. Je 1/8 aller Verfügbaren Adressen fällt auf: 1. Geographic Basis Unicast Wir brauchen es zwar noch nicht, aber wer weiß - Für jeden Quadratmeter der Oberfläche Planeten Terra sind schon mal ein paar IP-Adressen reserviert. 2. Alte V.4 Adressen Sie fangen mit 96 Nullen an und haben dann die die alte Form: ::1234:3210 Je 1/256 des gesamten Adreßraums verteilen sich auf: 1. Provider based Unicast Adresses 2. Link-Local Adresses Weltweit festgelegte einmalige Adressen zur automatischen Konfiguration von Ethernetadressen bestimmt. Die den Rechnern vom Lokalen Router zugewiesene Adresse setzt sich zusammen aus eben dieser Link-Local Adress und der weltweit einmaligen und hardwaremäßig eingebauten Identifikationsnummer der Netzw#erkkarten. 3. Site-Local Adresses Entsprechen den 10er und 23er Netzen für abgeschlossene Intranetz. Die Adressen sind so ausgelegt, daß sie einfach auf Provider Adressen umgestellt werden können. 4. Multicast Adresses Siehe unten bei Multicast. Für Router, Timeserver und Co. IPv6 führt völlig neue Routing-Konzept ein und macht mit alten Schluß: Sourcerouting Das gibt es im Prinzip auch schon bei V.4, ist aber aufgrund der vielen zusammengestrickten Routingprotokolle nicht durchführbar. Es gibt hier die Möglichkeit festzulegen, welchen Weg ein IP-Paket nehmen soll, und den Weg dadurch z.B. auf einen bestimmten Provider festzulegen. Unicast Das bisher auch übliche Routing. Es wird ein Empfänger angegeben und nur der nimmt auch das Paket in Empfang Multicast Mehrere Empfänger sind möglich, z.B. bestimmte Dienstanbieter in definierten Netzabschnitten. Diese Möglichkeit bietet bahnbrechende neue Möglichkeiten, im Netz zu agieren. Z.B das automatische konfiguieren von Netzanbindungen. Man nehme einen Computer, stecke ihn an das Ethernet der Zahnarztpraxis. Der Computer schickt ein einziges IP-Paket ins Netz, mit dem Empfänger 'Irgendein Router auf meiner Leitung' und der Payload 'Arrg, wer bin ich, gib mir eine Adresse, gib meinem Leben ein Sinn.' Nun sind alle Router im LAN verpflichtet sich des hilflosen Newbies anzunehmen und ihm zu sagen, wer er sein soll. Das Einstellen von TCP/IP Adressen, DHCP und andere Workarounds haben sich erledigt. Und es geht weiter. Man nehme einen Laptop, verlasse seinen Heimatarbeitsplatz Arbeitsplatz in Klein-Ellershausen in Nordrhein-Westfalen und begebe sich nach Timbuktu. Und jetzt? Bei V.4 heißt das: an ein Netz in Timbuktu anschließen und sich mit einer neuen IP Nummer und allen damit verbundenen Unannehmlichkeiten abfinden. In Verbindung mit der neuen 128 bit Adressierung geht das so: Ein IP-Paket ins Netz schicken, Empfänger 'Mein Heimat-Router', Botschaft 'Ähh, an wen soll ich mich denn jetzt wenden, damit ich mein Heimatnetz erreiche? Und übigens: um zu mir zu kommen guck Dir mal an, welchen Weg das Paket genommen hat'. Aufgrund von Multicast fühlen sich jetzt alle erreichbaren Router angesprochen, ohne das der Laptop sie kennen muß, und leiten dieses Paket in die Heimat weiter. Anycast Gib mir irgendeinen aus einer definierten Gruppe von Empfängern, aber nur einen. Z.B. wenn man einen Router haben will, die Zugang zu einem bestimmten Netzabschnitt hat. Weitere Features von IPv6 Encryption Es existieren definierte Methoden für die Implementierung beliebiger Verschlüsselungsverfahren für die Payload. (Ebenso wie für die Autentifizierung derselben, aber das hatten wir schon oben.) Und sehr wichtig, es wird Methoden geben, Schlüssel auf IP Ebene auszutauschen. Es ist keine bestimmte Methode ausschließlich festgelegt, aber eine Methode, wie die dieses Methode festzulegen ist. Bisher ist die Rede von Photuris, einen Verfahren zum Austausch symmetrischer Schlüssel. Neues Fragmenthandling Überschreitet die größe eines IP-Paketes die Fähigkeiten eines Netzabschnittes, so kann es in Fragmente zerlegt werden. Das war bisher die Aufgabe der Router. Nun muß sich der Absender selber darum kümmern. Das ist für die Performance der Router wichtig. Encapsulation You'll be assimilated. Resistance ist futile. Ade IPX, Appletalk und so weiter. IP V.6 sieht vor diese Protokolle zu kapseln, so daß alte Applikationen und Betriebsysteme so weiter machen können wie bisher und neue sich nur noch um IP V.6 kümmern müssen. Realtime Dataflow Die Massenanwendungen der Zukunft, Telefonie und Video, brauchen angemessene Bandbreite. Hierzu können den entsprechenden Paketen variable Prioritäten eingeräumt werden. Beim Multicasting kann die Priorität der Anzahl der Adressen, die auf Empfang gehen, angepaßt werden. Multicastet einer ins Netz und keiner wills haben, bleibt die Priorität niedrig.
Zusammenfassung von |
[Datenschleuder]
[58]
Keep it simple, keep it fast: IPv6