-
ALLGEMEINER STAND DER TECHNIK
-
Die
vorliegende Erfindung betrifft Mehrfachsendung bei Datenkommunikationsvernetzung
und insbesondere ein Verfahren zum Weiterleiten eines Mehrfachsendungs-Datenpakets
auf einer Datenkommunikations-Bridge, die mehrere Netzwerkschnittstellen
aufweist, die eine Backplane gemeinsam nutzen.
-
-
Traditionell
war ein LAN eine einzelne Rundsendungsdomäne, die unter Netzwerkgeräten gemeinsam
genutzt wurde, die miteinander kommunizieren mussten. Als derartigen
LANs immer mehr Netzwerkgeräte
hinzugefügt
wurden, verschärfte sich
der Wettbewerb um die gemeinsam genutzte Bandbreite, und die Kommunikation
begann sich zu verlangsamen. Um dieses Problem zu überwinden, wurden
Bridges genannte Geräte
eingefügt,
um die Netzwerkgeräte
in mehrere Rundsendungsdomänen zu
segmentieren. Traditionelle LANs begann man dann „LAN-Segmente" innerhalb einer
größeren Netzwerktopologie
zu nennen, die mehrere LAN-Segmente, Bridges und oftmals einen Router zum
Verbinden der Netzwerkgeräte
auf den LAN-Segmenten mit einem Backbonenetz beinhaltete.
-
Bridges
sind intelligente Geräte,
die Pakete von einer Rundsendungsdomäne über eine gemeinsam genutzte
Backplane zu einer anderen senden. Statt Pakete wahllos zu senden,
wenden Netzwerkschnittstellen auf einer Bridge jedoch Medienzugangssteuerungs-Bridgevorschriften
(Media Access Control, MAC-Bridgevorschriften) an. Jede Netzwerkschnittstelle
lernt die MAC-Adressen der Netzwerkgeräte, die mit der Bridge verbunden
sind, selbst aus den Quell-MAC-Adressen-codierten Paketen, die von
derartigen Geräten
empfangen werden. Wenn ein nachfolgendes Paket auf der Backplane empfangen
wird, sind die Netzwerkschnittstellen dann in der Lage, die Ziel-MAC-Adresse
des Pakets individuell zu prüfen
und zu ermitteln, ob eine derartige Adresse unter der Liste vorher
gelernter MAC-Adressen ist. Wird die Adresse in der Liste gefunden,
leitet die Schnittstelle das Paket weiter. Wird sie nicht in der
Liste gefunden, filtert die Schnittstelle das Paket, es sei denn,
dass keine andere Schnittstelle auf der Bridge das Paket beansprucht
hat. Durch derartige „Nachschlage"-Vorgänge, die
an jeder Netzwerkschnittstelle durchgeführt werden, reservieren Bridges
vorteilhafterweise Backplane- und Medienbandbreite für Pakete,
die eine Sendung erfordern, um ihr vorgesehenes Ziel zu erreichen.
-
Bridges
jüngeren
Jahrgangs implementieren Bridgevorschriften oft in anwendungsspezifischen
integrierten Schaltungen. Derartige Bridges werden üblicherweise
als „Switches" bezeichnet, obgleich deren
Kernfunktion nicht sehr verschieden von traditionellen Bridges ist.
Aber durch Reduzieren grundlegender Bridge-„Nachschlage"-Vorgänge auf
anwendungsspezifische Logik sind Switches in der Lage, Verkehr mit
oder nahezu mit Leitungsgeschwindigkeit zu leiten. Somit weisen
Switches verglichen mit prozessorabhängigeren Bridges reduzierte
Paketverluste und Latenzzeiten auf.
-
Während Bridge-Netzwerke
Vorteile in Geschwindigkeit und Einfachheit der Implementierung aufweisen,
haben sie sich beim Umgang mit Mehrfachsendungsverkehr Problemen
gegenübergesehen.
Mehrfachsendungspakete sind nicht für irgendein bestimmtes Netzwerkgerät bestimmt,
daher entsprechen die Ziel-MAC-Adressen, die in derartigen Paketen
codiert sind, keiner „per
Quelle gelernten" Adresse
auf irgendeiner bestimmten Netzwerkschnittstelle. Durch das Fehlen
zusätzlicher
Vorschriften erfassen alle Netzwerkschnittstellen innerhalb desselben
Teilnetzes Mehrfachsendungspakete und übertragen sie wahllos neu.
Verbunden mit derartigem Paket-„Fluten" ist jedoch Bandbreitenverbrauch auf
Medien, wo kein Zielnetzwerkgerät
residiert. In einer Mehrbridgeumgebung muss außerdem ein Spannbaumalgorithmus
ausgeführt
werden, um Schleifen zu verhindern, was der Leistung zusätzliche
Lasten auferlegt.
-
Eine
Alternative zum Fluten von Mehrfachsendungspaketen ist herkömmliche
Mehrfachsendungslenkung. Mehrfachsendungslenkung beschränkt Mehrfachsendungsverkehr
auf bestimmte Teilnetze und reduziert daher Fluten. Dementsprechend
legen, während
Geschwindigkeit und Einfachheit der Implementierung im Allgemeinen
in Richtung Bridges weisen, Mehrfachsendungs-Anforderungen einen ständigen Platz
zur Lenkung in einem Bridge-Netzwerk nahe. Aus dieser Dichotomie
heraus wurden Bridges geboren, die sowohl Arbeiten als Bridges als
auch Mehrfachsendungslenkung unterstützen. In einer typischen Anordnung
ist ein Mehrfachsendungsrouter auf einer Verarbeitungsentität konfiguriert,
die auf einer Bridgebackplane logisch zwischen Netzwerkschnittstellen
eingefügt
ist. Dieser „interne" Router lernt die
Mehrfachsendungsgruppen, zu denen jede der Netzwerkschnittstellen
der Bridge gehört.
Netzwerkschnittstellen senden Mehrfachsendungs-Datenpakete unter
Verwendung einer wohl bekannten Ziel-MAC-Adresse der Routerschnittstelle
zum Router. Der Router konsultiert eine Mehrfachsendungslenkungs-Datenbank
und löst
die Mehrfachsendungs-Zielnetzwerkadresse (d.h. die Mehrfachsendungsgruppen-Adresse)
in eine Menge von Netzwerkschnittstellen auf der Bridge auf, die eine
solche Adresse unterstützen.
Der Router überträgt dann
das Paket neu auf der Backplane. Die Netzwerkschnittstellen wenden
dann herkömmliche MAC-Bridgevorschriften
auf das gesendete Paket an. Durch derartige „Nachschlage"-Vorgänge, die
an den Router- und Netzwerkschnittstellen durchgeführt werden,
reserviert ein Bridgerouter vorteilhafterweise Medienbandbreite
nur für
jene Mehrfachsendungspakete, die für Teilnetze bestimmt sind,
zu denen Netzwerkschnittstellen gehören.
-
Die
Bandbreiteneinsparungen, die durch Implementieren von Mehrfachsendungslenkung
auf einer Bridge realisiert werden, haben jedoch ihren Preis. Als
Erstes hat die Mehrfachsendungslenkung einen Extraschritt im Weiterleitungsprozess
erfordert. Wo ein Bridge-Paket nur an der Netzwerkschnittstelle überprüft wird,
wird ein Paket, das durch einen Mehrfachsendungsrouter gelenkt wird,
an der Netzwerkschnittstelle und einer Routerschnittstelle überprüft. Der
hinzugefügte
Lenkungsschritt ist nicht nur zeitaufwendig, sondern erfordert eine
zweite Übertragung über die
Backplane. Darüber
hinaus wird weiterhin einige LAN-Segmentbandbreite
verschwendet, weil Mehrfachsendungsrouter nur auf der Interfaceebene
unterscheiden. Daher werden Pakete auch dort weiterhin aus Ports
geflutet, die einer Schnittstelle zugeordnet sind, die einen Host
aufweist, der zu der Mehrfachsendungsgruppe gehört, wo kein Netzwerkgerät, das zu
jener Mehrfachsendungsgruppe gehört, durch
den Port erreichbar ist. Dementsprechend besteht Bedarf an einer
Mehrfachsendungsfähigkeit
für eine
Bridge, die überlegene
Geschwindigkeits- und Bandbreitenbewahrungs-Charakteristika aufweist.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Die
vorliegende Erfindung verbessert Mehrfachsendungs-Kommunikation in
einer Bridge durch das Hilfsmittel verteilter Mehrfachsendungs-Weiterleitung
mit Subschnittstellengranularität.
Mehrere Netzwerkschnittstellen nutzen eine Backplane einer Bridge
gemeinsam. Die Netzwerkschnittstellen weisen jeweils mehrere Ports
auf und unterhalten eine lokale Mehrfachsendungs-Datenbank, die
Mehrfachsendungsgruppen, die auf der Schnittstelle aktiv sind, lokalen
Ports zuordnet, die in derartigen Gruppen aktiv sind. Weiterleitungsentscheidungen über Mehrfachsendungs-Datenpakete, die
auf der Backplane gesendet werden, erfolgen durch Netzwerkschnittstellen
unter Bezug auf ihre lokalen Mehrfachsendungs-Datenbanken. Jede
Netzwerkschnittstelle leitet Mehrfachsendungs-Datenpakete nur auf
den lokalen Ports weiter, die zur Mehrfachsendungsgruppe gehören, die
im Paket identifiziert ist.
-
Die
Konfiguration der lokalen Mehrfachsendungs-Datenbanken wird durch
eine Verwaltungsschnittstelle unterstützt, die die Backplane gemeinsam
mit den Netzwerkschnittstellen nutzt. Die Verwaltungsschnittstelle
unterhält
eine globale Mehrfachsendungs-Datenbank, die Mehrfachsendungsgruppen,
die auf der Bridge aktiv sind, Ports zuordnet, die in derartigen
Gruppen aktiv sind. Die Verwaltungsschnittstelle aktualisiert die
aktiven Portlisten für
Mehrfachsendungsgruppen in der globalen Mehrfachsendungs-Datenbank
mit den Gruppen-Port-Zuordnungsänderungen,
die aus Mehrfachsendungs-Steuerpaketen gelernt werden, die auf der Backplane
gesendet werden. Die Verwaltungsschnittstelle sendet Weiterleitungs-Aktualisierungen an
die Netzwerkschnittstellen, die Ports aufweisen, die zu derartigen
Gruppen gehören.
-
In
einer Ausführungsform
wird eine bestimmte Netzwerkschnittstelle für jede Mehrfachsendungsgruppe
für das
Weiterleiten von Mehrfachsendungs-Steuerpaketen und unbekannten
Mehrfachsendungs-Datenpaketen zur Verwaltungsschnittstelle zum Lernen
zuständig
gemacht, um Überzeichnung
von Backplanebandbreite zu reduzieren.
-
Diese
und andere Aspekte der Erfindung sind besser zu verstehen unter
Bezug auf die nachfolgende detaillierte Beschreibung in Verbindung
mit den beiliegenden Zeichnungen, die nachstehend kurz beschrieben
sind. Natürlich
ist der tatsächliche Umfang
der Erfindung durch die angehängten
Ansprüche
definiert.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockschaltbild, das ein physikalisches Netzwerk darstellt,
in dem die vorliegende Erfindung betrieben wird;
-
2 ist
ein Blockschaltbild, das eine logische Ansicht des Netzwerks gemäß 1 darstellt;
-
3 ist
ein Blockschaltbild, das die Verwaltungsschnittstelle gemäß 1 detaillierter
darstellt;
-
4 ist
ein Blockschaltbild, das eine Netzwerkschnittstelle gemäß 1 darstellt;
-
5 ist
ein Flussdiagramm, das Mehrfachsendungspaket-Verarbeitung beschreibt, die an den Netzwerkschnittstellen
gemäß 1 vorgenommen wird;
-
6 ist
ein Flussdiagramm, das Mehrfachsendungspaket-Verarbeitung beschreibt, die an der Verwaltungsschnittstelle
gemäß 1 vorgenommen
wird; und
-
7 ist
ein Flussdiagramm, das den Aktualisierungsprozess globaler und lokaler
Mehrfachsendungs-Datenbanken beschreibt, der an den Verwaltungs-
und Netzwerkschnittstellen gemäß 1 stattfindet.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
In 1 ist
ein physikalisches Datenkommunikationsnetz 100 gezeigt,
in dem die vorliegende Erfindung betrieben wird. Netzwerk 100 beinhaltet Hosts 110 auf
verschiedenen Rundsendungsdomänen,
die mit anderen Hosts und mit Ressourcen in Backbonenetz 120,
einschließlich
Router 122 und Server 124, über Bridge 130 verbunden
sind. Die Bridge kann Bridgevorschriften und verteilte Mehrfachsendungs-Weiterleitung in
anwendungsspezifischen integrierten Schaltungen, Prozessoren oder einer
Kombination implementieren. Hosts 110 sind adressierbare
Netzwerkgeräte,
wie z.B. PCs, Workstations und Server. Bridge 130 weist
mehrere Netzwerkschnittstellen 132 und eine Verwaltungsschnittstelle 134 auf,
die über
Backplane 136 verbunden sind. Backplane 136 ist
als ein gemeinsamer Bus dargestellt, kann aber andere Formen annehmen, wie
z.B. die einer Matrix von Wurzel-zu-Blatt-Verbindungen oder Punkt-zu-Punkt-Verbindungen
zwischen Netzwerkschnittstellen 132. Backplane 136 kann
im Halb- oder Vollduplexbetrieb arbeiten. Verwaltungsschnittstelle 134 und
Netzwerkschnittstelle 132 sind durch Steuerleitungen 138 verbunden. Hosts 110 und
Backbonenetz 120 sind mit Netzwerkschnittstellen 132 auf
physikalischen Ports 1-10 verbunden. Netzwerkschnittstellen 132 können verschiedene
CSMA/CD- oder Token-Passing-Protokolle
unterstützen,
die auf ihren zugeordneten Rundsendungsdomänen betrieben werden, wie z.B.
Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring und Fiber
Distributed Data Interface (FDDI). Natürlich unterstützt, wenn
Backbonenetz 120 ein verbindungsorientiertes Netzwerk ist,
wie z.B. ein Asynchronübertragungsmodus-Netzwerk
(Asynchronous Transfer Mode, ATM-Netzwerk), die Netzwerkschnittstelle,
die dem Netzwerk 120 zugeordnet ist, ein derartiges verbindungsorientiertes
Protokoll. Wo Bridge 130 in einer Mehrprotokoll-Umgebung
arbeitet, werden Pakete vor Übertragung
auf Backplane 136 unter Verwendung eines Formats gekapselt,
das üblicherweise durch
Schnittstellen 132, 134 verstanden wird.
-
2 präsentiert
eine logische Ansicht 200 des physikalischen Netzwerks 100.
Mehrfachsendungs-Kommunikation zwischen und unter Hosts 110 und
zwischen Hosts 110 und Backbonenetz 120 wird durch
virtuelle Netzwerkschnittstellen 232 und virtuelle Ports
a-j geleitet. Jede der physikalischen Netzwerkschnittstellen 132 kann
einer oder mehreren der virtuellen Netzwerkschnittstellen 232 zugeordnet sein,
und jede virtuelle Netzwerkschnittstelle kann einer oder mehreren
der virtuellen Ports a-j zugeordnet sein. Zuordnungen zwischen physikalischen
Netzwerkschnittstellen 132 und virtuellen Netzwerkschnittstellen 232 und
zwischen physikalischen Ports und virtuellen Ports können entweder
statisch oder dynamisch erfolgen. Der grundlegende Mehrfachsendungs-Weiterleitungs-Vorgang
auf Bridge 130 wird bewerkstelligt, indem auf Netzwerkschnittstelle 132 Identifikatoren
in Mehrfachsendungs-Datenpaketen, die Mehrfachsendungsgruppen-Adressen
enthalten, zu virtuellen Ports oder, falls nicht verfügbar, virtuellen
Schnittstellen aufgelöst
werden und derartige Pakete auf den aufgelösten virtuellen Ports oder virtuellen
Schnittstellen weitergeleitet werden. Die aufgelösten Mehrfachsendungsgruppen-Adressen sind
im Zielnetzwerkadressfeld von Mehrfachsendungs-Datenpaketen codiert.
-
Bezug
nehmend auf 3 ist Verwaltungsschnittstelle 134 detaillierter
gezeigt. Verwaltungsschnittstelle 134 weist Mehrfachsendungs-Verwalter 310,
Gruppen-Port-Datenbank 312 und globale Mehrfachsendungs-Datenbank 314 zur
Erleichterung des verteilten Mehrfachsendungs-Weiterleitungs-Vorgangs
auf. Mehrfachsendungs-Verwalter 310 lernt Zuordnungen von
drei unterschiedlichen Typen von Mehrfachsendungspaketen, die auf
Backplane 136 übertragen
werden, und zeichnet sie in Datenbanken 312 und 314 auf.
Als Erstes lernt Mehrfachsendungs-Verwalter 310 von Hostmitgliedschaftspaketen,
die durch Hosts 110 erzeugt werden, Zuordnungen von Mehrfachsendungsgruppe
zu virtuellem Port und zeichnet sie in Gruppen-Port-Datenbank 312 auf.
Als Zweites lernt Mehrfachsendungs-Verwalter 310 Zuordnungen
von Mehrfachsendungsgruppe zu virtuellem Port von Routensteuerpaketen,
die durch benachbarte Router, wie z.B. Router 122, an Mehrfachsendungsrouter 320 gesendet
werden, und zeichnet sie in Gruppen-Port-Datenbank 312 auf.
Als Drittes lernt Mehrfachsendungs-Verwalter 310 Zuordnungen
zwischen Quellnetzwerkadressen, Mehrfachsendungsgruppen-Adressen und Ingress-Ports
von unbekannten Mehrfachsendungs-Datenpaketen,
die durch Netzwerkgeräte,
wie z.B. Hosts 110, erzeugt werden, und zeichnet die Zuordnungen
als „Haupt"-Eintrage in globaler Datenbank 314 auf.
Der Ingress-Port ist der virtuelle Port, auf dem das Mehrfachsendungs-Datenpaket
an Bridge 130 ankam. Mehrfachsendungs-Verwalter 310 konsultiert
die Gruppen-Port-Zuordnungen, die in Gruppen-Port-Datenbank 312 aufgezeichnet
sind, und aktualisiert das Element für virtuelle Ports von „Haupt"-Einträgen in globaler
Datenbank 314 für
die Mehrfachsendungsgruppe durch einen internen Datenübertragungsvorgang
(an Verwaltungsschnittstelle 134). Inhalte von „Haupt"-Einträgen werden
von Verwaltungsschnittstelle 134 „Band-extern" auf Steuerleitungen 138 durch
einen externen Datenübertragungsvorgang (an
Verwaltungsschnittstelle 134) an Netzwerkschnittstellen 132 übertragen,
die zur Mehrfachsendungsgruppe gehören. Netzwerkschnittstellen 132 setzen
die übertragenen
Inhalte von „Haupt"-Einträgen ein,
um „Schatten"-Eintrage aufzubauen
und zu aktualisieren, die es Netzwerkschnittstellen 132 erlauben,
effiziente Weiterleitungsentscheidungen über Mehrfachsendungs-Datenpakete zu treffen,
die von Backplane 136 von anderen Netzwerkschnittstellen
empfangen werden. Insbesondere werden „Schatten"-Einträge durch Netzwerkschnittstellen konsultiert,
um Weiterleitungsentscheidungen über Mehrfachsendungs-Datenpakete ohne
zentrale Prozessor-Intervention auf paketweiser Basis zu treffen. Darüber hinaus
resultieren, weil die Inhalte von „Haupt"-Einträgen, die von globaler Datenbank 314 empfangen
werden, Zuordnungen zwischen Mehrfachsendungsgruppen und virtuellen
Ports beinhalten, die Weiterleitungsentscheidungen, die durch Netzwerkschnittstelle 132 durch
Konsultieren der „Schatten"-Einträge getroffen
werden, vorteilhafterweise darin, dass Mehrfachsendungs-Datenpakete nur auf
der Menge virtueller Ports weitergeleitet werden, die zur Zielmehrfachsendungsgruppe
gehören.
-
In
einer bevorzugten Ausführungsform
ist Gruppen-Port-Datenbank 312 derart
angeordnet, dass jede Mehrfachsendungsgruppe in Datenbank 312 ihre
eigene Gruppentabelle aufweist, die einen Pointer auf den ersten
Eintrag in einer verknüpften Liste
von Einträgen
beinhaltet, die virtuelle Ports identifizieren, die in der Gruppe
aktiv sind. Ein Zeitgeberwert ist in Zuordnung zu jedem virtuellen
Port in der Liste gespeichert, sodass veraltete Ports aus der Liste
entfallen.
-
Mehrfachsendungsrouter 320 lernt
Zuordnungen von Mehrfachsendungsgruppe zu virtueller Netzwerkschnittstelle
von Hostmitgliedschaftspaketen und Routensteuerpaketen.
-
Der
erste Pakettyp, auf den sich Mehrfachsendungs-Verwalter 310 stützt, um
Bridge 130 für verteilte
Mehrfachsendungs-Weiterleitung
zu konfigurieren, ist das Hostmitgliedschaftspaket. Hostmitgliedschaftspakete
weisen einen Typidentifikator auf, der derartige Pakete als Hostmitgliedschaftspakete identifiziert,
und weisen eine Mehrfachsendungsgruppen-Adresse auf. In Form eines
Beispiels können
Hostmitgliedschaftspakete Blattgruppenpakete und Mitgliedschaftsmeldungen
nach Internet Group Management Protocol (IGMP), Version zwei (v.2)
beinhalten. Für
jede Mehrfachsendungsgruppe, die auf Bridge 130 aktiv ist,
ist die Zuständigkeit
zum Weiterleiten von Hostmitgliedschaftspaketen an Verwaltungsschnittstelle 134 für die Gruppe
einer einzelnen Netzwerkschnittstelle übertragen, um doppelte Verarbeitung
von Hostmitgliedschaftspaketen durch Mehrfachsendungs-Verwalter 310 zu
vermeiden. Die Übertragung
erfolgt derart, dass die zuständige
Netzwerkschnittstelle stets mindestens einem Port zugeordnet ist,
der zur Mehrfachsendungsgruppe gehört, für die die Schnittstelle zuständig ist.
-
Der
zweite Pakettyp, auf den sich Mehrfachsendungs-Verwalter 310 stützt, um
Bridge 130 für verteilte
Mehrfachsendungs-Weiterleitung
zu konfigurieren, ist das Routensteuerpaket. Routensteuerpakete
werden durch benachbarte Router erzeugt, wie z.B. Router 122.
Routensteuerpakete weisen einen Typidentifikator auf, der derartige
Pakete als Routensteuerpakete identifiziert, und weisen eine Mehrfachsendungsgruppen-Adresse
auf. In Form eines Beispiels können
Routensteuerpakete DVMRP-Pakete (Distance Vector Multicast Routing Protocol)
nach Internet Group Management Protocol (IGMP), Version zwei (v.2)
sein.
-
Der
dritte Pakettyp, auf den sich Mehrfachsendungs-Verwalter 310 stützt, um
Bridge 130 für verteilte
Mehrfachsendungs-Weiterleitung
zu konfigurieren, ist das unbekannte Mehrfachsendungs-Datenpaket.
Unbekannte Mehrfachsendungs- Datenpakete
werden durch Netzwerkgeräte
erzeugt, wie z.B. Hosts 110. Unbekannte Mehrfachsendungs-Datenpakete
sind gekennzeichnet durch eine Kombination aus Paketidentifikatoren,
die Quellnetzwerkadresse, Mehrfachsendungsgruppen-Adresse und Ingress-Port
beinhalten, für
die es keinen passenden Eintrag in der lokalen Mehrfachsendungs-Datenbank irgendeiner
der Netzwerkschnittstellen 132 gibt. Für jede Mehrfachsendungsgruppe,
die auf Bridge 130 aktiv ist, ist die Zuständigkeit
zum Weiterleiten von unbekannten Mehrfachsendungs-Datenpaketen an Verwaltungsschnittstelle 134 für die Gruppe
einer einzelnen Netzwerkschnittstelle übertragen, um doppelte Verarbeitung
von unbekannten Mehrfachsendungs-Datenpaketen durch Mehrfachsendungs-Verwalter 310 zu
vermeiden. Die Übertragung
erfolgt derart, dass die zuständige
Netzwerkschnittstelle stets mindestens einem Port zugeordnet ist,
der zur Mehrfachsendungsgruppe gehört, für die die Schnittstelle zuständig ist.
Vorzugsweise ist dieselbe Netzwerkschnittstelle, die das Weiterleiten
von Hostmitgliedschaftspaketen für
eine bestimmte Mehrfachsendungsgruppe zuständig ist, für das Weiterleiten unbekannter
Mehrfachsendungs-Datenpakete für jene
Gruppe zuständig.
-
Jetzt
Bezug nehmend auf 4 ist eine repräsentative
Netzwerkschnittstelle 432 gezeigt. Netzwerkschnittstelle 432 ist
zu hierin beschriebenen Zwecken für Netzwerkschnittstelle 132 repräsentativ. Netzwerkschnittstelle 432 weist
Schnittstellensteuerung 410, Anspruchsdatenbank 412,
Zuständigkeitsdatenbank 414 und
lokale Mehrfachsendungs-Datenbank 416 zum
Bewerkstelligen verteilter Mehrfachsendungs-Weiterleitung auf. Steuerung 410 ist für das Unterhalten
von Datenbanken 412, 414, 416 und für die Paketweiterleitung
zuständig.
Steuerung 410 lernt Mehrfachsendungs-Weiterleitungs-Informationen
von Verwaltungsschnittstelle 134 durch zwei unterschiedliche
Typen von Meldungen, die auf Steuerleitungen 138 gesendet
werden. Der erste Typ Meldung, den Steuerung 410 empfängt, ist
eine „Weiterleitungs-Aktualisierungs"-Meldung, die Inhalte
eines „Haupt"-Eintrags aus globaler
Mehrfachsendungs-Datenbank 314 beinhaltet.
Jede „Weiterleitungs-Aktualisierungs"-Meldung beinhaltet
eine Quellnetzwerkadresse, eine Mehrfachsendungsgruppen-Adresse,
einen Ingress-Port und einen virtuellen Port und kann andere Steuerinformationen
beinhalten, wie z.B. VLAN-Identifikatoren (Virtual local Area Network,
virtuelles lokales Netzwerk). Für
jede empfangene „Weiterleitungs-Aktualisierungs"-Meldung errichtet
oder aktualisiert Steuerung 410 bis zu drei Einträge. Als
Erstes errichtet oder aktualisiert die Steuerung in lokaler Mehrfachsendungs-Datenbank 416 einen „Schatten"-Eintrag, der die
Quellnetzwerkadresse, die Mehrfachsendungsgruppen-Adresse, den Ingress-Port
und den virtuellen Port entsprechend den übertragenen Inhalten des „Haupt"-Eintrags beinhaltet.
Als Zweites zeichnet Steuerung 410 in Anspruchsdatenbank 412 die
MAC-Adresse entsprechend der Mehrfachsendungsgruppen-Adresse auf,
die in den übertragenen
Inhalten des „Haupt"-Eintrags identifiziert
ist, falls keine derartige Ziel-MAC-Adresse bereits aufgezeichnet
worden ist. Diesbezüglich
sind in einer bevorzugten Ausführungsform
MAC-Adressen derart numerisch auf Mehrfachsendungsgruppen-Adressen
bezogen, dass Mehrfachsendungsgruppen-Adressen für eine klare Menge von Mehrfachsendungsgruppen
zu einer MAC-Adresse auflösbar
sind. Als Drittes zeichnet Steuerung 410 in Zuständigkeitsdatenbank 414 einen
Eintrag auf, der durch die MAC-Adresse entsprechend der Mehrfachsendungsgruppen-Adresse
aufrufbar ist, die in den übertragenen
Inhalten des „Haupt"-Eintrags identifiziert
ist, falls kein derartiger Eintrag bereits erstellt worden ist.
Der zweite Typ Meldung, den Steuerung 410 empfängt, ist
eine „Zuständigkeits"-Meldung, die Schnittstelle 432 als
die zuständige
Schnittstelle für
eine Mehrfachsendungsgruppe benennt, für die es mindestens einen „Schatten"-Eintrag in lokaler
Mehrfachsendungs-Datenbank 416 gibt. Steuerung 410 setzt
in Zuständigkeitsdatenbank 414 ein
Flag in einem reservierten Feld in dem Eintrag, der durch die MAC-Adresse
entsprechend der Mehrfachsendungsgruppe aufrufbar ist, für die Schnittstelle 432 Zuständigkeit übertragen wurde.
In einer bevorzugten Ausführungsform
ist Anspruchsdatenbank 412 in einem Assoziativspeicher (Content
Addressable Memory, CAM) implementiert und sind Zuständigkeitsdatenbank 414 und
lokale Mehrfachsendungs-Datenbank 416 in Direktzugriffsspeicher
(Random Access Memory, RAM) implementiert. Dementsprechend kann
anstatt der vollständigen
MAC-Adresse vorteilhafterweise der CAM-Index, an dem eine MAC-Adresse
in Anspruchsdatenbank 412 residiert, in Zuständigkeitsdatenbank 414 aufgezeichnet
werden.
-
Die
Interoperabilität
von Netzwerkschnittstellen 132 und Verwaltungsschnittstelle 134 bei
verteilter Mehrfachsendungs-Weiterleitung
wird unter Bezug auf 5 und 6 noch klarer
verständlich. 5 stellt
den Verarbeitungsalgorithmus dar, der durch repräsentative Netzwerkschnittstellen 432 auf einem
Mehrfachsendungspaket ausgeführt
wird, das von Backplane 136 empfangen wird. Bei Ankunft
von Backplane 136 an Netzwerkschnittstelle 432 wird MAC-Datenbank 412 konsultiert,
um zu ermitteln, ob das Paket eine Ziel-MAC- Adresse aufweist, die auf Schnittstelle 432 bekannt
ist (510). Weist das Paket keine Ziel-MAC-Adresse auf,
die auf Schnittstelle 432 bekannt ist, erfolgt eine Prüfung, um
zu ermitteln, ob eine andere der Netzwerkschnittstellen 132 die Ziel-MAC-Adresse
kennt oder Verwaltungsschnittstelle 134 das Paket beansprucht
hat (512). Diesbezüglich „schlagen" Netzwerkschnittstellen 132 individuell
die Ziel-MAC-Adresse von Paketen „nach", die auf Backplane 136 übertragen
werden, und nutzen Informationen über erkannte Adressen in einer
Art und Weise gemeinsam, die auf dem Gebiet wohl bekannt ist, wie
z.B. die Geltendmachung einer „Anspruchs"-Leitung durch jedwede
Schnittstelle, die die Adresse erkennt. Ist die Ziel-MAC-Adresse durch eine
der Netzwerkschnittstellen 132 oder Verwaltungsschnittstelle 134 beansprucht
worden, wird das Paket durch Schnittstelle 432 ausgelassen
(550). Ist jedoch die Ziel-MAC-Adresse nicht durch irgendeine der
Netzwerkschnittstellen 132 oder Verwaltungsschnittstelle 134 beansprucht
worden, ist das Paket ein unbekanntes Mehrfachsendungspaket und
wird durch Schnittstelle 432 (und alle anderen Netzwerkschnittstellen 132)
geflutet (552). Nun zurückkehrend zu
Schritt 510 ist, falls das Paket eine Ziel-MAC-Adresse aufweist,
die auf Schnittstelle 432 bekannt ist, das Paket ein bekanntes
Mehrfachsendungs-Datenpaket. Somit erfolgt eine Prüfung, um
zu sehen, ob das Paket ein Mitgliedschaftssteuerpaket ist (520).
Ist das Paket ein Mitgliedschaftssteuerpaket, wird Zuständigkeitsdatenbank 414 konsultiert, um
zu ermitteln, ob Schnittstelle 432 die zuständige Netzwerkschnittstelle
für die
Mehrfachsendungsgruppe ist, die im Paket identifiziert ist (530).
Ist Schnittstelle 432 die zuständige Netzwerkschnittstelle,
muss Schnittstelle 432 das Paket an Mehrfachsendungs-Verwalter 310 zum
Lernen und Aufzeichnen der Zuordnungen von Mehrfachsendungsgruppe zu
virtuellem Port in Gruppen-Port-Datenbank 312 weiterleiten.
Somit wird in diesem Fall die Ziel-MAC-Adresse durch eine Ziel-MAC-Adresse
ersetzt, die für
Verwaltungsschnittstelle 134 reserviert ist, und das Paket
wird neu auf Backplane 136 übertragen (556). Ist
Schnittstelle 432 nicht die zuständige Netzwerkschnittstelle,
ist jedoch eine andere der Netzwerkschnittstellen 132 für das Weiterleiten
des Pakets an Mehrfachsendungs-Verwalter 310 zuständig, und
das Paket wird durch Schnittstelle 432 ausgelassen (558).
Zurückkehrend
zu Schritt 520 ist, falls das Paket kein Mitgliedschaftssteuerpaket
ist, das Paket ein Mehrfachsendungs-Datenpaket, das eine Mehrfachsendungsgruppen-Adresse
aufweist, für
die es entsprechende Einträge
in lokaler Mehrfachsendungs-Datenbank 416 geben kann. Daher wird
lokale Mehrfachsendungs-Datenbank 416 hinsichtlich eines
passenden Eintrags konsultiert (532). Eine Übereinstimmung
wird gefunden, wenn es einen „Schatten"-Eintrag in lokaler Mehrfachsendungs-Datenbank 412 gibt,
der eine Quellnetzwerkadresse, eine Mehrfachsendungsgruppen-Adresse und einen
Ingress-Port entsprechend jenen aufweist, die in einschlägigen Feldern
des Pakets identifiziert sind. Wird kein passender Eintrag gefunden,
ist das Paket ein unbekanntes Mehrfachsendungs-Datenpaket, und es
erfolgt eine Prüfung,
um zu sehen, ob Schnittstelle 432 die zuständige Netzwerkschnittstelle
für die
Mehrfachsendungsgruppe ist (530). Ist Schnittstelle 432 die
zuständige
Netzwerkschnittstelle, muss Schnittstelle 432 das unbekannte
Mehrfachsendungs-Datenpaket an Mehrfachsendungs-Verwalter 310 zum
Lernen und Aufzeichnen eines „Haupt"-Eintrags in globaler
Mehrfachsendungs-Datenbank 314 weiterleiten. Somit wird
in diesem Fall die Ziel-MAC-Adresse durch die Ziel-MAC-Adresse ersetzt,
die für
die Verwaltungsschnittstelle 134 reserviert ist, und das
Paket wird neu auf Backplane 136 übertragen (556). Ist
die Netzwerkschnittstelle nicht die zuständige Netzwerkschnittstelle,
wird das Paket ausgelassen (538). Zurückkehrend zu Schritt 532 ist,
falls ein passender „Schatten"-Eintrag in lokaler
Mehrfachsendungs-Datenbank 416 gefunden wird, das Paket
ein bekanntes Mehrfachsendungs-Datenpaket
und wird auf der Menge virtueller Ports weitergeleitet, die in der
Liste virtueller Ports für den
passenden Eintrag spezifiziert sind (554).
-
6 stellt
den Verarbeitungsalgorithmus dar, der durch Verwaltungsschnittstelle 134 zum
Verarbeiten von Mehrfachsendungspaketen ausgeführt wird, die von Backplane 136 empfangen
werden. Gemäß 6 wird
bei Ankunft von Backplane 136 an Verwaltungsschnittstelle 134 die
Ziel-MAC-Adresse überprüft, um zu
ermitteln, ob das Paket eine Ziel-MAC-Adresse aufweist, die für Schnittstelle 134 reserviert
ist (610). Weist das Paket keine Ziel-MAC-Adresse auf,
die für
Schnittstelle 134 reserviert ist, erfolgt eine Prüfung, um
zu ermitteln, ob das Paket durch eine der Netzwerkschnittstellen 132 beansprucht
worden ist (612). Ist das Paket beansprucht worden, wird
es durch die Verwaltungsschnittstelle 134 ausgelassen (614).
Falls jedoch das Paket nicht durch eine der Netzwerkschnittstellen 132 beansprucht
worden ist, ist das Paket ein unbekanntes Mehrfachsendungspaket
und muss durch Verwaltungsschnittstelle 134 weiter verarbeitet
werden. Zurückkehrend
zu Schritt 610 erfolgt, falls das Paket eine Ziel-MAC-Adresse
aufweist, die für Schnittstelle 134 reserviert
ist, oder falls das Paket ein unbekanntes Mehrfachsendungspaket
ist, eine Prüfung,
um zu ermitteln, ob das Paket ein Mehrfachsendungs-Steuerpaket ist
(620). Ist das Paket kein Mehrfachsendungs-Steuerpaket,
ist das Paket ein unbekanntes Mehrfachsendungs-Datenpaket und wird
durch Aufzeichnen eines „Haupt"-Eintrags in der globalen
Mehrfachsendungs-Datenbank 314 gelernt (622).
Falls jedoch das Paket ein Mehrfachsendungs-Steuerpaket ist, wird
das Paket überprüft, um zu
ermitteln, ob eine Aktualisierung an Gruppen-Port-Datenbank 312 erfolgen
muss (630). Diesbezüglich
wird der Eintrag in Gruppen-Port-Datenbank 312 „nachgeschlagen", der der Mehrfachsendungsgruppe
entspricht, die im Paket identifiziert ist, und es erfolgt eine
Bestimmung, ob der Ingress-Port, der im Paket identifiziert ist,
unter den Ports in der Liste virtueller Ports ist, die dem Eintrag
zugeordnet ist. Jedwede notwendigen Änderungen werden an der Gruppen-Port-Datenbank 312 vorgenommen (d.h.
Port hinzufügen
oder Port löschen)
(640), bevor das Paket an Mehrfachsendungsrouter 320 zur
weiteren Verarbeitung weitergeleitet wird (642). Beispielsweise
wird, wenn der Ingress-Port, der in einer Mitgliedschaftsmeldung
nach IGMP v.2 identifiziert ist, nicht bereits im Eintrag vorhanden
ist, der Ingress-Port der Liste virtueller Ports hinzugefügt. Ist keine Änderung
an Gruppen-Port-Datenbank 312 erforderlich, wird das Paket
einfach an Mehrfachsendungsrouter 320 weitergeleitet (642),
ohne dass irgendeine Aktualisierung erfolgt.
-
7 stellt
den Verarbeitungsalgorithmus dar, der zwischen Verwaltungsschnittstelle 134 und Netzwerkschnittstelle 132 ausgeführt wird,
um die Liste virtueller Ports in der globalen Mehrfachsendungs-Datenbank 314 zu
aktualisieren und um die lokalen Mehrfachsendungs-Datenbanken zu
aktualisieren. Gemäß dem Algorithmus
vergleicht Mehrfachsendungs-Verwalter 310 die Liste virtueller
Ports in Gruppen-Port-Datenbank 312 für eine bestimmte Mehrfachsendungsgruppe
mit der Liste virtueller Ports in einem „Haupt"-Eintrag in globaler Datenbank 314 für dieselbe
Mehrfachsendungsgruppe, um zu sehen, ob es irgendeine Ungleichheit
gibt (710). Gibt es keine Ungleichheit (d.h., es gibt eine Eins-zu-eins-Entsprechung zwischen
den Listen virtueller Ports), wird keine weitere Maßnahme ergriffen.
Gibt es jedoch eine Ungleichheit, wird der „Haupt"-Eintrag durch Übertragen von Informationen über virtuelle
Ports von der Gruppen-Port-Datenbank 312 zur
globalen Datenbank 314 aktualisiert (720). In diesem
Fall sendet der Mehrfachsendungs-Verwalter 310 eine „Weiterleitungs-Aktualisierungs"-Meldung, die die Änderung
widerspiegelt, die an globaler Mehrfachsendungs-Datenbank 314 erfolgte,
an eine Netzwerkschnittstelle, die dem virtuellen Port zugeordnet ist,
für den
der „Haupt"-Eintrag aktualisiert
wurde, was in Errichtung oder Aktualisierung eines „Schatten"-Eintrags in der
lokalen Mehrfachsendungs-Datenbank der Netzwerkschnittstelle resultiert
(730).
-
Der
Durchschnittsfachmann auf dem Fachgebiet wird verstehen, dass die
Erfindung in anderen speziellen Formen ausgeführt werden kann. Die vorliegende
Erfindung ist daher in jeder Beziehung als veranschaulichend und
nicht einschränkend
anzusehen. Der Umfang der Erfindung ist durch die angehängten Ansprüche definiert,
und es ist beabsichtigt, dass alle Änderungen, die in den Bereich
von Äquivalenzen
derselben fallen, darin eingeschlossen sind.
-
- Figure
1
- Figur
1
- SERVER
- SERVER
- BACKBONE
NETWORK
- BACKBONENETZ
- ROUTER
- ROUTER
- MANAGEMENT
INTERFACE
- VERWALTUNGSSCHNITTSTELLE
- NI
- NS
- BRIDGE
- BRIDGE
- PHYSICAL
PORTS
- PHYSIKALISCHE PORTS
- HOSTS
- HOSTS
- Figure
2
- Figur
2
- VIRTUAL
PORTS
- VIRTUELLE
PORTS
- VNI
- VNS
- Figure
3
- Figur
3
- SA
- QA
- MG
- MG
- INGRESS
VP
- INGRESS-VP
- VP
LIST
- VP-LISTE
- MULTICAST
MANAGER
- MEHRFACHSENDUNGS-VERWALTER
- MULTICAST
ROUTER
- MEHRFACHSENDUNGSROUTER
- Figure
4
- Figur
4
- SA
- QA
- MG
- MG
- INGRESS
VP
- INGRESS-VP
- VP
LIST
- VP-LISTE
- MAC
- MAC
- FLAG
- FLAG
- INTERFACE
CONTROLLER
- SCHNITTSTELLENSTEUERUNG
- Figure
5
- Figur
5
- START
- START
- END
- ENDE
- Y
- J
- N
- N
- 510
- DMAC
HIER BEKANNT?
- 512
- DMAC
ANDERSWO BEKANNT?
- 520
- MEHRFACHSENDUNGS-STEUERPAKET?
- 530
- ZUSTÄNDIGE NS?
- 532
- ÜBEREINSTIMMUNG LOKALE
DATENBANK?
- 550
- AUSLASSEN
- 552
- FLUTEN
- 554
- AN
PORTS AUF PORTLISTE WEITERLEITEN
- 556
- AN
VERWALTUNGSSCHNITTSTELLE WEITERLEITEN
- 558
- AUSLASSEN
- Figure
6
- Figur
6
- START
- START
- END
- ENDE
- Y
- J
- N
- N
- 610
- DMAC
RESERVIERT?
- 612
- PAKET
ANDERSWO BEANSPRUCHT?
- 614
- AUSLASSEN
- 620
- MEHRFACHSENDUNGS-STEUERPAKET?
- 622
- LERNEN
- 630
- MG-PORT-ÄNDERUNG?
- 640
- MG-PORT-DATENBANK AKTUALISIEREN
- 642
- AN
MEHRFACHSENDUNGSROUTER WEITERLEITEN
- Figure
7
- Figur
7
- START
- START
- END
- ENDE
- Y
- J
- N
- N
- 710
- UNGLEICHHEIT
VP-LISTE?
- 720
- GLOBALE
DATENBANK AKTUALISIEREN
- 730
- LOKALE
DATENBANK AKTUALISIEREN?