Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort
Vorwort
1 PEAR – Einführung
2 Authentication
3 Caching
4 Date and Time
5 File Formats
6 HTTP
7 Internationalization
8 Mail
9 Networking
10 PHP
11 Text
12 Web Services
13 Benchmarking
14 Configuration
15 Database
16 File System
17 HTML
18 Images
19 Logging
20 Math
21 Numbers
22 Tools and Utilities
23 XML
24 Selbst Pakete erstellen
25 PECL
Index
Ihre Meinung?

Spacer
 <<   zurück
PHP PEAR von Carsten Möhrke
Anwendung und Entwicklung – Erweiterungen für PHP schreiben
Buch: PHP PEAR

PHP PEAR
798 S., 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-580-0
gp 9 Networking
  gp 9.1 Net_IPv4
  gp 9.2 Net_IPv6
  gp 9.3 Net_FTP
  gp 9.4 Net_POP3
  gp 9.5 Net_SMTP
  gp 9.6 Net_CheckIP
  gp 9.7 Net_IDNA
  gp 9.8 Net_Curl
  gp 9.9 Net_Socket
  gp 9.10 Net_UserAgent_Detect


Rheinwerk Computing

9.2 Net_IPv6  toptop


Besprochene Version: 1.0 Lizenz: PHP-Lizenz
Klassendatei(en): Net/IPv6.php

Weil das Internet so stark wächst, werden langsam, aber sicher die IP-Adressen knapp. Dies wurde bereits Anfang der 90er Jahre erkannt und führte Mitte des Jahrzehnts zu der Entwicklung eines neuen IP-Protokolls. In der neuen Version 6 besteht eine IP-Adresse nicht mehr aus 32, sondern aus 128 Bit. Diese 16 Byte werden üblicherweise in Zweierpaaren zusammengefasst, wobei die einzelnen Paare jeweils durch einen Doppelpunkt voneinander getrennt werden. Im Gegensatz zu den Adressen der Version 4 müssen die Zahlen im 6er Format jeweils hexadezimal angegeben werden. Eine solche Adresse könnte also z. B. 0588:0053:0000:0000:0000:FAEF:1428:57AB lauten. Üblicherweise werden führende Nullen innerhalb eines Abschnitts weggelassen, was im zuständigen RFC 3513 explizit vorgesehen ist. In diesem Fall könnte die Adresse also als 588:53:0:0:0:FAEF:1428:57AB dargestellt werden, wobei mindestens eine Zahl erhalten bleiben muss. Darüber hinaus ist in der Definition des Formats auch vorgesehen, dass Bytes, die nur Nullen repräsentieren, durch zwei direkt aufeinander folgende Doppelpunkte dargestellt werden können, so dass die vorgenannte Adresse auch als 588:53::FAEF:1428:57AB dargestellt werden kann. Allerdings ist es unzulässig, dass diese »doppelten Doppelpunkte« an zwei Stellen der Adresse vorkommen, da in einem solchen Fall die ursprüngliche Adresse nicht mehr ermittelt werden könnte.

Das Paket ist nicht sehr umfangreich, und die vier enthaltenen Methoden können alle statisch aufgerufen werden. Um die Gültigkeit einer IPv6-Adresse zu prüfen, steht die Methode checkIPv6() zur Verfügung, die die Adresse als String übergeben bekommt und einen booleschen Wert zurückgibt.

require_once("Net/IPv6.php"); 
$ip="::588:0:FAEF:1428:57AB"; // Zu nutzende IP-Adresse 
// IP-Adresse gueltig? 
if (true === Net_IPv6::checkIPv6($ip)) 
{ 
   echo "Ja, die Adresse ist g&uuml;ltig"; 
}

Möchten Sie ein wenig Speicherplatz sparen, ist es hilfreich, die Adressen zu komprimieren und enthaltene Folgen von Nullen durch Doppelpunkte zu ersetzen, was die Methode compress() für Sie erledigt. Genau wie ihr Gegenstück uncompress() bekommt sie die IP-Adresse als String übergeben.

require("Net/IPv6.php"); 
 
// gibt 0:0:0:588:0:FAEF:1428:57AB aus 
echo Net_IPv6::uncompress("::588:0:FAEF:1428:57AB"); 
 
// gibt ::588:0:FAEF:1428:57AB aus 
echo Net_IPv6::compress("0:0:0:588:0:FAEF:1428:57AB");

Die letzte Funktion des Pakets unterstützt ein durchaus interessantes Feature des IPv6-Protokolls. Und zwar ist es möglich, in eine Adresse der Version 6 eine Adresse der Version 4 zu integrieren, um eine Kompatibilität zu gewährleisten. In diesem Fall sind die letzten 32 Bit für die IPv4-Adresse reserviert, die in der für die Version 4 üblichen Dotted Quad Notation angegeben wird.

require("Net/IPv6.php"); 
$daten=Net_IPv6::splitV64("::AFED:21:FFFF:129.144.52.38"); 
echo "V6-Anteil: $daten[0]<br />"; 
echo "V4-Anteil: $daten[1]"; 
/*Ausgabe: 
V6-Anteil: 0:0:0:AFED:21:FFFF 
V4-Anteil: 129.144.52.38 
*/

Um beide Teile zurückliefern zu können, werden die Daten in einem indizierten Array zurückgegeben, wobei das erste Element den IPv6- und das zweite den IPv4-Anteil enthält.

 <<   zurück
     
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: PHP PEAR
PHP PEAR
Jetzt Buch bestellen!
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: PHP 5.6 und MySQL 5.7






 PHP 5.6 und
 MySQL 5.7


Zum Rheinwerk-Shop: Einstieg in PHP 5.6 und MySQL 5.6






 Einstieg in PHP 5.6
 und MySQL 5.6


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Moderne Websites entwickeln






 Moderne Websites
 entwickeln


Zum Rheinwerk-Shop: MySQL 5.6






 MySQL 5.6


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo








Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern