Wie sieht ein Netzwerk mit PRP-Redundanz in WireShark aus?

Kat

In unserem Blog finden Sie detaillierte Informationen zum Algorithmus des PRP-Protokolls. Jetzt bieten wir an, mit PRP Datenverkehr aus dem Netzwerk zu „zerlegen“. Schauen Sie sich den RCT-Trailer Supervision Frame an und wie das Redundanzmanagement durch all dies organisiert wird. Jeder interessiert unter Katze.

PRP Allgemeine Grundsätze

Alle allgemeinen Grundsätze wurden in diesem Artikel beschrieben . Der aktuelle Beitrag ist seine Fortsetzung. Wir empfehlen Ihnen, zuerst den ersten Artikel zu lesen. Folgende Fragen werden in ihrer Zusammensetzung untersucht:

  • PRP-Netzwerkstruktur
  • PRP-Netzwerkelemente und deren Zweck
  • DAN-Struktur
  • Interoperabilität zwischen SAN und DAN
  • DAN-Modi
  • Duplizieren akzeptieren
  • Verwerfen Sie doppelt
  • Implementierung auf Kanalebene
  • Arbeitsalgorithmus

Kurz gesagt, PRP-basierte Redundanz wird durch Duplizieren von Frames erreicht. Jeder Frame wird vom Absender dupliziert und die Frames werden über zwei voneinander isolierte Netzwerke übertragen. Der empfangende Knoten verarbeitet den zuerst eingetroffenen Frame und verwirft den zweiten. Wenn ein Frame "defekt" ankommt oder eines der Netzwerke verloren gegangen ist, gibt es immer einen zweiten Frame. Aufgrund dessen wird eine "nahtlose" Redundanz erreicht - d.h. Redundanz mit einer Konvergenzzeit von fast 0 ms.

Die allgemeine Struktur des Netzwerks ist wie folgt:



Einzelheiten zu diesen Abkürzungen, Einzelheiten zum Protokollalgorithmus usw. finden Sie in dem oben genannten Artikel. In diesem Beitrag werden wir dem Rahmen und dem RCT-Trailer mehr Aufmerksamkeit schenken.

RCT steht für Redundancy Control Trailer, einen Backup Control Trailer.

Dieser Trailer wird dem Rahmen hinzugefügt. Es wird verwendet, um Redundanz zu verwalten.



RCT beinhaltet:

  • 16-Bit-Sequenznummer;
  • 4-Bit-Netzwerkkennung, 1010 (0xA) für LAN A und 1011 (0xB) für LAN B;
  • 12-Bit-Frame-Größe.

Was ist dementsprechend Management?

  1. Erkennung einer falschen Verbindung der Schnittstellen. DAN bestimmt, dass ein Frame mit LAN ID B in LAN A ankommt und umgekehrt. In diesem Fall erhöht der DAN den Fehlerzähler der gemischten Frames (IreCntErrWrongLan). Das Gerät akzeptiert Pakete, betrachtet dies jedoch als Fehler und berücksichtigt die Anzahl ungültiger Pakete.
  2. Duplicate Discard. , , , PRP . (Duplicate Discard) .
  3. PRP-. NodeTable, DAN SAN .

Lassen Sie uns mit PRP den Datenverkehr im Netzwerk erfassen und sehen, wie PRP funktioniert.

Weiter zur Praxis

Um einen Frame mit PRP zu „zerlegen“, müssen Sie zunächst zwei Aufgaben ausführen: Frames generieren und Frames abfangen.

Generieren

Beginnen wir mit der Aufgabe Generieren .

Stellen wir ein einfaches Netzwerk zusammen, in dem Sie einige PRP-Pakete finden.



Um mit PRP alle Frames im Netzwerk abzufangen, nehmen wir ein paar Laptops, zwei RedBox-Switches und zwei verwaltete Switches.

Als RedBoxen haben wir FL RED 2003E PRP - 2701863 genommen .

