Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberDE202015009259 U1
Publication typeGrant
Application numberDE201520009259
Publication date19 Jan 2017
Filing date3 Apr 2015
Priority date12 May 2014
Also published asCN106664250A, EP3143734A1, US9736067, US20150326476, WO2015175110A1
Publication number1520009259, 201520009259, DE 2015/20009259 U1, DE 202015009259 U1, DE 202015009259U1, DE-U1-202015009259, DE1520009259, DE2015/20009259U1, DE201520009259, DE202015009259 U1, DE202015009259U1
ApplicantGoogle Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: DPMA, Espacenet
Präfix-orientierte reduzierung von multipath-gruppen nach gewichteten kosten cost-prefix-oriented reduction of multipath groups according Weighted translated from German
DE 202015009259 U1
Abstract  translated from German
Ein System, umfassend: A system, comprising:
einen Paket-Switch mit einer Weiterleitungstabelle; a packet switch with a forwarding table; und and
einen Routen-Manager für den Paket-Switch, wobei der Routen-Manager konfiguriert ist für: a route manager for the packet switch, wherein the route manager is configured for:
Identifizieren einer Vielzahl von Multipath-Gruppen, die jeweils einer jeweiligen Anfangsmenge an Routing-Einträgen in der Weiterleitungstabelle entspricht; Identifying a plurality of multipath groups, each corresponding to a respective initial amount of routing entries in the forwarding table;
Generieren für eine oder mehrere Multipath-Gruppen in der Vielzahl an Multipath-Gruppen in einer Weiterleitungstabelle eines Paket-Switch von mindestens einer Ersatzmenge von Routing-Einträgen mit weniger Routing-Einträgen als die ursprüngliche Anzahl an Routing-Einträgen, die der jeweiligen Multipath-Gruppe entsprechen; Generate for one or more multipath groups in the plurality of multipath groups in a forwarding table of a packet switch of at least an equivalent amount of routing entries with less routing entries than the original number of routing entries corresponding to each multipath group match;
eine auf Kostenmetrik zur Verkehrsreduzierung basierende Auswahl von ein oder mehreren der Ersatzmengen der Routing-Einträge, wobei jede ausgewählte Ersatzmenge einer anderen jeweiligen Multipath-Gruppe in der Vielzahl an Multipath-Gruppen entspricht; -based cost metric to reduce traffic selection of one or the equivalent amounts of the routing entries, each selected replacement quantity of another respective multipath group corresponds to a plurality in the plurality of multipath groups; und and
Austausch der anfänglichen Menge an Routing-Einträgen für jede Multipath-Gruppe, die einer ausgewählten Austauschmenge der Routing-Einträge in der Weiterleitungstabelle des Paket-Switch entspricht, durch die jeweils entsprechende Ersatzmenge an Routing-Einträgen. Replacement of the initial amount of routing entries for each multipath group corresponding to a selected exchange amount of the routing entries in the forwarding table of the packet switch through each corresponding equivalent amount of routing entries.
Images(7)
Previous page
Next page
Claims(10)  translated from German
  1. Ein System, umfassend: einen Paket-Switch mit einer Weiterleitungstabelle; A system, comprising: a packet switch with a forwarding table; und einen Routen-Manager für den Paket-Switch, wobei der Routen-Manager konfiguriert ist für: Identifizieren einer Vielzahl von Multipath-Gruppen, die jeweils einer jeweiligen Anfangsmenge an Routing-Einträgen in der Weiterleitungstabelle entspricht; and a route manager for the packet switch, wherein the route manager is configured for: identifying a plurality of multipath groups, each corresponding to a respective initial amount of routing entries in the forwarding table; Generieren für eine oder mehrere Multipath-Gruppen in der Vielzahl an Multipath-Gruppen in einer Weiterleitungstabelle eines Paket-Switch von mindestens einer Ersatzmenge von Routing-Einträgen mit weniger Routing-Einträgen als die ursprüngliche Anzahl an Routing-Einträgen, die der jeweiligen Multipath-Gruppe entsprechen; Generate for one or more multipath groups in the plurality of multipath groups in a forwarding table of a packet switch of at least an equivalent amount of routing entries with less routing entries than the original number of routing entries corresponding to each multipath group match; eine auf Kostenmetrik zur Verkehrsreduzierung basierende Auswahl von ein oder mehreren der Ersatzmengen der Routing-Einträge, wobei jede ausgewählte Ersatzmenge einer anderen jeweiligen Multipath-Gruppe in der Vielzahl an Multipath-Gruppen entspricht; -based cost metric to reduce traffic selection of one or the equivalent amounts of the routing entries, each selected replacement quantity of another respective multipath group corresponds to a plurality in the plurality of multipath groups; und Austausch der anfänglichen Menge an Routing-Einträgen für jede Multipath-Gruppe, die einer ausgewählten Austauschmenge der Routing-Einträge in der Weiterleitungstabelle des Paket-Switch entspricht, durch die jeweils entsprechende Ersatzmenge an Routing-Einträgen. and replacing the initial amount of routing entries for each multipath group corresponding to a selected exchange amount of the routing entries in the forwarding table of the packet switch through each corresponding equivalent amount of routing entries.
  2. System nach Anspruch 1, worin die Verkehrsreduzierungs-Kostenmetrik eine erste Verkehrscharakteristik beinhaltet; The system of claim 1, wherein the traffic-reducing cost metric includes a first traffic characteristic; und wobei der Routen-Manager konfiguriert ist für die auf der Verkehrsreduzierungs-Kostenmetrik basierenden Auswahl einer Ersatzmenge an Routing-Einträgen, die einer Multipath-Gruppe entsprechen, die die erste Verkehrscharakteristik hat, durch die Auswahl einer Ersatzmenge von Routing-Einträgen mit weniger als einer maximalen Anzahl an Routing-Einträgen, wobei jeder Routing-Eintrag in der Ersatzmenge einem anderen Netzwerkpfad entspricht. and wherein the route manager is configured based on the traffic-reducing cost metric selection of an equivalent amount of routing entries which correspond to a multi-path group having the first traffic characteristic, by selecting a replacement set of routing entries with less than a maximum number of routing entries, each routing entry in the equivalent amount corresponds to a different network path.
  3. System nach Anspruch 2, worin die Ersatzmenge der Routing-Einträge mit weniger als der maximalen Anzahl an Routing-Einträgen genau zwei Routing-Einträge hat. The system of claim 2, wherein the compensation amount of the routing entries with less than the maximum number of routing entries exactly two routing entries has.
  4. System nach Anspruch 2, worin die Multipath-Gruppe mit der ersten Netzwerkverkehr-Charakteristik keine Netzwerkpakete an die Multipath-Gruppe überträgt, bei denen es sich um eines oder mehrere handelt von: Netzwerkpakete unter Verwendung eines statusbehafteten Transportschicht-Protokolls, Netzwerkpakete für einen Datenstrom, der eine Größenbegrenzung überschreitet, und Netzwerkpakete, die an einen bestimmten Netzwerkadressbereich adressiert sind. The system of claim 2, wherein the multipath group transmits to the first network traffic characteristic no network packets to the multi-path group, which are at one or more acts of: network packets using a stateful transport layer protocol, network packets for a data stream exceeding a size limit, and network packets that are addressed to a particular network address range.
  5. System nach Anspruch 1, worin der Prozessor weiterhin konfiguriert ist für: Vergleich eines ersten Werts einer Verkehrsreduzierungs-Kostenmetrik für eine erste generierte Ersatzmenge von Routing-Einträgen, die einer ersten Multipath-Gruppe entsprechen, mit einem zweiten Wert einer Verkehrsreduzierungs-Kostenmetrik für eine zweite generierte Ersatzmenge von Routing-Einträgen, die der ersten Multipath-Gruppe entsprechen; The system of claim 1, wherein the processor is further configured for: comparing a first value of a traffic-reduction cost metric for a first generated replacement amount of routing entries corresponding to a first multipath group with a second value of a traffic-reduction cost metric for a second generated replacement amount of routing entries corresponding to the first multipath group; und Auswahl der ersten generierten Ersatzmenge von Routing-Einträgen basierend auf dem Vergleich. and selection of the first generated spare set of routing entries based on the comparison.
  6. System nach Anspruch 1, worin der Prozessor weiterhin konfiguriert ist für: Vergleich eines ersten Werts einer Verkehrsreduzierungs-Kostenmetrik für eine erste generierte Ersatzmenge von Routing-Einträgen, die einer ersten Multipath-Gruppe entsprechen, mit einem zweiten Wert einer Verkehrsreduzierungs-Kostenmetrik für eine zweite generierte Ersatzmenge von Routing-Einträgen, die der ersten Multipath-Gruppe entsprechen; The system of claim 1, wherein the processor is further configured for: comparing a first value of a traffic-reduction cost metric for a first generated replacement amount of routing entries corresponding to a first multipath group with a second value of a traffic-reduction cost metric for a second generated replacement amount of routing entries corresponding to the first multipath group; und Auswahl der zweiten generierten Ersatzmenge von Routing-Einträgen basierend auf dem Vergleich. and selecting the second generated spare set of routing entries based on the comparison.
  7. System nach Anspruch 1, worin der Prozessor weiterhin konfiguriert ist für: Vergleich eines ersten Werts einer Verkehrsreduzierungs-Kostenmetrik für eine Vielzahl generierter Ersatzmengen von Routing-Einträgen, die jeweils einer ersten Vielzahl von Multipath-Gruppen entsprechen, mit einem zweiten Wert einer Verkehrsreduzierungs-Kostenmetrik für eine zweite Vielzahl generierter Ersatzmengen von Routing-Einträgen, die jeweils der ersten Multipath-Gruppe entsprechen; The system of claim 1, wherein the processor is further configured for: comparing a first value of a traffic-reduction cost metric for a plurality of generated replacement amounts of routing entries, each corresponding to a first plurality of multipath groups, with a second value of a traffic-reduction cost metric generated for a second plurality of replacement amounts of routing entries, each corresponding to the first multipath group; und Auswahl der ersten generierten Ersatzmengen von Routing-Einträgen basierend auf dem Vergleich. and selection of the first generated spare sets of routing entries based on the comparison.
  8. System nach Anspruch 1, worin der Routen-Manager konfiguriert ist für den Ersatz der anfänglichen Menge an Routing-Einträgen durch die Ersatzmenge an Routing-Einträgen, der die Anzahl der Routing-Einträge in der Weiterleitungstabelle um mindestens eine vordefinierte Anzahl reduziert. The system of claim 1, wherein the route manager is configured to replace the initial amount of routing entries by the equivalent amount of routing entries, which reduces the number of routing entries in the forwarding table by at least a predefined number.
  9. System nach Anspruch 1, worin die Verkehrsreduzierungs-Kostenmetrik eine Netzwerk-Bandbreitenmetrik enthält, gewichtet nach einer Bewertung, die dem Verkehr entspricht, der die Multipath-Gruppe durchläuft. The system of claim 1, wherein the traffic-reducing cost metric includes a network bandwidth metric weighted by an evaluation that corresponds to the traffic that passes through the multipath group.
  10. System nach Anspruch 1, worin der Paket-Switch ein Teil eines SDN (Software-Defined Network) ist, und wobei der Routen-Manager Teil eines SDN-Controllers ist, und der SDN-Controller konfiguriert ist für den Ersatz der anfänglichen Menge der Routing-Einträge in der Weiterleitungstabelle des Paket-Switch durch die Ersatzmenge der Routing-Einträge, indem er Anweisungen an einen Paket-Switch überträgt. The system of claim 1, wherein the packet switch is part of a SDN (Software Defined Network), and wherein the route manager is part of a SDN controller, and the SDN controller is configured for the replacement of the initial amount of the routing entries in the routing table of the packet switch by the equivalent amount of routing entries, by transmitting instructions to a packet switch.
