Janine: IP-Bezeichnung

Hi!

wie heißt eine IP Adresse, die nur aus Zahlen besteht?
0.0.0.0 heißt ja Punktnotation, wie heißt das andere?

Danke

  1. wie heißt eine IP Adresse, die nur aus Zahlen besteht?
    0.0.0.0 heißt ja Punktnotation, wie heißt das andere?

    Entweder du meinst binär, das wäre in deinem Fall 8 Bit als 0 für die einzelnen Abschnitte mal 4. Oder aber du meinst Hexdezimal, das wären dann aber nicht nur Zahlen. (00000000 00000000 00000000 00000000)

    Im Endeffekt kann jeder Bereich aber nur bis 255 reichen. Insofern wäre eine IP im Sinne von:

    012012012012 auch eindeutig als 12.12.12.12 erkennbar. Alles eine Frage der optischen Auflösung. Im Grunde kannst du die 4 Bit nach belieben kodieren.

    1. Hi

      http://de3.php.net/ip2long

      hier steht

      Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe

      das heißt doch bestimmt nicht "ausgeschriebene IP-Adresse", oder?

      Janine

      1. Wenn du die Funktion ausprobierst, dann siehst du was passiert. Zum Beispiel:

        $var = '127.0.0.1';
        $var = ip2long($var);
        var_dump($var);

        Die durch den String repräsentierten Bits werden nun nur als Zahl unterpretiert und verbrauchen demnach genau 4 Byte speicher. Der String dagegen mehr. Mit long2ip() kannst du die Adresse wieder zurückumwandeln. Ob du die in als Zahl formatierte IP für irgendetwas gebrauchen kannst, weiß ich nicht, aber prinzipiell müsste der Empfänger nur "wissen was gemeint ist".

      2. PS: In der englischen Dokumentation wird die Funktion mit "into a proper address" beschrieben. Ich nehme an, damit ist viel mehr speicheradequat gemeint. "ausgeschriebene Adress-Angabe" wie es in der deutschen Version heiß klingt etwas unsinnig.

    2. Moin!

      wie heißt eine IP Adresse, die nur aus Zahlen besteht?
      0.0.0.0 heißt ja Punktnotation, wie heißt das andere?

      Entweder du meinst binär, das wäre in deinem Fall 8 Bit als 0 für die einzelnen Abschnitte mal 4. Oder aber du meinst Hexdezimal, das wären dann aber nicht nur Zahlen. (00000000 00000000 00000000 00000000)

      Eine IPv4-Adresse ist einfach eine 32-Bit-Zahl, die man aus Gründen der Einfachheit byteweise mit Punkten getrennt schreibt. Das ist aber nicht die einzige mögliche Schreibweise. Genausogut kann man eine IP-Adresse auch als 32-Bit-Ganzzahl auffassen und schreiben.

      Im Endeffekt kann jeder Bereich aber nur bis 255 reichen. Insofern wäre eine IP im Sinne von:

      012012012012 auch eindeutig als 12.12.12.12 erkennbar. Alles eine Frage der optischen Auflösung. Im Grunde kannst du die 4 Bit nach belieben kodieren.

      In diesem Punkt erzählst du leider Unsinn, denn die 32-Bit-Darstellung ist eine gültige Adressangabe. Bei 12012012012 zwar nicht, weil das über den 32-Bit-Wertebereich hinausgeht, aber es ist nicht undenkbar.

      Du kannst ja mal vergleichen:
      http://213.198.84.177/ führt auf den Standard-VHost dieses Forumsservers.
      http://3586544817/ führt ebenfalls dorthin (allerdings versteht unser Apache-Server den gesendeten Host-Header nicht korrekt, das ist aber ein Bug im Apachen - du darfst gerne stattdessen das PING-Kommando auf der Kommandozeile verwenden).

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. 012012012012 auch eindeutig als 12.12.12.12 erkennbar. Alles eine Frage der optischen Auflösung. Im Grunde kannst du die 4 Bit nach belieben kodieren.

        In diesem Punkt erzählst du leider Unsinn, denn die 32-Bit-Darstellung ist eine gültige Adressangabe. Bei 12012012012 zwar nicht, weil das über den 32-Bit-Wertebereich hinausgeht, aber es ist nicht undenkbar.

        Ganz und gar nicht. Solange ich meiner IP-Adresse eine eindeutige Form zuweise, kann ich sie doch speichern wie ich möchte? Der empfänger muss sie lediglich verstehen können. Nur weil die Eingabe '12.12.12.12', der allgemein verstandene Weg ist, heißt das nicht, dass '012012012012' als Kommunikationsformat unmöglich wäre.

        Nicht dass ich das vorschlagen wollte, ich wollte nur demonstrieren warum genau diese Darstellung gewählt wird und dass sich hinter ihr eigentlich nur 4 Byte verbergen, die ich intern umformen könnte, wie es mir beliebt.

        1. Moin!

          012012012012 auch eindeutig als 12.12.12.12 erkennbar. Alles eine Frage der optischen Auflösung. Im Grunde kannst du die 4 Bit nach belieben kodieren.

          In diesem Punkt erzählst du leider Unsinn, denn die 32-Bit-Darstellung ist eine gültige Adressangabe. Bei 12012012012 zwar nicht, weil das über den 32-Bit-Wertebereich hinausgeht, aber es ist nicht undenkbar.

          Ganz und gar nicht. Solange ich meiner IP-Adresse eine eindeutige Form zuweise, kann ich sie doch speichern wie ich möchte? Der empfänger muss sie lediglich verstehen können. Nur weil die Eingabe '12.12.12.12', der allgemein verstandene Weg ist, heißt das nicht, dass '012012012012' als Kommunikationsformat unmöglich wäre.

          Es gibt genau ZWEI für IP-Adressen definierte Darstellungen: "quad-dotted decimal" und "dword integer" (gerne auch in diversen Zahlendarstellungen wie dezimal, hex oder octal).

          Die von dir ins Feld geführte Darstellungsweise kollidiert heftigst mit der zweiten Form, weshalb sie zu vermeiden ist. Mißverständnisse sind nie gut. Denn gerade Zahlen mit führender Null werden in vielen Programmiersprachen als Oktalzahl interpretiert - und 012012012012 oktal wäre 5028140A hexadezimal, bzw. daraus folgend 80.40.20.10 als IP-Adresse.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."