Was bedeutet es, eine Subnetzmaske /32 zu haben?

Ich sehe in dieser Frage, die Routing-Tabelle hat:

192.168.1.1/32     link#4             UCS             2        0     en0
openwrt.lan        46:94:fc:63:fc:7   UHLWIir        11     3610     en0   1200
192.168.1.125/32   link#4             UCS             2        0     en0

Was bedeutet es, eine Subnetzmaske von /32 und in diesem Fall seine Netzwerk-ID zu haben? Kann ein Host ohne Netzwerk-ID existieren, falls wir das oben Genannte als einen einzelnen Host betrachten?

Soweit ich weiß, sind die Netzwerk-ID und die IP-Adresse, die einem Host in diesem Netzwerk zugewiesen sind, zwei verschiedene Dinge. 192.168.0.0 ist eine Netzwerk-ID und wenn sein Subnetz 255.255.255.0 ist, können die Hosts in diesem Netzwerk 192.168.0.1 - 192.168.0.254. Wie kann in diesem Fall ein Host ohne Netzwerk-ID existieren?

Linked: Warum ist meine Subnetzmaske 255.255.255.255?

Author: Community, 2019-08-20

6 answers

Hier gibt es ein wenig Verwirrung; das / 32 bezieht sich nicht auf die Größe eines (Unter -) Netzwerks, sondern auf den Adressbereich, für den ein bestimmter Routingtabelleneintrag gilt. Normalerweise sind die beiden gleich (weil Sie ein Netzwerk oder Subnetz als Einheit routen, oder?), aber macOS macht die Dinge ein wenig anders für andere Hosts im selben lokalen Netzwerk. Lassen Sie mich einige Zeilen vor denen hinzufügen, die Sie zitiert haben:

Destination        Gateway            Flags        Refs      Use   Netif Expire
default            openwrt.lan        UGSc           10        0     en0
...
192.168.1          link#4             UCS             2        0     en0
192.168.1.1/32     link#4             UCS             2        0     en0
openwrt.lan        46:94:fc:63:fc:7   UHLWIir        11     3610     en0   1200
192.168.1.125/32   link#4             UCS             2        0     en0