Als Schalter haben wir zwei FL SWITCH 2206-2FX - 2702330 genommen. Die Schalter sind nicht mit Strom versorgt und die PRP-Unterstützung ist in ihnen nicht angegeben. Gleichzeitig werden wir überprüfen, wie die Switches mit RCT-haltigen Frames umgehen.

Wir haben das einfachste Netzwerk aufgebaut und PRP-Frames generiert. Fahren wir nun mit der zweiten Aufgabe fort - dem „Fangen“.

"Catch"

Um den Verkehr mit einem RCT-Trailer zu fangen, verbinden wir einen Laptop mit Wireshark an Bord mit einem der verwalteten Switches. Konfigurieren Sie auf dem Switch die Portspiegelung so, dass der Datenverkehr vom Netzwerk zum Laptop zur Analyse gespiegelt wird.



Führen Sie Ping von einem Host (192.168.0.200) zum zweiten (192.168.0.60) aus und fangen Sie ICMP-Pakete in Wireshark ab.



Was ist im Rahmen?

Nehmen Sie das ICMP-Paket von 192.168.0.200 bis 192.168.0.60.



Aus dem Screenshot in Wireshark ist ersichtlich, dass RCT zwei Felder mehr enthält als zu Beginn beschrieben. Es gibt auch eine Protokollversion und ein PRP-Suffix. Früher habe ich diese Daten weggelassen, weil Sie tragen keine Nutzlast.

Dementsprechend sehen wir im Rahmen:

  • PRP-Versionsinformationen.
  • Sequenznummer - Der PRP-Knoten verwaltet für jeden DAN seinen Zähler für gesendete und gesendete Pakete. Dies ist erforderlich, um doppelte Pakete eindeutig zu identifizieren und den PRP-Algorithmus auszuführen.
  • Die LAN-ID bestimmt, ob der Frame zu LAN A oder LAN B gehört. Dies hängt von der Schnittstelle ab, von der er gesendet wurde.
  • Die Größe wird durch die Größe der LSDU- und RCT-Felder bestimmt. Berücksichtigt nicht die gesamte Rahmengröße, da Die Größe anderer Felder kann sich während der Übertragung ändern. Wenn Sie beispielsweise einem Frame während der Übertragung eine VLAN-ID hinzufügen, ändert sich deren Größe.
  • PRP-Suffix. Dieses Suffix ist für alle Frames mit einem PRP-Trailer gleich und hat den Wert 0x88fb. Netzwerkunabhängig (LAN A oder LAN B).

Was bedeutet die Protokollversion?

PRP kann zwei Versionen haben:

  • PRP-0 (PRP 2010, IEC 62439-3 (2010));
  • PRP-1 (PRP 2012, IEC 62439-3 (2012)).

Der wichtigste Punkt - PRP-0 und PRP-1 sind nicht kompatibel.

PRP-1 führte einige grundlegend wichtige Änderungen ein:
  • erweiterte RCT;
  • Das Prinzip des Duplicate Discard-Algorithmus wurde geändert.
  • Die Kompatibilität zwischen DANH (HSR) und DANP (PRP) wurde eingeführt.

Die RCT in PRP-1 ist der HSR näher gekommen.

PRP-0 ist in realen Anwendungen selten.

Was gibt es sonst noch im PRP-Netzwerk?

Jeder PRP-Knoten sendet auch einen Überwachungsrahmen.

Der Überwachungsrahmen wird verwendet, um den Status jedes Knotens im Netzwerk zu überwachen. Jeder Standard-DAN sendet alle 2 Sekunden einen Überwachungsrahmen. Das Sendeintervall kann geändert werden.

Supervision Frame bietet folgende Optionen:

  • gesendet an Multicast-Gruppe 01-15-4E-00-01-XX;
  • hat Ethertyp 0x88FB;
  • Felder werden im TLV-Format (Tag-Längenwert) geschrieben.

Der Rahmen enthält die folgenden Informationen:

  • Protokollversion;
  • Art des Geräts;
  • Host-MAC-Adresse
  • inkrementell ansteigende Sequenznummer.