Description  translated from German
  • HINTERGRUND BACKGROUND
  • [0001] [0001]
    Informationen werden zwischen Computersystemen in der Form von Netzwerkpaketen übertragen, die von Netzwerkgerät zu Netzwerkgerät, wie z. B. Switches, in einem oder mehreren verbundenen Netzwerken weitergereicht werden. Information is transmitted between computer systems in the form of network packets that are passed on from network device to network device, such. As switches, in one or more linked networks. Jedes Netzwerkgerät gibt die empfangenen Pakete an ein Ziel weiter, das in den Header-Informationen des Pakets angegeben ist. Each network device outputs the received packets to a destination that is specified in the header information of the packet. Die Zieladresse kann die Adresse eines Geräts in einem anderen Netzwerk sein, das von einem Dritten kontrolliert wird, und die Pakete können mehrere verschiedene Netzwerke zwischen der Quelle und dem Ziel durchlaufen. The destination address may be the address of a device in another network be controlled by a third party, and the packets may pass through several different networks between the source and the destination.
  • [0002] [0002]
    Einige Netzwerkgeräte, in der Regel Switches, beinhalten Speicher, der für eine Weiterleitungstabelle reserviert ist. Some network devices, usually switches include memory that is reserved for a routing table. Wenn das Netzwerkgerät ein Paket empfängt, kann das Netzwerkgerät die Informationen in der Weiterleitungstabelle verwenden, um festzustellen, wie das empfangene Paket verarbeitet werden soll. If the network device receives a packet, the network device can use the information in the routing table to determine how the received packet is to be processed. Beispielsweise könnte die Weiterleitungstabelle einen Routing-Eintrag enthalten, der einen Ausgangsanschluss spezifiziert, der mit einem Next-Hop-Knoten entlang eines Pfades zu einem Netzwerkziel verbunden ist. For example, the routing table could include a routing entry specifying an output terminal which is connected to a next-hop node along a path to a network destination.
  • [0003] [0003]
    In einigen Netzwerkkonfigurationen kann es mehrere geeignete Pfade von einem Netzwerkgerät zu einem bestimmten Netzwerkziel geben. In some network configurations, it may be more appropriate paths from a network device to a particular network destination. Das ECMP-Routing (Equal-Cost Multi-Path (mehrere Pfade zu gleichen Kosten)) gestattet, dass eine Weiterleitungstabelle Routing-Einträge für jeden der verschiedenen Pfade enthält. ((Equal Cost Multi-Path multiple paths to the same cost)) The ECMP routing, allows that a routing table routing entries for each of the different paths contains. Ein Switch, der ECMP unterstützt, kann dann den Netzwerkverkehr über die verschiedenen Routen in einer ECMP-Routenmenge verteilen. A switch that supports ECMP, can then distribute network traffic across the various routes in an ECMP route set. WCMP-Routing (Weighted-Cost Multi-Path (mehrere Pfade mit gewichteten Kosten)) gestattet, dass einige der verschiedenen geeigneten Pfade in einer Multipath- Routenmenge mehr als andere Pfade in derselben Menge verwendet werden. WCMP routing (Weighted-Cost Multi-Path (multiple paths weighted cost)) allowing some of the various suitable paths in a multipath route quantity more than other paths are used in the same amount. Routing-Einträge für eine WCMP-Routenmenge können jedoch einen maßgeblichen Teil des Speichers verbrauchen, der für die Weiterleitungstabelle reserviert ist. but routing entries for a route WCMP amount can consume a significant part of the memory which is reserved for the routing table.
  • ZUSAMMENFASSUNG SUMMARY
  • [0004] [0004]
    In einem Aspekt bezieht sich die Offenbarung auf ein Verfahren, eine Weiterleitungstabelle für einen Paket-Switch zu generieren. In one aspect, the disclosure relates to a method to generate a routing table for a packet switch. Das Verfahren beinhaltet das Identifizieren von mehreren Multipath-Gruppen in einer Weiterleitungstabelle eines Paket- Switch, die jeweils einer Anfangsmenge an Routing-Einträge in der Weiterleitungstabelle entsprechen. The method includes identifying a plurality of multipath groups in a forwarding table of a packet switch, each corresponding to an initial amount of routing entries in the forwarding table. Das Verfahren beinhaltet die Generierung von mindestens einer Ersatzmenge an Routing-Einträgen mit weniger Routing-Einträgen als in der anfänglichen Menge an Routing- Einträgen enthalten, die jeweils der Multipath-Gruppe entsprechen, für eine Multipath-Gruppe oder mehrere Multipath-Gruppen innerhalb der Vielzahl an Multipath-Gruppen. The method involves the generation of at least an equivalent amount of routing entries included with less routing entries than in the initial quantity of routing entries, each corresponding to the multi-path group for a multipath group or more multipath groups within the plurality to multipath groups. Das Verfahren beinhaltet die auf einer Kostenmetrik zur Verkehrsreduzierung basierende Auswahl von einer oder mehrere Ersatzmengen von Routing-Einträgen, wobei jede ausgewählte Ersatzmenge jeweils einer anderen Multipath-Gruppe der Vielzahl an Multipath-Gruppen entspricht, und in der Weiterleitungstabelle des Paket-Switch die anfängliche Menge von Routing-Einträgen für Multipath-Gruppen, die einer ausgewählten Ersatzmenge an Routing-Einträgen entspricht, durch die jeweils entsprechende ausgewählte Ersatzmenge an Routing-Einträgen ersetzt. The method includes, based on a cost metric to reduce traffic selection of one or more replacement amounts of routing entries, each each selected compensation amount corresponds to a different multipath group of the plurality of multipath groups, and in the forwarding table of the packet switch, the initial amount of replaced by routing entries for multipath-groups, corresponding to a selected replacement amount of routing entries by each corresponding selected replacement amount of routing entries. Bei einigen Implementierungen beinhaltet die Kostenmetrik für die Verkehrsreduzierung eine erste Verkehrscharakteristik. In some implementations, the cost metric for the reduction in traffic, including a first traffic characteristics.
  • [0005] [0005]
    In einem weiteren Aspekt bezieht sich die Offenbarung auf ein System. In a further aspect, the disclosure relates to a system. Das System beinhaltet einen Paket-Switch mit einer Weiterleitungstabelle und einen Routen-Manager für den Paket-Switch. The system includes a packet switch with a forwarding table and a route manager for the packet switch. Der Routen-Manager ist so konfiguriert, dass er in der Weiterleitungstabelle eine Vielzahl an Multipath-Gruppen identifiziert, die jeweils einer anfänglichen Menge an Routing-Einträgen in der Weiterleitungstabelle entsprechen, und für eine oder mehrere Multipath-Gruppen innerhalb der Vielzahl an Multipath-Gruppen mindestens eine Ersatzmenge mit Routing-Einträgen mit weniger Routing-Einträgen als in der Anfangsmenge der Routing-Einträge enthalten generiert, die der jeweiligen Multipath-Gruppe entsprechen. The route manager is configured so as to be identified in the routing table a plurality of multipath groups, each corresponding to an initial amount of routing entries in the forwarding table, and for one or more multipath groups within the plurality of multipath groups generates at least an equivalent amount with routing entries with less routing entries than in the initial quantity of routing entries included corresponding to the respective multipath group. Der Routen-Manager ist so konfiguriert, dass er basierend auf einer Kostenmetrik zur Verkehrsreduzierung eine oder mehrere Ersatzmengen von Routing-Einträgen auswählt, wobei jede ausgewählte Ersatzmenge jeweils einer anderen Multipath-Gruppe aus der Vielzahl an Multipath-Gruppen entspricht, und in der Weiterleitungstabelle die anfängliche Menge von Routing-Einträgen für Multipath-Gruppen, die einer ausgewählten Ersatzmenge an Routing- Einträgen entspricht, durch die jeweils entsprechende ausgewählte Ersatzmenge an Routing- Einträgen ersetzt. The route manager is configured so that, on a cost metric to reduce traffic selecting one or more alternative sets of routing entries based, in each case each selected replacement amount corresponds to a different multipath group of the plurality of multipath groups, and in the forwarding table, the initial amount of routing entries for multipath-groups, corresponding to a selected replacement amount of routing entries replaced by the respective corresponding selected spare amount of routing entries. Bei einigen Implementierungen beinhaltet die Kostenmetrik für die Verkehrsreduzierung eine erste Verkehrscharakteristik. In some implementations, the cost metric for the reduction in traffic, including a first traffic characteristics. Bei einigen Implementierungen ist der Paket-Switch Teil eines SDN (Software-Defined Network), und der Routen-Manager ist Teil eines SDN-Controllers für den Paket-Switch. In some implementations, the packet switch is part of an SDN (Software Defined Network), and the route manager is part of an SDN controller for the packet switch.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN BRIEF DESCRIPTION OF DRAWINGS
  • [0006] [0006]
    Die obigen und ähnlichen Objekte, Merkmale und Vorteile der vorliegenden Offenbarung sind anhand der folgenden detaillierten Beschreibung und in Verbindung mit den folgenden Figuren besser verständlich, wobei gilt: The above and related objects, features and advantages of the present disclosure will be better understood from the following detailed description taken in conjunction with the following figures, where:
  • [0007] [0007]
    1 1 ist ein Blockdiagramm für ein exemplarisches Netzwerk; is a block diagram for an exemplary network;
  • [0008] [0008]
    2 2 ist ein Blockdiagramm für ein exemplarisches Netzwerkgerät; is a block diagram of an exemplary network device;
  • [0009] [0009]
    3A 3A - 3C 3C sind Blockdiagramme für Weiterleitungstabellen; are block diagrams for forwarding tables;
  • [0010] [0010]
    4 4 ist ein Ablaufdiagramm für ein Verfahren mit einer präfix-orientierten WCMP-Gruppenreduzierung; is a flow chart for a method with a prefix-oriented WCMP group reduction;
  • [0011] [0011]
    5 5 ist ein Ablaufdiagramm für ein Verfahren für eine WCMP- Gruppenreduzierung für Multipath-Mengen, die nicht verwendet werden, um wichtigen Netzwerkverkehr zu übertragen; is a flow chart for a method for reducing WCMP- group for multipath quantities, which are not used to transmit important traffic; und and
  • [0012] [0012]
    6 6 ist ein Blockdiagramm eines Rechensystems in Übereinstimmung mit einer veranschaulichenden Implementierung. is a block diagram of a computing system in accordance with an illustrative implementation.
  • [0013] [0013]
    Ähnliche Referenznummern und Bezeichnungen in den verschiedenen Zeichnungen kennzeichnen ähnliche Elemente. Like reference numbers and designations in the various drawings indicate similar elements.
  • AUSFÜHRLICHE BESCHREIBUNG DETAILED DESCRIPTION
  • [0014] [0014]
    1 1 ist ein Blockdiagramm für eine exemplarische Netzwerkumgebung, bestehend aus mehreren unabhängigen Netzwerken, die an verschiedenen Verbindungspunkten verknüpft sind. is a block diagram for an exemplary network environment comprising a plurality of independent networks, which are linked at various connection points. Wie gezeigt, kommuniziert ein lokales Netzwerk As shown, communicates a local area network 110 110 mit einem Zielnetzwerk with a destination network 150 150 über ein oder mehrere Zwischennetzwerke via one or more intermediate networks 130 130 . , Das lokale Netzwerk The local network 110 110 ist mit den Zwischennetzwerken with the intermediate networks 130 130 über die Netzwerkgeräte on network devices 124 124 und and 126 126 an der Grenze des lokalen Netzwerks at the boundary of the local network 110 110 verbunden. connected. Diese „Grenz“-Netzwerkgeräte sind Teil von drei gezeigten Netzwerkpfaden durch die Zwischennetzwerke This "border" network devices, are part of three shown network paths through the intermediate networks 130 130 : Pfad „A“ : Path "A" 144 144 , Pfad „B“ , Path "B" 146 146 und Pfad „C“ and path "C" 148 148 . , Jeder Pfad each path 144 144 , . 146 146 und and 148 148 ist eine andere Route durch die Netzwerke is another route through the networks 110 110 , . 130 130 und and 150 150 zu einem Zielgerät to a target device 154 154 im Zielnetzwerk the destination network 150 150 . , Ein Netzwerkgerät A network device 122 122 im lokalen Netzwerk the local network 110 110 kann ein an das Zielgerät can one to the target device 154 154 adressiertes Paket an ein Grenzgerät packet addressed to a border unit 124 124 oder or 126 126 weiterleiten, sodass das Paket das Zielnetzwerk forward it so that the package the destination network 150 150 erreicht. reached. Das bedeutet, das Netzwerkgerät This means the network device 122 122 kann ein Multipath-Routing implementieren. may implement a multipath routing.
  • [0015] [0015]
    Unter Verweis auf Referring to 1 1 bedeutet dies im Detail, dass das lokale Netzwerk this means in detail that the local network 110 110 verschiedene Netzwerkgeräte various network devices 122 122 , . 124 124 und and 126 126 enthält. contains. Bei dem lokalen Netzwerk In the local network 110 110 kann es sich um ein beliebiges Datennetzwerk handeln, das die Kommunikation zwischen mehreren Rechensystemen vereinfacht. there may be any data network which facilitates communication between a plurality of computing systems. Ein Netzwerkgerät A network device 122 122 im lokalen Netzwerk the local network 110 110 kann Pakete an andere Netzwerkgeräte im lokalen Netzwerk can packets to other network devices on the local network 110 110 senden (übertragen) und empfangen, einschließlich der Netzwerkgeräte send (transmitted) and received, including the network devices 124 124 und and 126 126 an der Grenze des lokalen Netzwerks at the boundary of the local network 110 110 . , Bei einigen Implementierungen ist das lokale Netzwerk In some implementations, the local network 110 110 ein SDN (Software-Defined Network), wobei ein oder mehrere der Netzwerkgeräte von einem SDN-Controller gesteuert werden (in a SDN (Software Defined Network), where one or more of the network devices are controlled by a controller SDN (in 1 1 nicht gezeigt). Not shown). 2 2 zeigt ein Beispiel für ein von einem SDN-Controller gesteuertes Netzwerkgerät. shows an example of a controlled by a controller SDN network device. 7 7 zeigt ein Beispiel für ein Rechensystem, das verwendet werden kann, um ein Netzwerkgerät zu implementieren. shows an example of a computing system that can be used to implement a network device.
  • [0016] [0016]
    In weiterer Bezugnahme auf In further reference to 1 1 verbinden die Grenz-Netzwerkgeräte connect the border networking devices 124 124 und and 126 126 das lokale Netzwerk the local network 110 110 mit anderen Netzwerken with other networks 130 130 . , Bei einigen Implementierungen hat ein Grenz-Gerät eine Netzwerkschnittstelle, die mit einem Netzwerk verbunden ist, und eine weitere Netzwerkschnittstelle, die mit einem anderen Netzwerk verbunden ist, sodass das „multi-homed“-Gerät an beiden Netzwerken teilnehmen kann. In some implementations, a limit device has a network interface connected to a network, and another network interface that is connected to another network, so that the "multi-homed" device can participate in both networks. Bei einigen Implementierungen ist ein Grenz-Gerät mit einem Grenz-Gerät eines anderen Netzwerks über eine Netzwerkverbindung verbunden, beispielsweise durch eine Verknüpfung, die von einem dritten Internet Exchange Provider (DO) bereitgestellt wird. In some implementations, a limiting device is connected to a boundary device of a different network via a network connection, for example by a link that is provided by a third Internet Exchange Provider (DO). Die Grenz-Geräte The limiting devices 124 124 und and 126 126 verhalten sich als Gateways zwischen dem lokalen Netzwerk act as gateways between the local network 110 110 und einem anderen Netzwerk and another network 130 130 . , Bei einigen Implementierungen implementieren die Grenz-Geräte In some implementations, the limit devices implement 124 124 und and 126 126 Routing-Protokolle, wie beispielsweise das BGP (Border Gateway Protocol). Routing protocols, such as BGP (Border Gateway Protocol). Damit ein Paket aus dem lokalen Netzwerk In order for a packet from the local network 110 110 zu einem Zielgerät to a target device 154 154 außerhalb des lokalen Netzwerks outside the local network 110 110 gelangen kann, wird das Paket innerhalb des lokalen Netzwerks can pass, the packet is within the local network 110 110 an ein Grenz-Gerät entlang eines Netzwerkspfads zum Zielnetzwerk to a boundary device along a network path to the destination network 150 150 geleitet, in dem sich das Zielgerät conducted in which the target device 154 154 befindet. located. Ein Grenz-Netzwerkgerät A border-network device 124 124 ist so dargestellt, dass es an mindestens zwei verschiedenen Pfaden, Pfad „A“ is shown that there at least two different paths, path "A" 144 144 und Pfad „B“ and path "B" 146 146 , durch die Zwischennetzwerke , Through the intermediate networks 130 130 zum Zielnetzwerk to the destination network 150 150 teilnimmt. participates. Ein weiteres Grenz-Netzwerkgerät Another boundary network device 126 126 ist so dargestellt, dass es an einem dritten unterschiedlichen Pfad, Pfad „C“ is shown that at a third different path, path "C" 148 148 , durch die Zwischennetzwerke , Through the intermediate networks 130 130 zum Zielnetzwerk to the destination network 150 150 teilnimmt. participates. Das bedeutet, es gibt mindestens drei verschiedene Pfade vom lokalen Netzwerk This means there are at least three different paths from the local network 110 110 zum Zielnetzwerk to the destination network 150 150 . ,
  • [0017] [0017]
    Die Zwischennetzwerke The intermediate networks 130 130 sind Datennetzwerke, die die Kommunikation zwischen mehreren Rechensystemen vereinfachen. are data networks that facilitate communication between multiple computing systems. Bei einigen Implementierungen wird ein Zwischennetzwerk In some implementations, an intermediate network 130 130 durch dieselbe Partei kontrolliert, die auch das lokale Netzwerk controlled by the same party, which is also the local network 110 110 kontrolliert, z. B. innerhalb eines autonomen Systems. controlled, z. B. within an autonomous system. Bei einigen Implementierungen wird ein Zwischennetzwerk In some implementations, an intermediate network 130 130 durch eine dritte Partei kontrolliert. controlled by a third party. Bei einigen Implementierungen ist ein Zwischennetzwerk In some implementations, an intermediate network 130 130 ein Trägernetzwerk. a support network. Bei einigen Implementierungen durchläuft ein Paket, das vom lokalen Netzwerk In some implementations, a package that the local network goes through 110 110 zu einem Zielnetzwerk to a destination network 150 150 übertragen wird, mehrere Zwischennetzwerke is transmitted, a plurality of intermediate networks 130 130 . ,
  • [0018] [0018]
    Das Zielgerät The target device 154 154 ist ein Rechensystem oder Netzwerkgerät, das Netzwerkpakete empfangen kann. is a computing system or network device that can receive network packets. Das Zielgerät The target device 154 154 ist mindestens einer Netzwerkadresse zugeordnet, die es im Netzwerkadressraum des Zielnetzwerks is assigned to at least one network address, which the network address space of the destination network 150 150 einordnet. classifies. Das Zielgerät The target device 154 154 kann jedes Rechensystem sein, das in der Lage ist, Pakete von einem Netzwerk zu empfangen. may be any computing system that is able to receive packets from a network. Beispielsweise kann das Zielgerät For example, the target device 154 154 ein Client-Gerät sein, das so konfiguriert ist, dass es die vom Zielnetzwerk be a client device that is configured to it by the destination network 150 150 empfangenen Informationen einem Computerbenutzer präsentiert. presents the received information to a computer user. Bei einigen Implementierungen ist das Zielgerät In some implementations, the target device is 154 154 ein Server. a server. Beispielsweise kann das Zielgerät For example, the target device 154 154 ein nicht am Standort befindliches Datenspeichersystem sein. be a non befindliches at the site data storage system. Ein Beispiel für ein Rechensystem, das verwendet werden kann, um ein Zielgerät An example of a computing system that can be used to a target device 154 154 zu implementieren, ist in to implement, in 7 7 gezeigt. shown.
  • [0019] [0019]
    Bei dem Zielnetzwerk In the destination network 150 150 kann es sich um ein beliebiges Datennetzwerk handeln, das die Kommunikation zwischen mehreren Rechensystemen vereinfacht. there may be any data network which facilitates communication between a plurality of computing systems. Bei einigen Implementierungen ist das Zielnetzwerk In some implementations, the destination network is 150 150 ein ISP-Netzwerk (Internet Service Provider). an ISP network (Internet Service Provider).
  • [0020] [0020]
    Das lokale Netzwerk The local network 110 110 , die Zwischennetzwerke , The intermediate networks 130 130 und das Zielnetzwerk and the target network 150 150 können jedes beliebige Datennetzwerk sein, das die Kommunikation zwischen mehreren Rechensystemen vereinfacht. can be any data network which facilitates communication between a plurality of computing systems. Beispielsweise kann jedes Netzwerk For example, each network 110 110 , . 130 130 und/oder and or 150 150 ein LAN (Local Area Network), ein WAN (Wide Area Network) oder ein virtuelles Netzwerk sein. be a LAN (Local Area Network), a WAN (Wide Area Network) or a virtual network. Jedes Netzwerk hat die OSI-Eigenschaften für Bitübertragungsschichten und arbeitet unter Verwendung von OSI-Protokollen der Sicherungsschicht, z. B. Ethernet. Each network has the OSI physical layer properties and operates using the OSI protocols of the link layer, such. As Ethernet. Jedes Netzwerk kann weitere Netzwerkgeräte beinhalten, die nicht in Each network can include other network devices that are not in 1 1 gezeigt sind, z. B. Hubs, Bridges, Switches oder Router. are shown, for. example, hubs, bridges, switches or routers. Jedes der Netzwerke Each of the networks 110 110 , . 130 130 und/oder and or 150 150 kann ein SDN (Software- Defined Network) sein. an SDN (Software Defined Network) can be.
  • [0021] [0021]
    Bei einigen Implementierungen können alle Netzwerkgeräte In some implementations, all network devices 122 122 , . 124 124 , . 126 126 und and 154 154 statt sich lokal in unterschiedlichen Netzwerk zu befinden, sich auch im selben Netzwerk befinden. instead of residing locally in different network, there are also the same network. Beispielsweise können sich die Geräte alle im selben software-definierten Rechenzentrumsnetzwerk befinden. For example, the devices can find all software-defined data center in the same network. Einige Rechenzentrumsnetzwerke enthalten große Mengen an Servern, die in Racks angeordnet sind, die jeweils einen oder mehrere für das Rack eingerichtete Switches enthalten. Some data center networks contain large amounts of servers, which are arranged in racks, each containing one or more switches configured for the rack. Die Server kommunizieren dann mit den anderen Servern im Rechenzentrum über einen oder mehrere Switches der Aggregationsschicht. The servers then communicate with the other servers in the data center via one or more switches in the aggregation layer. In einem solchen Netzwerk kann ein Switch für ein Rack beispielsweise mit mehreren Switches der Aggregationsschicht verbunden und so konfiguriert sein, dass er ein Multipath-Routing verwendet, um den Verkehr, der von den in seinem Rack befindlichen Servern ausgegeben wird, über mehrere Switches in einer bestimmten Aggregationsschicht des Netzwerks verteilt. In such a network, a switch may be connected to a rack, for example with a plurality of switches of the aggregation layer and configured such that it uses a multi-path routing to the traffic that is output from the located in its rack servers across multiple switches in a certain aggregation layer of the network is distributed. Analog dazu können die Aggregationsschicht-Switches auch ein Multipath-Routing verwenden. Similarly, the aggregation layer switches can also use a multipath routing.
  • [0022] [0022]
    2 2 ist ein Blockdiagramm für einen exemplarischen SDN-Controller is a block diagram for an exemplary SDN controller 220 220 und ein Netzwerkgerät and a network device 230 230 , voneinander getrennt durch eine Steuerungsverbindung , Separated by a control connection 112 112 . , Ganz allgemein enthält der SDN-Controller More generally contains the SDN controller 220 220 ein Steuerungsmodul a control module 242 242 und einen Speicher and a memory 226 226 , z. B. zum Speichern der Netzwerkkonfiguration und der Routing-Daten. , Z., To store the network configuration and routing information. Das Netzwerkgerät The network device 230 230 enthält ein Steuerungsmodul comprises a control module 244 244 und einen Speicher and a memory 236 236 , z. B. zum Speichern der Netzwerkkonfiguration und der Routing-Daten. , Z., To store the network configuration and routing information. Das Netzwerkgerät The network device 230 230 enthält eine Weiterleitungs-Engine includes a forwarding engine 234 234 , die die im Speicher That in the memory 236 236 gespeicherte Gerätekonfiguration und Routingdaten verwendet, um den Datenverkehr an den Netzwerkschnittstellen stored device configuration and routing information used to the traffic to the network interface 238 238 zu verwalten. manage. Das Netzwerkgerät The network device 230 230 ist geeignet für die Verwendung als ein beliebiges der Netzwerkgeräte is suitable for use as any of the network devices 122 122 , . 124 124 und and 126 126 , wie in , as in 1 1 gezeigt. shown.
  • [0023] [0023]
    Unter Verweis auf Referring to 2 2 bedeutet dies im Detail, dass der SDN-Controller this means in detail that the SDN controller 220 220 ein Steuerungsmodul a control module 242 242 und Speicher and storage 226 226 beinhaltet. includes. Das Steuerungsmodul The control module 242 242 verwendet die im Speicher used in the memory 246 246 gespeicherte Netzwerkkonfiguration und Routingdaten, um das Netzwerkgerät stored network configuration and routing data to the network device 230 230 zu konfigurieren. to configure. In einigen Ausführungsformen sendet das Steuermodul In some embodiments, the control module sends 242 242 regelmäßige Status- und Verfügbarkeitsbenachrichtigungen an die Netzwerkvorrichtungen regular status and availability notifications to the network devices 230 230 . , Bei einigen Implementierungen generiert der SDN-Controller In some implementations, the controller generates SDN 220 220 Weiterleitungstabellen und veröffentlicht die Weiterleitungstabellen auf einem oder mehreren Netzwerkgeräten Forwarding tables, and publishes the forwarding tables on one or more network devices 230 230 . ,
  • [0024] [0024]
    Das Netzwerkgerät The network device 230 230 beinhaltet ein Steuerungsmodul includes a control module 244 244 und Speicher and storage 236 236 . , Das Steuerungsmodul The control module 244 244 des Netzwerkgeräts empfängt Konfigurations- und Routinginformationen vom Steuerungsmodul the network device receiving configuration and routing information from the control module 242 242 des SDN-Controllers (über die Steuerungsverbindung SDN of the controller (via the control connection 112 112 ) und aktualisiert die im Speicher ) And updated in the memory 236 236 abgelegten Daten. stored data.
  • [0025] [0025]
    Das Netzwerkgerät The network device 230 230 beinhaltet eine Menge von Netzwerkschnittstellen includes a set of network interface 238 238 . , Jede Netzwerkschnittstelle Each network interface 238 238 kann mit einem Datennetzwerk verbunden sein. may be connected to a data network. Beispielsweise kann das Netzwerkgerät For example, the network device 230 230 Datenpakete für das erste Netzwerk über eine erste Netzwerkschnittstelle erhalten (z. B. Netzwerkschnittstelle Data for the first network via a first network interface to receive (eg., Network interface 238a 238a ). ). Das Netzwerkgerät The network device 230 230 gibt die empfangenen Datenpakete über eine weitere Schnittstelle (z. B. Netzwerkschnittstelle are the received data packets via a further interface (z. B. network interface 238b 238b ) an einen geeigneten Next-Hop weiter. ) Further to an appropriate next hop. Bei einigen Implementierungen bestimmt die Weiterleitungs-Engine In some implementations, the forwarding engine determines 234 234 , welche Netzwerkschnittstelle Which network interface 238 238 für ein empfangenes Datenpaket jeweils verwendet werden soll. to be used for a received data packet respectively. Bei einigen Implementierungen verwendet die Weiterleitungs- Engine In some implementations, the forwarding engine used 234 234 eine im Speicher a memory in 236 236 gespeicherte Weiterleitungstabelle, um zu bestimmen, welche Netzwerkschnittstelle stored forwarding table to determine which network interface 238 238 verwendet werden soll. to be used.
  • [0026] [0026]
    Die Weiterleitungs-Engine The forwarding engine 234 234 verwendet im Speicher used in the memory 236 236 abgelegte Konfigurations- und Routingdaten, um den Datenverkehr an den Netzwerkschnittstellen-Ports stored configuration and routing data to send traffic to the network interface ports 238 238 zu verwalten. manage. Die Konfigurations- und Routingdaten im Speicher The configuration and routing data in memory 236 236 werden durch die SDN-Steuerung are represented by the SDN control 220 220 über das Steuermodul via the control module 244 244 gesteuert. controlled. Bei einigen Implementierungen aktualisiert die Weiterleitungs-Engine In some implementations, the forwarding engine updated 234 234 Paket-Header, bevor sie die Pakete an einen Netzwerkschnittstellen-Ausgangsanschluss Packet header before the packets to a network interface output connector 238 238 weiterleitet. forwards. Beispielsweise kann die Weiterleitungs-Engine For example, the forwarding engine 234 234 die ECN (Explicit Congestion Notification), den Hop-Zähler (TTL) oder die Prüfsummeninformation in den Paket-Headern aktualisieren. update the ECN (Explicit Congestion Notification), the hop counter (TTL) or checksum in the packet headers.
  • [0027] [0027]
    Der Speicher The memory 226 226 und der Speicher and the memory 236 236 können jeweils ein beliebiges Gerät sein, das dafür geeignet ist, computer-lesbare Daten zu speichern. can be any device that is suitable for storing computer-readable data, respectively. Beispiele hierfür sind ua Halbleiterspeichergeräte, wie zB EPROM, EEPROM, SRAM und Flash-Speichergeräte. Examples include semiconductor memory devices, such as EPROM, EEPROM, SRAM and flash memory devices. Bei einigen Implementierungen handelt es sich bei dem Speicher In some implementations, it is in the memory 236 236 um TCAM (Ternary Content-Addressable Memory). to TCAM (Ternary Content Addressable Memory). Bei einigen Implementierungen beinhaltet der Speicher In some implementations, the memory includes 236 236 eines Netzwerkgeräts a network device 230 230 Speicher, der speziell dafür vorgesehen ist, Paketdatenströme zu puffern, während sie das Netzwerkgerät To buffer memory that is provided specifically for packet data streams, while the network device 230 230 durchlaufen. run through. Eine Netzwerkvorrichtung A network device 230 230 kann jede Anzahl von Speichervorrichtungen any number of storage devices 236 236 aufweisen. respectively. Ein SDN-Controller An SDN controller 220 220 kann beliebig viele Speichergeräte can any number of storage devices 246 246 haben. to have.
  • [0028] [0028]
    Die The 3A 3A , . 3B 3B und and 3C 3C zeigen Beispiele für Weiterleitungstabellen, die von einem Netzwerkgerät verwendet werden können, um einen Ausgangsanschluss für ein Paket zu identifizieren. show examples of forwarding tables that can be used by a network device to identify an output port for a packet.
  • [0029] [0029]
    3A 3A zeigt eine vereinfachte Weiterleitungstabelle shows a simplified routing table 310 310 . , Jeder Routing-Eintrag in der Tabelle Every entry in the table 310 310 gibt ein Übereinstimmungsmuster are a match pattern 316 316 und eine Weiterleitungsanweisung and a forwarding order 318 318 an. at. Das Übereinstimmungsmuster The match pattern 316 316 , z. B. „Muster A“, wird von Paketen erfüllt, die unter Verwendung der entsprechenden Weiterleitungsanweisung , Z. B. "pattern A" is filled with packets using the corresponding forwarding order 318 318 verarbeitet werden sollen, z. B. „Weiterleiten entlang von Pfad A“. to be processed, eg. B. "Forward along path A". In einigen Fällen stimmt das Übereinstimmungsmuster In some cases, the matching pattern is true 316 316 mit allen Paketen überein, die an ein bestimmtes Netzwerk oder autonomes System gerichtet sind. all packages agreed directed to a specific network or autonomous system. Beispielsweise kann das Übereinstimmungsmuster For example, the match pattern 316 316 mit einem Teil der Zieladresse eines Pakets übereinstimmen, und die entsprechende Weiterleitungsanweisung matching a part of the destination address of a packet, and the corresponding forwarding order 318 318 kann einen Ausgangsanschluss von dem Netzwerkgerät zu einem Next-hop-Netzwerkgerät entlang eines Netzwerkpfads zu allen Netzwerkadressen identifizieren, die mit dem Muster may identify an output port of the network device into a Next-hop network device along a network path to all the network addresses with the pattern 316 316 übereinstimmen. to match. In einigen Fällen stimmt das Übereinstimmungsmuster In some cases, the matching pattern is true 316 316 nur mit Paketen aus einem bestimmten Datenstrom überein. only packets from a particular data stream match. Jeder Routing-Eintrag in der Weiterleitungstabelle Every entry in the routing table 310 310 ist mit einem Index is an index 312 312 gezeigt, der den Routing-Eintrag eindeutig identifiziert. shown that uniquely identifies the routing entry. Bei einigen Implementierungen hat die Weiterleitungstabelle keinen spezifischen Index In some implementations, the routing table does not have a specific index 312 312 . ,
  • [0030] [0030]
    3B 3B zeigt eine Multipath-Routingtabelle shows a multipath routing table 330 330 mit Indizes with indexes 332 332 , Übereinstimmungsmustern , Matching patterns 336 336 und Weiterleitungsanweisungen and forwarding instructions 338 338 . , Die Multipath- Routingtabelle The multipath routing table 330 330 enthält eine Multipath-Menge containing an amount Multipath 342 342 mit Routing-Einträgen mit demselben Muster with routing entries with the same pattern 336 336 , „Muster A“, aber unterschiedlichen Weiterleitungsanweisungen "Pattern A", but different routing instructions 338 338 : Weiterleitung entlang „Pfad A“, „Pfad B“ bzw. „Pfad C“. : Forwarding along "path A", "B path" or "path C". Außerdem werden eine zusätzliche Multipath-Menge In addition, an additional amount Multipath 344 344 und ein Nicht-Multipath-Routingeintrag and a non-multipath routing entry 348 348 gezeigt. shown. Dieselbe Weiterleitungstabelle The same forwarding table 330 330 kann sowohl für Multipath-Routingeinträge als auch für Singlepath- Routingeinträge verwendet werden. can be used both for multipath routing entries and for Singlepath- routing entries.
  • [0031] [0031]
    ECMP-Routing (Equal-Cost Multi-Path) behandelt Pfade zu einem Ziel allgemein als äquivalent. ECMP Routing (Equal Cost Multi-Path) treated paths to a destination generally considered equivalent. Ein Netzwerk-Switch kann Verkehr durch einen der verschiedenen äquivalenten Pfade weiterleiten, um dasselbe Ziel zu erreichen. A network switch can route traffic through one of the various equivalent paths to reach the same goal. Bei einigen Implementierungen von ECMP verteilt das Netzwerkgerät Verkehr an das Ziel über mehrere Pfade, wenn es mehrere Routing- Einträge in der Weiterleitungstabelle In some implementations of ECMP network device traffic distributed to the target through multiple paths when there are multiple routing entries in the forwarding table 330 330 für dasselbe Ziel gibt. are for the same objective. Es gibt mehrere Möglichkeiten, wie der Verkehr verteilt werden kann. There are several ways that traffic can be distributed. Beispielsweise kann das Netzwerkgerät einfach die Routing-Einträge durchlaufen, sodass jedes Paket einen anderen Pfad nimmt. For example, the network device can easily pass through the routing entries so that each packet takes a different path. Bei einigen Implementierungen ist jedem neuen Datenstrom, der durch das Netzwerkgerät verläuft, ein bestimmter Pfad zugeordnet. In some implementations, each new data stream that passes through the network device associated with a particular path. Dieser Ansatz verteilt direkte Datenströme über die verschiedenen Pfadoptionen, während die verschiedenen Pakete eines einzigen Datenstroms über denselben Pfad übertragen werden. This approach distributes direct data streams over the various path options, while the different packages of a single data stream through the same path to be transmitted. Bei einigen Implementierungen ist ein Teil der Header-Information für jedes Paket gehasht, und die am wenigsten signifikanten Bits des Hash-Ergebnisses werden verwendet, um einen Routing-Eintrag für das Paket zu identifizieren, z. B. nach dem Index In some implementations, a part of the header information for each packet is hashed, and the least significant bits of the hash result is used to identify a routing entry for the packet, for. Example, after the index 332 332 . , Die Teile der Header-Information werden so ausgewählt, dass Pakete desselben Datenstroms denselben Hash-Wert erzeugen. The portions of the header information are selected such that packets of the same data stream produce the same hash value. Bei einigen Implementierungen werden beispielsweise die Header-Bits, die eine Zieladresse und einen Protokolltyp darstellen, gehasht. In some implementations, for example, the header bits representing a destination address and a protocol type, hashed. Die in In the 3B 3B gezeigte Multipath-Weiterleitungstabelle Multipath Forwarding table shown 330 330 beinhaltet eine Multipath-Menge includes a multipath amount 344 344 mit zwei Pfaden für ein Übereinstimmungsmuster with two paths for a match pattern 336 336 „Muster B“. "Pattern B". Als vereinfachtes Beispiel für die Verteilung von Datenströmen über die Pfade in der Menge As a simplified example of the distribution of data streams through the paths in the crowd 344 344 können Paket-Header für Datenströme, die mit Muster B übereinstimmen, gehasht werden. can package headers for data streams that match pattern B are hashed. Wenn der Hash-Wert in diesem Beispiel gerade ist, wird der Routing-Eintrag mit Index „1344“ für Muster B verwendet, um Pakete entlang Pfad D zu übertragen, und wenn der Hash- Wert ungerade ist, wird der Routing-Eintrag mit Index „1345“ für Muster B verwendet, um Pakete entlang Pfad E zu übertragen. If the hash value in this example is straight, the routing entry with index "1344" used for samples B to transmit packets along the path D, and when the hash value is odd, the routing entry with index "1345" is used for samples B to transmit packets along path e.
  • [0032] [0032]
    Außerdem ist es möglich, einige Routingpfade gegenüber anderen zu bevorzugen, indem ein WCMP-Routing (Weighted-Cost Multi-Path) verwendet wird. Moreover, it is possible to favor some routing paths towards other by a WCMP routing (Weighted-Cost Multi-Path) is used. Eine Möglichkeit, WCMP zu implementieren, ist die Eingabe zusätzlicher Routing-Einträge in eine Multipath- Menge mit demselben Pfad. One way to implement WCMP is to enter additional routing entries in a multipath amount with the same path. Beispielsweise könnte Pfad D die doppelte Bandbreite im Vergleich zu Pfad E haben und sollte deshalb doppelt so oft verwendet werden. For example, type D could have twice the bandwidth compared to path E and should be used twice as often. Die Multipath- Menge The multipath amount 344 344 könnte um einen zusätzlichen Eintrag (nicht gezeigt) erweitert werden, der das Übereinstimmungsmuster could (not shown) to be extended by an additional entry, the match pattern the 336 336 und die Weiterleitungsanweisung and the forwarding order 338 338 für Pfad D (Eintragsindex „1344“) wiederholt. repeated for path D (entry index "1344"). Der Netzwerkverkehr wird dann über die drei Routing-Einträge verteilt, was zu doppelt so viel Verkehr wie für die Verwendung von Pfad D im Vergleich zu Pfad E führt. Network traffic is then distributed over the three routing entries, resulting in twice as much traffic as for using path D versus E path. Diese WCMP-Menge (Weighted-Cost Multi-Path) kann als „{Dx 2, Ex 1}“ oder einfach „{2, 11}“ dargestellt werden. This WCMP amount (Weighted-Cost Multi-Path) can be used as "{Dx 2, Ex 1}" or simply "{2, 11}" are displayed. Die erweiterte Darstellung von Multipath-Mengen in einer Weiterleitungstabelle kann jedoch einen maßgeblichen Teil des Speichers verbrauchen, der für die Weiterleitungstabelle reserviert ist. However, the expanded view of multipath quantities in a forwarding table can consume a significant part of the memory which is reserved for the routing table.
  • [0033] [0033]
    3C 3C zeigt eine Multipath-Routingtabelle shows a multipath routing table 350 350 mit gewichteten Routing-Einträgen. with weighted routing entries. Die Multipath-Routingtabelle The multipath routing table 350 350 ist mit Indizes with indices 352 352 , Übereinstimmungsmustern , Matching patterns 356 356 und Weiterleitungsanweisungen and forwarding instructions 358 358 gezeigt. shown. Die Multipath-Routingtabelle The multipath routing table 350 350 enthält eine Multipath-Menge containing an amount Multipath 362 362 mit Routing-Einträgen mit demselben Muster with routing entries with the same pattern 356 356 , „Muster A“, aber drei möglichen Weiterleitungsanweisungen "Pattern A", but three possible forwarding instructions 358 358 : Leite entlang „Pfad A“ für eine Untermenge : Leite along "path A" for a subset 364 364 , entlang „Pfad B“ für eine Untermenge Along "path B" for a subset 366 366 und entlang „Pfad C“ für eine Untermenge and along path "C" for a subset 368 368 weiter. continue. Ebenfalls gezeigt sind eine zusätzliche Multipath-Menge Also shown are an additional multipath amount 374 374 und ein Nicht-Multipath-Routingeintrag and a non-multipath routing entry 376 376 ; ; diese entsprechen den Mengen these are the amounts 344 344 bzw. or. 348 348 , wie in , as in 3B 3B gezeigt. shown. Weiterhin in Bezug auf Still referring to 3C 3C kann dieselbe Weiterleitungstabelle , the same forwarding table 350 350 sowohl für Multipath-Routingeinträge als auch für Singlepath-Routingeinträge verwendet werden. be used for multipath routing entries and for Singlepath routing entries.
  • [0034] [0034]
    Die The 3B 3B und and 3C 3C zeigen, dass minimale Änderungen der Pfadgewichtung einen dramatischen Einfluss auf die Weiterleitungstabelle haben können. show that minimal changes the path weighting can have a dramatic impact on the routing table. Die Multipath-Menge The multipath amount 342 342 in in 3B 3B entspricht drei Pfaden, A, B und C (z. B. in Bezug auf corresponds to three paths, A, B and C (z. B. with respect to 1 1 den drei Pfaden the three paths 144 144 , . 146 146 und and 148 148 ). ). Jeder der Pfade hat das Gewicht 1/3 = 0,333, sodass sie alle gleich sind. Each of the paths has the weight of 1/3 = 0.333, so that they are all equal. Die Multipath-Menge The multipath amount 362 362 in in 3C 3C entspricht denselben drei Pfaden, A, B und C, aber mit einem etwas reduzierten Gewicht für den dritten Pfad, Pfad C. Die Änderung bewirkt, dass Pfad C ein Drittel weniger Verkehr verarbeitet als Pfad A und Pfad B. In der Multipath-Weiterleitungstabelle corresponds to the same three paths A, B and C, but with a slightly reduced weight for the third path, path C. The change causes that path C processed one-third less traffic as path A and path B. In the multipath routing table 350 350 , die in , in the 3C 3C gezeigt ist, gibt es drei Routing-Einträge As shown, there are three routing entries 364 364 für Pfad A und drei Routing-Einträge for Path A and three routing entries 366 366 für Pfad B, aber nur zwei Routing-Einträge for path B, but only two routing entries 368 368 für Pfad. for path. Das bedeutet, Pfad A und Pfad B haben die Gewichte 3/8 = 0,375, während Pfad C ein Gewicht von 2/8 = 0,250 hat. This means that path A and path B have the weights 3/8 = 0.375, while path C has a weight of 2/8 = 0.250. Die Multipath-Menge The multipath amount 362 362 verwendet jedoch acht Einträge {3, 3, 2} in der Multipath-Tabelle but uses eight entries {3, 3, 2} in the multipath table 350 350 , während die Multipath-Menge While the multipath amount 342 342 nur drei Einträge {1, 1, 1} in der Weiterleitungstabelle only three entries {1, 1, 1} in the forwarding table 330 330 verwendete. used.
  • [0035] [0035]
    4 4 ist ein Ablaufdiagramm für Verfahren is a flow diagram for method 400 400 mit einer präfix-orientierten WCMP-Gruppenreduzierung; with a prefix-oriented WCMP group reduction; Das Verfahren the procedure 400 400 beginnt mit einem Routen-Manager, der eine oder mehrere Multipath-Mengen identifiziert, die jeweils eine minimale Anzahl an Routing-Einträgen in einer Weiterleitungstabelle überschreiten, z. B. Mengen, die drei oder mehr Routing-Einträge haben (Phase begins with a Route Manager that identifies one or more multipath amounts each exceed a minimum number of routing entries in a forwarding table, z., amounts, which have three or more routing entries (Phase 410 410 ). ). Für jede der identifizierten Multipath-Mengen erhält der Routen-Manager eine Bewertung, die dem Gewicht des über die Multipath-Menge übertragenen Netzwerkverkehrs entspricht (Phase the route manager receives a rating that corresponds to the weight of the data transmitted via the multipath amount network traffic for each of the identified multipath amounts (Phase 420 420 ). ). Der Routen-Manager erzeugt dann basierend auf den erhaltenen Bewertungen eine oder mehrere potenzielle Ersatzmengen für jede identifizierte Multipath-Menge (Phase The route manager then generated based on the obtained Reviews one or more potential replacement amounts for each identified multipath amount (phase 430 430 ). ). Der Routen-Manager vergleicht die möglichen Ersatzmengen (Phase The Route Manager compares the possible replacement amounts (Phase 440 440 ) und wählt eine oder mehrere potenzielle Ersatzmengen aus, die einem Reduzierungsziel für einen Tabelleneintrag und einem Netzwerkleistungskritierium entsprechen (Phase ), And selects one or more potential replacement quantities of a reduction target for a table entry and a corresponding Netzwerkleistungskritierium (Phase 450 450 ). ). Der Routen-Manager ersetzt dann in der Weiterleitungstabelle die Routing-Einträge für eine oder mehrere Multipath-Mengen durch Routing-Einträge für die entsprechenden ausgewählten Ersatzmengen ( The Route Manager then replaced in the routing table, the routing table entries for one or more multipath amounts (by routing entries for the corresponding selected spare quantities 460 460 ). ). In Bezug auf In relation to 2 2 ist in einigen Implementierungen der Routen-Manager ein SDN-Controller in some implementations, the route manager a SDN controller 220 220 oder ein Teil davon. or a portion thereof.
  • [0036] [0036]
    In Bezug auf In relation to 4 4 beginnt das Verfahren the process begins 400 400 im Detail mit einem Routen-Manager, der eine oder mehrere Multipath-Mengen identifiziert, die eine minimale Anzahl an Routing-Einträgen in einer Weiterleitungstabelle überschreiten (Phase in detail with a Route Manager that identifies one or more multipath amounts that exceed a minimum number of routing entries in a forwarding table (Phase 410 410 ). ). Ist beispielsweise die Mindestanzahl an Routing-Einträgen 5, dann werden nur Mengen mit sechs oder mehr Einträgen für die Reduzierung in Betracht gezogen. For example, if the minimum number of routing entries 5, then amounts are only drawn with six or more entries for the reduction into account. Ist die Mindestanzahl an Routing-Einträgen 2, werden nur Mengen mit drei oder mehr Einträgen für die Reduzierung in Betracht gezogen. If the minimum number of routing entries 2, only amounts to three or more entries are considered for reduction into account. Der Routen-Manager identifiziert Multipath-Mengen in einer Weiterleitungstabelle mit dem Ziel, die Anzahl der Einträge in der Tabelle zu reduzieren, die von den identifizierten Multipath-Mengen verwendet werden. The Route Manager identifies multipath amounts in a forwarding table with the goal of reducing the number of entries in the table used by the identified multipath sets. Bei einigen Implementierungen wird das Verfahren In some implementations, the process is 400 400 in regelmäßigen Intervallen ausgeführt. carried out at regular intervals. Bei einigen Implementierungen wird das Verfahren In some implementations, the process is 400 400 ausgeführt, wenn die Weiterleitungstabelle mit mehr als einer Schwellenanzahl an Einträgen gefüllt ist. performed when the forwarding table with more than a threshold number of entries is filled. Bei einigen Implementierungen wird das Verfahren In some implementations, the process is 400 400 von einem Administrator veranlasst. caused by an administrator.
  • [0037] [0037]
    Für jede der identifizierten Multipath-Mengen erhält der Routen-Manager eine Bewertung, die dem Gewicht des über die Multipath-Menge übertragenen Netzwerkverkehrs entspricht (Phase the route manager receives a rating that corresponds to the weight of the data transmitted via the multipath amount network traffic for each of the identified multipath amounts (Phase 420 420 ). ). Bei einigen Implementierungen ist diese Bewertung Teil der Kostenmetrik für die Verkehrsreduzierung. In some implementations, this review is part of the cost metric for traffic reduction. Bei einigen Implementierungen verwaltet der Routen-Manager eine Bewertung (eine „Gewichtungsbewertung“) basierend auf den Typen der übertragenen Pakete. In some implementations, the route manager maintains a rating (a "weighting Review") based on the types of transmitted packets. Bei einigen Implementierungen werden Datenströme, die bestimmte Protokolle verwenden, als gewichtiger als andere Datenströme betrachtet. In some implementations, data streams that use specific protocols, regarded as more important than other data streams. Beispielsweise werden bei einigen Implementierungen Netzwerkübertragungen, die ein statusbehaftetes Transportschicht-Protokoll verwenden, als gewichtiger erachtet als Übertragungen, die statuslose Transportschicht-Protokolle verwenden. For example, in some implementations, network transmissions using a stateful transport layer protocol, as weightier deemed transfers that use stateless transport layer protocols. Beispiele für ein statusbehaftetes Transportschicht-Protokoll sind TCP (Transmission Control Protocol), DCCP (Datagram Congestion Control Protocol) und SCTP (Stream Control Transmission Protocol), jedoch nicht darauf begrenzt. Examples of a stateful transport layer protocol is TCP (Transmission Control Protocol), DCCP (Datagram Congestion Control Protocol) and SCTP (Stream Control Transmission Protocol), but not limited to. Ein Beispiel für ein statusloses Transportschicht-Protokoll ist UDP (User Datagram Protocol). An example of a stateless transport layer protocol is UDP (User Datagram Protocol). Bei einigen Implementierungen wird ein Datenstrom, der eine Größenbeschränkung überschreitet, als gewichtiger als andere Netzwerkübertragungen betrachtet. In some implementations, a data stream that exceeds the size limit, considered to be overweight than other network transmissions. Bei einigen Implementierungen werden die Quell- und/oder Zielnetzwerkadresse (oder das Netzwerkadresspräfix) verwendet, um zu erkennen, ob Netzwerkverkehr wichtig ist. In some implementations, the source and / or destination network address are used (or, network address) to see if network traffic is important. Bei einigen Implementierungen werden Netzwerkpaketadressen, die an eine bestimmte Netzwerkadresse gerichtet sind, oder an einen Netzwerkadressbereich, als gewichtiger (oder weniger gewichtiger) erachtet als andere Netzwerkübertragungen. In some implementations network packet addresses that are addressed to a specific network address, or to a network address range as overweight (obese or less) is considered as another network transmissions. Bei einigen Implementierungen ist die Gewichtungsbewertung eine laufende Bewertung, die das Gewicht des während eines Zeitintervalls übertragenen Netzwerkverkehrs misst. In some implementations, the weighting evaluation is an ongoing evaluation that measures the weight of the transmitted during a time interval network traffic. Bei einigen Implementierungen beeinflusst die Datenmenge, die über einen Multipath-Menge übertragen wird, die Gewichtungsbewertung. In some implementations, the amount of data that is transmitted over a multipath amount affects the weight rating. Bei einigen Implementierungen ist die Gewichtungsbewertung ein Boolescher Wert, der angibt, ob die Daten wichtig oder nicht wichtig sind. In some implementations, the weighting evaluation is a Boolean value that indicates whether the data is important or not important. Bei einigen Implementierungen ist die Gewichtungsbewertung ein numerischer Wert. In some implementations, the weighting rating is a numerical value.
  • [0038] [0038]
    Der Routen-Manager erzeugt dann basierend auf den erhaltenen Bewertungen eine oder mehrere potenzielle Ersatzmengen für jede identifizierte Multipath-Menge (Phase The route manager then generated based on the obtained Reviews one or more potential replacement amounts for each identified multipath amount (phase 430 430 ). ). Wenn bei einigen Implementierungen eine Multipath-Menge eine vergleichsweise niedrige Gewichtungsbewertung aufweist, oder wenn die Bewertung darauf hinweist, dass die Multipath-Menge nicht gewichtig ist, verwendet der Routen-Manager das in If in some implementations, a multipath amount has a relatively low exposure assessment, or if the assessment indicates that the multipath amount is not overweight, the route manager uses in 5 5 gezeigte Verfahren method shown 500 500 , um eine minimale Menge verschiedener Routing-Einträge für die unwichtige Multipath-Menge auszuwählen. To a minimal amount of different routing entries for the unimportant multipath amount select. Bei einigen Implementierungen wird für eine WCMP-Menge (Weighted-Cost Multi-Path) eine potenzielle Ersatzmenge generiert, indem die WCMP-Menge in eine ECMP-Menge (Equal-Cost Multi-Path) umgewandelt wird. In some implementations, a potential replacement amount is generated for a WCMP amount (Weighted-Cost Multi-Path) by the WCMP amount is converted into an amount ECMP (Equal Cost Multi-Path). Beispielsweise kann eine WCMP-Menge {4, 4, 2, 1} abgeflacht werden auf {1, 1, 1, 1}. For example, a WCMP set {4, 4, 2, 1} can be flattened to {1, 1, 1, 1}. Bei einigen Implementierungen werden für eine WCMP-Menge ein oder mehrere niedriger gewichtete Pfade aus der Menge entfernt. In some implementations, be a for a WCMP amount or removed more lower-weighted paths from the set. Beispielsweise kann eine WCMP-Menge {4, 4, 2, 1} abgeflacht umgewandelt werden in {4, 4, 2}, was aufgelöst wird zu {2, 2, 1}. For example, a WCMP set {4, 4, 2, 1} is converted flattened in the {4, 4, 2}, which is dissolved to {2, 2, 1}. Dies kann wiederholt werden, um z. B. {2, 2, 1} weiter zu {1, 1} zu reduzieren. This can be repeated to z. B. {2, 2, 1} to further reduce to {1, 1}. Bei einigen Implementierungen wird die WCMP-Menge modifiziert, indem sowohl ein oder mehrere Pfade entfernt werden, als auch, indem die restlichen Pfade in eine ECMP-Menge abgeflacht werden, wobei jeder Pfad in der Menge nur einmal vertreten ist. In some implementations, the WCMP amount is modified by both one or more paths are removed, as well as by the remaining paths are flattened in an ECMP amount of each path is represented only once in the set. Beispielsweise kann eine WCMP-Menge {4, 4, 2, 1} reduziert werden zu {1, 1, 1}. For example, a WCMP set {4, 4, 2, 1} can be reduced to {1, 1, 1}.
  • [0039] [0039]
    Der Routen-Manager vergleicht die möglichen Ersatzmengen (Phase The Route Manager compares the possible replacement amounts (Phase 440 440 ) und wählt ein oder mehrere potenzielle Ersatzmengen aus, die ein Reduzierungsziel für die Tabelleneinträge und ein Netzwerkleistungskriterium (Phase ), And selects one or more potential replacement quantities from which a reduction target for the table entries and network performance criterion (Phase 450 450 ) erfüllen. ) fulfill. Jede potenzielle Ersatzmenge reduziert, wenn sie anstelle einer entsprechenden Multipath-Menge verwendet wird, die Anzahl der verwendeten Einträge in der Weiterleitungstabelle Jede potenzielle Ersatzmenge stellt, wenn sie anstelle einer entsprechenden Multipath-Menge verwendet wird, auch den Netzwerkverkehr unter Verwendung der Multipath-Menge mit der reduzierten Netzwerkleistung bereit. Each potential replacement amount reduced if it is used in place of a corresponding multipath amount, the number of entries used in the forwarding table every potential replacement amount is, when used in place of a corresponding multipath lot, even the network traffic using the multipath crowd with the reduced network performance ready. Wird beispielsweise aus einer Multipath-Menge ein Pfad entfernt, verliert der Verkehr den Zugriff auf die Bandbreite, die der entfernte Pfad beigetragen hat. For example, from a multipath amount a path away, the traffic will lose access to the bandwidth that has contributed the remote path. Dieser Verlust kann durch andere Faktoren aufgewogen werden. This loss can be offset by other factors. Die potenzielle Änderung der Netzwerkleistung wird als Kostenmetrik für die Verkehrsreduzierung gemessen. The potential change in network performance is measured as the cost metric for traffic reduction.
  • [0040] [0040]
    Bei einigen Implementierungen wird die potenzielle Änderung der Netzwerkleistung nach der in Phase In some implementations, the potential change of network performance after Phase 420 420 erhaltenen Gewichtungsbewertung gewichtet. Weighting evaluation obtained weighted. Das bedeutet, es kann für Verkehr mit geringem oder mittlerem Gewicht akzeptabler sein, eine bestimmte Änderung der Netzwerkleistung zu tolerieren, und weniger akzeptabel für Verkehr mit hohem Gewicht, dieselbe spezielle Änderung der Netzwerkleistung zu tolerieren. This means it may be acceptable for traffic with low or medium weight to tolerate a certain change in network performance, and less acceptable for transport with high weights to tolerate the same specific change in network performance.
  • [0041] [0041]
    Die Vergleiche in Phase The comparisons in phase 440 440 können ein oder mehrere der folgenden Dinge umfassen: Vergleich von mindestens zwei Ersatzmengen von Routing-Einträgen, die derselben Multipath-Gruppe entsprechen; may include one or more of the following: comparing at least two spare sets of routing entries corresponding to the same multipath group; Vergleich von Ersatzmengen von Routing-Einträgen, die mindestens zwei verschiedenen Multipath-Gruppen entsprechen; Comparison of spare sets of routing entries corresponding to at least two different multipath groups; und Vergleich von mindestens zwei Aggregationen von mehreren Ersatzmengen mit Routing-Einträgen, die jeweils mehreren Multipath-Gruppen entsprechen. and comparing at least two aggregations of several replacement quantities of routing entries, each corresponding to a plurality of multi-path groups.
  • [0042] [0042]
    Bei einigen Implementierungen vergleicht der Routen-Manager die Möglichkeiten und wählt (Phase In some implementations, the route manager compares the options and selects (Phase 450 450 ) eine oder mehrere potenzielle Ersatzmengen aus, sodass mindestens eine Zielanzahl von Routing-Einträgen in der Weiterleitungstabelle mit einem akzeptabel geringem Einfluss auf die Netzwerkleistung entfernt wird. ) One or more potential replacement quantities from, so that at least a destination number of routing entries in the forwarding table is removed with an acceptably low effect on the network performance. Bei einigen Implementierungen verwendet der Routen-Manager eine Kombination von Ersetzungen über mehrere Multipath-Mengen, um das Reduzierungsziel für die Tabelle zu erreichen. In some implementations, the route manager uses a combination of replacements for several multipath amounts to achieve the reduction target for the table. Bei einigen Implementierungen berechnet der Routen-Manager den möglichen Bandbreitenverlust, der sich aus der Verwendung von ein oder mehreren der potenziellen Ersatzmengen ergibt, und verwendet die Ergebnisse dieser Berechnungen, um zu bestimmen, welche der potenziellen Ersatzmengen in Phase In some implementations, the route manager calculates the possible loss of bandwidth that results from the use of one or more of the potential substitute quantities, and uses the results of these calculations to determine which of the potential substitute quantities in phase 450 450 auszuwählen sind. are to be selected. Bei einigen Implementierungen berichtet der Routen-Manager den erwarteten Bandbreitenverlust, der einer oder mehreren der ausgewählten Ersatzmengen zuzuordnen ist, einem Netzwerkmonitor. In some implementations, the route manager reports the expected loss of bandwidth to be assigned to one or more of the selected spare quantities, a network monitor.
  • [0043] [0043]
    Als veranschaulichendes Beispiel in Bezug auf As an illustrative example in relation to 1 1 und and 3C 3C sind die gezeigten Pfade are the paths shown 144 144 , . 146 146 und and 148 148 durch die Zwischennetzwerke through the intermediate networks 130 130 eine Multipath-Menge. a multipath set. Sie werden in einer Multipath-Weiterleitungstabelle They are in a multipath routing table 350 350 als Multipath-Menge as multipath amount 362 362 dargestellt, z. B. {3, 3, 2}. shown, for. example, {3, 3, 2}. Pfad A A path 144 144 und Pfad B and path B 146 146 verwenden ein erstes Grenz-Gerät use a first cutoff device 124 124 , während Pfad C While path C 148 148 ein zweites Grenz-Gerät a second limit device 126 126 verwendet. used. Die beiden Grenzgeräte The two limiting devices 124 124 und and 126 126 könnten mit unterschiedlichen Zwischennetzwerken could with different intermediate networks 130 130 verbunden sein, oder andere Implementierungscharakteristiken haben, die bewirken, dass Pfad C be connected or have other deployment characteristics that cause the path C 148 148 mit einer geringeren Kapazität arbeitet als Pfad A oder Pfad B. Die Multipath-Menge {3, 3, 2} verwendet acht Einträge in der Multipath-Weiterleitungstabelle with a lower capacity Multipath set {3, 3, 2} used operates as a path A or path B. eight entries in the forwarding table Multipath 350 350 . , Bei einigen Implementierungen kann das Verfahren In some implementations, the process can 400 400 {1, 1} als potenzielle Ersatzmenge für {3, 3, 2} generieren, indem der dritte Pfad weggelassen wird, dh Pfad D. Diese potenzielle Ersatzmenge würde nur zwei Einträge in der Multipath-Weiterleitungstabelle verwenden, sodass sich 6 Tabelleneinträge weniger ergeben. generate {1, 1} as a potential replacement amount for {3, 3, 2} by the third path is omitted, that is, path D. This potential replacement amount would only two entries to use in the multi-path routing table, so that 6 table entries less yield. Der Wegfall von Pfad C führt jedoch auch zu einem Verlust der Netzwerkkapazität, die durch Pfad C beigetragen wurde. However, the loss of path C also leads to a loss of network capacity, which was contributed by path C. Insbesondere hat Pfad C zwei von acht Routingoptionen (25 %) beigetragen, die nach dem Entfernen von Pfad C aus der Multipath-Menge nicht mehr zur Verfügung stehen. In particular, path C has two of eight routing options (25%) contributed, are no longer available after the removal of path C of the multipath quantity. Bei einigen Implementierungen ist die Multipath-Menge einem Wert für eine Gewichtungsmetrik zugeordnet, die dem über die betreffende Multipath-Menge übertragen Verkehr entspricht. In some implementations, the multipath amount is associated with a value for a weighting metric corresponding to the transmitted via the respective multipath lot of traffic. Bei einigen Implementierungen ist beispielsweise der Wert für die Gewichtungsmetrik die Gewichtungsbewertung aus Phase In some implementations, the value of the weighting metric, for example, the weight rating from phase 420 420 . , Bei einigen Implementierungen ist jeder potenziellen Ersatzmenge eine Einflussbewertung zugeordnet, die gleich dem Wert für die Gewichtungsmetrik ist, multipliziert mit dem Prozentsatz der entfernten Routing-Optionen. In some implementations, each potential replacement amount is assigned an impact assessment, which is equal to the value for the weighting metric, multiplied by the percentage of the remote routing options. Wird das Beispiel mit der Reduzierung von {3, 3, 2} auf {1, 1} mit der Annahme fortgesetzt, dass der Verkehr, der über die Multipath-Menge übertragen wird, einen Gewichtungswert von X hat, wäre die Einflussbewertung X mal 0,25. If the sample with the reduction of {3, 3, 2} to {1, 1} continued with the assumption that the traffic is transmitted over the multipath amount, has a weighting value of X, the impact assessment would be X times 0 , 25th Bei einigen Implementierungen wird diese Gewichtungsbewertung verglichen mit den Bewertungen für einige (oder alle) mögliche Reduzierungen von Multipath-Gruppen in der Weiterleitungstabelle, und anschließend wird der Gruppenersatz (oder eine Kombination aus Gruppenersätzen) mit der niedrigsten Einflussbewertung ausgewählt. In some implementations, this weighting rating compared to the ratings for some (or all) possible reductions of multipath groups in the forwarding table, and then the group will spare (or a combination of Gruppenersätzen) selected with the lowest impact assessment.
  • [0044] [0044]
    Als Beispielszenario könnte es drei WCMP-Mengen geben, dargestellt als die Gruppen G1, G2 und G3, die jeweils Netzwerkdatenströme übertragen, die mit einem von vier Mustern P1, P2, P3 und P4 übereinstimmen. As an example scenario, there could be three WCMP quantities represented as the groups G1, G2 and G3, each transmitting network data streams that match with one of four patterns P1, P2, P3 and P4. Der Netzwerkverkehr für jedes Muster wird dann einer entsprechenden Gewichtungsbewertung zugeordnet: C p l = 32, C p 2 = 3, C p 3 = 3, C p 4 = 8. Datenströme, die mit Muster P1 übereinstimmen, verwenden die Netzwerkrouten von Multipath-Menge G1 {2, 2, 2, 2, 1, 1}; The network traffic for each pattern is then associated with a corresponding weighting reviewed C p l = 32, C p 2 = 3, C p 3 = 3, C p 4 = 8 data streams that match patterns P1, use the network routes of multipath quantity G1 {2, 2, 2, 2, 1, 1}; Datenströme, die mit den Mustern P2 oder P3 übereinstimmen, verwenden die Netzwerkrouten der Multipath-Menge G2, {3, 3, 2, 2}; Data streams that match the patterns P2 and P3, using the network routes the multipath amount G2, {3, 3, 2, 2}; und Datenströme, die mit Muster P4 übereinstimmen, verwenden die Netzwerkrouten der Multipath-Menge G4, {3, 3, 3, 1}. and data streams that match pattern P4, using the network routes the multipath quantity G4, {3, 3, 3, 1}. Dieses Beispielszenario ist nachfolgend in Tabelle 1 gezeigt. This example scenario is shown below in Table 1 below. Zwei Beispiele für die Reduzierung dieser WCMP-Mengen (G1, G2 und G3) sind nachfolgend in den Tabellen 2 und 3 gezeigt. Two examples of the reduction of this WCMP quantities (G1, G2 and G3) are shown below in Tables 2 and 3. FIG. In Tabelle 2 ist das Ziel, mindestens fünf Einträge in einer Weiterleitungstabelle freizugeben. In Table 2, the goal is to release at least five entries in a routing table. In Tabelle 3 ist das Ziel, mindestens zwölf Einträge in einer Weiterleitungstabelle freizugeben. In Table 3, the goal is to release at least twelve entries in a routing table. TABELLE 1: WCMP-Mengen für Reduzierungsbeispiele TABLE 1: WCMP amounts for reducing Examples
    WCMP-Menge WCMP amount Muster für den zugeordneten Verkehr Pattern for the associated traffic Anzahl der verwendeten Einträge Number of entries used Gewichtungsbewertung für den Verkehr Weighting rating for traffic
    G1: {2, 2, 2, 2, 1, 1} G1: {2, 2, 2, 2, 1, 1} P1 P1 10 10 32 32
    {3, 3, 2, 2} {3, 3, 2, 2} P2 & P3 P2 & P3 10 10 3 + 3 = 6 3 + 3 = 6
    {3, 3, 3, 1} {3, 3, 3, 1} P4 P4 10 10 8 8th
  • [0045] [0045]
    Die nachfolgend gezeigte Tabelle 2 zeigt einige der Reduzierungsoptionen für ein Beispiel, bei dem das Ziel ist, mindestens 5 Einträge in einer Weiterleitungstabelle freizugeben. Table 2 shown below shows some of the options for reducing an example in which the goal is to release at least 5 entries in a forwarding table. Die Multipath-Menge G1, {2, 2, 2, 2, 1, 1}, könnte durch Menge {1, 1, 1, 1} ersetzt werden, die eine Menge darstellt, die die beiden am niedrigsten gewichteten Pfade weglässt und die restlichen Pfade als gleich behandelt. The multipath amount G1, {2, 2, 2, 2, 1, 1}, could be replaced by set {1, 1, 1, 1} which is an amount of omitting the two lowest weighted paths and remaining paths are treated as the same. Das Ergebnis ist, sechs Einträge aus der Weiterleitungstabelle freizugeben, wobei nur zwei der zehn Routingoptionen verlorengehen. The result is to release six entries from the routing table, with only two of the ten routing options lost. Der Kapazitätsverlust von 20 Prozent wird durch das Gewicht des Verkehrs bewertet (dh die Summe der Gewichtungsbewertungen für Netzwerkdatenströme, die mit den Mustern übereinstimmen, die verwendet werden, um Verkehr in die Multipath-Gruppe zu leiten), um eine gewichtete Bewertung für den Reduzierungseinfluss von 6,4 zu generieren. The capacity loss of 20 percent is assessed by the weight of traffic (ie the sum of the weighted ratings for network data streams that match the patterns that are used to direct traffic in the multipath group) to a weighted evaluation for the reduction influence of to generate 6.4. Die Multipath-Menge G2, {3, 3, 2, 2}, könnte durch Menge {1, 1, 1, 1} ersetzt werden, die alle Pfade beibehält und sie als gleich behandelt. The multipath amount G2, {3, 3, 2, 2} could be achieved by set {1, 1, 1, 1} be replaced, which retains all of the paths and use it as treated equally. Das Ergebnis ist, sechs Einträge aus der Weiterleitungstabelle freizugeben, wobei nur zwanzig Prozent der zehn Routingoptionen verlorengehen. The result is to release six entries from the routing table, which lost only twenty percent of the ten-routing options. Der Kapazitätsverlust von zwanzig Prozent wird gewichtet durch das Gewicht des Übereinstimmungsmusters P2 für den Verkehr und des Übereinstimmungsmusters P3 für den Verkehr, um eine gewichtete Bewertung für den Reduzierungseinfluss von 1,2 zu generieren. The capacity loss of twenty percent is weighted by the weight of the matching pattern P2 for the traffic and the matching pattern P3 for traffic to generate a weighted evaluation for the reduction effect of 1.2. Die Multipath-Menge G3, {3, 3, 3, 1}, könnte durch Menge {1, 1, 1} ersetzt werden, die eine Menge darstellt, die den am niedrigsten gewichteten Pfad weglässt und die restlichen Pfade als gleich behandelt. The multipath amount G3, {3, 3, 3, 1}, could be replaced, which is an amount of omitting the lowest weighted path and the remaining paths as treated by the same set {1, 1, 1}. Das Ergebnis ist, sieben Einträge aus der Weiterleitungstabelle freizugeben, wobei nur zehn Prozent der Routingoptionen verlorengehen. The result is to release seven entries from the routing table, which lost only ten percent of routing options. Die gewichtete Bewertung für den Reduzierungseinfluss beträgt 0,8, was die niedrigste Einflussbewertung der drei Optionen ist. The weighted scoring the reduction effect is 0.8, which is the lowest impact assessment of the three options. Aus diesem Grund würde die dritte Option der drei Optionen ausgewählt. For this reason, the third option of the three options would be selected. TABELLE 2: WCMP-Reduzierungsbeispiel 1 TABLE 2: WCMP reduction Example 1
    WCMP-Menge WCMP amount Potenzielle Ersatzmenge Potential replacement quantity Anzahl der freigegebenen Einträge Number of shared items Verlorene Netzwerkkapazität Lost network capacity Gewichtungsbewertung für den Verkehr Weighting rating for traffic Gewichtete Bewertung für den Reduzierungseinfluss Weighted score for the reduction of impact
    G1: {2, 2, 2, 2, 1, 1} G1: {2, 2, 2, 2, 1, 1} {1, 1, 1, 1} {1, 1, 1, 1} 6 6 20 % 20% 32 32 32 × 20 % = 6,4 32 x 20% = 6.4
    G2: {3, 3, 2, 2} G2: {3, 3, 2, 2} {1, 1, 1, 1} {1, 1, 1, 1} 6 6 20 % 20% 6 6 6 × 20 % = 1,2 6 × 20% = 1.2
    G3: {3, 3, 3, 1} G3: {3, 3, 3, 1} {1, 1, 1} {1, 1, 1} 7 7 10 % 10% 8 8th 8 × 10 % = 0,8 8 x 10% = 0.8
  • [0046] [0046]
    Die nachfolgend gezeigte Tabelle 3 zeigt einige der Reduzierungsoptionen für ein Beispiel, wobei das Ziel ist, mindestens zwölf Einträge in einer Weiterleitungstabelle freizugeben. Table 3 shown below shows some of the options for reducing an example in which the goal is to release at least twelve entries in a forwarding table. Die Multipath-Menge G1, {2, 2, 2, 2, 1, 1}, könnte durch die Menge {1, 1, 1, 1} ersetzt werden, wie in Beispiel 1, oder durch noch kleinere Multipath-Mengen {1, 1, 1}, {1, 1} oder {1}, die jeweils eine Menge darstellen, die zusätzliche Pfade weglässt. The multipath amount G1, {2, 2, 2, 2, 1, 1}, could by the set {1, 1, 1, 1} be replaced, as in Example 1, or by even smaller multipath sets {1 , 1, 1}, {1, 1} or {1}, each representing an amount omitting the additional paths. Keine dieser Optionen für sich allein gibt jedoch zwölf Einträge in der Weiterleitungstabelle frei. However, none of these options alone are twelve entries free in the routing table. Dasselbe gilt für die Ersatzoptionen für Multipath-Mengen G2, {3, 3, 2, 2}, und für die Multipath-Menge G3, {3, 3, 3, 1}. The same is true for the replacement options for multipath amounts G2, {3, 3, 2, 2}, and the amount of multipath G3, {3, 3, 3, 1}. Eine Kombination der beiden Optionen mit den niedrigsten Einflussbewertungen jedoch gibt dreizehn Einträge in der Weiterleitungstabelle frei, womit das Ziel erreicht ist. A combination of the two options with the lowest impact reviews but are thirteen entries free in the forwarding table, so the goal is reached. Wenn es in einigen Implementierungen keine einzelne Option gibt, die die Anzahl der in der Weiterleitungstabelle verwendeten Einträge auf die Zielanzahl reduziert, unterteilt ein Routen-Manager die Zielanzahl in zwei oder mehr partielle Ziele, deren Summe gleich dem Originalziel ist. If there is no single option in some implementations, which reduces the number of used entries in the routing table on the target number, a route manager divides the target number in two or more partial goals, the sum of which is equal to the original destination. Beispielsweise kann ein Ziel, zwölf Einträge aus der Weiterleitungstabelle zu entfernen, erreicht werden, indem sechs Einträge entfernt werden, und indem anschließend versucht wird, weitere sechs Einträge zu entfernen. For example, a goal to remove twelve entries from the routing table, be achieved by six entries are removed, and by then tries to remove another six entries. Das bedeutet, das Ziel (12) wird in die Ziele (6, 6) unterteilt. That is, the target (12) is in the targets (6, 6) is divided. Bei einigen Implementierungen werden mehrere mögliche Unterteilungen versucht, z. B. (6, 6), (7, 5), (8, 4), (4, 4, 4), (5, 4, 3) usw. In dem in Tabelle 3 gezeigten Beispiel würde die Suche nach einer Ersatzmenge, um sechs Einträge freizugeben, zu der Auswahl von {1, 1, 1} führen, um G3 zu ersetzen, und eine weitere Suche nach einer Ersatzmenge, um weitere sechs Einträge freizugeben, würde zur Auswahl von {1, 1, 1, 1} führen, um G2 zu ersetzen. In some implementations, several possible subdivisions are tried z. B. (6, 6), (7, 5), (8, 4), (4, 4, 4), (5, 4, 3), etc. In the shown in table 3 as would the search for a replacement quantity, in order to release six entries, leading to the selection of {1, 1, 1} to replace G3, and a further search for a replacement quantity to release another six entries would to select {1, 1, 1, 1} lead to replace G2. Diese Kombination aus Ersatzmengen führt zu einer Reduzierung von dreizehn Einträgen aus der Weiterleitungstabelle, womit das ursprüngliche Ziel erfüllt wird, zwölf Einträge freizugeben. This combination of spare quantities leads to a reduction of thirteen entries from the routing table, so the initial goal is met to release twelve entries. TABELLE 3: WCMP-Reduzierungsbeispiel 2 TABLE 3: Reduction WCMP Example 2
    WCMP-Menge WCMP amount Potenzielle potential Anzahl number Verlorene lost Gewichtung weighting Gewichtete weighted
    Ersatzmenge replacement amount der freigegebe nen Einträge the freigegebe nen items Netzwerkka pazität Networ capacity sbewertung für den Verkehr sbewertung to traffic Bewertung für den Reduzierungs einfluss Rating for the Reduction influential
    G1: {2, 2, 2, 2, 1, 1} G1: {2, 2, 2, 2, 1, 1} {1, 1, 1, 1} {1, 1, 1, 1} 6 6 20 % 20% 32 32 6,4 6.4
    G1: {2, 2, 2, 2, 1, 1} G1: {2, 2, 2, 2, 1, 1} {1, 1, 1} {1, 1, 1} 7 7 40 % 40% 32 32 12,8 12.8
    G1: {2, 2, 2, 2, 1, 1} G1: {2, 2, 2, 2, 1, 1} {1, 1} {1, 1} 8 8th 60 % 60% 32 32 19,2 19.2
    G1: {2, 2, 2, 2, 1, 1} G1: {2, 2, 2, 2, 1, 1} {1} {1} 9 9 80 % 80% 32 32 25,6 25.6
    G2: {3, 3, 2, 2} G2: {3, 3, 2, 2} {1, 1, 1, 1} {1, 1, 1, 1} 6 6 20 % 20% 6 6 1,2 1.2
    G2: {3, 3, 2, 2} G2: {3, 3, 2, 2} {1, 1, 1} {1, 1, 1} 7 7 40 % 40% 6 6 2,4 2.4
    G2: {3, 3, 2, 2} G2: {3, 3, 2, 2} {1, 1} {1, 1} 8 8th 40 % 40% 6 6 2,4 2.4
    G2: {3, 3, 2, 2} G2: {3, 3, 2, 2} {1} {1} 9 9 70 % 70% 6 6 4,2 4.2
    G3: {3, 3, 3, 1} G3: {3, 3, 3, 1} {1, 1, 1} {1, 1, 1} 7 7 10 % 10% 8 8th 0,8 0.8
    G3: {3, 3, 3, 1} G3: {3, 3, 3, 1} {1, 1} {1, 1} 8 8th 40 % 40% 8 8th 3,2 3.2
    G3: {3, 3, 3, 1} G3: {3, 3, 3, 1} {1} {1} 9 9 70 % 70% 8 8th 5,6 5.6
  • [0047] [0047]
    Bei einigen Implementierungen wird ein umfangreicher Vergleich über alle möglichen Ersatzmengen durchgeführt, oder über alle möglichen Ersatzmengen innerhalb einer Menge einschränkender Parameter. In some implementations, a comprehensive comparison of all possible compensation amounts is performed, or over all possible compensation amounts within an amount limiting parameters. Bei einigen Implementierungen ist der umfangreiche Vergleich auf eine Untermenge möglicher Ersatzmengen begrenzt, die als Kandidaten-Ersatzmengen generiert werden. In some implementations, the comprehensive comparison is limited to a subset of possible compensation amounts that are generated as candidate replacement quantities. Beispielsweise werden bei einigen Implementierungen Optionen für Multipath-Ersatzmengen nur für WCMP-Mengen generiert, die verwendet werden, um Verkehr mit einer Gewichtungsbewertung unterhalb eines Schwellenwert zu transportieren. For example, options for multipath compensation amounts are generated only for WCMP amounts in some implementations, which are used to carry traffic with a weighting score below a threshold value. Bei einigen solcher Implementierungen wird der Schwellenwert inkrementell erhöht, bis eine durchführbare Option identifiziert ist. In some such implementations, the threshold is increased incrementally until a viable option is identified. Bei einigen Implementierungen beinhaltet der umfassende Vergleich den Vergleich potenzieller Kombinationen aus Ersatzmengen. In some implementations, the comprehensive comparison involves comparing potential combinations of compensation amounts. Beispielsweise wurde in dem in Tabelle 3 dargestellten Beispiel eine Kombination aus Ersatzmengen verwendet. For example, a combination of replacement amounts was used in the example shown in Table 3, for example.
  • [0048] [0048]
    In Bezug auf In relation to 4 4 ersetzt der Routen-Manager dann in der Weiterleitungstabelle die Routing-Einträge für eine oder mehrere Multipath-Mengen durch Routing-Einträge für die entsprechenden ausgewählten Ersatzmengen ( the route manager then replaced in the routing table, the routing table entries for one or more multipath amounts (by routing entries for the corresponding selected spare quantities 460 460 ). ). Bei einigen Implementierungen erzeugt der Routen-Manager eine neue Weiterleitungstabelle mit den ausgewählten Ersatz-Multipath-Mengen und lässt die entsprechenden ersetzten Mengen weg. In some implementations, the route manager generates a new forwarding table with the selected replacement multipath volumes and omits the corresponding amounts replaced.
  • [0049] [0049]
    5 5 ist ein Ablaufdiagramm für ein Verfahren is a flow chart for a method 500 500 für eine WCMP-Gruppenreduzierung für Multipath-Mengen, die nicht verwendet werden, um wichtigen Netzwerkverkehr zu übertragen. for a WCMP Group Reduction for multipath sets that are not used to transmit important network traffic. Ähnlich zu Verfahren Similar to Method 400 400 beginnt das Verfahren the process begins 500 500 mit einem Routen-Manager, der eine Multipath-Menge identifiziert, die eine minimale Anzahl an Routing-Einträgen in einer Weiterleitungstabelle überschreitet (Phase a Route Manager that identifies a multipath level exceeding a minimum number of routing entries in a forwarding table (Phase 510 510 ). ). Der Routen-Manager stellt fest, ob die identifizierte Multipath-Menge nicht verwendet wird, um wichtigen Netzwerkverkehr zu transportieren (Phase The Route Manager determines whether the identified multipath amount is not used to transport important network traffic (Phase 520 520 ), und wählt eine Mindestmenge verschiedener Routing-Einträge für die Multipath-Menge aus (Phase ), And selects a minimum amount of various routing entries for the multipath quantity (Phase 530 530 ). ). Der Routen-Manager entfernt alle anderen Routing-Einträge für die Multipath-Menge aus der Weiterleitungstabelle, bei denen es sich nicht um die ausgewählten Einträge handelt (Phase The Route Manager removes all other routing entries (for multipath amount from the routing table, which are other than the selected entries phase 540 540 ). ).
  • [0050] [0050]
    In Bezug auf In relation to 5 5 detaillierter beschrieben, beginnt das Verfahren described in more detail, the process begins 500 500 mit einem Routen-Manager, der eine Multipath-Menge identifiziert, die mehr als eine Mindestanzahl an Routing-Einträgen in der Weiterleitungstabelle hat (Phase a Route Manager that identifies a multipath amount more than a minimum number of routing entries in the forwarding table (Phase 510 510 ), und feststellt, ob die identifizierte Multipath-Menge nicht verwendet wird, um wichtigen Netzwerkverkehr zu transportieren (Phase ), And determines whether the identified multipath amount is not used to transport important network traffic (Phase 520 520 ). ). Dies ist ein Sonderfall der Phasen This is a special case of the phases 410 410 und and 420 420 , wie in , as in 4 4 gezeigt, wobei eine Multipath-Menge mit mehr als einer Mindestanzahl an (z. B. 2) Routing-Einträgen in der Weiterleitungstabelle identifiziert wird, entweder keinen Verkehr oder Verkehr mit wenig Gewicht zu transportieren. shown, wherein a multipath amount more than a minimum number of (z. B. 2) routing entries in the routing table is identified, to transport either no traffic or traffic with little weight.
  • [0051] [0051]
    Weiterhin in Bezug auf Still referring to 5 5 gilt im Detail, dass der Routen-Manager eine Mindestmenge verschiedener Routingeinträge für die Multipath-Menge auswählt (Phase is considered in detail that the route manager a minimum amount of various routing entries for the multipath selects amount (Phase 530 530 ). ). Bei einigen Implementierungen entspricht eine Mindestmenge zwei Routen. In some implementations, a minimum amount corresponds to two routes. Bei einigen Implementierungen wird eine größere Mindestmenge verwendet. In some implementations, a larger minimum quantity is used. Der Routen-Manager wählt Routen-Einträge aus, die nicht identischen Pfaden entsprechen, sodass die resultierende Ersatz-Multipath-Menge eine Pfaddiversität besitzt. The route manager selects routes messages that do not meet identical paths, so that the resulting spare Multipath amount has a path diversity. Bei einigen Implementierungen wählt der Routen-Manager die höchstgewichteten nicht identischen Pfade für die Aufnahme in die Mindestmenge aus. In some implementations, the route manager selects the highest weighting in non-identical paths for inclusion in the minimum amount. Bei einigen Implementierungen berechnet der Routen-Manager den potenziellen Bandbreitenverlust, der entstehen würde, wenn die verschiedenen Routing-Einträge entfernt oder ersetzt würden, und wählt Routing-Einträge aus, die einem akzeptablen Niveau einer Bandbreitenreduzierung zugeordnet sind. In some implementations, the route manager calculates the potential bandwidth loss that would arise if the various routing entries would be removed or replaced, and selects routing entries that are associated with an acceptable level of bandwidth reduction. Bei einigen solcher Implementierungen minimiert die Auswahl den Bandbreitenverlust. In some such implementations, the selection minimizes the loss of bandwidth. Bei einigen Implementierungen berichtet der Routen-Manager den erwarteten Bandbreitenverlust, der einer oder mehreren der ausgewählten Ersatzmengen zuzuordnen ist, einem Netzwerkmonitor. In some implementations, the route manager reports the expected loss of bandwidth to be assigned to one or more of the selected spare quantities, a network monitor. Bei einigen Implementierungen wählt der Routen-Manager die nicht identischen Pfade zufällig oder nach einem anderen Auswahlkriterium aus. In some implementations, the route manager selects the non-identical paths randomly or according to a different selection criterion. Bei einigen Implementierungen ist die Auswahl in Phase In some implementations, the selection phase 530 530 ähnlich der Auswahl, die in Bezug auf Phase similar to the choices in terms of phase 450 450 für das in for in 4 4 gezeigte Verfahren beschrieben ist. The method shown is described.
  • [0052] [0052]
    Weiterhin in Bezug auf Still referring to 5 5 aktualisiert der Routen-Manager die Weiterleitungstabelle, um die Multipath-Routenmenge durch die ausgewählte Mindestmenge verschiedener Routen zu ersetzen (Phase the route manager updates the routing table to replace the multi-path route amount by the selected minimum quantity of different routes (Phase 540 540 ). ). Der Routen-Manager entfernt alle anderen Routing-Einträge für die Multipath-Menge aus der Weiterleitungstabelle, bei denen es sich nicht um die ausgewählten Einträge handelt. The Route Manager removes all other routing entries for the multipath amount from the routing table, which are other than the selected entries.
  • [0053] [0053]
    6 6 ist ein Blockdiagramm eines Rechensystems is a block diagram of a computing system 910 910 , das geeignet für die Verwendung bei der Implementierungen der hier beschriebenen Rechenkomponenten ist. Which is suitable for use in the implementation of the computing components described herein. Ganz allgemein beinhaltet das Rechensystem More generally involves computing system 910 910 mindestens einen Prozessor at least one processor 950 950 für die Ausführung von Operationen in Übereinstimmung mit Anweisungen, und ein oder mehrere Speichergeräte for the execution of operations in accordance with instructions and one or more storage devices 970 970 und/oder and or 975 975 für das Speichern von Anweisungen und Daten. for storing instructions and data. Das gezeigte Beispiel-Rechensystem The example computing system shown 910 910 enthält ein oder mehrere Prozessoren includes one or more processors 950 950 , die über einen Bus , Via a bus 915 915 mit dem Speicher with the memory 970 970 kommunizieren, und mit mindestens einem Netzwerkschnittstelle-Controller communicate, and at least one network interface controller 920 920 mit einer Netzwerkschnittstelle with a network interface 922 922 für den Anschluss an externe Netzwerkgeräte for connection to external network devices 924 924 , die z. B. zu einem Netzwerk gehören (wie beispielsweise den Netzwerken That z. B. belong to a network (such as the networks 110 110 , . 130 130 und and 150 150 in in 1 1 gezeigt). shown). Der eine oder die mehreren Prozessoren The one or more processors 950 950 kommunizieren auch über den Bus communicate via the bus 915 915 mit beliebigen I/O-Geräten an ein oder mehreren I/O-Schnittstellen with any I / O devices to one or more I / O interfaces 930 930 und allen anderen Geräten and any other devices 980 980 . , Der gezeigte Prozessor The processor shown 950 950 beinhaltet Cache-Speicher includes cache memory 975 975 oder ist direkt damit verbunden. or directly connected to it. Allgemein führt ein Prozessor Anweisungen aus, die vom Speicher empfangen wurden. Generally, a processor executing instructions received from the memory.
  • [0054] [0054]
    Im Detail gilt, dass der Prozessor In detail, the processor applies 950 950 jede Logikschaltung sein kann, die Anweisungen verarbeitet, z. B. Anweisungen, die aus dem Speicher can be any logic circuit which processes the instructions z. B. instructions from the memory 970 970 oder dem Cache or the cache 975 975 abgerufen werden. be retrieved. In vielen Ausführungsformen ist der Prozessor In many embodiments, the processor is 950 950 eine Mikroprozessoreinheit oder ein spezieller Prozessor. a microprocessor unit or a dedicated processor. Das Rechengerät The computing device 910 910 kann auf einem beliebigen Prozessor oder einer beliebigen Prozessormenge basieren, die in der Lage sind, wie hier beschrieben zu arbeiten. may be based on any processor, or any processor size, are able to operate as described herein. Bei dem Prozessor The processor 950 950 kann es sich um einen Prozessor mit einem oder mit mehreren Kernen handeln. it may be a processor having one or more cores. Bei dem Prozessor The processor 950 950 kann es sich um mehrere Prozessoren handeln. there may be multiple processors.
  • [0055] [0055]
    Der Speicher The memory 970 970 kann ein beliebiges Gerät sein, das dafür geeignet ist, computer-lesbare Daten zu speichern. can be any device that is suitable for storing computer-readable data. Der Speicher The memory 970 970 kann ein Gerät mit festem Speicher oder ein Gerät zum Lesen von Wechselspeichermedien sein. may be a device with a fixed memory or a device for reading removable storage media. Beispiele beinhalten alle Formen von nicht-flüchtigen Speichern, Medien und Speichervorrichtungen, Halbleiterspeichervorrichtungen (z. B. EPROM, EEPROM und Flash-Speichergeräten), Magnetplatten, magnetoptische Platten und optische Platten (z. B. CD-ROM-, DVD-ROM- und Blu-Ray ® -Disks). Examples include all forms of non-volatile memory, media and memory devices, semiconductor memory devices (eg. As EPROM, EEPROM, and flash memory devices), magnetic disks, magnetic optical disks and optical disks (eg., CD-ROM, DVD-ROM and Blu-Ray ® disks). Ein Rechensystem A computing system 910 910 kann beliebig viele Speichergeräte can any number of storage devices 970 970 haben. to have.
  • [0056] [0056]
    Der Cache-Speicher The cache 975 975 ist im Allgemeinen eine Form Computerspeicher, der in enger Nähe zum Prozessor is generally a form of computer memory, in close proximity to the processor 950 950 angeordnet ist, um schnelle Lesezeiten zu erzielen. is arranged in order to achieve fast read times. Bei einigen Implementierungen ist der Cache-Speicher In some implementations, the cache memory is 975 975 Teil des Prozessors Part of the processor 950 950 oder befindet sich auf demselben Chip. or is on the same chip. Bei einigen Implementierungen gibt es mehrere Ebenen des Cache In some implementations, there are several levels of cache 975 975 , z. B. die Cache-Ebenen L2 und L3. Such. As the levels of cache L2 and L3.
  • [0057] [0057]
    Der Netzwerkschnittstellen-Controller The network interface controller 920 920 verwaltet den Datenaustausch über die Netzwerkschnittstelle manages the data exchange via the network interface 922 922 . , Der Netzwerkschnittstellen-Controller The network interface controller 920 920 verwaltet die Bitübertragungs- und Sicherungsschicht des OSI-Modells für die Netzwerkkommunikation. manages the physical and data layer of the OSI model for network communications. Bei einigen Implementierungen wird ein Teil der Aufgaben des Netzwerkschnittstellen-Controllers vom Prozessor In some implementations, a portion of the tasks of the network interface controller by the processor 950 950 übernommen. adopted. Bei einigen Implementierungen ist der Netzwerkschnittstellen-Controller In some implementations, the network interface controller is 920 920 Teil des Prozessors Part of the processor 950 950 . , Bei einigen Implementierungen hat ein Rechensystem In some implementations, has a computing system 910 910 mehrere Netzwerkschnittstellen-Controller a plurality of network interface controller 920 920 . , Bei einigen Implementierungen ist die Netzwerkschnittstelle In some implementations, the network interface is 922 922 ein Verbindungspunkt für eine physische Netzwerkverbindung, z. B. ein RJ 45-Steckverbinder. a connection point for a physical network connection, for. example, an RJ 45 connector. Bei einigen Implementierungen unterstützt der Netzwerkschnittstelle-Controller In some implementations, the network interface controller supports 920 920 Funknetzwerkverbindungen, und ein Schnittstellenanschluss Wireless connectivity, and an interface connector 922 922 ist ein Funkempfänger/-sender. is a radio receiver / transmitter. Allgemein tauscht ein Rechengerät General exchanged a computing device 910 910 Daten mit anderen Rechengeräten Data with other computing devices 924 924 über physische oder Funkverbindungen mit einer Netzwerkschnittstelle about physical or radio links with a network interface 922 922 aus. out. Bei einigen Implementierungen implementiert der Netzwerkschnittstellen-Controller In some implementations, the network interface controller implements 920 920 ein Netzwerkprotokoll, wie beispielsweise Ethernet. a network protocol, such as Ethernet.
  • [0058] [0058]
    Die anderen Rechengeräte The other computing devices 924 924 sind über einen Netzwerkschnittstellenanschluss are connected via a network interface connection 922 922 mit dem Rechengeräte with the computing devices 910 910 verbunden. connected. Das andere Rechengerät The other computing device 924 924 kann ein gleichrangiges Rechengerät sein, ein Netzwerkgerät oder ein anderes Rechengerät mit Netzwerkfunktion. may be a peer computing device, a network device or other computing device with network function. Beispielsweise kann ein Rechengerät For example, a computing device 924 924 ein Netzwerkgerät sein, wie beispielsweise ein Hub, eine Bridge, ein Switch oder ein Router, die das Rechengerät be a network device such as a hub, a bridge, a switch or router, the computing device the 910 910 mit einem Datennetzwerk verbinden, wie beispielsweise dem Internet. connect to a data network such as the Internet.
  • [0059] [0059]
    Bei einigen Verwendungszwecken unterstützt die I/O-Schnittstelle For some uses the I / O interface support 930 930 ein Eingabegerät und/oder ein Ausgabegerät (nicht gezeigt). an input device and / or an output device (not shown). Bei einigen Verwendungszwecken sind das Eingabegerät und das Ausgabegerät in dieselbe Hardware integriert, z. B. in einem Touchscreen. For some uses the input device and the output device are integrated in the same hardware, for. Example, in a touch screen. Bei einigen Verwendungszwecken, wie beispielsweise in einem Server-Kontext, gibt es keine I/O-Schnittstelle For some uses, such as in a server context, there is no I / O interface 930 930 , oder die I/O-Schnittstelle Or the I / O interface 930 930 wird nicht verwendet. is not used. Bei einigen Verwendungszwecken kommunizieren zusätzliche weitere Komponenten For some uses additional further components communicate 980 980 mit dem Computersystem to computer system 910 910 , z. B. externen Geräten, die über USB (Universal Serial Bus) verbunden sind. , Z. B. external devices (Universal Serial Bus) are connected via USB.
  • [0060] [0060]
    Die anderen Geräte The other devices 980 980 können eine I/O-Schnittstelle can an I / O interface 930 930 , externe serielle Geräteanschlüsse und beliebige zusätzliche Co-Prozessoren enthalten. Containing external serial device connections and any additional co-processors. Beispielsweise kann ein Rechensystem For example, a computing system 910 910 eine Schnittstelle (z. B. eine USB-Schnittstelle (Universal Serial Bus)) für den Anschluss von Eingabegeräten (z. B. eine Tastatur, ein Mikrophon, eine Maus oder ein anderes Zeigegerät), Ausgabegeräten (z. B. eine Grafikanzeige, Lautsprecher, ein aktualisierbares Braille-Terminal oder einen Drucker) oder zusätzliche Speichergeräte (z. B. ein tragbares Flash-Laufwerk oder ein externes Datenträgerlaufwerk) enthalten. an interface (eg. as a USB (Universal Serial Bus)) for the connection of input devices (eg., a keyboard, a microphone, a mouse or other pointing device), output devices (eg. as a graphic display, speaker, an updateable Braille terminal or a printer), or additional memory devices (eg. B. include a portable flash drive or an external disk drive). Bei einigen Implementierungen ist ein I/O-Gerät in das Rechensystem In some implementations, is an I / O device in the computing system 910 910 eingebaut, z. B. ein Touchscreen oder ein Tablet. installed, for. example, a touch screen or a tablet. Bei einigen Implementierungen enthält ein Rechengerät In some implementations, a computing device includes 910 910 ein zusätzliches Gerät an additional device 980 980 , wie einen Co-Prozessor, z. B. einen mathematischen Co-Prozessor, der dem Prozessor As a co-processor, such. As a math co-processor, the processor to 950 950 bei Berechnungen mit hoher Genauigkeit oder bei komplexen Berechnungen unterstützen kann. can assist in calculations with high precision, or complex calculations.
  • [0061] [0061]
    Implementierungen des Themas und der Operationen, die in dieser Spezifikation beschrieben sind, können in einem digitalen Schaltkreis implementiert werden, oder in Computer-Software auf einem berührbaren Medium, in Firmware oder Hardware, einschließlich der in dieser Spezifikation offenbarten Strukturen und ihren strukturellen Äquivalenten, oder in Kombinationen von einer oder mehreren davon. Implementations of the subject and the operations described in this specification can be implemented in a digital circuit, or computer software on a tangible medium, in firmware or hardware, including those disclosed in this specification structures and their structural equivalents, or in combinations of one or more thereof. Implementierungen des in dieser Spezifikation beschriebenen Gegenstandes können als ein oder mehrere Computerprogramme auf einem physischen Medium, dh als ein oder mehrere Module von Computerprogrammbefehlen implementiert werden, die auf einem oder mehreren Computerspeichermedien für die Ausführung durch oder die Steuerung des Betriebes eines datenverarbeitenden Apparates kodiert werden. Implementations of the subject matter described in this specification can be used as one or more computer programs on a physical medium, ie, be implemented as one or more modules of computer program instructions encoded on one or more computer storage media for execution by, or to control the operation of a data processing apparatus. Bei einem Computer-Speichermedium kann es sich um ein maschinell lesbares Speichergerät, einen maschinell lesbaren Speicherträger, ein zufälliges oder serielles Speicher-Array oder Speichergerät oder um eine Kombination aus einem oder mehreren dieser Geräte handeln oder in ihnen enthalten sein. For a computer storage medium may be a machine-readable storage device, a machine-readable storage medium, a random or serial storage array or storage device or a combination of one or more of these devices or contained in them. Bei dem Computer-Speichermedium kann es sich auch um eine oder mehrere unterschiedliche physische Komponenten oder Medien (z. B. mehrere CDs, Disks oder andere Speichergeräte) handeln, bzw. kann das Speichermedium darin enthalten sein. In the computer storage medium may also be one or more different physical components or media (eg. As multiple CDs, disks or other storage devices), and the storage medium may be contained therein. Das Computerspeichermedium kann physischer Art und nicht flüchtig sein. The computer storage medium can be a physical nature and not be volatile.
  • [0062] [0062]
    Die in dieser Spezifikation beschriebenen Operationen können als Operationen implementiert werden, die von einem Datenverarbeitungsapparat für Daten ausgeführt werden, die auf einem oder mehreren computer-lesbaren Speichergeräten gespeichert sind oder aus anderen Quellen empfangen wurden. The operations described in this specification can be implemented as operations performed by a data processing apparatus for data that are stored on one or more computer-readable storage devices or received from other sources. Die Prozesse und die logischen Abläufe können auch durch logische Sonderzweckschaltungen durchgeführt werden, und der Apparat kann als Sonderzweckschaltungen implementiert werden, z. B. ein FPGA (Field Programmable Gate Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung). The processes and logic flows can also by logical special purpose circuits are carried out, and the apparatus may be implemented as special purpose circuits, for. Example, an FPGA (field-programmable gate array) or an ASIC (application specific integrated circuit).
  • [0063] [0063]
    Obwohl diese Spezifikation viele spezifischen Implementierungsdetails enthält, sollten diese nicht als Einschränkung des Umfangs von Erfindungen oder den Ansprüchen betrachtet werden, sondern vielmehr als Beschreibungen von Funktionen, die spezifisch für bestimmte Implementierungen oder bestimmte Erfindungen sind. Although this specification contains many specific implementation details, these should not be construed as limiting the scope of inventions or the claims, but rather as descriptions of features that are specific to certain implementations or certain inventions. Bestimmte Eigenschaften, die in dieser Spezifikation im Kontext gesonderter Implementierungen beschrieben sind, können auch in Kombination in einer einzelnen Implementierung implementiert werden. Certain features that are described in this specification in the context of separate implementations can be implemented in a single implementation in combination. Umgekehrt können verschiedene, im Kontext einer einzelnen Implementierung beschriebene Merkmale auch in mehreren Implementierungen separat oder in einer beliebigen geeigneten Unterkombination implementiert werden. Conversely, various, described in the context of a single implementation features may be implemented separately or in any suitable sub-combination in several implementations. Außerdem können ein oder mehrere Merkmale einer beanspruchten Kombination in manchen Fällen aus der Kombination herausgelöst werden, auch wenn die Merkmale vorstehend als in gewissen Kombinationen funktionierend beschrieben oder gar als eine Kombination beansprucht werden, und die beanspruchte Kombination kann an eine Unterkombination oder eine Variation einer Unterkombination verwiesen werden. In addition, one or more characteristics of a claimed combination can in some cases can be removed from the combination, even if the features are described functioning or even claimed to be a combination of above as in certain combinations, and the claimed combination may be at a sub-combination or a variation of a subcombination to get expelled.
  • [0064] [0064]
    Referenzen mit „oder“ können als einschließend konstruiert werden, sodass alle Begriffe, die unter Verwendung von „oder“ beschrieben werden, für einen, mehrere oder alle der beschriebenen Begriffe stehen können. References to "or" can be construed as including, so that all terms that are described using "or", for a can, several or all of the terms described. Die Angaben „erstes“, „zweites“, „drittes“ usw. sind nicht unbedingt als Reihenfolge zu verstehen und werden im Allgemeinen nur verwendet, um zwischen ähnlichen oder vergleichbaren Komponenten oder Elementen zu unterscheiden. The information "first", "second", "third", etc. are not necessarily to be understood as order and are only generally used to distinguish between similar or comparable components or elements.
  • [0065] [0065]
    Somit wurden spezifische Implementierungen des Themas beschrieben. Thus, specific implementations of the subject have been described. Diese und andere Ausführungsformen fallen in den Umfang der folgenden Ansprüche. These and other embodiments are within the scope of the following claims. In einigen Fällen können die in den Ansprüchen beschriebenen Handlungen in einer anderen Reihenfolge ausgeführt werden und dennoch erwünschte Ergebnisse erzielen. In some cases, the actions described in the claims can be performed in a different order and still achieve desirable results. Zusätzlich erfordern die in den beigefügten Figuren dargestellten Prozesse nicht notwendigerweise die bestimmte gezeigte Reihenfolge oder aufeinanderfolgende Reihenfolge, um erwünschte Ergebnisse zu erzielen. In addition, the processes depicted in the accompanying figures do not necessarily require the order or specific shown sequential order, to achieve desired results. In bestimmten Implementierungen kann eine Multitasking- oder Parallelverarbeitung verwendet werden. In some implementations, a multitasking or parallel processing can be used.
Classifications
International ClassificationH04L12/701
Cooperative ClassificationH04L45/7453, H04L45/54, H04L45/42, H04L45/123, H04L47/17, H04L45/745, H04L45/24, H04L47/12
Legal Events
DateCodeEventDescription
23 Mar 2017R207Utility model specification