Beachten Sie, dass 192.168.1 (kurz für 192.168.1.0 / 24) über en0 (auch bekannt als Link#4); nicht über jedes Gateway, nur über die Schnittstelle selbst. Dies ist das Netzwerk, in dem sich der Mac selbst befindet. 192.168.1.1 und 192.168.1.125 sind beide spezifische Adressen innerhalb dieses Netzwerkbereichs. Wenn Sie diese /32-Einträge mit dem 192.168.1-Eintrag vergleichen, handelt es sich im Grunde um redundante Duplikate.Sie sagen dasselbe, nur über bestimmte Adressen anstelle des gesamten Netzwerkbereichs.

Ich weiß nicht, warum macOS diese redundanten adressspezifischen Einträge erstellt, aber es hängt wahrscheinlich damit zusammen eine andere Sache, die Sie in der obigen Auflistung sehen können: macOS listet seine ARP-Tabelleneinträge in der Routingtabelle auf. Die "openwrt.lan " Eintrag oben (was ich ziemlich sicher bin, ist eigentlich 192.168.1.1, nur nach Name und nicht nach Nummer aufgeführt) besagt, dass es über en0 an die MAC-Adresse 46:94:fc:63:fc:7 weitergeleitet wird.

Was Sie also in der Routenliste sehen, ist eine Mischung aus tatsächlichen Netzwerkrouten (wie die Einträge "Standard" und 192.168.1) und Einträgen pro Host (die Einträge /32 und MAC).

 26
Author: Gordon Davisson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-22 05:10:46

/32 Bewältigung

Im Allgemeinen bedeutet /32, dass das Netzwerk nur eine einzige IPv4-Adresse hat und der gesamte Datenverkehr direkt zwischen dem Gerät mit dieser IPv4-Adresse und dem Standardgateway verläuft. Das Gerät kann nicht mit anderen Geräten im Netzwerk kommunizieren.

Dafür gibt es einige mögliche Gründe, die ich gesehen habe. Es könnte sein,:

  • Ein Webserver, der mehrere Sites bedient, wobei jede Site an ein bestimmtes IPv4 gebunden ist Adresse
  • Eine Loopback-Adresse, die zum Testen verwendet wird.
  • Isolieren eines Computers vom Netzwerk, damit nur statisch festgelegte Routen eine Verbindung herstellen können. (Zum Beispiel für die Stilllegung.)

Netzwerk-ID

Der Netzwerk-ID - Teil einer IP-Adresse wird durch die Subnetzmaske bestimmt. Beispiel:

  • Ein /24 IPv4-Netzwerk hat eine Subnetzmaske von 1111.1111.1111.0000, was bedeutet, dass die ersten 3 Oktette die Netzwerk-ID sind und das letzte Oktett für die Zuweisung verwendet wird host-IDs (256 verfügbare IDs, obwohl normalerweise einige reserviert sind).
  • Ein /16 IPv4-Netzwerk hat eine Subnetzmaske von 1111.1111.0000.0000, was bedeutet, dass die ersten 2 Oktette die Netzwerk-ID sind und das letzte Oktett für die Zuweisung von Host-IDs verwendet wird (65536 verfügbare IDs, obwohl normalerweise einige reserviert sind).

Im Fall von /32 gilt dies nicht, da die Adresse sowohl eine Netzwerk-ID als auch eine Host-ID ist. /31 Adressen sind auch alle Host-IDs ohne reservierte 0. Adresse.

 25
Author: Worthwelle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-21 05:56:17

Es ist nur ein CIDR-Wert. Sie können mehr in hier für CIDR erfahren.

TL;DR -

Eine CIDR-Netzwerkadresse sieht unter IPv4 folgendermaßen aus:

192.30.250.00/18

Die" 192.30.250.0 "ist die Netzwerkadresse selbst und die" 18 " sagt dass die ersten 18 Bits der Netzwerkteil der Adresse sind, so dass die letzten 14 Bits für bestimmte Hostadressen. Subnetzmaske

 4
Author: recanavar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-21 09:10:14

Am einfachsten ist es, Artikel zu suchen und zu lesen, die sich auf subnet mask und subnet mask binary shorthand und CIDR

Und auschecken auch subnet calculators

Das /32 ist die CIDR (Kurzform) und bezieht sich darauf, wie viele Einsen sich in der Subnetzmaske befinden. Für /32 ist das 255.255.255.255 oder 11111111.11111111.11111111.1111111

Das bedeutet, dass Sie nur eine IP-Adresse in Ihrem Netzwerk haben können, bevor Sie ein Gateway / Router benötigen, um außerhalb dieses Netzwerks zu gelangen. mit / 32 ist es nur Sie. Eine Subnetzmaske ist eine Zahl, die einen Bereich verfügbarer IP-Adressen definiert innerhalb eines Netzwerks

CIDR = klassenloses Interdomain-Routing

Was bedeutet die Verwendung von /32: Ich glaube nicht, dass es eine ungültige Einstellung ist, aber es schaltet das Netzwerk effektiv aus... oder beschränkt das Netzwerk nur auf Sie... sie können nur mit sich selbst sprechen, wenn Sie kein Gateway eingerichtet haben, um außerhalb dieser Netzmaske zu erreichen.

Was wird seine Netzwerk-ID sein: Ich nehme an, Sie meinen, was wird IP-Adresse sein, und IP-Adresse wird sein, was auch immer Sie es festgelegt haben. Die IP-Adresse und die Subnetzmaske (womit Sie es zu tun haben) sind zwei verschiedene, obwohl verwandte Dinge.

Kann ein Host ohne Netzwerk-ID [IP-Adresse] existieren?] : können Sie geben, ohne dass Sie eine erste und Letzte Namen oder ohne eine Adresse? ja, der Host kann exist. irgendwie muss man besser definieren,was u mit exist.

 2
Author: ron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-20 13:42:24

Was Sie sehen, sind keine Subnetzmasken. Sie sind Indikationen der Länge der Routing-Tabelle1 Präfixe.

Eine naive Implementierung einer Routingtabelle würde jede mögliche IP auflisten adresse, so dass Sie bei jeder IP-Adresse genau diese nachschlagen würden und holen Sie sich die damit verbundenen Routing-Information2 zurück.

Es ist eindeutig eine Art Komprimierung erforderlich. Die Art des Routings informationen sind, dass benachbarte Adressen wahrscheinlich die gleich informationen, damit wir eine Form von radix tree verwenden können, um diese zu komprimieren zusammen. Hier, kurz, ist, wie es funktioniert.

Angesichts der Zahlen 4-7 können wir sie binär wie folgt darstellen:

