DE60035638T2 - Verfahren zum sequentiell ordnen von Änderungen für IP-Netzkonfiguration - Google Patents

Verfahren zum sequentiell ordnen von Änderungen für IP-Netzkonfiguration Download PDF

Info

Publication number
DE60035638T2
DE60035638T2 DE60035638T DE60035638T DE60035638T2 DE 60035638 T2 DE60035638 T2 DE 60035638T2 DE 60035638 T DE60035638 T DE 60035638T DE 60035638 T DE60035638 T DE 60035638T DE 60035638 T2 DE60035638 T2 DE 60035638T2
Authority
DE
Germany
Prior art keywords
node
nodes
tree
trees
routers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60035638T
Other languages
English (en)
Other versions
DE60035638D1 (de
Inventor
P. Matawan Krishnan
Subrata Marlboro Mazumdar
Tejas Eatontown Naik
Ganesan Matawan Ramu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE60035638D1 publication Critical patent/DE60035638D1/de
Publication of DE60035638T2 publication Critical patent/DE60035638T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees

Description

  • Allgemeiner Stand der Technik
  • Die vorliegende Erfindung betrifft IP-Netzwerke und insbesondere Techniken zum Sequenzieren von Konfigurationsänderungen in einem Netzwerk von IP-Routern.
  • Derzeitige IP-Netzwerke bestehen in der Regel aus Routern, die durch Strecken verbunden werden. Ein zu dem Netzwerk gesendetes Paket erreicht ein bestimmtes Ziel durch Spezifizieren der IP-Adresse eines Zielports. Ein Paket erreicht den gewünschten Zielport, indem es sequentiell durch eine Anzahl von Routern geroutet wird.
  • Eine OSPF-Domäne eines IP-Netzwerks kann logisch in eine Ansammlung von ABR (Area Border Router) unterteilt werden, die über "Backbone"-Strecken mit einem oder mehreren Gebieten verbunden werden. Jedes Gebiet umfaßt ein Subnetzwerk von Routern, die durch Strecken verbunden werden. Innerhalb eines Gebiets kann es auch Subnetze geben und jedes Subnetz ist eine Ansammlung verbundener IP-Router mit einem Gateway, das das Subnetz an den Rest des Netzwerks anschaltet.
  • IP-Router besitzen zahlreiche Parameter, die sich auf ihren Betrieb auswirken. Zum Beispiel können Router dafür ausgelegt werden, ein angefordertes Dienstniveau bereitzustellen, die Sicherheit der Kommunikation zu verbessern, Kommunikation von verschiedenen Quellen zu blockieren, Verwaltungsinformationen bereitzustellen usw. Natürlich müssen Router auch ihre Hauptaufgabe des Routens von Paketen ausführen und zu diesem Zweck führen Router ein Routing-Protokoll aus. Als Teil dieses Protokolls muß jeder der Router ein Gefühl für die Konnektivität des IP-Netzwerks, in dem er operiert, entwickeln und eine Routing-Tabelle zur Anleitung des Routens von Paketen durch den Router erstellen. Das Routing-Protokoll operiert gemäß verschiedenen Para metern, die mit dem Routing-Protokoll assoziiert sind. Wie bei den zuvor erwähnten Parametern werden die Routing-Protokoll-Parameter von einem oder mehreren Systemadministratoren für die Router konfiguriert (z.B. aktualisiert).
  • Um das Konfigurieren oder Aktualisieren auszuführen, greifen Administratoren entweder durch Außerband- oder Inband-Kanäle auf Router zu. Die Außerband-Konfiguration wird durch die Konsole des Routers oder abgesetzt entweder durch einen Modemport des Routers oder einen separaten Ethernet-Port des Routers erreicht. Inband-Konfiguration wird durch Erreichen des Routers über das Netzwerk selbst erreicht, d.h. durch "Telneting" zu dem Router. Inband-Konfiguration ist das üblichste Verfahren des Zugriffs, da es keine Verwendung eines separaten Zugangsnetzwerks erfordert.
  • Das Konfigurieren von Routern von einem zentralen Konfigurationsstandort aus durch den Inband-Kanal stellt ein potentielles Problem dar, das von dem Umstand stammt, daß das Aktualisieren der Parameter eines Routers bewirken kann, daß ein anderer Router unzugänglich wird. Das Problem ist nur ein potentielles Problem, weil es nur auftreten kann, wenn Parameter, die sich auf die Erreichbarkeit von Ports auswirken, aktualisiert werden, und nur wenn die Aktualisierung zufällig in der falschen Sequenz erfolgt. Folglich ist es wichtig, das Aktualisieren von Routern ordnungsgemäß zu sequenzieren, um eine Situation zu vermeiden, bei der ein Router von dem zentralen Standort aus aktualisiert werden muß, aber dem zentralen Standort unzugänglich ist.
  • Es wird angemerkt, daß die europäische Patentanmeldung EP 0 817 424 der Digital Equipment Corporation ein Mesh-verbundenes lokales Netzwerk beschreibt, bei dem immer dann, wenn eine neue Vermittlung oder Strecke zu dem Netzwerk hinzugefügt wird und immer dann wenn eine Vermittlung oder eine Strecke ausfällt, die Vermittlungen in dem Netzwerk das Netzwerk durch Neuberechnung der Menge legaler Wege durch das Netzwerk automatisch neukonfigurieren.
  • Kurzfassung
  • Das Aktualisieren von Routern wird erreicht, indem sichergestellt wird, daß die Ablaufplanung von Routeraktualisierungen dergestalt ist, daß eine Turbolenzzone, die auftritt, wenn die Aktualisierung stattfindet, nicht verhindert, daß ein etwaiger Router, der möglicherweise aktualisiert werden muß, erreicht werden kann. Bei IP-Routern, die eine Task-Ablaufplanungsfähigkeit besitzen, wird dies erzielt durch Schätzen der Zeit zum Übermitteln von Aktualisierungsinformationen zu allen Routern, die aktualisiert werden müssen, Addieren dieser Schätzung zu der Tageszeit und Senden der Aktualisierungsspezifikationen. Die Router empfangen die Aktualisierungsspezifikationen, planen die Aktualisierungs-Task ein und aktualisieren sich unabhängig selbst zum entsprechenden Zeitpunkt. Bei Anordnungen, in denen Router keine Task-Ablaufplanungsfähigkeit besitzen, wird die Aktualisierung sequenziert. Es werden drei Verfahren offenbart. Eine Ausführungsform erzeugt eine Menge von Traceroute-Bäumen, die die zu aktualisierenden Knoten abdecken, und es werden Blattknoten der Bäume zufällig aufgenommen. Alle Blattknoten, die berücksichtigt werden, werden aus den Bäumen entfernt, so daß Knoten zurückbleiben, die Zwischenknoten anderer Bäume waren. Wenn solche Knoten zu den einzigen übrigen Blattknoten werden, werden sie entfernt und der Prozeß wird fortgesetzt, bis keine Knoten in irgendwelchen der Bäume verbleiben. Die zweite Ausführungsform ist insofern mehr baumzentrisch, als sobald ein Startknoten identifiziert ist (und sein assoziierter Baum), alle seine Knoten betrachtet werden, bevor zu einem anderen Baum fortgeschritten wird.
  • Kurze Beschreibung der Zeichnung
  • 1 zeigt ein Flußdiagramm eines Verfahrens für IP-Router, die ihre Parameter unabhängig auf ablaufgeplanter Zeitbasis aktualisieren;
  • 2 zeigt einen gerichteten Baum für ein Netzwerk von Knoten;
  • 3 zeigt ein Flußdiagramm eines ersten Verfahrens zum Sequenzieren der Aktualisierung von IP-Routern in einem Netzwerk;
  • 4 zeigt die Etikettierung von Knoten und Strecken, die bei der Ausführung des durch 3 offenbarten Verfahrens auftritt; und
  • 5 zeigt ein Flußdiagramm eines zweiten Verfahrens zum Sequenzieren der Aktualisierung von IP-Routern in einem Netzwerk.
  • Ausführliche Beschreibung
  • Das Problem des Sequenzierens wird beseitigt, wenn die Router, die aktualisiert oder konfiguriert werden müssen, eine "Ablaufplanungsfähigkeit" bereitstellen, d.h. eine Fähigkeit zum Empfang von Konfigurationsaktualisierungen, sie speichern und die Änderungen zu einem späteren Zeitpunkt ausführen. Gemäß diesem Ansatz werden über das in 1 abgebildete Verfahren Mengen von Routern aktualisiert.
  • In der ersten Phase wird im Block 10 eine Schätzung der erforderlichen Zeit zum Herunterladen der Konfigurationsinformationen zu allen Routern in der Menge von zu aktualisierenden Routern erhalten. Diese Schätzung kann grob sein, wie etwa eine bestimmte große vorsichtige Schätzung von zum Beispiel 10 Minuten. Es kann zum Beispiel auch eine genauere Schätzung erhalten werden, indem man ein Ping zu den verschiedenen Routern durchführt (wodurch man die Erreichbarkeitszeit erhält) und die maximale Erreichbarkeitszeit, addiert zu der maximalen geschätzten Aktualisierungsheraufladezeit, verwendet. Erreichbarkeitszeiten (die mit den "Dings" abgeleitet werden) können gespeichert werden, um ein Histogramm zu erzeugen, so daß die maximale Zeit, die durch Block 10 ausgewählt wird, die größte in dem gespeicherten Histogramm gefundene maximale Zeit ist. Gemäß dem in 1 abgebildeten Prozeß wird die Schätzung der maximalen Erreichbarkeitszeiten zu der Tages-Uhrzeit addiert und im Block 20 mit den Aktualisierungsinformationen zusammengelegt. Block 30 sendet diese Informationen inband zu der Menge von zu aktualisierenden Routern. Als letztes aktualisieren sich die Router gemäß Block 40 selbst unter der Kontrolle der zuvor empfangenen und gespeicherten Anweisungen zum entsprechenden Zeitpunkt.
  • Das Verfahren von 1 arbeitet gut, erfordert aber, daß die Router eine Task-Ablaufplanungsfähigkeit besitzen. Für Netzwerke, die Router verwenden, die keine Task-Ablaufplanungsfähigkeit aufweisen, ist eine ordnungsgemäße Sequenzierung die einzige Alternative bei Verwendung eines Inband-Zugangskanals oder einer Mischung von Außerband- und Inband-Zugangskanälen.
  • In den meisten Fällen wirkt sich das Ändern eines kritischen Routing-Protokoll-Parameters auf die Fähigkeit dieses Routers zum Austausch von Routing-Informationen mit anderen Routern aus. Dies hat zur Folge, daß Wege, die durch diesen Router verlaufen, zumindest für einige Zeit unbenutzbar sein könnten. Während Parameter auf mehreren Routern geändert werden, wird eine "Turbolenzzone" erzeugt, die abklingt, wenn alle erforderlichen Router aktualisiert sind. Das Ziel besteht darin, die Turbolenzzone so zu erzeugen, daß die Möglichkeit, alle erforderlichen Router zu erreichen, nicht beeinträchtigt wird.
  • Um die Aktualisierung von Routern so zu sequenzieren, daß die Turbolenzzone die entsprechende Eigenschaft aufweist, muß die Topologie des Netzwerks bekannt sein. Dies kann durch ein IPNC-Werkzeug (IP Network Configurator) erreicht werden, das von Lucent Technologies erhältlich ist. In der Regel ist das IPNC-Werkzeug auf einer an das Netzwerk angeschlossenen UNIX-Workstation installiert. Die Topologie des Netzwerks wird durch das IPNC-Werkzeug entdeckt. Ein Verfahren dafür besteht darin, eine Menge von Traceroute-Befehlen auszuführen, die alle Knoten abdecken, die aktualisiert werden müssen. Der hier verwendete Begriff "abdecken" bedeutet "berücksichtigt". Traceroute ist ein Standard-Vernetzungswerkzeug, das im Betriebssystem enthalten ist und als Eingabe ein Ziel nimmt und den Weg ausgibt, der von dem Startort zu dem Ziel gemäß derzeitigen Routing-Tabellen genommen wird. Aus diesen Informationen kann man einen gerichteten Baum konstruieren, der zeigt, wie Pakete von dem IPNC-Werkzeug zu den verschiedenen Routern geroutet werden. Der Zweckmäßigkeit halber werden in der vorliegenden Offenbarung die konstruierten Bäume als "Traceroute-Bäume" bezeichnet, gleichgültig, ob die Informationen für das Konstruieren der Bäume mittels eines Traceroute-Werkzeugs oder anderweitig erhalten werden. 2 zeigt einen einfachen Traceroute-Baum eines Netzwerks, der durch ein Traceroute von dem IPNC-Werkzeug auf der Maschine R0 zu dem Router (d.h. Knoten) R5, gefolgt durch Traceroutes zu den Knoten R2 und R3, konstruiert worden sein könnte. Da ein Netzwerk und die entsprechenden Routing-Tabellen sich von Zeit zu Zeit ändern können, werden diese Informationen vorteilhafterweise jedesmal gesammelt, wenn eine Aktualisierungsoperation unternommen wird, statt nur einmal. Es wird angenommen, daß der Routing-Baum für die Zeit, die erforderlich ist, um die Konfigurationen auszuführen, stabil ist.
  • Die Sequenz für das Aktualisieren wird von den Blättern bis zu der Wurzel des Baums spezifiziert, so daß alle Knoten, die von einem Knoten aus erreichbar sind, in der Sequenzierungsreihenfolge vor dem Knoten erscheinen müssen. Im allgemeinen kann man die notwendige Sequenzierungsreihenfolge durch Verwendung einer herkömmlichen tiefenorientierten Suche erreichen. Siehe zum Beispiel "The Design and Analysis of Computer Algorithms" von Aho, Hopcroft und Ullman für eine Beschreibung der tiefenorientierten Suche. Das Sequenzierungsproblem wird jedoch durch die Details, die über den grundlegenden Ansatz in Bezug auf ein IP-Netzwerk hinausgehen, interessant und schwierig.
  • Im allgemeinen Fall kann es mehrere mögliche Startknoten zur Einleitung des Traceroute geben. Zum Beispiel wird in 2 das Traceroute erreicht, indem sich das IPNC-Werkzeug in die Maschine R1 einloggt und eine Anzahl von Traceroutes von R1 aus ausführt. Es ist jedoch möglich, daß die Menge der zu aktualisierenden Router nicht von einer einzigen Maschine, wie etwa R1, aus abgedeckt werden kann. Deshalb ist es notwendig, Login-Zugang zu einer Anzahl der Router (die auch als Knoten oder Maschinen bezeichnet werden) zu besitzen, von denen aus Traceroute auszuführen ist, und vielleicht sogar zu allen Routern zu besitzen. Ferner muß es einen Login-Weg zu diesem Traceroute-Startknoten geben, der durch keine anderen Knoten, die aktualisiert werden müssen, verläuft.
  • Die Menge von Routern, die die Anforderungen des "Traceroute-Startknoten" erfüllen (oder sie für Teilmengen der zu aktualisierenden Router erfüllen), umfaßt folgendes.
    • • Die Maschine, auf der das IPNC-Werkzeug ausgeführt wird. Offensichtlich ist Zugang zu der Maschine, auf der das IPNC-Werkzeug abläuft, immer verfügbar.
    • • Router mit Außerband-Verbindung. Auch hier ist offensichtlich, daß angenommen werden kann, daß der Zugang zu Routern mit Außerband-Konnektivität immer verfügbar ist.
    • • ABR (Area Border Router). Für andere Gebiete als das Gebiet des Routers, in dem das IPNC-Werkzeug verankert ist, oder des Routers, in dem das IPNC-Werkzeug eingeloggt ist, ist der ABR der Knoten, der vor dem Erreichen jedes anderen Knotens in dem Gebiet immer erreicht wird. Die Wahl des ABR als Startknoten für das Gebiet ist deshalb eine effektive Wahl.
    • • Gateway-Router. Wie bei ABR stellt das Gateway eine gute Wahl als Traceroute-Startknoten für das Subnetz des Gateways dar.
  • Es sei angemerkt, daß häufig die Menge von Knoten, die der Administrator aktualisieren möchte, in einem Gebiet des Netzwerks oder in einem IP-Subnetz gefunden wird.
  • 3 zeigt ein Flußdiagramm eines ersten Echtzeit-Sequenzierungsverfahrens zum Aktualisieren von IP-Netzwerk-Routern. Im Prinzip erzeugt das Verfahren von 3 eine geordnete Liste von Elementen {si, snj}, wobei si ein Knoten aus einer Menge S von Knoten ist, an denen Aktualisierungsänderungen vorgenommen werden sollen, und snj ein Knoten aus einer Menge SN von Knoten ist, die "Traceroute-Start"-Knoten bilden. Die Aktualisierungen werden in der durch die geordnete Liste spezifizierten Reihenfolge ausgeführt. Für das Beispiel der Topologie von 2 ist die geordnete Liste (R3, R0), (R4, R0), (R2, R0), (R5, R0), (R6, R0), (R1, R0) akzeptabel.
  • In einfachsten Fall wird ein Traceroute-Baum von einem Knoten sn1 in der Menge SN erzeugt, bis alle Knoten in S in dem Traceroute-Baum enthalten sind oder keine neuen Knoten zu dem Baum hinzugefügt werden. Zu letzterem könnte es kommen, wenn es keinen Routing-Weg von sn1 zu bestimmten der Knoten in S gibt. Es sei angemerkt, daß, wenn ein Traceroute zu einem Knoten j ausgeführt wird, der Weg mehrere Zwischenknoten durchlaufen kann, die sich in der Menge S befinden. Unter solchen (relativ häufigen) Umständen ist es offensichtlich nicht notwendig, separate Traceroutes zu diesen Zwischen knoten auszuführen. Für jedes ausgeführte Traceroute wird jeder durchquerte Knoten mit sn1 etikettiert und das gleiche gilt für jede durchquerte Strecke (oder "Kante"). Ein Knoten, der bereits etikettiert wurde, wird auch dann nicht erneut etikettiert, wenn er mit einem anderen Traceroute durchquert wird. So lange Knoten in S verbleiben, die noch nicht etikettiert wurden, wird der Traceroute-Prozeß fortgesetzt, wobei ein anderer Knoten in SN, z.B. sn2, als der Traceroute-Startknoten dient und jeder neue Knoten bzw. jede neue Kante der bzw. die durchquert wird, mit sn2 etikettiert wird. Die resultierende Struktur kann wie in 4 aussehen, wenn die Traceroute-Startknoten R1 und dann R7 sind. Das Ergebnis ist eine Menge von Bäumen, die sich möglicherweise überlappen (z.B. Knoten R6). Die Menge von Bäumen wird durch Block 11 in 3 erzeugt.
  • Sobald Block 11 seine Task abschließt, kann die Erzeugung einer Aktualisierungssequenz beginnen. Gemäß einer beispielhaften Ausführungsform wird die Sequenz gemäß dem folgenden Pseudocode erzeugt:
    While (es sind Knoten in irgendeinem der Menge von Bäumen übrig) do {zufälliges Auswählen eines Blatts si aus der Menge von Bäumen zufällig dergestalt, daß der Knoten si für keinen Baum ein interner Knoten ist (OR Versagen).
  • Das Blatt si und seine Kennzeichnung snj an die geordnete Aktualisierungssequenzliste ausgeben
    Knoten si aus dem Baum snj entfernen
    folgendes wiederholen {
    wenn es keine Kante mit Kennzeichnung x aus einem Nicht-Blattknoten heraus gibt,
    Entfernen der Kennzeichnung x aus allen Kanten in diesen Knoten hinein (oder Kanten mit der Kennzeichnung x in diesen Knoten hinein), wenn der Knoten nicht mit x gekennzeichnet ist;
    } until (keine Kante oder Kennzeichnung ist entfernbar);
    }
  • Dieser Pseudocode wird in 3 wiedergegeben, wobei, nachdem die Steuerung an den Block 12 abgegeben wurde, ein Blattknoten willkürlich aus der Menge von Bäumen so ausgewählt wird, daß der Knoten für keinen Baum ein interner Knoten ist (OR Versagen). Der gewählte Blattknoten si und sein Kennzeichnung snj, das den Baum bezeichnet, zu dem der Knoten si hauptsächlich gehört, werden durch Block 13 als das Tupel {si, snj} an die geordnete Liste angehängt. Block 14 entfernt das Blatt aus dem Baum snj und alle Kanten des Baums snj, die zu dem entfernten si zeigen. Dann wird die Steuerung an Block 15 abgegeben, der eine "Aufräum"-Operation ausführt. In einer Schleife mit Block 16 prüft Block 15 auf alle Knoten, die eine in ihn hineinkommende Kante mit der Kennzeichnung x aber keine aus ihm herausgehende Kante mit der Kennzeichnung x aufweisen, wobei die Kennzeichnung x von der Kennzeichnung des Knotens verschieden ist. Für alle solche Knoten werden die Kennzeichnung x an den Kanten in den Knoten entfernt. Dann wird die Steuerung an Block 17 abgegeben, der bestimmt, ob Knoten übrig sind. Wenn dies der Fall ist kehrt die Steuerung zum Block 12 zurück. Andernfalls endet der Algorithmus mit Block 18, der Aktualisierungsausführungsbefehle zu den Routern in der Reihenfolge zu den Routern sendet, die in der im Block 13 erzeugten geordneten Liste spezifiziert wird. Natürlich kann es Knoten in der geordneten Liste geben, die nicht aktualisiert werden müssen. Die diesen Knoten entsprechenden Tupel können aus der geordneten Liste entfernt (oder erst gar nicht in diese gesetzt) werden. Bei einer solchen Ausführungsform wird der Prozeß des Löschens entweder in Block 13 sozusagen "im Verlauf" oder in Block 18 ausgeführt. Ein Beispiel für eine akzeptable Sequenz für 4 ist (R2, R1), (R4, R1), (R9, R7), (R8, R7), (R6, R1), (R7, R7), (R5, R1), (R3, R1), (R1, R1).
  • Das oben beschriebene Verfahren kann durch Voridentifizieren einer Teilmenge PSN (bevorzugte Startknoten) in der Menge SN beschleunigt werden. Diese Teilmenge kann natürlich alle Knoten in SN enthalten, es ist aber in der Praxis am besten, in die PSN die Knoten in SN aufzunehmen, die "schnell" von der Station, die Host für das IPNC-Werkzeug ist, erreicht werden kann. Nachdem die PSN-Knoten identifiziert wurden, kann man Bäume konstruieren, indem die Knoten identifiziert werden, die direkt mit den PSN-Knoten verbunden sind, wie folgt:
    Entferne alle Knoten von PSN aus S;
    Kennzeichne jeden Knoten in PSN mit der Kennzeichnung psnj
    Für jeden Knoten psnj in PSN do {
    Es sei n1, n2, ..., nk die Menge von Knoten (Routern), die eine direkt verbundene Schnittstelle zu psnj aufweisen;
    For i = 1...k {
    Wenn ni nicht schon gekennzeichnet ist {
    Kennzeichne ni mit psnj und füge eine Kante von psnj zu ni mit der Kennzeichnung psnj hinzu;
    Entferne ni aus der Menge S;
    }
    }
  • Nach diesem Identifikations- und Kennzeichnungsprozeß können die oben beschriebenen Prozesse zum Aufbau von Bäumen und zum Entwickeln einer Aktualisierungssequenz für die Bäume für die PSN-Bäume voranschreiten. Danach können die oben beschriebenen Prozesse, wenn Knoten in S übrig sind, für diese Knoten wiederholt werden.
  • Der Prozeß von 3 konzentriert sich auf den zu aktualisierenden Knoten (knotenzentrisch). Ein zweites Verfahren, das den hier offenbarten Prinzipien genügt, konzentriert sich auf den Startknoten (baumzentrisch) und ist in 5 abgebildet.
  • Block 25 erzeugt eine Menge von Bäumen, die die zu aktualisierenden Knoten abdecken. Wie bei Block 11 könnte die Menge Knoten enthalten, die nicht aktualisiert werden müssen. Vorausgesetzt, daß es jmax Startknoten snj, j = 1, 2, ..., jmax, gibt und daß es mmax Knoten Nm, m = 1, 2, ..., mmax, gibt, die aktualisiert werden müssen, wird für jeden Startknoten snj ein separater Traceroute-Baum (mit der Kennzeichnung snj) konstruiert. Das Ergebnis können jmax Traceroute-Bäume sein (die zu aktualisierenden Router könnten durch weniger Traceroute-Bäume abgedeckt werden). Natürlich wird an besuchten Knoten am nächsten Startknoten nicht noch mal ein Traceroute ausgeführt. Eine Erweiterung wäre, einen Baum zu beschneiden, wenn ein anderer Startknoten während des Traceroute erreicht wird, weil die von dem Baum dieses anderen Startknotens abgeleiteten Informationen bereits die gewünschte Abdeckung bereitstellen.
  • Nach dem Abschluß der Menge von Bäumen gibt Block 25 die Steuerung an Block 26 ab, in dem ein Startknoten snj z.B. zufällig ausgewählt wird. Nachdem der Startknoten snj und sein Baum ausgewählt wurden, wird die Steuerung an Block 27 abgegeben, in dem ein Blattknoten sa aus dem snj-Baum ausgewählt wird. Die Steuerung wird dann an Block 29 abgegeben, der bestimmt, ob der gewählte sa-Knoten ein Zwischenknoten eines anderen Baums ist. Wenn dem so ist, springt die Steuerung zum Block 28. Andernfalls wird die Steuerung an Block 31 abgegeben, der das Tupel {sa, snj} an die geordnete Liste ausgibt und den Knoten sa aus dem snj-Baum entfernt. Die Steuerung wird dann an Block 28 abgegeben, der bestimmt, ob es weitere Knoten in dem Baum gibt. Wenn der Baum nicht leer ist, kehrt die Steuerung zum Block 26 zurück. Wenn der Baum leer ist, wird die Steuerung an Block 23 abgegeben, der die oben in Verbindung mit 5 beschriebenen Funktionen ausführt. Wie in Verbindung mit dem oben offenbarten ersten Verfahren werden Knoten, die nicht aktualisiert werden müssen, aus der geordneten Liste entfernt oder erst gar nicht in diese aufgenommen.
  • Ausgedrückt in Pseudocode folgt das Verfahren von 5 der folgenden Logik:
    While (es gibt einen Knoten in irgendeinem Baum) do {
    Startknoten snj zufällig aussuchen
    While (Blattknoten si existiert im Baum snj und der Knoten si ist kein Zwischenknoten eines Baums außer snj) {
    Setze (si, snj) auf Aktualisierungssequenzliste
    Entferne Knoten si aus dem Baum snj
    }
    }
  • Das Verfahren von 5 ist einfach zu implementieren und ist wahr, wenn in Verbindung mit allen Knoten folgendes wahr ist: wenn Knoten A C erreichen kann, Knoten B C erreichen kann und Knoten C D erreichen kann, können die Knoten A und B D erreichen.
  • Die Auswahl der Menge von Startknoten ist ein interessantes Problem. Insbesondere wenn eine Änderung von Parametern mit gebietsweiter Auswirkung vorgenommen wird, wird die Wahl der Startknoten wichtig. Router mit Außerband-Zugang werden automatisch in die SN-Menge aufgenommen und können bei einer Ausführungsform, die das Prinzip einer PSN-Menge verwendet, in die PSN-Menge (abhängig von Performance-Aspekten) aufgenommen werden oder nicht. Wenn das IPNC-Werkzeug in demselben Gebiet wie die Menge aktualisierter Router verankert ist, reicht ein Traceroute von der Maschine, auf der das IPNC-Werkzeug abläuft, aus, und der Startknoten ist die Maschine, auf der das IPNC-Werkzeug abläuft. Wenn die Menge von aktualisierten Routern zu einem Gebiet außerhalb des Gebiets gehört, in dem das IPNC-Werkzeug abläuft, enthält die SN-Menge (und die PSN-Menge) die Menge von ABR. Wenn das Ziel in einem virtuellen Gebiet liegt, enthält die SN-Menge die Menge virtueller ABR zu dem Zielgebiet.
  • Von besonderer praktischer Signifikanz ist der Fall, daß Aktualisierungen an Routern an einem Subnetz vorgenommen werden müssen. Obwohl die oben offenbarten Techniken ausreichen, kann man den Umstand ausnutzen, daß direkt verbundene Schnittstellen fast immer von einem Nachbar in dem Subnetz aus zugänglich sind. Da Schnittstellen in einem Subnetz als direkt verbunden betrachtet werden, muß das IPNC-Werkzeug lediglich einen der Nachbarn erreichen und diesen Nachbarknoten als Startknoten verwenden. Wenn eine Außerband-Verbindung zu einem der Subnetzknoten verfügbar ist, ist dies dann der Startknoten. Wenn nicht, kann man die folgende Technik verwenden:
    • • Durchführen eines Traceroutes zu einer willkürlich ausgewählten existierenden Schnittstelle des Subnetzes
    • • Es sei r der erste Router in der Traceroute-Sequenz, der eine Schnittstelle in dem Subnetz aufweist. Dieser Knoten ist dann der Gateway-Knoten für das Subnetz.
    • • Es sei SN = {r}, so daß Knoten r zu einem Startknoten wird.
    • • Ausgabe: {r1, r}, {r2, r}, ..., {rN, r}, {r, r}, wobei r1, r2, ..., rN die Router (außer r) sind, die eine Schnittstelle in dem Subnetz aufweisen.
  • Wenn Zugang zu einem der Router in dem Subnetz zur Verfügung steht, ist eine andere, effizientere Technik die folgende:
    • • Einloggen in einen Router rr mit der Schnittstelle ii in dem Subnetz.
    • • Durchführen eines Traceroute von dem Router rr zu der IPNC-Werkzeug-Hostmaschine M.
    • • Auswählen der letzten Schnittstelle i in der Traceroute-Liste (mit vorangestelltem ii), die zu dem Subnetz gehört; es sei i zu dem Router r gehörend. Dieser ist wieder das Gateway des Subnetzes. (Äquivalent wähle man den letzten Router r in der Traceroute-Liste (mit vorangestelltem rr), der eine Schnittstelle i in dem Subnetz aufweist.) Es sei angemerkt, daß es in den meisten Fällen ausreicht, nur den ersten Sprung von dem Router rr zu untersuchen, um die Schnittstelle i und den Router r zu bestimmen).
    • • Es sei SN = {r}, wodurch der Knoten r zu einem Startknoten wird.
    • • Ausgabe: {r1, r}, {r2, r}, ..., {rN, r}, {r, r}, wobei r1, r2, ..., rN die Router (außer r) sind, die eine Schnittstelle in dem Subnetz aufweisen.
  • In beiden Fällen kann der aufwendige Traceroute von dem Router r vermieden werden, da direkt verbundene Schnittstellen von dem Router r aus erreicht werden können. Es sei angemerkt, daß in beiden Fällen die Ausgabe r1, r2, ..., r auch gültig ist; d.h. direktes Telnet zu jedem Router, in r hinein am Ende der Sequenz.

Claims (15)

  1. Verfahren zum Aktualisieren von Routern in einem Netzwerk, mit den folgenden Schritten: Verwenden eines oder mehrerer Traceroute-Bäume (12-22), wobei jeder Baum einen Wurzelknoten, Blattknoten und Kanten aufweist, die jeden Blattknoten durch n Zwischenknoten, wobei n eine ganze Zahl ≥ 0 ist, mit dem Wurzelknoten verbinden, wobei die Bäume kollektiv die zu aktualisierenden Router abdecken, wobei Knoten und Kanten jedes Baums mit einer Baumkennung gekennzeichnet werden und wobei Knoten, die zu mehr als einem Baum gehören, wenn solche Knoten existieren, mit nur einer Baumkennung gekennzeichnet werden; Aktualisieren (23) der Router beginnend mit Blättern der Bäume und voranschreitend in Richtung der jeweiligen Wurzeln der Bäume.
  2. Verfahren nach Anspruch 1, das mit einem Werkzeug ausgeführt wird, das auf einem an das Netzwerk angeschlossenen Computer verankert ist.
  3. Verfahren nach Anspruch 2, wobei der eine bzw. die mehreren Bäume Wurzelknoten aufweisen, die dem Computer zugänglich sind.
  4. Verfahren nach Anspruch 2, wobei der eine bzw. die mehreren Bäume Wurzelknoten aufweisen, die aus einer Menge ausgewählt werden, die folgendes umfaßt: den Computer, Router, die der Computer über eine Außerbandverbindung erreichen kann, Bereichgrenzenrouten und Gateway-Router.
  5. Verfahren nach Anspruch 1, ferner mit einem Schritt des Konstruierens des einen bzw. der mehreren Bäume.
  6. Verfahren nach Anspruch 5, wobei der Schritt des Konstruierens des einen bzw. der mehreren Bäume Knoten, die von einem Computer, der das Verfahren ausführt, aus erreichbar sind, zufällig auswählt.
  7. Verfahren nach Anspruch 5, wobei der Schritt des Konstruierens des einen bzw. der mehreren Bäume Knoten zufällig als Wurzelknoten aus einer vorzuziehenden Teilmenge von Knoten, die von einem Computer, der das Verfahren ausführt, aus erreichbar sind, auswählt.
  8. Verfahren nach Anspruch 7, wobei der Computer die Wurzelknoten durch Ausführen eines Telnet-Prozesses erreicht.
  9. Verfahren nach Anspruch 1, wobei der Schritt des Verwendens eine Sequenz zum Aktualisieren der zu aktualisierenden Knoten entwickelt und der Schritt des Aktualisierens der Router gemäß dieser Sequenz aktualisiert.
  10. Verfahren nach Anspruch 9, wobei die Sequenz auf knotenzentrische Weise entwickelt wird.
  11. Verfahren nach Anspruch 9, wobei die Sequenz auf baumzentrische Weise entwickelt wird.
  12. Verfahren nach Anspruch 9, wobei die Sequenz durch einen Prozeß entwickelt wird, der eine geordnete Aktualisierungssequenzliste erstellt, indem Schritte ausgeführt werden, die der folgenden Logik genügen: While (es sind Knoten in irgendeinem der Menge von Bäumen übrig) do {zufälliges Auswählen eines Blatts sl aus der Menge von Bäumen dergestalt, daß der Knoten sl für keinen Baum ein interner Knoten ist (OR Versagen). Das Blatt sl und seine Kennzeichnung snj an die geordnete Aktualisierungssequenzliste ausgeben Knoten si aus dem Baum snj entfernen folgendes wiederholen: { wenn es keine Kante mit Kennzeichnung x aus einem Nicht-Blattknoten heraus gibt, Entfernen der Kennzeichnung x aus allen Kanten in diesen Knoten hinein (oder Kanten mit der Kennzeichnung x in diesen Knoten hinein), wenn der Knoten nicht mit x gekennzeichnet ist; } until (keine Kante oder Kennzeichnung ist entfernbar); }
  13. Verfahren nach Anspruch 12, wobei der Prozeß ferner einen Schritt umfaßt, Knoten, die nicht aktualisiert werden müssen, aus der Liste abzuschneiden.
  14. Verfahren nach Anspruch 9, wobei die Sequenz durch einen Prozeß entwickelt wird, der eine geordnete Aktualisierungssequenzliste erstellt, indem Schritte ausgeführt werden, die der folgenden Logik genügen: While (es existiert ein Knoten in irgendeinem Baum) do { Startknoten snj zufällig aussuchen While (vorderster Knoten si existiert im Baum snj und Knoten si ist kein Zwischenknoten eines anderen Baums außer snj) { (si, snj) auf Aktualisierungssequenzliste setzen Knoten si aus Baum snj entfernen } }
  15. Verfahren nach Anspruch 14, wobei der Prozeß ferner einen Schritt umfaßt, Knoten, die nicht aktualisiert werden müssen, aus der Liste abzuschneiden.
DE60035638T 1999-04-21 2000-04-18 Verfahren zum sequentiell ordnen von Änderungen für IP-Netzkonfiguration Expired - Lifetime DE60035638T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13037499P 1999-04-21 1999-04-21
US130374P 1999-04-21
US09/418,524 US6621798B1 (en) 1999-04-21 1999-10-14 Method to sequence changes for IP network configuration
US418524 1999-10-14

Publications (2)

Publication Number Publication Date
DE60035638D1 DE60035638D1 (de) 2007-09-06
DE60035638T2 true DE60035638T2 (de) 2008-05-21

Family

ID=26828434

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60035638T Expired - Lifetime DE60035638T2 (de) 1999-04-21 2000-04-18 Verfahren zum sequentiell ordnen von Änderungen für IP-Netzkonfiguration

Country Status (5)

Country Link
US (1) US6621798B1 (de)
EP (1) EP1047228B1 (de)
AT (1) ATE368339T1 (de)
CA (1) CA2305059A1 (de)
DE (1) DE60035638T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836463B2 (en) * 1999-10-15 2004-12-28 Nokia Corporation System for communicating labeled routing trees to establish preferred paths and source routes with local identifiers in wireless computer networks
US7523190B1 (en) * 1999-12-23 2009-04-21 Bickerstaff Cynthia L Real-time performance assessment of large area network user experience
US7042846B2 (en) * 2000-01-27 2006-05-09 International Business Machines Corporation Restrictive costs in network systems
US6850524B1 (en) * 2000-07-31 2005-02-01 Gregory Donald Troxel Systems and methods for predictive routing
US6868071B1 (en) * 2000-11-15 2005-03-15 Intel Corporation System and method of transmitting data frames in a mesh of data switches
US7370096B2 (en) * 2001-06-14 2008-05-06 Cariden Technologies, Inc. Methods and systems to generate and implement a changeover sequence to reconfigure a connection-oriented network
US7103054B2 (en) * 2001-07-16 2006-09-05 International Business Machines Corporation Methods and arrangements for building a subsource address multicast distribution tree using point to point routing records
JP3577067B2 (ja) * 2002-12-24 2004-10-13 一 福嶋 動的ipアドレス割当てを受けた機器を管理する方法およびシステム
US7539739B2 (en) * 2003-05-21 2009-05-26 Panasonic Corporation Self-configuring network system and routers for use therein
US7327695B2 (en) * 2003-12-19 2008-02-05 Telefonaktiebolaget Lm Ericsson (Publ) Centralized link-scope configuration of an internet protocol (IP) network
US8477639B2 (en) 2004-09-08 2013-07-02 Cradlepoint, Inc. Communicating network status
US20090172658A1 (en) * 2004-09-08 2009-07-02 Steven Wood Application installation
US9237102B2 (en) * 2004-09-08 2016-01-12 Cradlepoint, Inc. Selecting a data path
US9584406B2 (en) * 2004-09-08 2017-02-28 Cradlepoint, Inc. Data path switching
WO2006081540A2 (en) * 2005-01-28 2006-08-03 Cariden Technologies, Inc. A method and system for communicating predicted network behavior between interconnected networks
US8644272B2 (en) * 2007-02-12 2014-02-04 Cradlepoint, Inc. Initiating router functions
US9420513B1 (en) * 2007-06-22 2016-08-16 Hewlett Packard Enterprise Development Lp Clustering approach to estimating a network metric for nodes
WO2009064889A2 (en) * 2007-11-14 2009-05-22 Cradlepoint, Inc. Configuring a wireless router
KR101421145B1 (ko) * 2008-01-09 2014-07-18 삼성전자주식회사 무선 메쉬 네트워크에서 게이트웨이 선택 방법
US8549201B2 (en) 2010-06-30 2013-10-01 Intel Corporation Interrupt blocker
US8994746B2 (en) * 2012-06-27 2015-03-31 Google Inc. System and method for generating a flow based on multiple types of interactions
US9723498B2 (en) * 2014-06-18 2017-08-01 Google Inc. Automatically updating an access point
US10154423B2 (en) 2014-06-27 2018-12-11 Google Llc End-to-end network diagnostics
US9742775B2 (en) 2014-07-01 2017-08-22 Google Inc. Wireless local area network access
US10320766B2 (en) 2015-11-17 2019-06-11 Google Llc Wireless network access

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5917820A (en) * 1996-06-10 1999-06-29 Cisco Technology, Inc. Efficient packet forwarding arrangement for routing packets in an internetwork
US6055561A (en) * 1996-10-02 2000-04-25 International Business Machines Corporation Mapping of routing traffic to switching networks
US5926463A (en) * 1997-10-06 1999-07-20 3Com Corporation Method and apparatus for viewing and managing a configuration of a computer network
US6415312B1 (en) * 1999-01-29 2002-07-02 International Business Machines Corporation Reliable multicast for small groups
US6363319B1 (en) * 1999-08-31 2002-03-26 Nortel Networks Limited Constraint-based route selection using biased cost

Also Published As

Publication number Publication date
US6621798B1 (en) 2003-09-16
CA2305059A1 (en) 2000-10-21
EP1047228A2 (de) 2000-10-25
EP1047228A3 (de) 2004-04-21
DE60035638D1 (de) 2007-09-06
ATE368339T1 (de) 2007-08-15
EP1047228B1 (de) 2007-07-25

Similar Documents

Publication Publication Date Title
DE60035638T2 (de) Verfahren zum sequentiell ordnen von Änderungen für IP-Netzkonfiguration
DE69727930T2 (de) Zusammenfassung von verbindungen in vermittlungskommunikationsnetzen
DE69933417T2 (de) Vorrichtung und Verfahren zur routerfreien Schicht 3 Wegelenkung in einem Netz
DE4430993C1 (de) Verfahren zur adaptiven Wegesuche in einem Kommunikationsnetz
DE69737342T2 (de) Internet-NCP(Netzwerksteuerungspunkt) über ATM
DE602004010526T2 (de) Verfahren und vorrichtung zum adaptiven routen auf strömungsbasis in mehrstufigen datennetzwerken
DE69836271T2 (de) Mehrstufiges firewall-system
DE60312355T2 (de) Dynamisches peer tunneling mit leistungsoptimierung
DE102012220834B4 (de) Verfahren und Vorrichtung zum Umsetzen eines flexiblen virtuellen lokalen Netzwerks
DE69918332T2 (de) Virtuelle lokale netze mit prioritätsregeln
DE60035969T2 (de) Verfahren und Anordnung zur Behandlung der Informationpakete durch vom Nutzer auswählbare Relaisknoten
DE60031274T2 (de) Mehrfachanschlussverfahren und -gerät für vituelle ports
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE102006037499A1 (de) Verfahren und System zum Entdecken und Bereitstellen von Beinahe-Echtzeit-Aktualisierungen von VPN-Topologien
EP0781007B1 (de) Verfahren zum Bilden von Leitweginformation in einem ATM-Kommunikationsnetz
DE69919569T2 (de) Verwaltung von verbindungsorientierten diensten über das internet-protokoll
DE60200466T2 (de) Ein adaptiver Pfad-Erkennungs-Prozess zum Routen von Datenpaketen in einem Mehrknotennetzwerk
DE602004005242T2 (de) Zentralisierte konfiguration von verwalteten objekten des link-scope-typs in netzwerken, die auf dem internet-protokoll (ip) basieren
DE202012013425U1 (de) Semi-Zentralisiertes Routing
DE102004004320A1 (de) System und Verfahren für den Zugriff auf und die Übertragung von verschiedenen Datenrahmen in einem digitalen Übertragungsnetz
DE19839577A1 (de) Verfahren und Vorrichtung zum Anfertigen einer Karte der physischen Topologie eines Teilnetzes
DE60131615T2 (de) Topologiebestimmung in atm-netzen
WO2021008800A1 (de) Verfahren zur datenkommunikation, netzwerk, computerprogramm und computerlesbares medium
EP1532780B1 (de) Effizientes intra-domain routing in paketnetzen
DE60318601T2 (de) Verfahren zur automatischen konfiguration einer ip-fernsprecheinrichtung und/oder daten, system und einrichtung zu ihrer implementierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition