Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Selektive klassenbasierte Filterung auf PTX-Routern

Selektive klassenbasierte Filterung auf PTX-Routern

Für unterstützte Router und Linecards der PTX-Serie können Sie IPv4- und IPv6-Datenverkehr basierend auf der Quell- oder Zielklassifizierung (Source Class Usage, SCU) und (Destination Class Usage, DCU) filtern. Dies ist nützlich, da es bedeutet, dass Sie einen Filter selektiv auf eine Teilmenge von Paketen in einer Klasse anwenden können, anstatt auf alle Pakete in der Klasse. Darüber hinaus wird der Paketfluss durch die Packet Forwarding Engine (PFE) optimiert und die Filterung ist effizienter.

Service Providern ermöglicht die klassenbasierte Filterung die Bereitstellung erweiterter Services wie:

  • Manipulation des Per-Hop-Verhaltens durch Anpassen der Weiterleitungsklasse des Pakets basierend auf der Quell- oder Zielpaketklasse und anderen Filterkriterien.

  • Begrenzung der Datenverkehrsrate auf bestimmte Kundenschnittstellen, wobei ein hohes Datenverkehrsvolumen zurückgehen kann (z. B. bei DDoS-Angriffen). Normalerweise würden Sie einen ausgehenden Schnittstellenfilter bereitstellen, um die Rate des Datenverkehrs zu begrenzen. Dies kann jedoch ineffizient sein, da der Datenverkehr in verteilten Systemen immer noch die Fabric durchquert und nur begrenzte Fabric-Bandbreite beansprucht. Noch deutlicher wird die Ineffizienz in einem Virtual Output Queueing-System wie PTX, bei dem der Eintritt in die Ausgangswarteschlange erfolgt, bevor der Ausgabefilter ausgeführt wird, und jede nachfolgende Drop-Aktion im Ausgabefilter eine Kompensation erfordert – es muss mehr Datenverkehr in die Warteschlange eingelassen werden, was mehr Fabric-Bandbreite und mehr Ausgangs-On-Chip-Pufferspeicher erfordert (was eine begrenzte Ressource ist). Klassenbasierte Filter werden in der Eingangspipeline ausgeführt, bevor die Pakete in die Ausgangswarteschlange aufgenommen werden. Dieser Mechanismus wird gegenüber regulären Ausgabeschnittstellenfiltern empfohlen, wenn Sie erwarten, dass große Datenverkehrsmengen an bestimmte Ziele verworfen werden.

Die klassenbasierte Filterung ist auch effektiv für "Low-and-Slow"-DoS-Angriffe, die auf Anwendungs- und Serverressourcen abzielen, indem sie normale Datenverkehrsmuster nachahmen.

Um die klassenbasierte Filterung zu unterstützen, werden zwei neue Bindungspunkte in der Weiterleitungstabelle für PTX-Router eingeführt: source-class und destination-class.

Hier wird die CLI-Hierarchie angezeigt, wobei src-class-name oder dest-class-name der Name des Filters ist, den Sie in der entsprechenden Richtlinie definiert haben.

Sie können auch instanzspezifische Filter für mehrere SCU- und DCU-Klassen konfigurieren. Standardmäßig wird nur ein Satz von Leistungsindikatoren und Policern für einen Filter instanziiert. Im instanzspezifischen Filter wird für jeden Filteranfügepunkt ein separater Satz von Zählern und Policern erstellt.

Grundlegendes zur klassenbasierten Filterung auf PTX-Routern

Ursprünglich wurde die Funktion Source Class Usage (SCU) eingeführt, um eine statistische Aufschlüsselung des Datenverkehrs bereitzustellen, der an eine bestimmte Schnittstelle pro Ursprungspräfix (identifiziert durch die Quellklasse) gesendet wird. Destination Class Usage (DCU) wurde ursprünglich eingeführt, um eine statistische Aufschlüsselung des auf einer Schnittstelle empfangenen Datenverkehrs pro Zielpräfix (identifiziert durch die Zielklasse) bereitzustellen.

Sowohl Quell- als auch Zielklassen werden dem Paket bei der Quell- oder Zielsuche zugewiesen. Daher können Übereinstimmungsbedingungen für Quell- und Zielfilter nur ausgewertet werden, wenn der Filter nach der Suche ausgeführt wird.

