mikrocontroller.net

Forum: PC Hard- und Software Subnet mask 255.255.255.255 nicht erklärbar


Autor: jo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

In meinem Router ist mir etwas unerklärliches aufgefallen.
Ich habe die Subnet Mask 255.255.255.255 (=kein Platz für Host Anteil) 
zugewiesen bekommen.

Das bedeutet doch, dass meine IP Adresse der Netzname ist. Seit wann 
kann man Endgeräten Netzadressen vergeben (zum vgl. die Ip 192.168.1.0 
mit SNet 255.255.255.0 kann man auch nicht vergeben)

GreetZ

Autor: Stefan L. (timpi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi jo,

jo schrieb:
> In meinem Router ist mir etwas unerklärliches aufgefallen.
> Ich habe die Subnet Mask 255.255.255.255 (=kein Platz für Host Anteil)
> zugewiesen bekommen.

lass mich raten, es ist die Netzmaske einer PPP(oE)-Verbindung, das 
passt dann schon. Ist ja auch nur eine Punkt-zu-Punkt-Verbindung.
Obwohl auch für andere Dienste (z.B. IP-TV-Interface bei der Telekom) 
eine IP-Adresse mit einer 255.255.255.255 Netzmaske vergeben wird.
Der Hostteil ist ist 0 Bit lang, oder anders herum Du bist das Netz ;-).

Diese Konfiguration ist bei PPP-Interface[n|s] üblich, bei 
IP-Inteface[n|s] wird sie oft benutzt um die einzelnen Nutzer 
voneinander ein wenig abzuschotten, da jeder sein eigenes Netz bekommt. 
Hilft nur nicht immer, wie man vor ein paar Jahren bei Hansenet gesehen 
hat.

>
> Das bedeutet doch, dass meine IP Adresse der Netzname ist. Seit wann
> kann man Endgeräten Netzadressen vergeben

Wenn das Endgerät der einzige Netzteilnehmer ist, dann passt das schon.

> (zum vgl. die Ip 192.168.1.0
> mit SNet 255.255.255.0 kann man auch nicht vergeben)

Warum nicht?
$> ifconfig eth0:1
eth0:1    Link encap:Ethernet  Hardware Adresse 10:00:00:ff:00:00  
          inet Adresse:192.168.1.0  Bcast:192.168.1.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

Ok, ok, über Sinn und Unsinn lässt sich natürlich lange streiten ;-).

timpi.

Autor: jo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan, danke.
Weiß dann bescheid, dass bei dieser Subnet Mask Netz, Broadcast und 
Hostadresse alle identisch sind. Verwundert hat mich, dass ein User eine 
Netzadresse erhalten kann.

Schönen Dank!!

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan L. schrieb:
>> (zum vgl. die Ip 192.168.1.0
>> mit SNet 255.255.255.0 kann man auch nicht vergeben)
> Warum nicht?

Weil das eine (historische) Broadcast-Adresse ist (host all zero). Siehe 
auch RFC 1812, Abschnitt 4.2.3.1.
% ping -c 1 192.168.1.0
Do you want to ping broadcast? Then -b
% ping -b -c 1 192.168.1.0
WARNING: pinging broadcast address
PING 192.168.1.0 (192.168.1.0) 56(84) bytes of data.
64 bytes from 192.168.1.79: icmp_seq=1 ttl=64 time=0.526 ms

--- 192.168.1.0 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.526/0.526/0.526/0.000 ms

Man beachte, von welcher Adresse die Antwort kam, die ist anders als das 
Ziel der Pings, ein typisches Merkmal von Broadcast-Adressen.

> $> ifconfig eth0:1
> eth0:1    Link encap:Ethernet  Hardware Adresse 10:00:00:ff:00:00
>           inet Adresse:192.168.1.0  Bcast:192.168.1.255  Maske:255.255.255.0
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

Dass Linux das zulässt, heisst noch lange nicht, dass das auch generell 
erlaubt wäre.
% ip route show table all | grep broadcast
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.23.0 dev br0  table local  proto kernel  scope link  src 192.168.23.4 
broadcast 192.168.23.255 dev br0  table local  proto kernel  scope link  src 192.168.23.4 
broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1 

Man beachte die Broadcast-Routen für 127.0.0.0 und 192.168.23.0.

Andreas

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo schrieb:
> dass bei dieser Subnet Mask Netz, Broadcast und
> Hostadresse alle identisch sind.

Das ist kein Subnet!. Die "Netzmaske" /32 (bzw. 255.255.255.255) 
signalisiert eine reine Host-Adresse. Da gibt es keine 
Broadcast-Adressen.

Andreas

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Ferber schrieb:

> Weil das eine (historische) Broadcast-Adresse ist

