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