-
Die
vorliegende Erfindung bezieht sich auf Daten-Netzwerke und insbesondere
auf Datennetzwerk-Signale, Verfahren und Vorrichtungen, die zum Multiplexieren
von Nutzdaten in einem paketvermittelten Daten-Netzwerk geeignet
sind.
-
In
den letzten Jahren wurden paketvermittelte Daten-Netzwerke in zunehmend
starkem Ausmaß verwendet
und eingesetzt. Die am besten bekannten dieser Netzwerke verwenden
das bekannte Internet-Protokoll („IP"), wie es in der Kommentaraufforderung
(„RFC") 791 der Internet
Engineering Task Force ausführlich
beschrieben ist, wobei die Inhalte dieser Kommentaraufforderung
hier durch diese Bezugnahme aufgenommen werden. Vielfältige Protokolle
auf der Grundlage des IP werden zur Übertragung einer Vielzahl von
Arten von Nutzdaten auf IP-konformen Netzwerken verwendet. Diese
schließen
das vereinheitlichte Datagramm-Protokoll („UDP") und das Echtzeit-Protokoll („RTP") ein, wie dies ausführlich in
den RFCs 768 und 1889 beschrieben ist, deren Inhalte durch diese
Bezugnahme hier aufgenommen werden.
-
Alle
diese Protokolle verwenden Kopffelder zur Identifikation von Paketen
und Attributen von über
das Netzwerk transportierten Paketen. Derartige Kopffelder führen Zusatz-
oder Verwaltungsdaten ein. Beispielsweise beruhen übliche IP-Telefonie-Techniken,
wie sie in der Empfehlung H.323 der International Telephony Union
(„ITU") beschrieben sind,
deren Inhalte durch diese Bezugnahme hier aufgenommen werden, auf
dem RTP, um Sprache-Nutzdaten zu transportieren. RTP beruht seinerseits
auf dem UDP und dem IP. Jedes RTP/UDP/IP-konforme Sprachpaket schließt typischerweise
insgesamt vierzig (40) Bytes an Zusatzdaten in dem Kopffeld ein.
-
Im
Gegensatz hierzu komprimieren moderne Sprach-Kompressionstechniken
Sprach-Nutzdaten auf immer niedrigere Bitraten. Die ITU-Empfehlung G.723.1,
deren Inhalte durch diese Bezugnahme hier aufgenommen werden, führt beispielsweise
eine Kompression von Sprachdaten auf 5,3 kbps aus. Dies führt zu Sprachdaten,
die typischerweise alle dreißig
(30) ms paketisiert werden, wobei jedes Paket Nutzdaten von zwanzig
(20) Bytes hat. Somit kann die Verwendung des RTP zu Nutzdaten führen, die
lediglich ein Drittel jedes Paketes belegen, wobei die verbleibenden
zwei Drittel des Paketes ausschließlich für Protokoll-Zusatzdaten bestimmt
sind. Andere Paket-basierte Protokolle verwenden in ähnlicher
Weise oft zehn (10) bis zwanzig (20) Datenbytes.
-
Es
wurde festgestellt, dass mehrere Sprach-Datenströme typischerweise gleichzeitig
zwischen IP-Telefonie-Überleiteinrichtungen
(Gateways) ausgetauscht werden. Somit können Sprach-Nutzdaten für mehrere
Datenströme
in Paketen kombiniert oder multiplexiert werden, wodurch das Verhältnis von
Zusatzdaten zu Nutzdaten für
jedes Paket verringert wird. Vorschläge auf der Grundlage einer
derartigen Multiplexierung schließen die Veröffentlichung von K. Tanigawa,
T. Hoshi und K. Tsukada: „A
RTP simple multiplexing transfer method for Internet telephony gateway", IETF-Entwurf, laufende
Arbeit, Juni 1998; J. Rosenberg und H. Schulzrinne: An RTP payload
format for user multiplexing", IETF-Entwurf,
laufende Arbeit, 21. August 1998, und Mark Handley (ISI), AVT-Gruppen-Treffen-Protokoll für das Treffen
vom August 1998, ein.
-
Diese
Protokolle schlagen das Abstreifen vorhandener RTP/UDP/IP-Kopffelder
an Netzwerk-Überleiteinrichtungen,
die Umsetzung dieser Kopffelder auf Mini-Kopffelder, die in multiplexierten Paketen
enthalten sind, und die Übertragung
der multiplexierten Pakete unter Einschluss der Mini-Kopffelder
in einem einzigen IP-Paket
an eine Empfangs-Überleiteinrichtung
vor. Vor der Übertragung
multiplexierter Pakete wird die Beziehung zwischen RTP/UDP/IP-Kopffeldern
und Mini-Kopffeldern zwischen den Überleiteinrichtungen übermittelt,
typischerweise unter Verwendung einer Außerband-Signalisierung. Die
Empfangs-Überleiteinrichtung
ersetzt jedes empfangene Mini-Kopffeld durch ein zugehöriges vollständiges RTP/UDP/IP-Kopffeld
und leitet die rekonstruierten RTP-Pakete an Computereinrichtungen
an dem fernen Ende der Empfangs-Überleiteinrichtung
weiter.
-
Diese
Lösungen
beruhen auf dem Vorhandensein von Überleiteinrichtungen, wie sie
beispielsweise in der ITU-Empfehlung H.323 definiert sind. Weiterhin
erfordern sie typischerweise Modifikationen an den Steuerprotokollen,
um Umsetzungs-information zwischen Überleiteinrichtungen auszutauschen.
Viele IP-Telefonie-Anwendungen und ähnliche, eine niedrige Bitrate
aufweisende Anwendungen, sind jedoch Ende-zu-Ende-Anwendungen und beruhen nicht auf Überleiteinrichtungen.
-
Entsprechend
sind ein verbessertes Verfahren zur Multiplexierung von Daten in
Paketen und ein Protokoll, das ein derartiges Verfahren verwendet, wünschenswert.
-
Die
Veröffentlichung „GeRM:
Generic RTP Multiplexing",
Internet-Entwurf der Audio Video Transport Working Group der Internet
Engineering Task Force, vom 18. November 1998, und von Mark Handley
(XP002139359) beschreibt ein Nutzdaten-Format für das Multiplexieren mehrfacher RTP-Ströme. Das
multiplexierte Paket codiert lediglich Unterschiede zwischen den
RTP-Kopffeldern der verschiedenen Nutzdaten in dem Paket.
-
Die
Erfindung ergibt ein Verfahren zur Bildung einer Umsetzungstabelle,
wie es im Anspruch 1 angegeben ist, eine Rechenvorrichtung, die
eine Umsetzungstabelle speichert, wie dies im Anspruch 11 definiert
ist, einen computerlesbaren Speicher, wie er im Anspruch 17 oder
21 definiert ist, und ein Verfahren zum Multiplexieren von Nutzdaten
in eine Vielzahl von Paketen, wie es im Anspruch 20 definiert ist.
-
Gemäß der vorliegenden
Erfindung werden Nutzdaten, die mehreren Paketen zugeordnet sind, in
ein einziges multiplexiertes Paket multiplexiert. Jeder Nutzdaten-Teil wird durch ein
Mini-Kopffeld innerhalb des multiplexierten Paketes identifiziert.
In vorteilhafter Weise wird eine Umsetzungs-Information ebenfalls
als Teil derartiger multiplexierter Pakete übertragen, die multiplexierte
Nutzdaten einschließen.
Vorzugsweise wird die Umsetzungsinformation zur Bildung von Umsetzungstabellen
in von Routern an den Rändern
von Zugangs-Netzwerken verwendet. Die Umsetzungstabellen können zum
Aufbau einer Beziehung zwischen Mini-Kopffeldern und vollständigen Kopffeldern
verwendet werden. Die Umsetzungstabellen können zum Multiplexieren von
Daten von Paketen zur Bildung eines multiplexierten Paketes an einem
Eintritts-Router und zum Demultiplexieren des multiplexierten Paketes
an einen Austritts-Router verwendet werden. In zweckmäßiger Weise
sind weder Überleiteinrichtungen
noch eine Außerband-Signalisierungerforderlich.
-
Nutzdaten,
die in einer Vielzahl von Paketen enthalten sind, die über einen
Netzwerk-Knoten
in einem paketvermittelten Daten-Netzwerk weiterzuleiten sind, können dadurch
multiplexiert werden, dass dem Nutzdaten-Teil jedes Paketes ein
Mini-Kopffeld zugeordnet
wird, das kleiner als ein Kopffeld für das Paket ist. Ein multiplexiertes
Paket, das jeden Nutzdaten-Teil und ein zugehöriges Mini-Kopffeld einschließt, und
das weiterhin ein Umsetzungs-Token einschließt, das eine Beziehung zwischen
einem Mini-Kopffeld und einem Kopffeld für eines der Pakete ausbildet,
für das
diese Beziehung nicht an dem Netzwerk-Knoten bekannt ist, wird konstruiert.
-
Die
Umsetzungstabelle kann an einem Netzwerk-Knoten innerhalb des paketvermittelten
Netzwerkes gebildet werden. Die Umsetzungstabelle setzt Mini-Kopffelder, die multiplexierte
Nutzdaten von mehreren Paketen innerhalb eines multiplexierten Paketes
identifizieren, auf vollständige
Kopffelder um, die zum Transport von Nutzdaten auf dem Netzwerk
verwendbar sind. Ein Eintrag der Umsetzungstabelle kann durch Empfangen
eines Paketes gebildet werden, das zumindest einen Nutzdaten-Teil
von einem der Pakete, ein Mini-Kopffeld, das dem Nutzdaten-Teil
zugeordnet ist, und ein Umsetzungs-Token einschließt, das
eine Beziehung zwischen dem Mini-Kopffeld und einem vollständigen Kopffeld
zum Transport des Daten-Teils auf dem Netzwerk anzeigt. Der so gebildete
Eintrag innerhalb der Tabelle schließt einen Teil des Mini-Kopffeldes
und Information ein, die von dem Umsetzungs-Token abgeleitet ist und
die Beziehung zwischen dem Mini-Kopffeld
und dem vollständigen
Kopffeld anzeigt.
-
Die
Rechenvorrichtung gemäß der Erfindung ist
vorzugsweise mit einem paketvermittelten Daten-Netzwerk verbunden
und schließt
vorzugsweise einen computerlesbaren Speicher ein, der eine Umsetzungstabelle
zum Umsetzen von Mini-Kopffeldern, die multiplexierte Nutzdaten
von mehreren Paketen innerhalb eines multiplexierten Paketes identifizieren,
auf ein vollständiges
Kopffeld speichert, das innerhalb des paketvermittelten Daten-Netzwerkes brauchbar
ist. Weiterhin speichert der computerlesbare Speicher computerlesbare
Befehle, um die Vorrichtung so anzupassen, dass sie multiplexierte
Pakete verarbeitet, die Nutzdaten-Teile; Mini-Kopffelder, die jedem Nutzdaten-Teil
zugeordnet sind und in Verbindung mit der Umsetzungstabelle verwendbar
sind, um ein Paket zu konstruieren, das die zugehörigen Nutzdaten
einschließt,
die auf dem paketvermittelten Daten-Netzwerk transportierbar sind;
und zumindest ein Umsetzungs-Token einschließen, das von der Vorrichtung
verwendbar ist, um die Umsetzungstabelle zu aktualisieren. Vorzugsweise
schließt
die Rechenvorrichtung einen Router auf dem Netzwerk ein.
-
Der
computerlesbare Speicher der Erfindung speichert vorzugsweise Befehle,
die von einer Rechenvorrichtung oder Computereinrichtung ausführbar sind,
die mit dem paketvermittelten Netzwerk verbunden ist. Die computerlesbaren
Befehle bilden eine Computereinrichtung so aus, dass diese eine Umsetzungstabelle
zur Umsetzung von Mini-Kopffeldern, die multiplexierte Nutzdaten
von mehreren Paketen innerhalb eines multiplexierten Paketes identifizieren,
auf vollständige
Kopffelder unterhält,
die innerhalb des Netzwerkes verwendbar sind. Weiterhin bilden sie
die Computereinrichtung so aus, dass sie ein multiplexiertes Paket
bearbeiten, das einen Nutzdaten-Teil, der aus einem auf dem Netzwerk
transportierten Paket gebildet ist; ein Umsetzungs-Kopffeld, das
dem Nutzdaten-Teil innerhalb des multiplexierten Paketes zugeordnet
ist und durch die Computereinrichtung in Verbindung mit der Umsetzungstabelle
verwendbar ist, um ein Paket zu konstruieren, das die zugehörigen Nutzdaten
einschließt
und im Netzwerk transportiert werden kann, und Umsetzungsinformation
einschließt,
das von der Einrichtung verwendbar ist, um die Umsetzungstabelle
zu aktualisieren.
-
In
dem Multiplexierungs-Verfahren gemäß der Erfindung werden Nutzdaten,
die in einer Vielzahl von Paketen enthalten sind, die über einen
Netzwerk-Knoten in einem paketvermittelten Netzwerk weitergeleitet
werden sollen, dadurch multiplexiert, dass eine Tabelle mit Information
in einem Kopffeld für
jedes Paket auf eine Übereinstimmung
durchsucht wird. Wenn keine Übereinstimmung
für ein
vorgegebenes Paket gefunden wird, wird Information von dessen Kopffeld
in die Tabelle in Zuordnung zu Information für ein Mini-Kopffeld eingegeben,
das eine Kanal-Identifikation, die Nutzdaten identifiziert, die
zwischen der gleichen Quelle und dem gleichen Ziel ausgetauscht
werden sollen, und ein Längenfeld umfasst,
das die Länge
des zugehörigen
Nutzdaten-Teils anzeigt. Ein Umsetzungs-Token, der die vorgegebene
Kopffeld-Information zu dem Mini-Kopffeld zuordnet, wird ebenfalls
erzeugt, wobei das Umsetzungs-Token eine Kanal-Identifikation, ein
Nutzdaten-Längenfeld,
das eine Länge
von Null anzeigt, und das Kopffeld eines der Pakete einschließt. Der Nutzdaten-Teil
des Paketes wird abgeleitet und das Kopffeld wird verworfen. Das
Mini-Kopffeld wird dem Nutzdaten-Teil zugeordnet, und ein multiplexiertes Paket,
das das Umsetzungs-Token einschließt, wird konstruiert.
-
Weitere
Gesichtspunkte und Merkmale der vorliegenden Erfindung werden für den Fachmann bei
einer Betrachtung der folgenden Beschreibung spezieller Ausführungsformen
der Erfindung in Verbindung mit den beigefügten Figuren ersichtlich:
Ausführungsbeispiele
der vorliegenden Erfindung werden nunmehr unter Bezugnahme auf die
beigefügten
Zeichnungen beschrieben, in denen:
-
1 ein
Computer-Netzwerk zeigt, das Router einschließt, die die verschiedenen grundlegenden
erfindungsgemäßen Konzepte
der bevorzugten Ausführungsform
der vorliegenden Erfindung unterstützen können;
-
2 ein
Blockschaltbild eines Architektur-Beispiels von Routern nach 1 ist;
-
3 ein
Blockschaltbild eines Beispiels einer Speicher-Organisation von
Routern nach 1 ist;
-
4 ein
Beispiel einer Eintritts-Umsetzungstabelle ist, die an einem Router
nach 1 gebildet wird;
-
5 ein
Beispiel einer Austritts-Umsetzungstabelle zeigt, die an einem Router
nach 1 gebildet wird;
-
6 ein
Beispiel eines Formats eines multiplexierten Paketes zeigt;
-
7 ein
Beispiel eines Formats eines Mini-Kopffeldes zeigt, das in dem Paket
nach 6 verwendet wird;
-
8 ein
Beispiel eines Formats eines Umsetzungs-Ausbildungs-Tokens zeigt,
das in dem Paket nach 6 verwendet wird;
-
9 ein
Ablaufdiagramm von Schritten ist, die an einem Eintritts-Router
ausgeführt
werden, und
-
10 und 11 Schritte
zeigen, die an einem Austritts-Router ausgeführt werden.
-
1 zeigt
ein paketvermitteltes Daten-Netzwerk 10, das ein Backbone-Netzwerk 12 einschließt, in Kommunikation
mit Zugangs-Netzwerken „A" und „B", 18 und 20, über Zugangs-Router „A" und „B", 14 und 16,
die ein Beispiel von Ausführungsformen
der vorliegenden Erfindung sind. Beispiele von Computer- oder Recheneinrichtungen
A1 und A2, 22 und 24, stehen mit dem Zugangs-Netzwerk „A" 18 in Kommunikation;
in ähnlicher
Weise stehen Beispiele von Computereinrichtungen B1 und B2, 26 und 28,
in Kommunikation mit dem Zugangs-Netzwerk „B" 20.
-
Die
Computereinrichtungen 22, 24, 26 und 28 können Universal-Computereinrichtungen
sein, die einen Prozessor, einen Speicher und eine Netzwerk-Schnittstelle
einschließen
(die alle nicht gezeigt sind). Der Speicher kann Software unter
Einschluss einer Betriebssystem-Software und Anwendungs-Software
speichern, die ihrerseits einen IP-Stapel einschließen kann.
Die Anwendungs-Software
kann eine mit der ITU-Empfehlung H.323 konforme Klienten-Software
einschließen,
die es den Computereinrichtungen 22, 24, 26 und 28 ermöglicht, Ende-zu-Ende-Sprache-über-IP-Telefonie-Sitzungen
miteinander aufzubauen.
-
Das
Backbone-Netzwerk 12 ist vorzugsweise ein IP-konformes
Daten-Netzwerk gemäß RFC 791,
das übliche
Paket-Router 30 und 32 einschließt. Das
Backbone-Netzwerk 12 könnte beispielsweise das öffentliche
Internet sein. Die Zugangs-Netzwerke „A" und „B", 18 und 20,
sind in ähnlicher
Weise IP-konforme Daten-Netzwerke.
Dies können
Firmen-Intranetze oder einfach Teile des öffentlichen Internets sein.
Die Zugangs-Router „A" und „B", 14 und 16,
verbinden die Zugangs-Netzwerke „A" und „B", 18 und 20,
mit dem Backbone-Netzwerk 12. Wie dies gezeigt ist, stehen
die Zugangs-Router 14 und 16 in direkter Kommunikation
mit den Routern 30 und 32 des Backbone-Netzwerkes 12.
Die Router 14, 16, 30 und 32 sind
somit Knoten innerhalb des Netzwerkes 10. Die Zugangs-Router „A" und „B", 14 und 16,
können
beispielsweise konventionelle Switches/Router vom Typ Passport der
Firma Nortel Networks sein, die so ausgebildet sind, dass sie in
einer Weise arbeiten, die ein Beispiel der vorliegenden Erfindung
darstellt.
-
Wie
dies ersichtlich wird, vermitteln die Zugangs-Router „A" und „B", 14 und 16,
Pakete, die von dem Rest des Zugangs-Netzwerkes „A" und „B" empfangen werden, auf das Backbone-Netzwerk 12.
In ähnlicher
Weise vermitteln die Zugangs-Router 14 und 16 Pakete,
die von dem Backbone-Netzwerk 12 empfangen werden, auf
die Zugangs-Netzwerke „A" und „B". Außerdem führen die
Zugangs-Router „A" und „B", 14 und 16,
eine Multiplexierung und wahlweise eine Demultiplexierung geeigneter
Pakete in einer Art und Weise aus, die ein Beispiel der vorliegenden
Erfindung darstellt.
-
Ein
Beispiel einer Hardware-Architektur des Zugangs-Routers „A" 14 ist
in Form eines Blockschaltbildes in 2 gezeigt.
Die Architektur der Router 16, 30 und 32 kann
im Wesentlichen ähnlich zu
der des Zugangs-Routers „A" 14 sein.
Wie dies in den 1 und 2 gezeigt
ist, kann der Zugangs-Router „A" einen Prozessor 34 in
Kommunikation mit einem Speicher 36 und einer Vielzahl
von Eingangs-/Ausgangs-(„I/O"-)Ports 38 einschließen. Die
I/O-Ports 38 verbinden den Router 14 mit dem Rest
des Zugangs-Netzwerkes „A" und den Routern des
Backbone-Netzwerkes 12 (1). Die
I/O-Ports können
konventionelle DS1; OC-3-, Ethernet oder andere geeignete Schnittstellen
sein. Der Speicher 36 kann irgendeine geeignete Kombination
eines Speichers mit wahlfreiem Zugriff, eines Plattenspeichers,
eines Festwertspeichers oder irgendeines anderen geeigneten Computerspeichers
sein, der dem Fachmann gut bekannt ist. Der Prozessor 34 kann seinerseits
ein konventioneller Mikroprozessor sein, wie z.B. ein INTEL x86-Prozessor
oder ein Motorola MC68xxxx-Prozessor. Selbstverständlich kann
auch irgendein anderer geeigneter Prozessor als Teil des Routers „A" 14 verwendet
werden.
-
Ein
Beispiel der Organisation des Speichers 36 ist in 3 gezeigt.
Wie dies gezeigt ist, speichert der Speicher 36 ein Betriebssystem 40,
Anwendungs-Software 42, eine Routenführungstabelle 44, eine
Eintritts-Umsetzungstabelle 46 und eine Austritts-Umsetzungstabelle 48.
Das Betriebssystem 40 in Verbindung mit der Anwendungs-Software 42 ermöglicht es
dem Zugangs-Router „A" 14, Pakete
in üblicher
Weise zu lenken sowie gemäß den Verfahren
zu arbeiten, die ein Beispiel der vorliegenden Erfindung darstellen.
-
Die
Routenführungstabelle 44 wird
durch die Anwendungs-Software 42 gebildet und ermöglicht es dem
Router 14, Pakete von einem der I/O-Ports 38 zu
einem anderen auf der Grundlage der Ziel-Adresse des Paketes zu
lenken. Die Routenführungstabelle 44 kann
beispielsweise an dem Router „A" 14 unter Verwendung
des OSPF-Routenführungsprotokolls gebildet
werden, wie dies ausführlich
in der RFC 2328 angegeben ist, deren Inhalt durch diese Bezugnahme
hier aufgenommen wird, und das durch einen Teil der Anwendungs-Software 42 implementiert wird.
Die Eintritts-Umsetzungstabelle 46 und
die Austritts-Umsetzungstabelle 48 werden ebenfalls durch Anwendungs-Software 42 in
einer Weise gebildet, die ein Beispiel der vorliegenden Erfindung
darstellt, und wie dies nachfolgend näher erläutert wird.
-
Die
Eintritts-Umsetzungstabelle 46 bildet eine Eins-zu-Eins-Umsetzung
der Quellen-IP-Adresse,
der Ziel-IP-Adresse und der Ports auf Mini-Kopffelder aus, um eine
Multiplexierung von geeigneten Paketen, die von dem Zugangs-Netzwerk „A" 18 ausgehen,
vor dem Eintritt in das Backbone-Netzwerk 12 zu ermöglichen.
Das heißt,
dass den Nutzdaten irgendeines Paketes mit geeigneter Länge, das
von einer bestimmten Quellen-IP-Adresse innerhalb des Zugangs-Netzwerkes „A" ausgeht und für eine bestimmte
Ziel-Adresse bestimmt ist, ein Mini-Kopffeld zugeordnet wird. Eine
Organisation der Eintritts-Umsetzungstabelle 46 ist in 4 gezeigt.
Wie dies gezeigt ist, werden zusammen mit jeder IP-Quellen-Adresse
zur Ziel-Adresse (unter Einschluss der logischen Portnummer), wie
sie in den Feldern 50 und 52 der Eintritts-Umsetzungstabelle 46 gespeichert
sind, ein Nutzdaten-Typ-(„PT"-)Feld 54;
ein Eintritts-Router-Portnummer-(„IRouter Port#-)Feld 56; und
ein Austritts-Router („ERouter"-)IP-Adressen- und
Portnummern-Feld 58, ein Kanal-Identifikations-(„CID"-)Feld 60; und ein Feld 62 für eine letzte Erneuerung
(„LTR") innerhalb der Eintritts-Umsetzungstabelle 46 gespeichert.
Wie dies zu erkennen ist, kann jede IP-Quellen-Adressen-zu-Ziel-Adresse (unter
Einschluss der logischen Portnummer), wie sie in den Feldern 50 und 52 gespeichert
ist, einer einzigen IP-Telefonie-Verbindung über das Netzwerk 10 hinweg
entsprechen. Diese Verbindung ist somit einer Kanal-Identifikation zugeordnet,
die in dem Feld 60 gespeichert ist.
-
Ein
Beispiel einer Organisation der Austritts-Umsetzungstabelle 48 ist
in 5 gezeigt. Die Austritts-Umsetzungstabelle 48 bewirkt
in ähnlicher Weise
eine Eins-zu-Eins-Umsetzung
von Mini-Kopffeldern auf eine Quellen-IP-Adresse, Ziel-IP-Adresse und
Ports aus, um multiplexierte Pakete, die an dem Router „A" empfangen werden,
und aus dem Backbone-Netzwerk 12 austreten, zu demultiplexieren. Wie
dies gezeigt ist, speichert die Austritts-Umsetzungstabelle 48 für jedes
Kanal-ID-Feld 70 eine Eintritts-Router-IP-Adresse und eine
Portnummer im Feld 72; eine Austritts-Router-Portnummer im Feld 74;
ein vollständiges
RTP/UDP/IP-Kopffeld im Feld 76; einen Nutzdaten-Typ im
Feld 78; eine letzte Erneuerungszeit in dem Feld 80;
und einen letzten von einem Paket reproduzierten Zeitstempel und
eine Sequenznummer im Feld 82.
-
Der
Router „B" 16, der
als ein Austritts- oder Eintritts-Router wirkt, bildet in ähnlicher
Weise Austritts- und Eintritts-Umsetzungstabellen der Form der Eintritts-
und Austritts-Umsetzungstabellen 46 und 48. Konventionelle
Router 30 und 32 bilden typischerweise keine ähnlichen
Austritts- und Eintritts-Umsetzungstabellen.
-
Der
Router „A" 14, der
als ein Eintritts-Router wirkt, bildet IP-Pakete, die Nutzdaten
enthalten, die mehreren RTP-Paketen zugeordnet sind, um multiplexierte
Pakete zu bilden, die das Format des multiplexierten Paketes 90 haben,
wie dies in 6 gezeigt ist. Wie dies gezeigt
ist, schließt
ein multiplexiertes Paket 90 ein konventionelles UDP/IP-Kopffeld 91 gefolgt
von einer Vielzahl von Nutzdaten-Teilen 92a, 92b und 92c ein,
denen jeweils ein Mini-Kopffeld 94a, 94b und 94c zugeordnet
ist. Jeder Mini-Kopffeld/Nutzdaten-Teil kann als ein Kanal innerhalb
des multiplexierten Paketes 90 betrachtet werden. Weiterhin
können
einigen Mini-Kopffeld/Nutzdaten-Kombinationen,
wie z.B. den Mini-Kopffeld-/Nutzdaten der Felder 92c und 94c weiterhin
ein Umsetzungs-Ausbildungs-Token 96 zugeordnet sein. Es
ist verständlich,
dass das multiplexierte Paket 90 beträchtlich mehr oder weniger als
drei multiplexierte Nutzdaten-Felder, wie gezeigt, aufweisen kann.
-
Das
Format jedes Mini-Kopffeldes 94a, 94b und 94c (kollektiv
und einzelnes Mini-Kopffeld 94)
ist in 7 gezeigt. Wie dies gezeigt ist, schließt jedes Mini-Kopffeld
vorzugsweise ein 8-Bit-Kanal-Identifikations-Feld 98 und
ein weiteres 8-Bit-Nutzdaten-Längenfeld 100 ein.
Wahlweise kann jedes Mini-Kopffeld 94 zusätzlich einen
RTP-Zeitstempel und eine Sequenznummer einschließen, die dem ursprünglichen
RTP/UDP/IP-Kopffeld entnommen sind, das den Nutzdaten zugeordnet
war.
-
Das
Format jedes Umsetzungs-Ausbildungs-Tokens ist in 8 gezeigt.
Wie dies gezeigt ist, schließt
jedes Umsetzungs-Ausbildungs-Token ein Kanal-Identifikations-Feld 102;
ein Nutzdaten-Längenfeld,
das eine Länge
von Null (0) 104 anzeigt; und ein vollständiges RTP/UDP/IP-Kopffeld
im Feld 106 ein.
-
Im
Betrieb möchte
eine Computereinrichtung, wie z.B. die Computereinrichtung A1 22 an
dem Zugangs-Netzwerk „A" 18 gemäß 1 Pakete,
die jeweils relativ wenige Nutzdaten aufweisen, mit der Computereinrichtung
B1 26 auf dem Zugangs-Netzwerk „B" 20 austauschen.
Beispielsweise kann die Computereinrichtung A1 22 eine
Internet-Telefonie-Anwendung einschließen, die mit H.323 konform ist.
Damit kann die Computereinrichtung A1 22 Pakete bilden,
die jeweils Nutzdaten von zwanzig (20) Bytes mit einem zugehörigen RTP/UDP/IP-Kopffeld haben.
Das RTP/UDP/IP-Kopffeld identifiziert die Computereinrichtung B1 26 an
dem Zugangs-Netzwerk „B" 20 sowie
einen geeigneten logischen Port der Einrichtung B1 26.
-
Gleichzeitig
möchte
die Computereinrichtung A2 24 ähnliche kleine Nutzdaten-Pakete mit der Computereinrichtung
B2 28 austauschen.
-
Entsprechend
werden RTP/UDP/IP-konforme Pakete, die von den Einrichtungen A1
und A2, 22 und 24, ausgehen und die Einrichtungen
B1 und B2, 26 und 28, identifizieren, an den Zugangs-Router „A" 14 weitergeleitet,
der als ein Eintritts-Router
für das Backbone-Netzwerk 12 wirkt.
Die Schritte S900, die von dem Zugangs-Router „A" 14 unter der Steuerung der
Software 42 ausgeführt
werden, werden besser unter Bezugnahme auf 9 verständlich.
Im Einzelnen empfängt
der Zugangs-Router „A" 14 ein RTP/UDP/IP-Paket
im Schritt S902 und stellt im Schritt S904 fest, ob das empfangene
Paket „kleine" Nutzdaten hat, indem
beispielsweise das RTP/UDP/IP-Kopffeld, das dem empfangenen Paket zugeordnet
ist, S904 überprüft wird.
Bei der bevorzugten Ausführungsform
werden lediglich Nutzdaten, die Paketen zugeordnet sind, die weniger
als 256 Bytes an Nutzdaten haben, multiplexiert. Es könnten jedoch
auch Pakete mit weniger oder mehr Nutzdaten multiplexiert werden.
Wenn das empfangene Paket oberhalb dieser Schwellenwert-Größe liegt,
wird es an das Backbone-Netzwerk 12 im Schritt S906 weitergeleitet,
ohne dass es multiplexiert oder auf andere Weise modifiziert wird.
-
Als
nächstes überprüft der Zugangs-Router „A" 14 für ein „kleines" Nutzdaten-Paket
die Quellen- und Ziel-Paketadressen und Ports für das RTP/UDP/IP-Paket und
die Eintritts-Umsetzungstabelle 46, die im Speicher 36 gespeichert
ist, im Schritt S906. Wenn einer der Einträge in den Feldern 50 und 52 der
Eintritts-Umsetzungstabelle 46 (4) den Quellen-
und Ziel-Adressen und Ports des RTP/UDP/IP-Kopffeldes entspricht,
ordnet der Zugangs-Router 14 die Kanalnummer innerhalb
des Feldes 60 zu, um im Schritt S910 ein Mini-Kopffeld
zu bilden, das den RTP/UDP/IP-Nutzdaten zugeordnet ist und das Format
des Mini-Kopffeldes 94 nach 7 hat. Das
Längenfeld 100 wird
mit der Nutzdaten-Länge
des RTP/UDP/IP-Paketes, die von diesem RTP/UDP/IP-Kopffeld abgeleitet
wird, gefüllt.
Der Zugangs-Router „A" 14 bestimmt
eine IP-Adresse und einen Port eines Ziel-Austritts-Routers für die Nutzdaten
aus dem Feld 58. Bei der bevorzugten Ausführungsform
sind multiplexierte Pakete, die für einen bestimmten Austritts-Router
bestimmt sind, für
eine eindeutige IP-Adresse und einen eindeutigen Port an dem Austritts-Router
bestimmt, der ausschließlich
für den
Empfang der multiplexierten Pakete bestimmt und in dem Feld 58 gespeichert
ist. Der Router „A" bildet dann ein
multiplexiertes Paket, das für
den Ziel-Austritts-Router bestimmt ist und die so gebildete Mini-Kopffeld/Nutzdaten-Kombination
einschließt. Der
Zugangs-Router „A" 14 verwirft
weiterhin das vollständige
RTP/UDP/IP-Kopffeld, das den Nutzdaten zugeordnet ist. Vorzugsweise
puffert der Zugangs-Router „A" 14 jedes
multiplexierte Paket für zumindest
fünf Millisekunden,
und vorzugsweise für nicht
mehr als 10 Millisekunden. Er kann jedoch das multiplexierte Paket
für eine
längere
oder kürzere Zeit
puffern. Eine ideale Pufferzeit kann experimentell bestimmt werden.
Alternativ kann, wenn ein multiplexiertes Paket, das für den identifizierten
Austritts-Router bestimmt ist, bereits gepuffert wird, der Router „A" die gebildete Mini-Kopffeld/Nutzdaten-Kombination
an ein bereits gepuffertes Paket anhängen. Wenn innerhalb des Puffer-Intervalls
zusätzliche
RTP/UDP/IP-Pakete ankommen können,
wie z.B. ein Paket von der Computereinrichtung A2 24, und
ein ähnliches
Mini-Kopffeld gebildet wird, das für den gleichen Austritts-Router
bestimmt ist, bildet der Zugangs-Router „A" 14 ein multiplexiertes Paket,
wie es in 6 gezeigt ist, das die ersten
und nachfolgenden Mini-Kopffelder und Nutzdaten enthält.
-
Das
multiplexierte Paket wird dann an den Router 30 des Backbone-Netzwerkes 12 in üblicher Weise
weitergeleitet und wird dann gegebenenfalls zu seinem Ziel über den
Router 32 und den Zugangs-Router „B" 16 an einem zugehörigen logischen
Port gelenkt. Der Router „B" verwendet seine Austrittstabelle 48,
die Kanal-ID-Einträge
enthält,
um ein vollständiges
Kopffeld wieder herzustellen, wie dies weiter unten ausführlicher
erläutert
wird.
-
Wenn
andererseits die Tabelle 46 des Zugangs-Routers „A", der als ein Eintritts-Router wirkt, keinen
Eintrag enthält,
der einem empfangenen RTP/UDP/IP-Kopffeld entspricht, das von der
Computereinrichtung A1 22 empfangen wird, leitet der Zugangs-Router „A" 14 in den
Schritten S914 und S916 eine Anfrage an einen Zugangs-Router, wie
z.B. dem Zugangs-Router „B" 16 ein,
der der RTP/UDP/IP-Ziel-Adresse
zugeordnet ist, um festzustellen, ob der Austritts-Router ein Multiplex-Protokoll unterstützt. Die
Anfrage kann in Form einer UDP-Mitteilung an den Router „B" 16 oder
auf irgendeine andere Weise erfolgen, die dem Fachmann bekannt ist. Wie
dies für
den Fachmann erkennbar ist, kann ein Ziel-Zugangs-Router „B" 16, der
einer Ziel-IP-Adresse zugeordnet ist, im Schritt S914 an dem Zugangs-Router „A" unter Verwendung
der Routenführungstabelle 44 identifiziert
werden.
-
Wenn
der Zugangs-Router „B" nicht auf die Abfrage
antwortet oder negativ antwortet, wie dies im Schritt S918 festgestellt
wird, so wird das RTP/UDP/IP-Paket von dem Zugangs-Router „A" 14 in konventioneller
Weise, beispielsweise im Schritt S906 ohne Multiplexierung oder
Modifikation abgesandt. Wenn der Zugangs-Router „B" 16 mit einer Bestätigung antwortet,
erzeugt der Zugangs-Router „A" einen neuen Eintrag
in der Tabelle 46, der dem Quellen- und Ziel-IP-Adressen-Paar
zugeordnet wird, und er erzeugt eine neue Kanal-ID in dem Feld 60 des Quellen-/Ziel-Paares
im Schritt S920. Als nächstes bildet
der Zugangs-Router „A" 14 ein
Umsetzungs-Ausbildungs-Token,
das das Format des Tokens 102 in 8 hat, unter
Einschluss der zugehörigen
Kanal-ID und des RTP/UDP/IP-Kopffeldes des empfangenen Paketes.
Danach wird das Umsetzungs-Ausbildungs-Token im Schritt S922 in
das Kopffeld des multiplexierten Paketes eingefügt. Als nächstes bildet der Zugangs-Router „A" im Schritt S910
ein Mini-Kopffeld für
die Nutzdaten, wie dies in 7 gezeigt
ist, und fügt
das Mini-Kopffeld/die Nutzdaten für das empfangene Paket in das
multiplexierte Paket ein, wie im Schritt S910. Vorzugsweise geht
das Umsetzungs-Ausbildungs-Token
der Mini-Kopffeld-/Nutzdaten-Kombination in dem multiplexierten
Paket voran, wie dies in 6 gezeigt ist. Innerhalb eines
multiplexierten Paketes 90 kann ein Umsetzungs-Ausbildungs-Token
von einem Mini-Kopffeld mit Hilfe des Inhaltes des Längenfeldes 104 unterschieden
werden. Für
ein Umsetzungs-Ausbildungs-Token 96 zeigt das Längenfeld 104 eine
Länge von
Null (0) an. Für
ein Mini-Kopffeld, das das Format des Mini-Kopffeldes 94 hat,
zeigt das äquivalente
Feld 100 eine von Null abweichende Länge an. Alternativ könnte die
Länge des
CID-Feldes des Mini-Kopffeldes 94 auf
sieben Bits reduziert werden, was es ermöglicht, dass das letzte Bit
zur Identifikation eines Umsetzungs-Tokens verwendet wird.
-
An
dem Ende des Puffer-Intervalls für
das multiplexierte Paket wird das multiplexierte Paket von dem Zugangs-Router „A" 14 in einer
konventionellen Weise abgesandt. Wie dies ersichtlich sein sollte, identifiziert
das RTP/UDP/IP-Kopffeld 91 des multiplexierten Paketes
den Zugangs-Router „A" als seine Quelle
und dem Zugangs-Router „B" als sein Ziel. Das
multiplexierte Paket wird über
das Backbone-Netzwerk 12 zu seiner abschließenden Ziel-Adresse
gelenkt, die den Router „B" 16 identifiziert.
-
Zweckmäßigerweise
werden dann mit einer geeigneten Wahl eines Puffer-Intervalls Nutzdaten, die
mehrfachen RTP/UDP/IP-Paketen zugeordnet sind, und die mehrfachen
IP-Verbindungen zwischen dem Zugangs-Netzwerk „A" und dem Zugangs-Netzwerk „B" zugeordnet sind,
in jedem multiplexierten Paket kombiniert und multiplexiert. Weiterhin
ist, weil die Umsetzungs-Ausbildungs-Token in den multiplexierten
Paketen enthalten sind, keine Außerband-Signalisierung erforderlich.
Damit ist diese Multiplexierung mit vorhandenen Protokollen, wie
z.B. denen, die in der ITU-Empfehlung H.323 definiert sind, kompatibel,
ohne dass irgendeine Modifikation erforderlich ist.
-
Die
Schritte S1000 und S1100, die von dem Zugangs-Router „B" 16 bei
Empfang eines Paketes ausgeführt
werden, unter Einschluss eines multiplexierten Paketes, das von
dem Zugangs-Router „A" 14 ausgeht,
können
besser unter Bezugnahme auf die 10 und 11 verstanden
werden. Das heißt, dass
der Router „B" bei Empfang irgendeines
Paketes im Schritt S1002 feststellt, ob dies an den bekannten logischen
Port und die IP-Adresse gerichtet ist, der bzw. die für multiplexierte
Pakete reserviert ist (Schritt S1004). Wenn dies nicht der Fall
ist, wird das Paket in üblicher
Weise im Schritt S1006 verarbeitet. Das heißt, dass das Paket an ein weiteres
mit dem Netzwerk verbundenes Gerät
ohne zusätzliche
Verarbeitung an den Zugangs-Router „B" 16 weitergeleitet
werden kann.
-
Wenn
das Paket die für
multiplexierte Pakete reservierte IP-Adresse und den Port identifiziert,
demultiplexiert der Router „B" das empfangene Paket entsprechend
den Schritten S1100, die in 11 gezeigt
ist. Das heißt,
der Router „B" 16 überprüft aufeinanderfolgend
die Inhalte des empfangenen Paketes, das das Format des Paketes 90 hat,
um ein Mini-Kopffeld 94 oder ein Umsetzungs-Ausbildungs-Token 96 zu
lokalisieren. Wenn der Router „B" anfänglich ein
Umsetzungs-Ausbildungs-Token im Schritt S1102 lokalisiert, verwendet
er die Inhalte dieses Kopffeldes, um die Inhalte seiner Austritts-Umsetzungstabelle
zu aktualisieren, die das Format der Austritts-Umsetzungstabelle 48 gemäß 5 hat. Das
heißt,
dass er bei Auffinden eines Umsetzungs-Ausbildungs-Tokens einen
neuen Eintrag in seiner Austritts-Umsetzungstabelle unter Einschluss des
RTP/UDP/IP-Kopffeldes erzeugt. Das Kanal-ID-Feld 102 des
Umsetzungs-Ausbildungs-Tokens kann zur Vervollständigung des Feldes 70 dieses
Eintrages verwendet werden. Die Inhalte des RTP/UDP/IP-Kopffeldes können zur
Vervollständigung
des Nutzdaten-Typ-Feldes 78, des Eintritts-Router-IP-Adressen-
und Port-Feldes 72 und des RTP/UDP/IP-Kopffeldes 76 des
Eintrages verwendet werden. Wie dies zu erkennen ist, kann nunmehr
das nächste
RTP/UDP/IP-Paket, das dem kürzlich
gespeicherten Mini-Kopffeld zugeordnet ist, unter Verwendung der
Kanal-ID identifiziert werden, die nunmehr an den Zugangs-Routern „A" und „B", 14 und 16,
gespeichert ist.
-
Sobald
ein Mini-Kopffeld in dem empfangenen Paket aufgefunden wird, leitet
der Zugangs-Router „B" 16 unter
der Steuerung der Anwendungs-Software 42 das Mini-Kopffeld in dem Schritt
S1106 ab um ein vollständiges
RTP/UDP/IP-Kopffeld, wie es in dem Feld 76 der Austritts-Umsetzungstabelle 48 gespeichert
ist, zu jedem Nutzdaten-Teil des empfangenen Paketes zuzuordnen,
um ein vollständiges RTP/UDP/IP-Paket
zu rekonstruieren.
-
Wenn
das Mini-Kopffeld einen Zeitstempel und eine Sequenznummer einschließt, werden
diese zur Rekonstruktion der RTP/UDP/IP-Sequenznummer und des Zeitstempels
verwendet. Alternativ können
die Inhalte des Feldes 82 zur Rekonstruktion geeigneter
Sequenznummern und Zeitstempel verwendet werden. Im Einzelnen kann
bei der Erzeugung eines Eintrages, der ein bestimmtes Quellen- und Ziel-ID-Adressen-Paar
wiedergibt, das Feld 82 unter Verwendung der Sequenznummer
und der Zeitstempel des empfangenen RTP/UDP/IP-Kopffeldes gefüllt werden.
Danach kann das Feld 82 jedesmal dann in geeigneter Weise
vergrößert werden,
wenn ein Mini-Kopffeld, das der gleichen Kanal-ID zugeordnet ist, empfangen
wird. Der Zeitstempel kann unter Verwendung des örtlichen Zeitgebers des Routers „B" 16 weitergeschaltet
werden.
-
Das
resultierende rekonstruierte RTP/UDP/IP-Paket wird dann von dem
Router „B" 16 an eine
richtige Ziel-Computereinrichtung, wie z.B. die Einrichtungen B1
und B2, 26 und 28, die mit dem Zugangs-Netzwerk „B" verbunden sind,
im Schritt S1112 weitergeleitet. Die Schritte S1102 usw. werden wiederholt,
bis das gesamte Paket verarbeitet wurde.
-
Weil
Umsetzungs-Ausbildungs-Tokens in Pakete vor durch die Token definierte
Mini-Kopffelder eingefügt werden,
sollten keine Mini-Kopffelder, für die
kein Eintrag in der Austritts-Umsetzungstabelle 48 existiert,
auftreten. Wenn jedoch ein Paket auftritt, das ein Mini-Kopffeld
einschließt,
für das
kein Eintrag existiert, so werden das Mini-Kopffeld und die zugehörigen Daten
verworfen. Weiterhin müssen
keine vollständigen
RTP/UDP/IP-Kopffelder mehr versandt werden, sobald geeignete Umsetzungstabellen-Einträge ausgebildet
wurden.
-
Zweckmäßigerweise
können
die Zugangs-Router „A" und „B", 14 und 16,
auch das Feld 80, 62 für die letzte Auffrischung („LTR"-Feld) der Austritts-Umsetzungstabelle 48 und
der Eintritts-Umsetzungstabelle 46 jedesmal dann aktualisieren, wenn
eine definierte Kanal-Identifikation erneut verwendet wird. Genauso
können
die Router „A" und „B" periodisch zu vorgegebenen
Intervallen die Eintritts- und Austrittstabellen „aufräumen", wobei irgendwelche
Einträge
gelöscht
werden, die für
eine vorgegebene Zeitperiode nicht verwendet wurden, wie dies unter
Bezugnahme auf die Felder 62 und 80 für die letzte
Auffrischung bestimmt wird. Auf diese Weise können zugeordnete Kanal-Identifikationsnummern erneut
verwendet werden. Dies ist besonders zweckmäßig, weil lediglich acht Bits
für das
Kanal-Identifikations-Kopffeld
zugeteilt sind. Eindeutige Kanal-Identifikationsnummern können somit
mit der Zeit erneut verwendet werden. In dem Kontext der IP-Telefonie
und bei geeigneter Wahl der Auffrischungs-Intervalle können daher
die Eintritts- und Austritts-Umsetzungstabellen
die aufgebauten und aktiven Anrufe darstellen.
-
Obwohl
in dem vorstehend beschriebenen Ausführungsbeispiel das Multiplexieren
und Demultiplexieren an dem Zugangs-Router „A" 14 und dem Zugangs-Router „B" 16 ausgeführt wird,
wird ein Fachmann erkennen, dass eine derartige Multiplexierung
und Demultiplexierung und das Führen
von Umsetzungstabellen ohne weiteres an anderen Netzwerk-Knoten
ausgeführt
werden könnte,
vorzugsweise am „Rand" der Zugangs-Netzwerke „A" und „B". Beispielsweise
könnten
die Router 30 und 32 zum Multiplexieren und Demultiplexieren
von multiplexierten Paketen verwendet werden. Weiterhin ist, obwohl die
Erfindung besonders für
die Verwendung mit IP-Telefoniedaten
geeignet ist, zu erkennen, dass die Erfindung auch in Verbindung
mit anderen Typen von Daten verwendet werden kann und typischerweise Vorteile
bietet, wenn das Verhältnis
von Zusatzdaten zu Nutzdaten groß ist. Das Netzwerk, in dem
die Erfindung verwendet werden kann, muss nicht zu dem IP konform
sein, sondern kann auch zu Nachfolgern des Protokolls oder zu irgendeinem
anderen paketvermittelten Protokoll konform sein.
-
Obwohl
die Organisation von Software-Blöcken,
Schritten, Nutzdaten und Kopffeld-Strukturen als klar abgegrenzt erläutert wurde,
wird ein Fachmann erkennen, dass die Abgrenzung zwischen Blöcken und
Strukturen in gewisser Weise willkürlich ist. Beispielsweise könnte Software,
die zur Routenführung,
zum Multiplexieren und Demultiplexieren verwendet wird, in Hardware
gebildet werden. Vielfältige andere
Anordnungen von Software-Blöcken
und Strukturen sind möglich.
-
Schließlich ist
es verständlich,
dass die beschriebenen Ausführungsformen
nur zu Erläuterungszwecken
dienen sollen und in keiner Weise beschränkend sind. Die Ausführungsform
kann hinsichtlich der Form, Anordnung von Teilen, Schritten, Einzelheiten
unter Reihenfolge des Betriebs modifiziert werden.