Dieses Dokument beschreibt die Lebensdauer eines Pakets.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Die in diesem Dokument enthaltenen Informationen wurden aus Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Sie in einem Live-Netzwerk arbeiten, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen, bevor Sie es verwenden.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions.
Zu den Low-End-Routern von Cisco gehören die Serien 1xxx, 25xx, 26xx, 3600, 3800, 4000, 4500 und 4700. Bei diesen Routern wird eine Nachricht über eine Leitung von einer Person gesendet und von einem Controller in einem anderen System empfangen. Dieser Controller speichert das Paket auf den meisten Systemen direkt im Pufferspeicher. Wenn die Nachricht vollständig empfangen wird, speichert der Controller einige Zeigerinformationen, sodass der Eingangstreiber sie finden kann. Anschließend wird ein Empfangsunterbrechung angezeigt.
Hinweis: Wenn der Controller über keine Puffer zum Speichern der Nachricht verfügt, protokolliert er zu diesem Zeitpunkt eine "Ignore"-Nachricht und empfängt diese nicht.
Irgendwann in der Zukunft, normalerweise in Mikrosekunden gemessen, wird ein Treiber aktiv. Der Treiber überprüft zunächst die Übertragungswarteschlange und später die Empfangswarteschlange. Derzeit konzentrieren wir uns auf die Verarbeitung von Empfangswarteschlangen. Der Treiber überprüft die erforderlichen Aspekte der Warteschlange, entscheidet, dass eine Meldung vorhanden ist, entfernt die Nachricht aus der Warteschlange und füllt die Empfangspufferliste des Controllers wieder auf. Anschließend entscheidet der Forwarder, z. B. IP oder Internet Packet Exchange (IPX), welche Nachricht er weiterleitet.
Gehen Sie bei dieser Erklärung davon aus, dass es sich um eine IP-Nachricht handelt. Der Treiber möchte die IP-Nachricht an den konfigurierten IP Fast Path übergeben. Zuerst wird der Link Layer-Header aus der Nachricht entfernt, und anschließend wird bestimmt, ob auf der Eingangsschnittstelle ein schneller Pfad konfiguriert ist. Wenn keine konfiguriert ist, wird das Paket in die Warteschlange für die Warteschlange für die Warteschleifeneingabe gesetzt (markiert), und es wird ein Zähler überprüft. Wenn der Zähler 0 (null) lautet, wird die Warteschlange für das "Input Hold" (Eingang-Halten) ausgeschöpft und das Paket verworfen. Wenn der Zähler nicht 0 (null) ist, wird er herabgesetzt, und die Nachricht wird in den Prozesspfad eingeschlossen.
Hinweis: Die Warteschlange für die Warteschlange mit der Warteschlange für die Warteschleife ist keine Warteschlange im wörtlichen Sinne. Es handelt sich um eine Gruppe von Paketen, die auf einer Schnittstelle empfangen wurden und nicht vollständig verarbeitet werden (entweder durch Weiterleiten der Nachricht an eine Ausgangsschnittstelle oder durch Freigabe des Puffers). Wenn jedoch ein konfigurierter schneller Pfad vorhanden ist und dies normalerweise der Fall ist, wird die Nachricht an den schnellen Pfad übergeben.
Der schnelle Pfad validiert jetzt die Nachricht und wendet einige Funktionen auf die Nachricht an. Dieser Schritt umfasst Entschlüsselung oder Dekomprimierung (oder ggf. beides), Durchführen von Network Addresses Translation (NAT), Anwenden von CAR-Tests (Input Committed Access Rate), Anwendung von Richtlinien-Routing-Tests usw.
Wenn Policy Routing verwendet wird, wird die Ausgangsschnittstelle tatsächlich ausgewählt. Wenn kein Richtlinien-Routing verwendet wird, besteht der nächste Schritt darin, die Zieladresse im Route-Cache zu suchen. Dieser Prozess wird als "Switching the Packet" bezeichnet. Je nach dem Modus für das schnelle Switching variieren Struktur und Inhalt des Cache. Beim standardmäßigen schnellen Switching enthält der Cache entweder Zielpräfixrouten oder Zielhostrouten, die kürzlich verwendet wurden, und enthält gelegentlich keinen Cache-Eintrag. In diesem Fall wird die Nachricht auf die Prozessebene hochgehalten und erneut als in der Warteschlange für das Zurückhalten von Eingaben gekennzeichnet. Beim Cisco Express Forwarding-Switching ist der Cache (eine so genannte Forwarding Information Base, FIB) eine vollständige Routing-Tabelle, sodass der Prozess nicht ausgeführt wird.
Wenn eine Route gefunden wird, gibt der Eintrag im Route-Cache (oder "Adjacency", wie er in Cisco Express Forwarding genannt wird) die Ausgabesoftware und die Hardware-Schnittstelle sowie den Header an, der auf der Nachricht platziert werden soll (nächster relevanter Hop). Bei Multiplex-Schnittstellen wäre dies der nächste relevante virtuelle Schaltkreis oder virtuelle Kanal.
Auf dieser Softwareschnittstelle kann es zu einer Reihe von Problemen kommen. Beispielsweise wurde die Schnittstelle möglicherweise mit einer MTU (Maximum Transmission Unit) konfiguriert, die kleiner als die Größe der Nachricht ist. Da sich im schnellen Pfad kein Fragment befindet, ist dieses Ereignis ein Grund, auf die Prozessebene zu "bump" (Bump) zu wechseln. Darüber hinaus kann die Schnittstelle für die NAT-Verarbeitung, die Ausgabe von CAR usw. konfiguriert werden. An diesem Punkt der Nachrichtenverarbeitung werden diese Features angewendet. Schließlich wird der Link-Layer-Header der Ausgabeschnittstelle an die Nachricht angehängt und an den Ausgabetreiber übergeben.
Die Meldung wird der Schnellsenderroutine im Treiber angezeigt, die die folgenden Schritte ausführt.
Der Treiber stellt eine Reihe von Fragen, z. B. "Muss ich die Nachricht in einen neuen Puffer kopieren, bevor ich sie weiterleite?"
Sie bestimmt, ob Traffic Shaping aktiv ist. Wenn Traffic Shaping aktiv ist, wird die Ankunftsrate der Nachrichten mit der Nachrichtenübertragungsrate für die angegebene Nachrichtenklasse verglichen. Wenn entweder eine Shaping-Warteschlange an der Subschnittstelle gebildet wird oder die Warteschlange nicht vorhanden ist, die Geschwindigkeit jedoch überschritten wurde, wird die Nachricht in eine Warteschlange an der Software-Schnittstelle gestellt.
Wenn das Traffic Shaping nicht aktiv ist, nicht auf diese Nachricht angewendet wird oder die Rate nicht überschritten wurde, fragt der Treiber jetzt, ob die Übermittlungswarteschlange des Ausgabecontrollers unter dem Grenzwert für die TX-Warteschlange liegt. Liegt sie unter dem Grenzwert, stellt der Treiber die Nachricht einfach zur Übertragung in die Warteschlange. Eine Nachricht, die diesem Pfad folgt, wird als eine Nachricht mit schnellem Einschalten und schnellem Einschalten der Ausgabe angesehen.
Wenn es jedoch nicht möglich ist, schnell zu wechseln, leitet der Treiber die Meldung in eine Softwarewarteschlange um, die allgemein als "Ausgabewarteschlange" bezeichnet wird. Beispiele für Warteschlangen sind First In (Erste In), First Out (FIFO) Queuing, Priority Queuing (Prioritätswarteschlange), Custom Queuing (Benutzerdefinierte Warteschlange) und Weighted Fair Queuing (WFQ).
Da dies auch das Ziel von Nachrichten ist, die dem Prozesspfad folgen, werden solche Nachrichten als Fast-Switched-on-Eingabe und als Prozess-Switched-on-Output angesehen. Beachten Sie, dass sie nicht prozessorientiert waren. Die Switching-Entscheidung fiel, wenn das Paket im schnellen Pfad geschaltet wurde. Die Nachricht wurde jedoch an eine Warteschlange umgeleitet, die für den Prozesspfad freigegeben wird. Sie wird zu einem späteren Zeitpunkt als prozessgeschaltet angesehen, wenn die Nachricht aus der Warteschlange entfernt und in die Warteschlange des übertragenden Controllers aufgenommen wird.
Prozess-Switching ist das, was geschieht, wenn die Nachricht nicht im schnellen Pfad übertragen werden kann. Dies bedeutet, dass die Nachricht an dieses System gesendet wurde und letztendlich (im Idealfall) von einem Routing-Prozess, einem Link-Wartungsprozess, einem Netzwerkmanagementprozess usw. genutzt wird. Ein Teil des Datenverkehrs verläuft jedoch tatsächlich über den Prozesspfad, z. B. Datenverkehr, der Link Fragmentation and Interleaving (LFI) verwendet, um Sprache zwischen Segmenten eines Jumbogramms, X.25-Datenverkehr, fragmentiertem Datenverkehr und Datenverkehr, für den keine schnelle Pfadeingabe erfolgte, zu übertragen. Die Verarbeitung auf dem Prozessweg ist konzeptionell identisch mit dem schnellen Pfad, unterscheidet sich jedoch in der Implementierung aus verschiedenen Gründen. Einer der Unterschiede besteht darin, dass bei der Ausgabe das Flag "input hold queue" gelöscht und der Zähler an der Eingabeschnittstelle erhöht wird (das Entfernen der Nachricht aus der Warteschlange für die Warteschlange für die Warteschlange für die Warteschlange für die Warteschlangen im Eingabespeicher) und die Nachricht in die Warteschlange für die Warteschlange für die Ausgabe aufgenommen wird. Anschließend wird ein Interrupt simuliert, der die Übertragung der Nachricht auf der Ausgabeschnittstelle auslösen kann. Aufgrund des Prozess-Overhead ist das Switching langsamer als das schnelle Switching. Wenn eine solche Meldung empfangen wird, kann es auch andere Prozesse geben, und es müssen einige komplexere Datenstrukturen behandelt werden.