Die RedBox sendet den Überwachungsrahmen "im Namen" der Knoten, die über sie mit dem PRP-Netzwerk verbunden sind. In diesem Fall ist der MAC im Überwachungsrahmen der MAC des VDAN und der MAC der RedBox selbst. Die Adresse von RedBox wird als SrcMAC angegeben. RedBox sendet für jeden dahinter liegenden Knoten einen separaten Überwachungsrahmen.



In diesem Screenshot ist der Frame von RedBox gerade geöffnet. In den PRP-Feldern ist die Quell-MAC-Adresse der Knoten „hinter der RedBox“, und hier befindet sich ein separates Feld für die RedBox-MAC-Adresse. Im Feld Ethernet II wird die MAC-Adresse der RedBox jedoch als Quell-MAC angegeben.



Überwachungsrahmen verfügen wie andere Pakete in einem PRP-Netzwerk auch über RCT.

Wie wird das Backup-Management implementiert?

Erkennen einer falsch angeschlossenen Schnittstelle

DAN oder RedBox überprüfen die LAN-ID des empfangenen Frames. Wenn die LAN-IDs des Frames und der Schnittstelle nicht übereinstimmen, erhöht das Gerät den LAN-ID-Fehlerzähler um eins.

Lassen Sie uns LAN A und LAN B in einem der zusammengebauten Netzwerke der RedBox austauschen. Versuchen wir, den Fehlerzählerwert für diese Schnittstellen über SNMP abzurufen.



Auf beiden Schnittstellen sehen wir fast die gleiche Anzahl von Fehlern. Die Werte sind unterschiedlich, weil Die Schnittstellen wurden nicht gleichzeitig, sondern mit einem geringfügigen Zeitunterschied verbunden.

Das Löschen eines doppelten

RCT- Frames enthält das Sequenzfeld, das die Sequenznummer des Frames enthält. Basierend auf dieser Nummer wird ein Frame-Drop-Algorithmus, Duplicate Discard, implementiert.

Der Duplicate Discard-Algorithmus wurde im ersten Artikel über PRP ausführlich erörtert.

Erstellen von NodeTables

Basierend auf den Überwachungsrahmen erstellt der PRP-Knoten eine Knotentabelle - NodeTable.

Die NodeTable für jeden Knoten (pro Datensatz) enthält die folgenden Informationen:

  • MAC-Knoten.
  • Die Empfangszeit des letzten Rahmens vom Knoten zur Schnittstelle A und zur Schnittstelle B.
  • SAN-Flags an der Schnittstelle A oder B, d.h. Informationen, ob dieser Knoten ein einzelner angeschlossener Knoten ist oder nicht.
  • Der Frame-Zähler von diesem Knoten zur Schnittstelle A und B.
  • Fehlerzähler für die Schnittstellen A und B.

NodeTable ist optional. Es kann auf einem der PRP-Knoten gespeichert werden und dies wird ausreichen.


Schlussfolgerung

PRP verwendet einen RCT-Trailer und einen Überwachungsrahmen für die Netzwerkdiagnose. Auf diese Weise können Sie einen Algorithmus zum Verwerfen eines doppelten Frames implementieren, Verbindungsfehler ermitteln und alle PRP-Knoten verfolgen. Wenn der Switch die RCT falsch liest und glaubt, dass es sich um einen 802.1q-Flug handelt, kann er dementsprechend entweder das Paket verlieren (was sehr schlecht ist) oder dieses Feld am nicht getaggten (Zugriffs-) Port löschen (was einfach schlecht ist).

Im zweiten Fall erhalten wir nicht Duplicate Discard, sondern Duplicate Accept. Für jeden DAN werden zwei Pakete ohne RCT geliefert. Dementsprechend sendet die LRE beide Pakete an die obere Schicht, in der Hoffnung, dass TCP dies handhabt. Dementsprechend ist von einer Diagnose in diesem Fall keine Rede.

All Articles