Windows 8 ist inzwischen schon ein paar Tage alt, ob sich das neue Kacheldesign bei den Anwendern in Zukunft durchsetzen kann, hängt sicherlich auch von den verfügbaren Apps ab. Während bei gängigen Systemen (Android, iOS) Tausende von Anwendungen zur Verfügung stehen, hinkt Microsoft noch hinterher.
Dies will man in Redmond nun ändern und stellt den angehenden Entwicklern Windows 8 App Codebeispiele für C++, C#, JavaScript und VB.NET zu Verfügung. Das komplette Paket ist immerhin knapp 200 MB groß und bringt praktische Beispiele für diverse Windows 8 Anwendungen mit sich:
Die Auflistung zeigt nur einen kleinen Ausschnitt der verfügbaren Beispiele, insgesamt stehen knapp 260 Codebeispiele im Windows Entwicklungscenter für jede erdenkliche Anwendung zur Verfügung. Praktischerweise müssen die Examples nicht unbedingt heruntergeladen werden, denn der Code ist auch online einsehbar und bietet somit für Entwickler auch eine gute Möglichkeit kurz etwas nachzuschlagen (siehe Screenshot).
Das die die freien IP Adressen zu Ende gehen ist nicht gerade neu, sie sind quasi schon aufgebraucht. Darum wird nun nach und nach von IPv4 (32bit) auf IPv6 (128Bit) umgestellt. Statt denn bisher 4.294.967.296 möglichen stehen nun 340 Sextillionen (umgerechnet 600 Billiarden Adressen auf jeden Quadratmillimeter der Erdoberfläche) Adressen zur Verfügung, das sollte wohl vorerst ausreichen.
Durch die Masse an neuen IPs kann theoretisch jedem technischen Gerät auf Lebenszeit eine eigene Adresse zugewiesen werden. Dies ruft natürlich Datenschützer auf den Plan, denn das neue Protokoll erlaubt theoretisch eine Vollüberwachung, um den entgegen zu wirken wurden beispielsweise Techniken wie "Privacy Extensions" implementiert. Was also bedeutet IPv6 für den Anwender, was kommt eigentlich auf Entwickler zu und wie sieht die technische Seite aus. Ich möchte an Hand eines kleinen Artikels diese Fragen klären.
Warum ist IPv6 die bessere Lösung
Wie oben bereits erwähnt, vergrößert sich der freie Adressbereich enorm (2 hoch 128).
Es gib keine Prüfsummen mehr im Header. Da TCP und Ethernet bereits eine besitzen, würde das die Übertragung verlangsamen.
IPv6 versucht selbständig die MTU herauszufinden.
Wiederherstellung von fragmentierten Paketen wird nicht von Routern gemacht sondern nur von Sender und Empfänger.
IPv6 unterstützt Erweiterungen, die angepasst werden können. So kann mit Next Header ein Erweiterungsheader definiert werden.
Der Header bei IPv6 hat eine feste Größe und macht es Hardwaredesignern einfacher.
Adressnotation
IPv4 wurde bisher in 8bit Gruppen notiert, für das neue IPv6 ist dies wenig sinnvoll, hier setzt man auf 16-Bit-Gruppen in hexadezimaler Form. Daraus entstehen im Endeffekt 8 hexadezimale Blocks a 2 Byte getrennt durch einen Doppelpunkt.
Zum Beispiel: FFFF:0000:0000:0000:0000:0000:c0a8:1
Nullnummer
Führende Nullen können weggelassen werden, so verkürzt sich die Adresse auf
FFFF:0:0:0:0:0:c0a8:1
Insgesamt können Nullen auch ausgelassen werden, da eine Adresse automatisch mit Nullen gefüllt wird, bis sie eine Länge von 128bit erreicht:
FFFF::c0a8:1
CIDR Notation - Aufteilung des Adressraums
Die Classless Inter-Domain Routing Notation bleibt gleich:
FFFF:0000:0000:0000:0000:0000:c0a8:1/16
FFFF ist die Netzadresse
c0a8:1 die Hostadresse
Einteilung in Netzwerkklassen
Die Einteilung in Netzwerkklassen A,B und C entfällt ab IPv6
Richtige Eingabe im Browser mit Portangabe
Hier sollte die Adresse in Klammern eingefasst werden:
http://[FFFF::c0a8:1]:8080
Eine IPv4 Adresse in IPv6 umschreiben
192.168.0.1 wird zu
::FFFF:192.168.0.1
Ausgeschrieben zu 0000:0000:0000:0000:0000:FFFF:192.168.0.1
Der klassische Broadcast fällt mit dem neuen Standard weg, dafür unterscheidet man in drei verschiedene Typen
Unicast
Die Unique Global Address steht für die eindeutige Zuweisung zu einem Gerät, ähnlich den nicht reservierten Adressen bei IPv4.
Multicast
Erhält bei IPv6 eine bessere Stellung durch den Wegfall des Broadcasts. Das heißt Daten werden von einem Sender zu einer Gruppe von Empfängern versendet, z.b. alle Router (FF02::2). Alle Adressen beginnen mit FF::/8.
Anycast
Die einzigen neuen Adressen bei IPv6 sind Anycast Adressen. Ähnlich wie beim Multicast werden hier Daten an eine Gruppe von Empfängern versendet, anders als beim Multicast gibt es aber nur einen Empfänger, nämlich derjenige der zuerst reagiert. Frei nach dem Motto "Wer zuerst kommt, malt zuerst". Der Aufbau ähnelt einer Unicastadresse, das Verhalten dem einer Multicastadresse.
Der neue Localhost
Was bis heute auf T-shirts zu finden ist (127.0.0.1) wird nun von 0000::1 abgelöst. In der Kurzschreibweise reicht sogar ein [::1]
Weitere Besonderheiten
FE80::/10 Adressen sind die neuen lokalen bzw. linklosen Adressen, vergleichbar mit 169.254.0.0/16
IPv6 Adressen sind globale Adressen, das heißt NAT wird eigentlich nicht länger benötigt.
Obwohl das Port Forwarding nicht mehr nötig ist, verwaltet es weiterhin NAT Listen, um die Sicherheit zu wahren.
Denn würde nicht per default der Zugang blockiert, wären interne Adressen von außen erreichbar.
IPv6 besitzt eine Art Autokonfiguration, die es erlaubt selbständig aus der eigenen MAC eine linklose Adresse zu erstellen, um sich an anderen Geräten zu melden. Somit wird ARP quasi überflüssig, bzw. wird nicht zwingend ein DHCP Server benötigt, um eine Adressverteilung zu automatisieren. Das neue Protokoll macht das automatisch alleine.
Techniken der Autokonfiguration
Router Discovery
Prefix Discovery
Parameter Discovery
Address Autoconfiguration
Address Resolution
Next Hop Determination
Neighbor Unreachability Detection
Duplicate Address Detection
Redirect
Wie hoch ist die Sicherheit von IPv6?
Mit den Standardeinstellungen wird eine IPv6 Adresse alle vier Stunden
erneuert, ähnlich wie bei IPv4 lassen sich diese aber abändern.
Im Netz ist teilweise zu lesen, das die MAC Adresse in IPv6 eingebettet ist. Das stimmt so nicht ganz. Eine Einbettung wäre zwar möglich und würde so ein komplettes Tracking erlauben, wird in der Praxis jedoch nichts genutzt.
"IPv6 Address Privacy" nennt sich das Stichwort, diese Funktion sorgt dafür das die IPv6 Adresse neben der MAC Adresse aus einer Zufallszahl generiert wird und nicht zurückverfolgbar ist.
Mit Hilfe des Erweiterungsheaders "Authentication Headers" können Datenpakete auf ihre Echtheit überprüft werden und gewährleisten einen Transport ohne Manipulation
Verschlüsselung der Daten mittels "Encapsulating Security Payload Header". Ähnlich wie bei der Echtheitsprüfung wird ein Erweiterungsheader verwendet, der ein Verschlüsselung einbindet, die nicht Bestandteil von IPv6 ist.
Was muss ich als Anwender beachten?
Sollten keine Probleme auftreten, gibt es keine Besonderheiten zu beachten.
Was ändert sich mit IPv6 für Entwickler oder Admin?
Um einen Nutzer genau zu identifizieren, sind die ersten 4 hexadezimalen Blöcke relevant.
Für das Sperren der IP sollten alle Blöcke verwendet werden.
Alternativ kann auch das Subnet, also die ersten 4 Blöcke gesperrt werden.
Wahrscheinlich soll es schon Ende März soweit sein und GIMP 2.8 ist fertig. Kurz vor dem finalen Release haben die Entwickler Version 2.7.5 als sozusagen "letzte Beta" veröffentlicht. Funktional hat sich in dieser Vorabversion Nichts mehr geändert, es wurden lediglich Fehler ausgebessert, davon aber einige.
Christian Ullenboom beschreibt auf 1433 Seiten wissenswertes für erfahrene Java Programmierer. Egal ob Swing, XML, RMI,Webservices, JSP, Servlets
Reflection, Annotationen, Logging und Monitoring, für jeden Entwickler sollte etwas dabei sein. Das freie Nachschlagewerk kann wie immer online gelesen oder im zip Format heruntergeladen werden.
Firefox hat seinen Erfolg zum Großteil den vielen Plugins zu verdanken. Erst diese machen den Browser zu einer eierlegenden Wollmilchsau. Mozilla hat auf seinem Entwickler Blog eine kleine Auswahl von über 60 Plugins für Entwickler vorgestellt, die ich euch nicht vorenthalten will. Neben bekannten Plugins sind auch einige Erweiterungen für das Firebug Plugin dabei.