4.2BSD, wer hat sowas noch?

> (host all
> zero). Siehe auch RFC 1812, Abschnitt 4.2.3.1.

"Requirements for IP Version 4 Routers"

Hat also mit einem Host nur bedingt etwas zu tun.  Die einzige
Implikation aus diesem RFC ist, dass ein IPv4 Router in seiner
Voreinstellung eine derartige Adresse nicht routen darf (weil er sie
implizit als Broadcast ansehen soll), optional darf er aber.

> % ping -c 1 192.168.1.0
> Do you want to ping broadcast? Then -b

> Dass Linux das zulässt, heisst noch lange nicht, dass das auch
> generell erlaubt wäre.

Ist es aber (auch wenn's keine glückliche Wahl ist).  Dass Linux sie
standardmäßig (beispielsweise im Ping-Kommando) als Broadcast ansieht,
ist m. E. nicht sinnvoll (als das IP-Networking von Linux entstanden
ist, war 4.2BSD schon höchstens nur noch auf historischer Technik in
Benutzung).  Dass auf diese Adresse heute noch jemand als Broadcast
antwortet, dürfte eine Verletzung der RFCs sein (RFC919 beschreibt die
Broadcast-Adressen als "alles 1", und das ist von 1984).

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg Wunsch schrieb:
> Die einzige
> Implikation aus diesem RFC ist, dass ein IPv4 Router in seiner
> Voreinstellung eine derartige Adresse nicht routen darf (weil er sie
> implizit als Broadcast ansehen soll), optional darf er aber.

Er darf sie optional routen, er muss sie dann aber als 
Broadcast-Adresse behandeln:

| SHOULD silently discard on receipt (i.e., do not even deliver to
| applications in the router) any packet addressed to 0.0.0.0 or {
| <Network-prefix>, 0 }.  If these packets are not silently
| discarded, they MUST be treated as IP broadcasts (see Section
| [5.3.5]).

Und auch im verwiesenen Abschnitt 5.3.5 findet sich nochmal, dass die 
"host all zero"-Adresse als Broadcast-Adresse behandelt werden muss, 
wenn sie nicht einfach verworfen wird.

Speziell für Hosts hab' ich auch noch was (RFC 1122 "Requirements for 
Internet Hosts -- Communication Layers"):

| IP addresses are not permitted to have the value 0 or -1 for
| any of the <Host-number>, <Network-number>, or <Subnet-
| number> fields (except in the special cases listed above).
| This implies that each of these fields will be at least two
| bits long.

Andreas

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Ferber schrieb:

> Er darf sie optional routen, er muss sie dann aber als
> Broadcast-Adresse behandeln:
>
> | SHOULD silently discard on receipt (i.e., do not even deliver to
> | applications in the router) any packet addressed to 0.0.0.0 or {
> | <Network-prefix>, 0 }.  If these packets are not silently
> | discarded, they MUST be treated as IP broadcasts (see Section
> | [5.3.5]).

Warum hast du den Absatz an dieser Stelle abgeschnitten?  Da fehlen
noch zwei Sätze:

| There MAY be a configuration option to allow receipt
| of these packets.  This option SHOULD default to discarding
| them.

Das heißt, dass er sie optional als normale Host-Adresse
betrachten darf.

> Speziell für Hosts hab' ich auch noch was (RFC 1122 "Requirements for
> Internet Hosts -- Communication Layers"):

RFC 1122 kaufe ich dir da eher ab. ;-)

Die all-zeros-Adresse wird halt als "Netzwerknummer" benutzt, aber
als Broadcast-Adresse interessiert sie wirklich keinen mehr (bzw.
darf keinen mehr interessieren, außer dass ein Router sie daher
nicht routen darf).

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg Wunsch schrieb:
>> | <Network-prefix>, 0 }.  If these packets are not silently
>> | discarded, they MUST be treated as IP broadcasts (see Section
>> | [5.3.5]).
> Warum hast du den Absatz an dieser Stelle abgeschnitten?

Weil das entscheidende dieses "MUST be treated as IP broadcasts" ist.

> | There MAY be a configuration option to allow receipt
> | of these packets.  This option SHOULD default to discarding
> | them.
> Das heißt, dass er sie optional als normale Host-Adresse
> betrachten darf.

Nein. Bei der erwähnten Konfigurationsoption geht es nur darum, ob die 
Pakete verworfen werden oder nicht. Wie sie zu behandeln sind (nämlich 
als Broadcast), wenn sie nicht verworfen werden, steht in dem von mir 
zitierten Satz, bzw. nochmal ausführlicher in Abschnitt 5.3.5. Das "MUST 
be treated as IP broadcasts" ist nicht optional oder konfigurierbar.

Andreas

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, Erklärung akzeptiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.