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