Juniper Router unterstützen mehrere Filterbindungspunkte. Diejenigen, die das Ergebnis der Quell- und Zielklassifizierung nutzen können, sind unten mit Nutzungsrichtlinien aufgeführt:

  • Ausgabeschnittstellenfilter (Schnittstellen festlegen <Schnittstellenname> Familie inet filter <output>. Wird auf jeder PTX-Plattform unterstützt, aber nicht empfohlen, wenn erwartet wird, dass große Datenverkehrsmengen in einem stabilen Zustand verworfen werden (z. B. bei der Implementierung eines Filters zur Abwehr von DDoS-Angriffen). Verworfener DDoS-Angriffsdatenverkehr kann aufgrund der begrenzten Fabric-Bandbreite und des begrenzten Ausgangs-On-Chip-Pufferspeichers möglicherweise nicht durch anderen Datenverkehr kompensiert werden, der die DDoS-Angriffskriterien nicht erfüllt.

  • Filtern Sie nach der Suche nach Weiterleitungstabellenfiltern (setzen Sie die Weiterleitungsoptionsfamilie inet filter <filtername> Ausgabe). Unterstützt auf den Plattformen Express 2 (PE) und Express 3 (ZX). Die Filter werden jedoch in der Ausgangspipeline instanziiert, daher ähnelt das Verwerfungsverhalten dem regulären Ausgabeschnittstellenfilter.

  • Quell- oder Zielklassenspezifischer Bindungspunkt (routing-options forwarding-table source-class src-class-name family [inet | inet6] filter <filter- name>) setzen). Unterstützt auf den Plattformen Express 2 (PE), Express 3 (ZX) und Express 4 (BT). Dieser Filter wird in der Eingangspipeline instanziiert. Dies ist die empfohlene Option, um große Datenverkehrsmengen zu verwerfen. Diese Option wird auch empfohlen, wenn Sie die Weiterleitungsklasse und anschließend die Zuweisung der Ausgabewarteschlange überschreiben müssen. In einem Warteschlangensystem für virtuelle Ausgaben wird die Warteschlange in der Eingangspipeline ausgewählt, und jede Außerkraftsetzung muss auch in der Eingangspipeline erfolgen.

HINWEIS:
  • Beachten Sie, dass diese Filteraktionen in dem Filter, der an den quell- oder zielklassenspezifischen Bindungspunkt gebunden ist, nicht unterstützt werden:

    • routing-instance

    • Nächste-IP-Adresse

    • next-interface

    • entkapseln

    • kapseln

  • Selektive klassenbasierte Filter können nicht auf Host-gebundene Pakete angewendet werden.

  • Pakete, die uRPF-Lookups nicht bestehen, aber von uRPF-Fail-Filtern wiederhergestellt werden, unterliegen keinen SCU/DCU-Lookups. Daher können selektive klassenbasierte Filter nicht auf solche Pakete angewendet werden.

  • Filter werden nur auf Pakete angewendet, die auf Schnittstellen eingehen, für die die SCU/DCU-Funktion aktiviert ist. Dies bedeutet, dass Filter unabhängig davon angewendet werden, ob SCU auf Ausgabeschnittstellen konfiguriert ist oder nicht.

  • Pakete, auf die ein selektiver, klassenbasierter Filter angewendet werden muss, können zu Leistungseinbußen führen. Der Leistungsabfall hängt von der Rate des eingehenden Datenverkehrs, der durchschnittlichen Paketgröße und der Menge des Datenverkehrs ab, der den Filtern unterzogen wird. Pakete, auf die keine selektiven klassenbasierten Filter angewendet werden, wirken sich jedoch nicht auf die Leistung aus.

  • Die DCU-Abrechnung gilt für Pakete, die von Filtern verworfen werden.

  • Die SCU-Ausgabeabrechnung gilt nicht für Pakete, die von Filtern verworfen werden.

  • Selektive klassenbasierte Filter können nicht mit einem schnittstellenspezifischen Drehregler verwendet werden, da dieser Drehregler nur auf an der Schnittstelle angeschlossene Filter anwendbar ist.

  • Listen (Eingabe-/Ausgabelisten) mit selektiven klassenbasierten Filtern werden nicht unterstützt.

  • Logische Systeme werden nicht unterstützt.

  • Nur IPv4 und IPv6 werden als Nutzlastprotokolle unterstützt. MPLS wird nicht unterstützt.

  • Wenn ein Paket sowohl mit SCU- als auch mit DCU-selektiven, klassenbasierten Filtern übereinstimmt, wird nur der letzte Filter (d. h. der DCU-Filter) auf das Paket angewendet, nicht aber beide Filter.

