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


von jo (Gast)


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

von Stefan L. (timpi)


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?
1
$> ifconfig eth0:1
2
eth0:1    Link encap:Ethernet  Hardware Adresse 10:00:00:ff:00:00  
3
          inet Adresse:192.168.1.0  Bcast:192.168.1.255  Maske:255.255.255.0
4
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

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

timpi.

von jo (Gast)


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!!

von Andreas F. (aferber)


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.
1
% ping -c 1 192.168.1.0
2
Do you want to ping broadcast? Then -b
3
% ping -b -c 1 192.168.1.0
4
WARNING: pinging broadcast address
5
PING 192.168.1.0 (192.168.1.0) 56(84) bytes of data.
6
64 bytes from 192.168.1.79: icmp_seq=1 ttl=64 time=0.526 ms
7
8
--- 192.168.1.0 ping statistics ---
9
1 packets transmitted, 1 received, 0% packet loss, time 0ms
10
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.
1
% ip route show table all | grep broadcast
2
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
3
broadcast 192.168.23.0 dev br0  table local  proto kernel  scope link  src 192.168.23.4 
4
broadcast 192.168.23.255 dev br0  table local  proto kernel  scope link  src 192.168.23.4 
5
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

von Andreas F. (aferber)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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).

von Andreas F. (aferber)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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).

von Andreas F. (aferber)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

OK, Erklärung akzeptiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.