0   000
1   001
2   010
3   011
4   100
5   101
6   110
7   111

Wenn wir nun zwei Routing-Tabelleneinträge haben, einen für die Adressen 0 und 1, und noch eine für Addreses 2 und 3, wir können sie unter der Binärdatei speichern Präfixe, die diese teilen. Wenn wir ein . verwenden, um das "unbenutzt" anzugeben" bit nach dem Ende des Präfixes haben wir 00. für den Bereich 0-1 und 01. für den Bereich 2-3.

Eine Standardmethode zur Darstellung ist die niedrigste Zahl aus der Bereich, gefolgt von der Länge des Präfix; in diesem Fall würden diese sei 0/2 für den Bereich 0-1 und 2/2 für den Bereich 2-3.

Aber was passiert, wenn wir die Routing-Informationen nachschlagen möchten Adresse 6? Normalerweise würden wir einen "Standard" - Satz von Routing-Informationen hinzufügen mit dem Präfix 0/0, d.h., passend zu jedem bit und dann, wenn wir suche wir suchen die spezifischsten informationen d. h, die längste passendes Präfix, können wir finden. Also die vollständige Routing-Tabelle, die wir gerade haben beschrieben ist:

0/2     00.     Matches addresses 1 and 2.
2/2     01.     Matches addresses 3 and 4.
0/0     ...     Matches any address.

Subnetzmasken können auf die gleiche Weise mit Präfixen beschrieben werden, und so dieses Schema wird oft dafür verwendet. Aber denken Sie daran, nur weil dieses Schema kann zur Beschreibung von Subnetzen verwendet werden bedeutet nicht, dass es wird nur zur Beschreibung von Subnetzen verwendet.

Als Beispiel für Routing-Tabellenpräfixe, die keine Subnetze sind, könnten Sie haben zwei netzwerk schnittstellen, die mit demselben Netzwerk verbunden sind, sagen, 192.168.2.0/24. (Dies könnte durch Verbinden von zwei separaten implementiert werden netzwerkkarten an den gleichen Switch, jeder mit einem eigenen Kabel. Man könnte richten Sie dann die Routingtabelle ein, um den ausgehenden Datenverkehr über die zwei Schnittstellen mit zwei Routing-Tabelleneinträgen:

192.168.2.0/25      eth0        # range ...2.0   to ...2.127
192.168.2.128/25    eth1        # range ...2.128 to ...2.255

Dies würde Pakete senden, die für Adressen 0-127 in diesem Netzwerk bestimmt sind out eth0, aber Pakete, die für die Adressen 128-255 in diesem Netzwerk bestimmt sind aus eth1. Dies ist ein schlechter Weg von dies tun (aus Gründen, die ich nicht bekommen werde in hier), sondern zeigt, wie Routing-Präfixe und Netzwerk adressen stimmen möglicherweise nicht überein.


1 Der Wikipedia-Artikel über Routing-Tabellen sagt leider dass das Präfixfeld die "Netzwerk-ID" enthält."Während dies wahr sein mag in bestimmten spezifischen Implementierungen von Routing-Tabellen ist dies nicht der Fall immer eine Netzwerk-ID im allgemeinen Fall, wie im Beispiel zu sehen sie bieten und mein Beispiel später in diesem Antwort.

2 Diese Routing-Informationen enthalten normalerweise Dinge wie das, was schnittstelle zu verwenden, welche Router auf dieser Schnittstelle zu kontaktieren, wenn überhaupt, die MAC-Adresse eines Hosts für Hosts, die direkt über diesen erreichbar ist schnittstelle, welche Quelladresse sollten wir auf das Paket setzen, wenn die host hat mehrere quelladressen, sicherheitsinformationen, und so weiter. Es gibt eine Vielzahl von Daten, die da sein könnten, aber nichts davon ist wichtig für die Zwecke dieser Diskussion da wir reden so wie Sie den richtigen Datensatz für eine bestimmte Adresse nachschlagen, nicht das, was im Datensatz selbst enthalten ist.

 1
Author: cjs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-21 07:13:20

Es gibt auch einen anderen Anwendungsfall, wenn Sie mit Cisco SD-Access (Software Defined Access) vertraut sind. Jeder Edge-Switch erhält eine / 32-Adresse an seiner Loopback-Schnittstelle und wird als spezieller Host betrachtet.

 -1
Author: Ahmad Kakar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-12-31 14:46:59