Wie wird das IP-Präfix an den Router übergeben?

8

Zunächst einige Hintergrundinformationen zu dem, was ich bereits weiß:

Eine IPv4-Adresse ist eine 32-Bit-Adresse, die einen Knoten in einem Netzwerk identifiziert. Eine IP-Adresse hat ein IP-Präfix, das den "Netzwerk" -Teil der IP-Adresse bestimmt, und der Rest bestimmt den "Host".

Ein Beispiel:

128.208.0.0/24 sagt mir, dass die ersten 24 Bits der "Netzwerk" -Teil der IP-Adresse sind und die restlichen 8 Bits für den Host im angegebenen Netzwerk sind. Auch 128.208.0.0. ist die niedrigste IP-Adresse, die im angegebenen Netzwerk verfügbar ist.

Nun sagt Tannenbaum in seinem Buch:

Da die Präfixlänge nicht allein aus der IP-Adresse abgeleitet werden kann, müssen Routing-Protokolle die Präfixe an Router übertragen. Manchmal werden Präfixe einfach durch ihre Länge beschrieben, wie in einem '' / 16 '', der als '' Schrägstrich 16 ausgesprochen wird. '' Die Länge des Präfixes entspricht einer binären Maske von 1s im Netzwerkteil. Wenn es auf diese Weise geschrieben wird, spricht man von einer Subnetzmaske. Es kann mit der IP-Adresse UND-verknüpft werden, um nur den Netzwerkteil zu extrahieren. In unserem Beispiel lautet die Subnetzmaske 255.255.255.0.

Meine Fragen sind also:

1) Wie tragen Routing-Protokolle die Präfixe? Wo ist der "Schrägstrich" gespeichert?

2) Was bedeutet das überhaupt:

Es kann mit der IP-Adresse UND-verknüpft werden, um nur den Netzwerkteil zu extrahieren. In unserem Beispiel lautet die Subnetzmaske 255.255.255.0.

Vielen Dank.

Koray Tugay
quelle
Kann der Downvoter bitte klären, warum diese Frage abgelehnt wird?
Koray Tugay
Ich vermute, dass die Community einige Abstimmungen zum Ausdruck bringt, da Ihre Frage einführend ist und diese Website sich an Fachleute richtet. Auf der anderen Seite stimmen die Leute Sie nicht genau ab.
Craig Constantine
Entschuldigung, Englisch ist nicht meine Muttersprache. Was bedeutet das? "Auf der anderen Seite stimmen die Leute Sie genau ab."
Koray Tugay
Ich wollte sagen: Die Leute stimmen nicht ab, um Ihre Frage zu schließen. Einige Leute mögen es nicht (Wähler runter), aber es ist nicht so schlimm, dass die Leute dafür stimmen, es zu schließen.
Craig Constantine
@CraigConstantine Verstanden, danke. Ja, Sie haben Recht.
Koray Tugay

Antworten:

8
  1. Wie tragen Routing-Protokolle die Präfixe? Wo ist der "Schrägstrich" gespeichert?

Ich werde dies so direkt wie möglich mit OSPF beantworten. Unten sehen Sie ein Hello-Paket vom Typ 1, das alle Schnittstellen gesendet hat, um eine Nachbarschaft zu bilden.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       1       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Network Mask                           |    <------
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         HelloInterval         |    Options    |    Rtr Pri    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     RouterDeadInterval                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Designated Router                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Backup Designated Router                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Neighbor                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |

RFC 2328, A.3.2 Das Hello-Paket

Das Network MaskFeld wird mit der Subnetzmaske gefüllt, die Sie mit dieser Schnittstelle verwenden.

Die CIDR-Notation ist der Kürze halber nichts anderes als eine kürzere Version Ihrer Subnetzmaske. Und im Übrigen sind Subnetzmasken nur eine komprimierte Version von Bitpositionen. Stellen Sie sich vor, Sie müssen jedes Mal, wenn Sie einen Port konfigurieren möchten, dezimal schreiben.

11111111.11111111.11111111.00000000    <---- This would be painstaking
255.255.255.0                          <---- Better, but not optimal
0xffffff00                             <---- Shorter still, but still not optimal
/24                                    <---- Best-case scenario

Am Ende kommt alles zum selben Ergebnis. Es ist also nur sinnvoll, diese Kurzform zur Darstellung derselben Daten zu haben.

Ryan Foley
quelle
Die gesamte Netzwerkmaske wird gesendet? Wäre es nicht effizienter, 5 Bits zu verwenden (nur 1 bis 31 werden benötigt), um anzuzeigen, wie viele Bits im Netzwerk vorhanden sind? Gibt es wirklich einen Vorteil, wenn man eine 255.0.255.0Maske definieren kann ?
Cruncher
@ Cruncher 255.0.255.0ist keine Möglichkeit. Nur Platzhaltermasken können mit solchen nicht zusammenhängenden Bits arbeiten. Der RFC beschreibt nicht, warum er die gesamte Netzwerkmaske mit den OSPF-Paketen sendet .
Ryan Foley
Ist das ein DHCP-Paket?
Koray Tugay
Nein, das obige Beispiel ist ein OSPF-Hallo-Paket vom Typ 1.
Ryan Foley
@ Cruncher-Platzhaltermasken werden nur für Zugriffslisten und NATing verwendet. Es handelt sich praktisch um eine invertierte Subnetzmaske.
Chris
6

Dies hängt vom Routing-Protokoll ab. Alte Protokolle wie RIP v1 setzen eine klassische Maske voraus und kündigen keine Maske an, neuere wie RIP v2, OSPF, ISIS, BGP usw. jedoch.

Die Antwort auf den zweiten Teil Ihrer Frage: Um den Netzwerkteil der Adresse zu bestimmen oder um zu testen, ob eine bestimmte Adresse Teil eines bestimmten Netzwerks ist, führen Sie ein bitweises logisches UND mit der Subnetzmaske durch.

Um beispielsweise die Netzwerkadresse 172.16.24.5/24 zu erhalten, UND Sie jedes Bit der 32-Bit-Adresse und der Maske wie folgt:

10101100 00010000 00011000 00000101 <- 172.16.24.5

11111111 11111111 11111111 00000000 <- 255.255.255.0


10101100 00010000 00011000 00000000 <- Ergebnis: 172.16.24.0

Das Ergebnis ist der Netzwerkteil der IP-Adresse (auch als Netzwerknummer bezeichnet). Genau dies tun Ihr Router und Ihr PC, um zu bestimmen, welches Netzwerk zum Übertragen des Pakets verwendet werden soll.

Ron Trunk
quelle
Danke für die Antwort, aber was ist das Besondere an 255.255.255.0?
Koray Tugay
1
Nichts wirklich, außer weil die Trennung zwischen Netzwerk- und Hostmaske auf die "Punkt" -Grenze fällt, ist es einfach zu verwenden (die letzte Dezimalstelle ist immer 0). Es wird also sehr häufig verwendet.
Ron Trunk
Wird davon ausgegangen, dass die IP ein 24-Bit-Präfix hat?
Koray Tugay
Was ich nicht verstehe ist, dass Sie ein Beispiel gegeben haben: 172.16.24.5/24 und Sie kennen bereits die Präfixlänge. Aber woher kennt der Router das Präfix? Wenn es das Präfix nicht kennt, woher weiß es, dass es 255.255.255.0 verwenden sollte?
Koray Tugay
Die Router-Ankündigungen für jede Route tragen das Präfix (für moderne Protokolle).
Ron Trunk