Beschreibung
Automatische Routen-Konfiguration für quasi assoziierte M3UA Verbindungen
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Anwendung in paketbasierten Telekommunikationssystemen, wobei mit dem Verfahren topologische Merkmale des Netzwerks ermittelt werden und diese bei der Routen-Wahl berücksichtigt wer- den.
Netzknoten in einem Telekommunikationssystem können für unterschiedliche Funktionen konzipiert sein. Beispielsweise kann in einem Netz mit getrennten Nutz- und Signalisierungs- kanälen ein Netzknoten in Form eines Signalisierungstransfer- punktes (englisch: Signalling Transfer Point, STP) vorliegen. In einem solchen STP werden die Signalisierungsnachrichten nur weitergeleitet. Die eigentliche Verarbeitung der Signali- sierungsinfor ation erfolgt dagegen in den sogenannten Signa- lisierungsendpunkten (SEPs) .
Ein Netzknoten kann auch in Form eines 'Gateways' vorliegen. In diesem Fall bildet er einen verbindenden Netzknoten zwischen verschiedenen Netzwerken. Ein Gateway, mit dem Signali- sierungs-Nachrichten verarbeitet und/oder weitergeleitet werden können, wird als Signalisierungs-Gateway (englisch: Signalling Gateway, SG) bezeichnet. Beispielsweise kann ein SG ein diensteintegrierendes digitales Netz (englisch: In- tegrated Services Digital Network, ISDN) mit dem Internet verbinden.
Mittels einem 'Media Gateway' wird ein verbindungsorientier- tes Telefonnetz mit paketbasierten Netzwerken, beispielsweise
dem Internet verbunden. Der Media Gateway verarbeitet insbesondere Sprachsignale für deren Weiterverarbeitung in dem jeweils anderen Netz.
Verantwortlich für die Steuerung der Media Gateways ist ein 'Media Gateway Controller' (MGC) . Dieser fungiert im Signali- sierungsnetz als SEP im Internet-Protokoll (IP) Netz. Ein MGC ist typischerweise über einen SG an das Signalisierungssystem Nummer 7 (englisch: Signalling System Nu ber 7, SS7) Netz an- gebunden.
SGs können mit STP-Funktionalitat ausgebildet sein, also insbesondere als Router für Signalisierungsnachrichten dienen. Wenn eine Signalisierung über STPs erfolgt, spricht man von ' quasi-assoziierter ' Signalisierung.
Zur Kommunikation zwischen den Netzknoten dienen Protokolle, die den Informationsaustausch regeln. Arbeiten mehrere Protokolle miteinander, spricht man von einer Protokollfamilie. Ein Beispiel für eine solche Protokollfamilie ist das SS7, das in digitalen Telekommunikationsnetzen zur Signalisierung zwischen den Netzknoten eingesetzt wird.
Der Teil von SS7, der die Nachrichtenübertragung regelt, wird 'Message Transfer Part' (MTP) genannt. Will man die SS7 Sig- nalisierungsinformation über ein IP Netzwerk transportieren, verwendet man anstelle des MTP die sogenannte 'MTP Level 3 User Adaptation' (M3UA) . Der M3UA ist über eine Interworking Funktion an den MTP angeschlossen. Mit Hilfe des M3UA wird zum Beispiel die Signalisierung zwischen MGC und SG bzw. zwischen zwei SGs übertragen.
Auch die sogenannte 'dynamische Konfigurationsfunktion' (englisch: Dynamic Configuration Function') ist Bestandteil des M3UA-Protokolls und wird dazu verwendet, einen MGC an einem SG anzumelden. Dazu wird vom MGC an den SG eine Registrierungs-Nachricht (englisch: 'Registration Request') gesendet, die die Adresse des MGC's im SS7-Netz in Form des 'Point Co- de's' enthält. Durch eine entsprechende Deregistrierungs- Nachricht kann der MGC mit seinem Point Code bei einem SG wieder abgemeldet werden.
SEPs haben keine Transferfunktion. Daher werden von ihnen zwar Registrierungs-Nachrichten, den eigenen Point Code betreffend, ausgesendet, aber andere Registrierungs- Nachrichten werden von ihnen nicht weitergeleitet. Dies gilt insbesondere auch für MGCs.
Die Wegewahl für Nachrichtenübertragungen in einem paketbasierten Telekommunikationsnetz kann durch STPs oder Gateways dadurch bewerkstelligt werden, dass die Datenpakete ab- schnittsweise von einem Netzknoten zum nächsten weitergeleitet werden. Der Abschnitt auf einer Route, der sich zwischen zwei Netzknoten befindet, wird im folgenden als Teilübertragungsstrecke bezeichnet. Die Lenkung der Datenpakete durch das Netz erfolgt aufgrund von Informationen in den Routing- Datenbasen, die in den Netzknoten vorliegen. Die Adresse eines Datenpaketes wird dabei üblicherweise durch die Angabe des Ziel-Point Code's (englisch: 'Destination Point Code', DPC) angegeben.
Aus EP 1 056 246 A2 ist bekannt, dass Router in paketbasierten Datenübertragungssystemen, die auf dem IP basieren, Informationen über verfügbare Routen austauschen können und auf
diese Weise Informationen über verfügbare Teilübertragungsstrecken in den Routern gesammelt werden können.
Bei dem 'Routing Information Protocol' (RIP) handelt es sich um ein spezielles 'Interior Gateway Protocol' (IGP) im Rahmen des IP, das dazu benutzt wird, Routing-Informationen in einem autonomen Netzwerksystem zu verbreiten. Das 'Open Shortest Path First' (OSPF) Protokoll ist ein weiteres IGP. Mit ihm kann das Routing hinsichtlich der Übertragungskosten opti- iert werden.
In Telekommunikationssystemen, welche auf dem SS7 Standard basieren, werden nach derzeitigen Stand der Technik in jedem SG mit STP-Funktionalität für alle möglichen Zieladressen die Routen durch den Operator manuell eingerichtet. Dabei müssen bei Vorliegen mehrerer möglicher Routen - und dies ist aus Sicherheitsgründen die Regel - vom Operator für jedes Ziel den möglichen Routen entsprechende Prioritäten manuell zugeordnet werden. Diese Angaben, werden in der Routing-Datenbasis abgespeichert. Ein Ändern dieser Datenbasis ist ebenfalls nur durch manuelle Eingriffe des Operators möglich. Hierbei entsteht somit ein administrativer Aufwand.
Über welche Route eine Nachricht gesendet wird, hängt vom ak- tuellen Zustand der Routen ab. In einem STP wird zum Senden einer Nachricht jeweils diejenige der verfügbaren Routen ausgewählt, die die höchste Priorität hat. Falls diese ausfällt, wird eine Ersatzroute mit niedrigerer Priorität verwendet.
Der Erfindung liegt die Aufgabe zugrunde, den Prozess des Aufbaus einer Routing-Datenbasis in einem SS7 Netzwerk oder in einem Netzwerk mit entsprechenden Eigenschaften möglichst weitgehend oder teilweise zu automatisieren.
Diese Aufgabe wird mit den in den unabhängigen Patentansprüchen angegebenen Verfahren gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
Gemäß der Erfindung wird von einem Netzknoten, im folgenden mit 'A' bezeichnet, in einem ersten Schritt a.) an seine unmittelbaren Nachbar-Netzknoten im Rahmen einer Registrierungs-Nachricht eine Information über eine Distanz gesendet.
Bei dem Netz kann es sich beispielsweise um ein SS7 Netz handeln. Bei dem Netzknoten 'A' kann es sich insbesondere um einen SEP, beispielsweise um einen MGC, handeln. Bei den unmittelbaren Nachbar-Netzknoten kann es sich insbesondere um STPs, beispielsweise in Form von SGs handeln. Bei der Regist- rierungsnachricht kann es sich beispielsweise um eine MTP- oder eine M3UA-Nachricht handeln.
Mit 'Distanz' wird hier die Anzahl der Teilübertragungsstre- cken auf einer bestimmten Route zwischen zwei Netzknoten bezeichnet. Beispielsweise hat die Route von einem Netzknoten 'k' zu einem Netzknoten 'm' den Wert zwei, falls sie von 'k' nach 'm' über einen Netzknoten '1' verläuft, denn in diesem Fall liegen zwei Teilübertragungsstrecken vor, die erste von 'k' nach '1' und die zweite von '1' nach 'm' .
Bei Verwendung des M3UA-Protokolls kann im Rahmen der Implementierung des erfindungsgemäßen Verfahrens ein weiterer 'Tag' für einen zusätzlichen Parameter in die bereits vorhan- dene Registrierungs-Nachricht eingeführt werden, mit dessen Hilfe der Distanzwert angegeben werden kann.
Diese Form der Distanzangabe entspricht der Angabe einer Entfernung zwischen zwei Netzknoten in Form von sogenannten 'Hop Counts' .
Die Distanz-Information, die von 'A' in dem oben genannten, ersten Schritt des erfindungsgemäßen Verfahrens gesendet wird, betrifft die Distanz von dem Netzknoten 'A' zu dem Netzknoten 'A', also zu sich selbst. Die Distanz hat in diesem Fall somit den Wert Null.
Die Distanz-Information, die von 'A' gesendet wird, enthält neben dem Wert an sich insbesondere auch die Angabe des Absenders der Nachricht, in unserem Fall also die Adresse von 'A', beispielsweise in Form einer Point Code Angabe.
Der Netzknoten 'A' sendet erfindungsgemäß an wenigsten einen direkten Nachbar-Netzknoten. Insbesondere ist der Fall von Interesse, dass alle diejenigen Nachbar-Netzknoten benachrichtigt werden, auf denen das erfindungsgemäße Verfahren implementiert worden ist. Anzustreben ist dabei der Fall, dass mit allen direkten Nachbar-Netzknoten von 'A', zumindest wenn sie als STP fungieren, das erfindungsgemäße Verfahren durchgeführt werden kann und 'A' entsprechend an alle diese Nachbar-Netzknoten die Distanz-Information sendet.
In einem nächsten Schritt b.) wird der von 'A' gesendete Distanzwert in einem empfangenden Nachbar-Netzknoten, im folgenden beispielhaft mit 'X' bezeichnet, um eins erhöht und in einem Schritt c.) zusammen mit der Angabe des Netzknotens 'A' in der Routing-Datenbasis von 'X' gespeichert.
In 'X' wird mit dem durch die genannte Inkrementierung veränderten Distanzwert eine weitere Distanz betrachtet, und zwar
diejenige von 'X' nach 'A' . Von 'X' nach 'A' führt eine Teilübertragungsstrecke, folglich beträgt der Distanzwert zwischen 'X' und 'A' Eins.
Für 'X' fungiert der Netzknoten 'A' jetzt als Ziel-Netzknoten für eine potenzielle künftige Übertragung. Daher wird die von 'X' empfangene Distanz-Information nach der in Schritt b.) vollzogenen Inkrementierung in 'X' gespeichert. Beispielsweise kann diese Angaben in der Routing-Tabelle von 'X' abge- speichert werden. Außer dem Distanzwert an sich wird insbesondere der potenzielle Ziel-Netzknoten - in unserem Fall al- so 'A' - und als weitere Routing-Information der auf der betrachteten Route von 'X' aus anzusteuernde, nächstfolgende Nachbar-Netzknoten - in unserem Fall wiederum 'A' - gespei- chert.
In einem folgenden Schritt d.) wird von 'X' die durch den Schritt b.) modifizierte Distanzinformation an wenigstens einen direkten Nachbar-Netzknoten von 'X' im folgenden bei- spielhaft mit 'U' bezeichnet, weitergesendet.
Diese Nachricht kann beispielsweise wiederum im Rahmen einer Registrierungs-Nachricht unter Benutzung des MTP- oder des M3UA-Protokolls erfolgen.
Analog zu Schritt a.) sind hierbei wiederum alle Netzknoten von besonderem Interesse, auf denen das erfindungsgemäße Verfahren implementiert ist.
Ebenso analog zu Schritt a.) enthält diese von 'X' aus weitergesendete Distanzinformation neben dem Distanzwert an sich - in unserem Beispiel also Eins - insbesondere die Angabe des potenziellen Ziel-Netzknotens - in unserem Fall also 'A' -
und die Angabe über den von dem Nachbarnetzknoten von 'X' - in unserem Beispiel also von "ü" - aus auf dieser so festge¬ legten Route anzusteuernden Nachbarnetzknoten - in unserem Beispiel 'X' .
In 'U' liegt somit nach diesen Schritten folgende Information vor: Wenn von 'U' aus eine Übertragung nach 'A' erfolgen soll, ist dies auf einer Route möglich. Dabei beträgt der Distanzwert dieser Route von 'U' nach 'A' Zwei und auf dieser Route ist eine Nachricht von 'U' aus zunächst an den Nachbar- Netzknoten 'X' zu senden.
Erfindungsgemäß wiederholen sich nun die Schritte b.) bis d.) . In unserem Beispiel wird also die von 'X' an 'U' gesen- dete Distanzinformation in 'U' wiederum um Eins erhöht
(Schritt b.)), in der Routing-Datenbasis von 'U' abgespeichert (Schritt c.)) und wiederum an unmittelbare Nachbar- Netzknoten weitergesendet (Schritt d.)).
Vorteilhaft wird von einem Netzknoten beim Weiterversenden der Distanzinformation nicht in jedem Fall derjenige Distanzwert verwendet, der durch die beschriebene Inkrementierung in Schritt b.) berechnet wurde: Falls in der Routing-Datenbasis für den betreffenden Ziel-Netzknoten ein kleinerer Distanz- wert für- eine Alternativroute vorliegt, kann dieser bei der Weiterversendung verwendet werden. Auf diese Weise wird jeweils die Information über die kürzestmögliche Route weiterverbreitet.
Erfindungsgemäß wird dieses Verfahren so lange fortgesetzt, bis ein definiertes Abbruchkriterium erfüllt ist. Dies könnte beispielsweise vorliegen, wenn alle im Netz registrierten Netzknoten die von 'A' stammende Distanzinformation erhalten
haben. Ein weiteres Beispiel für ein Abbruchkriterium ist das
Erreichen eines vorab festgelegten maximalen Distanzwertes. Dies ist beispielsweise in großen Netzwerken von Bedeutung, da andernfalls unnötig große Datenmengen in Routing- Datenbasen anfallen könnten und sich auch unnötiges Nachrichten-Übertragungsaufkommen einstellen könnte.
Nach gewisser Zeit erhält jeder Netzknoten durch das erfindungsgemäße Verfahren Distanzinformationen zu potenziellen Ziel-Netzknoten. Insbesondere ist der Fall möglich, dass nach gewisser Zeit in einem Netzknoten für einen bestimmten Ziel- Netzknoten zwei oder mehr Distanzinformationen vorliegen, die unterschiedliche Routen betreffen und unterschiedliche Werte aufweisen. Vorteilhaft werden in einem solchen Fall in dem Netzknoten die unterschiedlichen Routen für einen potenziellen Ziel-Netzknoten klassifiziert, insbesondere unter Berücksichtigung der Distanzwerte mit unterschiedlichen Prioritäten versehen.
Den Routen mit den kleinsten Distanzwerten wird dabei die höchste Prioritätsstufe zugeordnet. Routen mit höheren Distanzwerten und entsprechend niedrigeren Prioritätsstufen können als 'Backup Routen' eingerichtet werden.
Bei einer später erfolgenden Übertragung von einem solchen
Netzknoten zu dem potenziellen Zielnetzknoten können die Prioritäten berücksichtigt werden, und insbesondere Übertragungswege mit hohen Prioritäten bevorzugt werden.
Falls in einem Netzknoten für eine Nachrichtenübertragung unterschiedliche Routen mit gleicher Distanz zur Verfügung stehen, kann Routenwahl beispielsweise einfach im 'Load Sharing Modus' betrieben werden.
Erfindungsgemäß wird ein Netzknoten, der als neuer Netzknoten dem Netz zur Verfügung gestellt worden ist, zuerst bei seinen Nachbar-Netzknoten im Rahmen einer Registrierungs-Nachricht angemeldet und dabei der erfindungsgemäße Schritt a.) durchgeführt, bevor er für die Weiterversendung anderer Distanzinformationen im Rahmen von Schritt b.) eingesetzt wird. Dadurch wird ein reibungsloser Verfahrensablauf unterstützt, insbesondere, wenn es sich um ein SS7-Netz oder ein ver- gleichbares Netz handelt.
Aufgrund von Änderungen im Netzwerk, kann es dazu kommen, dass sich eine Distanz zu einem potenziellen Ziel-Netzknoten ändert. Um in einem solchen Fall die entsprechende Informati- on im Netz zu verteilen, wird der betroffene Netzknoten erneut durch das beschriebene Verfahren im Netz registriert. In den Netzknoten, die eine solche Nachricht empfangen, wird daraufhin die entsprechende Distanzinformation, beispielsweise in der Routing-Tabelle, aktualisiert.
Bei Verwendung des M3UA-Protokolls wird beim Verbindungsaufbau eine 'Application Server Process Up' (ASP UP) Nachricht beziehungsweise eine 'Application Server Process Up Acknow- ledgement' (ASP UP ACK) Nachricht zwischen Netzknoten ausge- tauscht. Um im Netz einen Netzknoten kenntlich machen zu können, auf dem das erfindungsgemäße Verfahren implementiert worden ist, kann beispielsweise die ASP UP Nachricht beziehungsweise die ASP UP ACK Nachricht entsprechend erweitert werden. Man kann in diesen Nachrichten beispielsweise einen Info String einfügen, der Information hierüber enthält (z.B. Info String = ' support automatic route configuration' ) . Beim Info String Parameter in den ASP UP- und ASP UP ACK-Nach-
richten handelt es sich um einen optionalen Parameter, der ignoriert wird, falls er einen unbekannten Inhalt aufweist,
Falls eine Route bis auf weiteres nicht mehr für Übertragun- gen benützt werden soll, wird dies mit einer Deregistrie- rungs-Nachricht den entsprechenden Nachbar-Netzknoten mitgeteilt.
Insbesondere in vergleichsweise großen Netzwerken ist es nicht sinnvoll, alle möglichen Übertragungswege auch als Routen einzurichten. Dies würde die Routendatenbasen unnötig groß machen und bei Anwendung der vorliegenden Erfindung zu sehr vielen Registrierungs-Nachrichten führen, die in der Praxis ohne Einfluss auf die Routenkonfiguration blieben, je- doch unnötiges Datentransferauf ommen erzeugen würden. Da bevorzugt nur effektive Routen verwendet werden sollen, also Routen mit kleiner Distanz, kann ein maximaler Distanzwert definiert werden. Routen mit einer Distanz, die größer ist als diese maximale Distanz, können damit als zu ineffektiv eingestuft werden. Solche Routen werden dann auch nicht mehr an Nachbarknoten weitergemeldet.
Ob es sinnvoll ist, eine maximale Distanz zu definieren bzw. wie groß eine solche zu wählen ist, hängt insbesondere von der Struktur bzw. von den Anforderungen des Netzwerkes ab.
Beispielsweise werden in hierarchisch aufgebauten Netzen größere Distanzen benötigt als in Netzen, welche voll vermascht sind.
Ein wesentliches Ziel beim Aufbau der Routingtabellen ist es, dass mit ihrer Hilfe jede Nachricht möglichst schnell ihrem Ziel zugeleitet werden kann. Auf jeden Fall ist zu verhindern, dass mögliche Routen als solche abgespeichert werden,
deren Benutzung dazu führt, dass sich eine Nachricht von ihrem Zielnetzknoten entfernt oder auf einer geschlossenen Route - 'kreisförmig' - um den Zielnetzknoten wandert. Erfindungsgemäß registriert ein Netzknoten aus diesem Grunde bei seinen Nachbarnetzknoten nur dann Zielnetzknoten, wenn der entsprechende Nachbarnetzknoten selbst keine kleinere Distanz zu diesem Ziel hat. Falls der entsprechende Nachbarnetzknoten dieselbe Distanz zum Ziel hat, wird das Ziel dennoch registriert, damit mit Hilfe dieser Information das Aufbauen even- tueller Ersatzrouten möglich wird.
Eine weitere Schutzmöglichkeit gegen Kreisrouting bietet die MTP Level 3-Prozedur zum Senden von sogenannten 'Preventive Transfer Prohibited' (preventive TFP) Nachrichten bzw. einer sogenannten 'Destination unavailable' (DUNA) Nachricht, falls es sich um eine M3UA-Verbindung handelt. Eine solche Nachricht wird zu einem Nachbarnetzknoten gesendet, der aktuell zum Routen benutzt wird. Dadurch wird verhindert, dass Nachrichten zwischen zwei Netzknoten hin und her pendeln und sich somit 'Ping-Pong-Routing' einstellt.
Für Netze mit automatischer Routing-Konfiguration besteht die Möglichkeit, die Preventive Transfer Prohibited-Prozedur dahingehend zu erweitern, dass man Preventive Transfer Prohibi- ted-Nachrichten nicht nur bezüglich derjenigen Routen sendet, die aktuell benutzt werden, sondern bezüglich aller Routen, welche dieselbe Distanz zum entsprechenden Zielnetzknoten haben, wie die aktuell benutzte.
Falls in einem Netzwerksystem nicht auf allen Netzknoten das automatische Konfigurieren von Routen entsprechend der vorliegenden Erfindung implementiert ist, kann die Information hierüber beim Verbindungsaufbau eines neuen STP 's mitgeteilt
werden. Diese Information kann z.B. im Infostring einer ASP
UP Nachricht enthalten sein. Enthält der Infostring diese Information nicht, wird davon ausgegangen, dass der entsprechende Netzknoten das automatische Konfigurieren nicht beherrscht .
Alternativ kann auch mittels einer manuellen Konfiguration festgelegt werden, welche Netzknoten die Prozedur der automatischen Konfiguration beherrschen.
Ein STP bzw. SG weiß auch ohne Registrierung, welche SS7 Ziel-Netzknoten direkt mit einem SS7 Linkset an ihn angeschlossen sind. Da es ein direktes SS7 Linkset (nicht über einen weiteren STP) zu solchen Netzknoten gibt, muss die Dis- tanz Eins- sein. Eine Distanzinformation mit Distanzwert Eins kann also erfindungsgemäß auch dann an direkte Nachbar- Netzknoten weitergeleitet werden, wenn es sich bei dem potenziellen Ziel-Netzknoten um einen Netzknoten handelt, auf dem das erfindungsgemäße Verfahren nicht implementiert ist. Auf diese Weise können auch Routing-Informationen bezüglich solcher potenzieller Ziel-Netzknoten, die direkt mit SS7-Links angeschlossen sind, in das Verfahren eingebunden werden.
Für Ziel-Netzknoten, die nicht unmittelbare Nachbar- Netzknoten sind und auf denen das Verfahren nicht implementiert ist, kann beispielsweise als Distanzwert ein Default- wert (z.B. Drei) verwendet werden. Alternativ kann für Routen, die solche Netzknoten als potenzielle Ziel-Netzknoten aufweisen, manuell konfiguriert werden.
Anstelle von M3UA-Registrierungs-Nachrichten, welche gemäß dem M3UA-Protokoll übertragen werden, ist alternativ möglich, die entsprechenden Informationen (Point Code, Distanz, Net-
work Appearance) auf anderen Wegen zwischen den Netzknoten auszutauschen. Beispielsweise könnten die Routing-Information über separate Transmission Control Protocol (TCP) /IP-Ver- bindungen zwischen den SGs ausgetauscht werden. Auf diese Weise ist es möglich, in einem SS7-Netz STPs, die nicht über das M3UA-Protokoll miteinander verbunden sind, in das Verfahren der automatischen Routenkonfiguration mit einzubeziehen.
Weitere Merkmale, Vorteile und Eigenschaften sollen nunmehr anhand einer detaillierten Beschreibung von Ausführungsbei- spielen und bezugnehmend auf die Figuren der beigefügten Zeichnungen erläutert werden. Es zeigen:
Fig. 1 eine Registrierung eines neu eingerichteten Point Codes in einem Netz;
Fig. 2 eine Entfernung einer registrierten Verbindung;
Fig. 3 eine erneute Registrierung eines Point Codes;
Fig. 4 ein Senden einer 'Preventive TFP' Nachricht; und
Fig. 5 eine erweiterte 'Preventive TFP' bzw. DUNA Regel.
Alle Symbole und Bezugszeichen sind in den vier Figuren einheitlich verwendet.
Fig. 1 zeigt eine schematische Darstellung eines Telekommunikations-Netzwerks 1, das die fünf Netzknoten 'A' 2, 'X' 3, 'Y' 4, 'U' 5 und 'V 6 und sieben Verbindungen (7, 8, 9, 10, 11, 12, 13) zwischen diesen als Elemente aufweist. Bei den Netzknoten 'X' 3, Υ' 4, 'U' 5, 'V 6 handelt es sich im gezeigten Beispiel um Signalling Gateways (SGs) , die als Signa-
lisierungstransferpunkte (STPs) dienen. 'A' ist ein Signali- sierungsendpunkt (SEP), zum Beispiel ein Media Gateway Controller (MGC) .
Im folgenden wird vereinfachend der besseren Übersichtlichkeit halber die kurze Bezeichnung 'X' anstelle von 'Netzknoten 'X'' oder 'Signalling Gateway 'X'' verwendet und für die anderen Netzknoten werden analoge kurze Bezeichnungen verwendet.
Jeder der Netzknoten hat eine Adresse im SS7 Netz, die als Point Code angegeben wird. Bei einer Nachrichten-Übertragung wird als Adresse der Point Code des Ziel-Netzknoten als Destination Point Code (DPC) angegeben.
In Fig. 1 ist ein Fall dargestellt, in dem 'A' 2 als neuer MGC im Netz eingerichtet wurde, dem Netz somit als neuer Netzknoten zur Verfügung steht und diese Information erfindungsgemäß an die anderen SGs 'X' 3, 'Y' 4, 'IT 5 und 'V 6 weitergegeben wird.
Als erster Schritt hierzu sendet 'A' 2 an seine unmittelbaren Nachbarn 'X' 3 und 'Y' 4 jeweils eine Nachricht, in der die Distanz von 'A' nach 'A', also 'zu sich selbst' entsprechend der oben angegebenen Definition der Distanz mit Null angegeben ist. Dies kann beispielsweise bei Verwendung des M3UA- Protokolls im Rahmen einer Registrierungs-Nachricht (englisch: 'Registration Request') erfolgen. Dies wird im folgenden mit
'Reg Req, DPC = A, Dist = 0'
angegeben,
Um die erhaltene Distanzinformation auf die lokale Situation der SGs 'X' 3 beziehungsweise 'Y' 4 anzupassen, wird der Distanzwert in jedem von diesen um Eins erhöht, denn die Distanz von 'X' 3 nach 'A' 2 beträgt Eins, ebenso wie die Distanz von 'Y' 4 nach 'A' 2. Diese lokal angepasste Distanzinformation wird beispielsweise in den jeweiligen 'Routing- Datenbasen' der SGs 'X' 3 und 'Y' 4 gespeichert.
Da der Distanzwert Eins für eine potenzielle Übertragung den kleinstmöglichen Wert darstellt, wird in 'X' 3 und 'Y' 4 der so definierten - direkten - Route zu 'A' 2 die höchstmögliche Priorität (Priorität Eins) zugeordnet. Dies wird in der Routing-Datenbasis von 'X' 3 beispielsweise in der Form
Routing to A
Prio 1: XA (dist 1)
gespeichert, wobei mit 'XA' ausgedrückt wird, dass auf dieser Route von 'X' 3 als nächster Netzknoten 'A' 3 zu wählen ist.
Als nächster Schritt wird die so gespeicherte und verarbeitete Information von den SGs 'X' 3 und 'Y' 4 an weitere Nach- bar-SGs weitergeleitet. Unter Benutzung der oben angegebenen Kurzschreibweise lautet die entsprechende Nachricht von 'X' 2 an 'Y' 4:
Reg_Req, DPC = A, Dist = 1
Diese Distanzinformation wird in 'Y' 4 wiederum inkrementiert und abgespeichert. Da der Weg von 'Y' 4 über 'X' 3 nach 'A' 2 weiter ist als der direkte Weg, erhält die Route 'YX' eine niedrigere Priorität, so dass sich in der Routing-Datenbasis von 'Y' 4 schließlich findet:
Routing to A
Prio 1: YA (dist 1)
Prio 2: YX (dist 2)
und analog in der Routing-Datenbasis von 'X' 3:
Routing to A Prio 1: XA (dist 1) Prio 2: XY (dist 2)
Außerdem sendet 'X' 3 an 'U' 5:
Reg_Req, DPC = A, Dist = 1
Dieselbe Nachricht wird von 'X' 3 auch an 'V 6 gesendet. In 'U' 5 und 'V 6 wird sie entsprechend dem oben dargestellten Verfahren verarbeitet und registriert. Dies führt dazu, dass beispielsweise in der Routing-Datenbasis in 'U' 5 nach diesem Schritt als Information vorliegt:
Routing to A
Prio 1: UX (dist 2)
'X' 3 sendet die Distanzinformation im gezeigten Beispiel an alle seine unmittelbaren Nachbar-SGs, außer an 'A' 2, denn in 'A' 2 liegt für die Route nach 'A' 2 der Distanzwert Null vor, wohingegen in 'X' 3 für die Route nach Α' 2 der Distanzwert Eins, also ein größerer Wert vorliegt und erfin- dungsgemäß wird in diesem Fall keine Distanzinformation gesendet.
Weiterhin sendet 'U' 5 entsprechend dem erfindungsgemäßen
Verfahren an seinen Nachbarn 'V :
Reg_Req, DPC = A, Dist = 2
Wiederum wird diese Nachricht nicht an 'X' 3 gesendet, da 'X' 3 bereits über eine Route nach 'A' 2 mit geringerer Distanz verfügt.
Sind alle Distanzinformationen entsprechend dem Verfahren verteilt, liegt schließlich in der Routing-Datenbasis von 'U' 5 vor:
Routing to A Prio 1: UX (dist 2) Prio 2: UV (dist 3)
Und in der Routing-Datenbasis von 'V 6 liegt dann vor:
Routing to A
Prio 1: VX, VY (dist 2) • Prio 2: VU (dist 3)
In Fig. 2 ist der Fall gezeigt, dass mittels einer Dere- gistrierungs-Nachricht im Netz die Information verbreitet wird, dass eine vormals registrierte Route nicht mehr zur Verfügung steht. Alle Symbole und Benennungen haben dieselbe Bedeutung wie in Fig. 1, falls nicht anders angegeben.
Im gezeigten Beispiel wird von der Situation ausgegangen, die nach Abschluss des mit Fig. 1 dargestellten Ablauf-Beispiels vorliegt. Die Route, die im gezeigten Beispiel nicht mehr zur Verfügung steht, ist die Teilübertragungsstrecke zwischen 'A'
2 und 'Y' 4. Diese Information wird im ersten Schritt von 'A'
2 mittels einer Deregistrierungs-Nachricht an 'Y' 4 gesendet.
In 'Y' 4 wird daraufhin die Route
Prio 1: YA (dist 1)
ersatzlos gestrichen. In der Routing-Datenbasis von 'Y' 4 verbleibt für den potenziellen Ziel-SG 'A' 2 somit
Routing to A
Prio 1: YX (dist 2) Prio 2: YV (dist 3)
Da von 'Y' 4 in einem vorhergehenden Schritt (siehe Fig. 1) an seine Nachbar-Netzknoten als Distanzwert zu 'A' 2 Eins gesendet wurde, ist diese Information nun zu aktualisieren. 'Y' 4 sendet daher an 'V 6 als neuen Distanzwert zu 'A' 2 Zwei. In 'V 6 wird somit registriert, dass sich der Distanzwert zu 'A' 2 für die Route über 'Y' 4 von Zwei auf Drei erhöht und die Priorität der Route 'VY' nach 'A' 2 wird in der Routing- Tabelle von 'V 6 entsprechend um Eins reduziert.
Bis zu diesem Moment hat 'V 6 für das potenzielle Ziel 'A' 2 an 'Y' 4 keine Route angeboten, da die Distanz von 'Y' 4 nach 'A' 2 kürzer war als die Distanz von 'V 6 nach 'A' 2. Da dies nun nicht mehr gegeben ist, kann 'V 6 nun auch für 'Y' 4 eine Route nach 'A' 2 anbieten und daher wird von 'V 6 an 'Y' 4 gesendet:
Reg_Req, DPC = A, Dist = 2
Da die Distanz zwischen 'X' 3 und 'A' 2 Eins ist und die Distanz zwischen 'Y' 4 und 'A' 2 nun Zwei und somit größer ist,
wird von 'Y' 4 für 'X' 3 keine Route nach 'A' zur Verfügung gestellt. Ein Update dieser Route ist in diesem Fall somit nicht möglich und daher wird von 'Y' 4 die Route zu 'A' 2 bei 'X' 3 deregistriert. Also sendet 'Y' 4 an 'X' 3:
DeReg_Req, DPC = A
In Fig. 3 wird gezeigt, wie ausgehend von dem Endzustand des in Fig. 2 dargestellten Vorgangs - bei einer erneuten Regist- rierung von 'A' 2 bei 'Y' 4 vorgegangen wird. Von 'A' 2 wird zunächst eine neue Registrierungs-Nachricht an 'Y' 4 gesendet:
Reg_Req, DPC = A, Dist = 0
Dies wird in 'Y' 4 registriert und daher ΥA" als neue mögliche Route nach 'A' 2 mit der Distanz Eins gespeichert. Dieser Route wird die höchste Priorität zugeordnet.
Da sich nun die Distanz zwischen 'Y' 4 und 'A' 2 wieder verkürzt hat, wird von 'Y' 4 an 'V 6 dieser neue Distanzwert gesendet:
Reg_Req, DPC = A, Dist = 1
Da 'Y' 4 eine geringere Distanz zu 'A' 2 hat als 'V 6, wird von 'V 6 an 'Y' 4 eine Deregistrierungs-Nachricht gesendet:
De_Reg_Req, DPC = A
Da nun außerdem 'Y' 4 zu 'A' 2 wieder dieselbe Distanz hat wie 'X' 3 zu 'A' 2, kann 'Y' 4 für 'X' 3 wieder eine Route zu 'A' 2 anbieten:
Reg_Req, DPC = A, Dist = 1
In Fig. 4 ist das Senden einer 'Preventive TFP' Nachricht beziehungsweise DUNA Nachricht zur Verhinderung eines 'Ping- Pong Routing' s' gezeigt. Als Ausgangssituation ist hierbei diejenige gewählt, die sich nach Abschluss des in Fig. 1 dargestellten Ablaufs eingestellt hat.
In der Regel wird von 'X' 3 eine Nachricht mit dem Ziel 'A' 2 über die Route mit der höchsten Priorität, also 'XA' versendet. Falls die Teilübertragungsstrecke zwischen 'X' 3 und 'A' 2 ausfällt, werden Nachrichten, von 'X' 3 über 'Y' 4 nach 'A' 2 gesendet.
Um zu verhindern, dass nun seinerseits von 'Y' 4 aus Nachrichten, die für 'A' 2 bestimmt sind, über die Verbindung 'YX' zurückgesendet werden, wird von 'X' 3 eine TFP oder DUNA Nachricht bezüglich 'A' 2 an 'Y' 4 gesendet. Durch diese Nachricht wird 'Y' 4 kenntlich gemacht, dass die Verbindung 'YX' für eine Übertragung mit Ziel 'A' 2 bis auf weiteres nicht mehr zu verwenden ist. Dies ist so lange gültig, bis 'X' 3 wieder eine TFA Nachricht sendet.
In Fig. 5 wird eine erweiterte 'Preventive TFP' beziehungs- weise DUNA Regel gezeigt. Ausgangssituation ist folgende: Die SGs 'X' 3, 'Y' 4, 'U' 5 und 'V 6 verfügen jeweils über eine direkte Verbindung zu 'A' 2 und sind dabei jeweils mit zwei unmittelbaren Nachbar-SGs verbunden, über die jeweils zwei Alternativ-Routen mit der Distanz Zwei, also niedrigerer Pri- orität, führen.
Falls alle Teilübertragungsstrecken zu 'A' 2 ausfallen, könnte sich im ungünstigsten Fall 'Kreis-Routing' einstellen, bei
dem eine Nachricht, die für 'A' 2 bestimmt ist, von 'X' 3 ü- ber 'U' 5 weiter über 'V 6 und 'Y' 4 schließlich wieder zu 'X' 3 geleitet wird.
Um ein solches Kreis-Routing zu verhindern, bei dem eine Nachricht immer auf Verbindungen derselben Distanz zum Ziel weitergeleitet werden, wurde die 'Preventive TFP' Regel erweitert. Sobald ein SG eine Route zu 'A' 2 aktuell benutzt, wird nicht nur eine 'Preventive TFP' Nachricht über die aktu- eil benutzte Route gesendet, sondern auch auf all jenen Routen zu 'A' 2, die dieselbe Distanz, wie die aktuell benutzte aufweisen.