Ich verstehe die Grundvoraussetzung hinter Subnetzmasken, wie z 255.255.255.0
. Aber alle Subnetz-Beispiele, die ich gesehen habe, waren (von links nach rechts) zusammenhängende Einsen (HI-Bits). Zum Beispiel übersetzt 255.255.0.0
( /16
) in die folgenden Oktette:
11111111 . 11111111 . 00000000 . 00000000
Ich bin der Meinung, dass diese Bits zusammenhängend sein müssen , da der springende Punkt der Teilnetze darin besteht, die Host-ID und Bereiche der verfügbaren Geräte-IDs abzuleiten. Aber ich frage mich, ob Sie jemals eine Subnetzmaske von etwa 255.17.255.0
haben oder:
11111111 . 00010001 . 11111111 . 00000000
- Würde das jemals passieren? Oder ist es unmöglich, dass Subnetze ohne zusammenhängende Einsen existieren? Wenn ja warum?
- Andernfalls, wenn dies möglich ist, warum würden Sie (einige konkrete Beispiele)?
networking
ip
subnet
DirtyMikeAndTheBoys
quelle
quelle
Antworten:
Der Abschnitt 3.1 im RFC zeigt die zulässigen Masken im klassenlosen Inter-Domain-Routing. Die Bits müssen zusammenhängend sein, damit das Routing ordnungsgemäß funktioniert.
Auch wenn man logisch denkt, wäre es nicht wirklich sinnvoll, seltsame zufällige Netzwerkmasken zu haben.
quelle
Ja, die einfache Art, darüber nachzudenken, ist, dass Subnetzmasken immer 1s am Anfang sind. Wenn ein Subnetzgrößenindikator zu Beginn der Binärdarstellung keine 1 hat, würde ich sagen, dass der Subnetzgrößenindikator nach modernen Standards keine richtige „Subnetzmaske“ ist.
RFC 1219 besagt, dass der frühere RFC 950 nicht zusammenhängende Bits zulässt. Tatsächlich gibt es in RFC 950 Seite 15 (Abschnitt 3) ein Beispiel, das „nicht zusammenhängende Subnetzbits veranschaulicht“. Es gibt jedoch keine Möglichkeit, solche Subnetze in die CIDR-Notation umzuwandeln. Die CIDR-Notation wird von IPv6 verwendet (at Spätestens seit RFC 1884 (Seite 7 , erster Satz von Abschnitt 2.4) wurden nicht zusammenhängende Bits für IPv6-Netzwerke nie in großem Umfang unterstützt. Die Methode von RFC 1219 gibt an, dass „Subnetzbits (Maske = 1) vom höchstwertigen Bit zugewiesen werden zum mindesten ". (Der in Samis Antwort erwähnte RFC 4632-Abschnitt 3.1 verweist auf einen offiziellen Standard, der die CIDR-Notation behandelt.)
RFC 1878 Seite 2 zeigt die Standardnotation „Subnetzmaske“ für alle IPv4-Subnetze mit Ausnahme von
/0
.Ich werde jedoch ein wenig auf Samis Antwort eingehen und das „Warum“ untersuchen (mit einem konkreten Beispiel, wie es die Frage verlangt hat) ...
Einige professionelle Cisco-Geräte unterstützen eine sogenannte "Wildcard-Maske", die die Bits invertiert. Ein normales Subnetz könnte also durch etwas namens dargestellt werden
00000000.00000000.00000000.11111111
.Bei den Wildcard-Masken von Cisco gab es keine Regel, dass alle Nullen zuerst gesetzt werden mussten. Du könntest es also gebrauchen
00000000.00000000.00000000.11111110
.Das würde dazu führen, dass eine Gruppe erstellt wird, die alle geraden IP-Adressen enthält.
Dies war eigentlich wichtig zu wissen, da die Schulung von Cisco dies abdeckte und der Prüfungsprozess für die professionellen Zertifizierungen von Cisco daher möglicherweise nach so etwas fragt.
Ich denke jedoch, dass es größtenteils nutzlos war. Anstatt ein Netzwerk durch geradzahlige oder ungeradzahlige Adressen in zwei Hälften zu teilen, können Sie ein Netzwerk auch durch Adressen mit niedriger und hoher Nummer in zwei Hälften teilen, indem Sie normale Teilnetze erstellen, die halb so groß sind.
Platzhaltermasken mit nicht zusammenhängenden Bits waren nicht besonders nützlich und könnten schwieriger zu handhaben sein. Der Sinn des auf 1 gesetzten Subnetzmaskenbits besteht darin, zu sagen, dass dieses Bit dazu beiträgt, zu identifizieren, in welchem Subnetz sich ein Gerät befindet. Es gibt keinen zwingenden Grund, diese Bits über die Adresse zu verteilen, anstatt sie einfach am Anfang der Adresse zu gruppieren . Das Ergebnis war, dass die Unterstützung dieser Maskentypen eine zusätzliche Komplexität ohne wesentlichen Nutzen darstellte.
Ich denke, Cisco war sich schließlich einig, dass solche nicht-traditionellen Subnetzmasken keinen Sinn machen, da sie schließlich die Unterstützung für "Wildcard-Masken" aufgeben. Die älteren Pix-Firewalls unterstützen "Wildcard-Masken", aber die neueren ASA-Einheiten verwenden stattdessen standardmäßige "Subnetzmasken" .
Ich würde nicht einmal versuchen, ein Netzwerk mit nicht zusammenhängenden "Subnetzbits" in der Maske zu erstellen, da viele Softwareprodukte den neueren Trends / Standards folgen und ein solches Netzwerkdesign ablehnen würden. Selbst wenn ich ältere Software verwenden würde, möchte ich wahrscheinlich, dass mein Netzwerk einfach geändert werden kann, um neuere Software zu verwenden, ohne dass das Netzwerk neu gestaltet werden muss. Daher sind zusammenhängende „Subnetzbits“ der einzige Weg.
Wenn Ihnen die Frage zu einem Test gestellt wird, kann ich mit Zuversicht sagen, dass alle Einsen am Anfang der Adresse stehen müssen. Das ist es, was jeder vernünftige Tester möchte, dass die Mehrheit der Schüler heutzutage lernt.
quelle
RFC 950 sagt in Kapitel 2.2:
Der Vorschlag handelte also von einer einfachen Bitoperation, die sich nicht um zusammenhängende Bits kümmert.
Im Jahr 1985 waren CPU und Arbeitsspeicher wesentlich eingeschränkter, so dass komplexere Vorgänge einfach nicht in die Zeit passen würden.
In Kapitel 3 wird es noch deutlicher:
Diese RFCs scheinen jedoch veraltet zu sein. Unter Windows 7 SP1 ist es beispielsweise nicht möglich, eine solche Subnetzmaske festzulegen:
Selbst unter Windows XP SP2 war dies nicht mehr möglich:
Der Windows 98-Klon ReactOS erlaubt jedoch das Setzen der "seltsamen" Netzmaske:
quelle
Ich stimme der Antwort von @Sami Kuhmonen zu:
Selbst wenn dies nicht erwünscht oder erlaubt ist, ist es dennoch möglich, eine Subnetzmaske mit nicht aufeinanderfolgenden Einsen zu definieren. Der Grund dafür:
Die Netzwerk-ID und die Host-ID werden aus der IP-Adresse und der Subnetzmaske mit den Binäroperationen AND und XOR berechnet. Alles andere ist irrelevant.
Ich habe das vor Jahren auf Win 2000 getestet, es funktioniert. Beide Computer hatten eine 255.160.0.0-Maske. Sie befanden sich in einem LAN ohne Router, daher kann ich das Verhalten des Routers nicht beurteilen (normalerweise können Sie die Router-Maske nur in dessen Web-Oberfläche festlegen, wodurch sie abgelehnt wird).
Sie können eine solche "ungültige" Subnetzmaske auch nicht in das entsprechende Feld der Netzwerkeinstellungen eingeben. die GUI lehnt es ab. Aber Sie können schummeln, indem Sie es direkt in der Registrierung ändern. Starten Sie anschließend die Netzwerkkarte neu oder deaktivieren und aktivieren Sie sie, damit die Änderungen wirksam werden.
Der Zweck von alledem: ähm, wahrscheinlich keiner.
quelle
255.160.0.0
Netzwerken routen ?