Beispiel: Selektive klassenbasierte Filterung (PTX-Router)

In diesem Beispiel wird gezeigt, wie Firewallaktionen (Verwerfen, Ablehnen oder Überwachen) auf IPv4- und IPv6-Datenverkehrsflüsse auf der Grundlage der Quell- oder Zielklassifizierung angewendet werden. Sie gilt für PTX10001-36MR-, PTX10003-160C-, PTX10003-80C-, PTX10004- und PTX10008-Router mit Junos Evolved OS Version 21.2 PTX10016 Router mit JUNOS Evolved OS Version 21.4 oder PTX3000, PTX-5000, PTX1000, PTX10002, PTX10008 PTX10016 Router mit Junos OS Version 21.2 oder höher.

Anforderungen

In diesem Beispiel wird BGP verwendet, da BGP zum Austausch von Routen zwischen Geräten in einer Netzwerktopologie verwendet werden kann, die aus Kunden-Edge, Provider-Edge und Provider-Routern besteht. Weitere Informationen finden Sie unter Übersicht über die BGP-Konfiguration .

Überblick

In diesem Beispiel werden drei Routinggeräte verwendet: ein Kunden-Edge-Gerät (CE), ein Provider-Edge-Gerät (PE) und ein Provider-Core-Gerät (P). Die Konfiguration für IPv4-Datenverkehr wird angezeigt und umfasst zwei Sätze von SCU- und DCU-Klassen sowie die Firewallfilter. In der folgenden Abbildung stellen die /32-IP-Präfixe Hosts dar, die mit dem Kunden-Edge (CE) bzw. Provider-Router (P) verbunden sind.

Abbildung 1: BeispielnetzwerkBeispielnetzwerk

In diesem Beispiel definieren wir zwei Klassen von Datenverkehr: SCU-1 und SCU-2, wobei das erste den Präfixen im Subnetz 172.16.2.0/24 und das zweite den Präfixen im Subnetz 172.16.3.0/24 zugewiesen wird. Andere Präfixe haben keine Klassenzuweisungen. Wie im folgenden CLI-Codeausschnitt gezeigt, wird auf dem PE-Router eine Routing-Richtlinie definiert, um Präfixe für die Quellklasse scu-1 und die Quellklasse scu-2 zuzuweisen.

Um den Datenverkehr zu berücksichtigen, der von CE in die Schnittstellen von PE eingeht, verwendet die auf dem PE-Router definierte Richtlinie namens dcu-class Routenfilter, um den Datenverkehr in dcu-1zu platzieren, andere Präfixe haben keine Klassenzuweisungen.

Die Richtlinien werden dann auf die Weiterleitungstabelle angewendet.

Im nächsten Schritt konfigurieren wir einen Filter auf dem PE-Router.

Fügen Sie diesen Filter an die spezifischen Quell- und Zielklassenbindungspunkte auf dem PE-Router an.

Konfiguration

Verfahren

CLI-Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI ein.

Im Beispiel werden statische Routen verwendet, um Konnektivitäts- und Loopbackschnittstellenadressen zum Testen des Vorgangs bereitzustellen.

Gerät CE

Gerät PE

Gerät P

Schritt-für-Schritt-Anleitung

So gruppieren Sie Quell- und Zielpräfixe in einer Weiterleitungsklasse:

  1. Erstellen Sie die Routerschnittstellen auf dem PE-Router.

  2. Konfigurieren Sie BGP auf dem PE-Router.

  3. Konfigurieren Sie die AS-Nummer (Autonomous System) des PE-Routers.

  4. Konfigurieren Sie die DCU-Richtlinie auf dem PE-Router.

  5. Konfigurieren Sie die SCU-Richtlinie auf dem PE-Router.

  6. Wenden Sie die Richtlinien auf die Weiterleitungstabelle auf dem PE-Router an.

  7. Erstellen Sie den Filter auf dem PE-Router.

  8. Binden Sie den Filter an die Bindungspunkte der Quellklasse und der Zielklasse auf dem PE-Router.

    Binden des Filters an die Verwendung der Zielklasse.

    Binden des Filters an die Verwendung der Quellklasse.

  9. (Optional) Konfigurieren Sie eine Routing-Richtlinie, die direkte Routen auf dem PE-Router ankündigt.

Befund

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show interfacesBefehle , show protocols, show policy-optionsund show routing-options auf dem PE-Router eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, geben Sie Commit aus dem Konfigurationsmodus ein.