SACHGEBIET
DER ERFINDUNGFIELD
THE INVENTION
Die
vorliegende Erfindung bezieht sich allgemein auf Netzwerkvermittlungen
und genauer auf einen Mehrdienstnetzwerk-Switch zur Bereitstellung
mehrerer Netzdienste von einer einzigen Plattform aus.The
The present invention relates generally to network switches
and more particularly to a multi-service network switch for deployment
multiple network services from a single platform.
HINTERGRUND
DER ERFINDUNGBACKGROUND
THE INVENTION
Die
heutigen Anbieter von Netzdiensten werden mit außerordentlichen Herausforderungen
konfrontiert. Das Verkehrsvolumen nimmt rasant zu. Sowohl Verbraucher
als auch Unternehmen verlangen höhere Zugangsraten
und halten sich länger
im Internet auf, und sie sind zugleich auf der Suche nach Garantien
für kalkulierbare
Leistungsniveaus sowie nach strikteren Service-Levels. Dies zwingt
die Anbieter von Internetdiensten (Internet Service Providers, ISPs)
unmittelbar, an den Standorten ihrer POPs (Points of Presence) größere Kapazitäten und
höhere Übertragungsgeschwindigkeiten
vorzuhalten, und das vorzugsweise ohne Einschränkungen bei der Leistung.The
Today's providers of network services are facing extraordinary challenges
faced. The volume of traffic is increasing rapidly. Both consumers
as well as companies demand higher access rates
and stay longer
on the internet, and they are also looking for guarantees
for calculable
Performance levels and stricter service levels. This forces
Internet service providers (ISPs)
immediately, at the sites of their POPs (Points of Presence) greater capacity and
higher transmission speeds
vorzuhalten, and preferably without limitations on performance.
Um
auch nur eine akzeptable Leistung aufrechtzuerhalten, bieten die
Dienstanbieter zusätzlichen Support
für mehr
Benutzer, mehr Verkehr und mehr Transaktionen, vorzugsweise ohne
die Schaffung von Engpässen
oder Beeinträchtigung
der Netzverfügbarkeit.
Viele netzbasierte Unternehmenstransaktionen sind zeitkritisch und
verkraften typisch keine untragbaren Verzögerungen oder Abbrüche.Around
even to maintain an acceptable performance, the offer
Service provider additional support
for more
Users, more traffic and more transactions, preferably without
the creation of bottlenecks
or impairment
the network availability.
Many network-based business transactions are time-critical and
Typically, there are no intolerable delays or crashes.
In
dem Bemühen,
einigen der Herausforderungen zu begegnen, gehen einige ISPs dazu über, das große Verkehrsvolumen
durch Zugangs-Konzentratoren und High-End-Router zu bewältigen.
Das Problem bei herkömmlichen
Zugangs-Konzentratoren und High-End-Routern ist allerdings, daß diese
Komponenten von ihrem Konzept her mit einer zentralen Zentralverarbeitungseinheit
(Central Processing Unit, CPU) für
die zentralisierte Verarbeitung ausgerüstet sind. Sämtliche
Daten werden über
einen zentralisierten Routenweiterleiter/Prozessor geleitet, der
den Verarbeitungs-Overhead erhöht,
Engpässe
verursacht, die Skalierbarkeit einschränkt und einen einzigen Ausfallpunkt
(Point of Failure) schafft. Tatsächlich
kann der Zentralprozessor das höhere
Datenvolumen nicht effektiv verarbeiten, wenn neue Module hinzugefügt werden.
Wenn weitere Module hinzugefügt
werden, stößt die Systemleistung
an ihre Grenzen.In
the effort
To meet some of the challenges, some ISPs are transitioning to the large volume of traffic
through access concentrators and high-end routers.
The problem with conventional
Access concentrators and high-end routers, however, is that these
Components from their concept with a central central processing unit
(Central Processing Unit, CPU) for
the centralized processing are equipped. All
Data is being transmitted
directed a centralized route router / processor, the
increases the processing overhead,
bottlenecks
causing scalability and a single point of failure
(Point of Failure) creates. Indeed
the central processor can do the higher
Do not process data volumes effectively when new modules are added.
If added more modules
will hit the system performance
to their limits.
Zur
Herausforderung der wachsenden Datenvolumina kommt die Herausforderung
einer zunehmenden Diversität
der angewandten Netzwerktechnologien. So können die Benutzer beispielsweise über Wählverbindungen,
ISDN-Verbindungen, Mietleitungen, Frame Relays oder virtuelle ATM-Leitungen
auf die öffentliche Infrastruktur
zugreifen. Sie können
dafür Sprachband-Modems,
Kabelmodems, unterschiedlichste xDSL-Modems oder sonstige Modems
verwenden. Innerhalb der Infrastruktur kann ein POP eines Dienstanbieters
beispielsweise über
ATM, Frame Relay oder Ethernet eine Verbindung zum Kernnetz und
zu anderen Geräten
im POP herstellen.to
The challenge comes with the challenge of growing data volumes
an increasing diversity
the applied network technologies. For example, users can use dial-up connections,
ISDN connections, leased lines, frame relays or virtual ATM lines
on the public infrastructure
access. You can
for voice-band modems,
Cable modems, various xDSL modems or other modems
use. Within the infrastructure can be a POP of a service provider
for example about
ATM, Frame Relay or Ethernet connect to the core network and
to other devices
in the POP.
Alle
Netzwerktechnologien in herkömmlicher
Weise zu unterstützen,
bedeutet für
die ISPs, daß sie
typischerweise separate Zugangsserver, Zugangsrouter und/oder Stand-alone-LAN-Switches hinzufügen, was für den ISP
allgemein zu einer Zunahme der Kosten und der Management-Komplexitäten führt.All
Network technologies in conventional
Way to support
means for
the ISPs that they
typically add separate access servers, access routers, and / or stand-alone LAN switches, which is for the ISP
generally leads to an increase in costs and management complexities.
Dementsprechend
besteht ein Bedarf an einem Netzwerk-Switch, der fehlertolerante und effiziente Dienste
bereitstellen kann, die der steigenden Zahl und Verschiedenartigkeit
des Datenverkehrs im Netz Rechnung tragen. Ein solcher Switch sollte
den ISPs vorzugsweise die Bereitstellung von Mehrwertdiensten erlauben,
die es ihnen gestatten, sich von ihren Wettbewerbern abzuheben,
sich neue Märkte
zu erschließen
und den Umsatz mit ihren vorhandenen Kunden zu steigern.Accordingly
There is a need for a network switch that provides fault-tolerant and efficient services
can provide that of increasing number and diversity
data traffic in the network. Such a switch should
preferably allow the ISPs to provide value-added services,
that allow them to stand out from their competitors,
new markets
to open up
and increase sales with their existing customers.
KURZBESCHREIBUNG
DER ERFINDUNGSUMMARY
THE INVENTION
Die
vorliegende Erfindung betrifft einen Mehrdienstnetzwerk-Switch,
der in der Lage ist, von einer einzigen Plattform aus mehrere Netzdienste
einschließlich
Modem- und ISDN-Dienste, die Unterstützung von Frame Relay, LAN-Schnittstellen
sowie das Layer-2- und Layer-3-Switching bereitzustellen. Gemäß einer
Ausführungsform
der Erfindung beinhaltet der Switch eine dezentrale Paketweiterleitungs-Architektur, bei
der die verschiedenen Systemschnittstellenmodule (Karten) modulinterne
Intelligenz, Routenweiterleitung und Routenverarbeitungs-Informationen
besitzen. Jedes Modul kann somit autark Weiterleitungsentscheidungen
treffen, so daß die
Datenpakete parallel weitergeleitet werden können. Gemäß einem Aspekt der Erfindung
wird die dezentrale Paketweiterleitung durch ein hierarchisches
Routingschema bewerkstelligt, das eine Routingtabelle, eine Weiterleitungstabelle
und einen IP-Cache beinhaltet. Jedes Schnittstellenmodul beinhaltet
vorzugsweise den IP-Cache und die Weiterleitungstabelle bekannter
Zieladressen. Wenn eine Zieladresse weder im IP-Cache noch in der
Weiterleitungstabelle gefunden wird, erfolgt ein Vergleich (Lookup)
mit der Routingtabelle, bei dem die Routing-Information zum Weiterleiten eines Pakets
abgerufen wird.The present invention relates to a multi-service network switch capable of supporting multiple network services, including modem and ISDN services, Frame Relay support, LAN interfaces, Layer 2 and Layer 3, from a single platform. To provide switching. According to one embodiment of the invention, the switch includes a distributed packet routing architecture in which the various system interface modules (cards) have module-internal intelligence, route forwarding, and route processing information. Each module can thus autonomously make forwarding decisions, so that the data packets can be forwarded in parallel. In accordance with one aspect of the invention, decentralized packet forwarding is accomplished by a hierarchical routing scheme that includes a routing table, a routing table, and an IP cache. Each interface module preferably includes the IP cache and routing table of known destination addresses. If a destination address is found neither in the IP cache nor in the routing table, a look-up is made to the routing table, which retrieves the routing information for forwarding a packet.
In
alternativen Ausführungsformen
beinhaltet der Switch eines oder mehrere der folgenden Merkmale:In
alternative embodiments
The switch includes one or more of the following features:
Der
Switch gestattet ein dynamisches Ressourcenmanagement für das dynamische
Zuweisen von Ressourcen zu einem ankommenden Anruf. Dadurch sind
Ressourcen nicht an bestimmte Ports gebunden, sondern können von
verschiedenen Schnittstellenmodulen gemeinsam genutzt werden. Wenn
eine Ressource irgendwo im System verfügbar ist, kann sie vorzugsweise
von jeder Karte genutzt werden. Wenn weiterhin eine der Ressourcen
ausfällt,
wird sie als nicht verfügbar
gekennzeichnet, und Anrufe werden vorzugsweise automatisch zu anderen
Ressourcen umgeleitet. In einer vollständig dezentral organisierten
Architektur verringert dies die Abhängigkeit von einer einzigen
Verarbeitungseinheit zum Senden oder Beantworten einer Ressourcenanforderung.Of the
Switch allows dynamic resource management for the dynamic
Assign resources to an incoming call. Thereby are
Resources are not tied to specific ports, but can be from
different interface modules are shared. If
a resource is available anywhere in the system, it can preferably
be used by every card. If one of the resources continues
fails,
she will not be available
and calls preferably become others automatically
Resources redirected. In a completely decentralized organized
Architecture reduces this dependence on a single one
Processing unit for sending or answering a resource request.
Der
Switch kann außerdem
Fehlermanagementfunktionen zur Absicherung gegen einzelne Ausfallpunkte
innerhalb des Switches beinhalten. Ein fehlertoleranter Anwendungs-Manager
(FTAM) überwacht
Systemmodule, und beim Ausfall eines Moduls stellt sich die FTAM-Software
in den übrigen
Modulen vorzugsweise wieder her und baut erneut Verbindungen zu
verschiedenen Ressourcen oder Ausgangsports auf. Der FTAM aktiviert
vorzugsweise eine Hardware und eine Software zur automatischen Schutzumschaltung
(Automatic Protection Switching, APS) zur automatischen Wiederherstellung
nach Geräteausfällen und
Ausfällen externer
Verbindungen.Of the
Switch can also
Error management functions to protect against individual points of failure
within the switch. A fault-tolerant application manager
Monitored (FTAM)
System modules, and if a module fails, the FTAM software arises
in the rest
Preferably restores modules and reestablishes connections
different resources or output ports. The FTAM is activated
preferably hardware and software for automatic protection switching
(Automatic Protection Switching, APS) for automatic recovery
after device failures and
Failures external
Links.
Der
Switch kann überdies
das Wählverbindungsnetzwerk-Wholesaling erleichtern,
bei dem Wählverbindungsports
an andere ISPs weiterverkauft werden, indem der Switch in mehrere
virtuelle Router partitioniert wird. Jeder virtuelle Router sollte
vorzugsweise über
seinen eigenen Satz von Ressourcen (z.B. ISDN- oder Modem-Ressourcen)
und eine zum virtuellen Router gehörige Routingtabelle verfügen. Jeder
virtuelle Router funktioniert daher als separater, unabhängiger und
eigenständiger
Router. Gemäß einem
speziellen Aspekt der Erfindung ist jeder virtuelle Router ferner
zum weiteren Steuern des Zugangs zum Netz in virtuelle private Netzwerke
partitioniert. Ein virtuelles privates Netz wird durch Filter gebildet,
von denen jedes einem Filterkriterium und einer Aktion zugeordnet
ist, die auszuführen
ist, wenn ein an den virtuellen Router gerichteter Datenblock die
Filterkriterien erfüllt.Of the
Switch can also
facilitate the dial-up networking wholesaling,
at the dial-up port
to be resold to other ISPs by having the switch in several
virtual router is partitioned. Every virtual router should
preferably over
its own set of resources (e.g., ISDN or modem resources)
and have a routing table associated with the virtual router. Everyone
virtual router therefore works as a separate, independent and
independent
Router. According to one
In particular aspect of the invention, each virtual router is further
to further control access to the network in virtual private networks
partitioned. A virtual private network is formed by filters,
each of which is associated with a filter criterion and an action
is to execute that
is when a data block directed to the virtual router is the
Filter criteria met.
Das
Wählverbindungsnetzwerk-Wholesaling
wird auch vom policybasierten Routing des Switches unterstützt. Der
Switch gestattet die Auswahl eines Routingpfades für eine bestimmte
Verbindung anhand von Anruf-Policies, die dem Anruf zugewiesen wurden.
Somit kann anhand von Faktoren wie z.B. dem Inlink-Typ der Verbindung,
einem Domainnamen, einer Telefonnummer oder ähnlichen Angaben eine Verbindung
zum Router eines bestimmten ISPs hergestellt werden.The
Wählverbindungsnetzwerk-Wholesaling
is also supported by the policy-based routing of the switch. Of the
Switch allows you to choose a routing path for a particular one
Connection based on call policies assigned to the call.
Thus, by factors such as e.g. the inlink type of connection,
a domain name, phone number or similar information
to the router of a particular ISP.
Der
Switch bietet außerdem
durch Festlegen von Quality-of-Access-Niveaus
(QoA-Niveaus) für
jede ankommende Verbindungsanforderung einen abgestuften Zugang
zum Internet. Über
die QoA-Stufen kann der Switch den ankommenden Verbindungsanforderungen
Prioritäten
zuweisen, wenn Konkurrenz um Ressourcen herrscht. Vorzugsweise wird
einer Verbindungsanforderung mit einer höheren QoA-Stufe eine höhere Priorität zugewiesen
als einer Verbindungsanforderung mit einer niedrigeren QoA-Stufe.Of the
Switch also offers
by setting quality of access levels
(QoA levels) for
each incoming connection request has a tiered access
to the internet. about
The QoA stages allow the switch to meet the incoming connection requirements
priorities
assign when there is competition for resources. Preferably
assigned a higher priority to a connection request with a higher QoA level
as a connection request with a lower QoA level.
Der
Switch kann überdies
ein IP-Routingprotokoll und eine Architektur unterstützen, bei
denen die Layer-2-Protokolle unabhängig von der physikalischen
Schnittstelle sind, auf der sie arbeiten. Ein Portschnittstellen-
(Port InterFace, PIF-) Modul ermöglicht
das dynamische Verknüpfen
von Layer-2-Protokollen
mit physikalischen Schnittstellen. Wenn über den physikalischen Port
eine Verbindung hergestellt wird, generiert der Switch ein PIF-Objekt
für diesen
Port. Das PIF-Objekt
legt vorzugsweise das für
die Sitzung zu verwendende Layer-2-Protokoll anhand der Verbindungsart
fest und verknüpft
dynamisch eine Layer-2-Schnittstelle mit der Layer-1-Schnittstelle des
Medienports. Auf diese Weise brauchen Layer-2-Protokolle nicht von den physikalischen
Medienports abhängig
gemacht zu werden, auf denen sie arbeiten, sondern können im Runtime-Betrieb dynamisch
festgelegt werden. Wenn beispielsweise ein Paket an einen physikalischen
Port weitergeleitet werden soll, empfängt das PIF das Paket, fügt die benötigten Layer-2-Verkapselungs-Header
hinzu und leitet das Paket an die jeweilige physikalische Schnittstelle
weiter.The switch can also support an IP routing protocol and an architecture where the Layer 2 protocols are independent of the physical interface on which they operate. A port interface (PIF) module allows dynamic linking of Layer 2 protocols to physical interfaces. When a connection is made through the physical port, the switch generates a PIF object for that port. The PIF object preferably determines the layer 2 protocol to be used for the session based on the connection type and dynamically links a layer 2 interface to the media port layer 1 interface. In this way, Layer 2 protocols do not need to be made dependent on the physical media ports on which they operate, but can be set dynamically in runtime mode. For example, if a packet is to be forwarded to a physical port, the PIF receives the packet, adds the required Layer 2 encapsulation headers, and directs that Package to the respective physical interface on.
Der
Switch kann zur Anwendungstransparenz außerdem Software für eine generische
Weiterleitungs-Schnittstelle (Generic Forwarding Interface, GFI)
beinhalten. Die GFI-Software
stellt den Weiterleitungsfunktionen vorzugsweise eine einheitliche
Schnittstelle zur Verfügung,
um die Details für
das Senden und Empfangen von Paketen über unterschiedliche Schnittstellentypen
zu maskieren. Sie definiert außerdem
vorzugsweise eine Schnittstelle, über welche die Treiber empfangene
Pakete liefern und Pakete vom System senden.Of the
Switch can also provide generic software for application transparency
Forwarding Interface (GFI)
include. The GFI software
preferably makes the forwarding functions uniform
Interface available,
around the details for
sending and receiving packets via different interface types
to mask. It also defines
preferably an interface over which the driver received
Deliver packages and send packages from the system.
KURZBESCHREIBUNG
DER ZEICHNUNGENSUMMARY
THE DRAWINGS
Diese
und andere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung
werden verständlicher werden,
wenn sie im Zusammenhang mit der folgenden Detailbeschreibung, den
beigefügten
Ansprüchen
und den zugehörigen
Zeichnungen betrachtet werden, in welchenThese
and other features, aspects and advantages of the present invention
will become more understandable
when related to the following detailed description, the
attached
claims
and its associated
Drawings are considered in which
1 ein
Blockdiagramm eines Mehrdienstnetzwerk-Switches gemäß einer
Ausführungsform
der Erfindung zeigt; 1 shows a block diagram of a multi-service network switch according to an embodiment of the invention;
2 ein
detaillierteres Blockdiagramm eines Weiterleitungsmoduls aus 1 zeigt; 2 a more detailed block diagram of a forwarding module 1 shows;
3 ein
beispielhaftes Flußdiagramm
zum Verarbeiten eines beim Switch aus 1 eintreffenden Anrufs
zeigt; 3 an exemplary flowchart for processing one at the switch 1 incoming call shows;
4 ein
detaillierteres Funktions-Blockdiagramm eines IP-Weiterleitungsmoduls
aus 2 zeigt; 4 a more detailed functional block diagram of an IP forwarding module 2 shows;
5 ein
Entwurfsschema einer Routingtabelle zeigt; 5 shows a layout of a routing table;
6 ein
Entwurfsschema einer Weiterleitungstabelle zeigt; 6 shows a layout scheme of a routing table;
7 ein
Entwurfsschema eines IP-Caches zeigt; 7 shows a design scheme of an IP cache;
8 ein
Entwurfsschema einer ARP-Tabelle zeigt; 8th a schematic of an ARP table is shown;
9 ein
Flußdiagramm
eines vom IP-Weiterleitungsmodul aus 4 ausgelösten Paketweiterleitungsprozesses
zeigt; 9 a flowchart of one from the IP forwarding module 4 triggered packet forwarding process shows;
10 ein
Entwurfsschema einer Domain-Datenbank zeigt; 10 shows a design schema of a domain database;
11 ein
Entwurfsschema eines Anrufpolicy-Eintrags zeigt; 11 shows a scheme of a call policy entry;
12 ein
Prozeß-Flußdiagramm
für das
policybasierte Routing zeigt; 12 shows a process flow diagram for policy-based routing;
13 ein
Entwurfsschema einer Zugangsqualitätstabelle zeigt; 13 shows a design scheme of an access quality table;
14 eine
Darstellung eines Pfades zeigt, über
den eine Verbindung hergestellt werden könnte, wenn Switch-Ressourcen
gemeinsam genutzt werden; 14 shows a representation of a path over which a connection could be made if switch resources are shared;
15 ein
Entwurfsschema einer Modemressourcentabelle zeigt; 15 shows a schematic of a modem resource table;
16 ein
Flußdiagramm
eines Ressourcenzuordnungsprozesses zeigt; 16 shows a flowchart of a resource allocation process;
17 ein
schematisches Blockdiagramm des Switches aus 1 zeigt,
auf dem eine Routingtabelle für
jeden virtuellen Router geführt
wird; 17 a schematic block diagram of the switch 1 shows on which a routing table is maintained for each virtual router;
18 ein
Entwurfsschema einer Sitzungstabelle mit mehreren Sitzungen virtueller
Privatnetze zeigt; 18 shows a schematic of a session table with multiple virtual private network sessions;
19 ein
Entwurfsschema einer Regeltabelle mit mehreren Regeln virtueller
Privatnetze zeigt; 19 shows a design scheme of a rule table with multiple virtual private network rules;
20 ein
Entwurfsschema einer Filtertabelle mit mehreren Filtern virtueller
Privatnetze zeigt; 20 shows a schematic of a filter table with multiple virtual private network filters;
21 ein
Flußdiagramm
eines von einem Filterungsmodul ausgelösten Paketfilterungsprozesses zeigt; 21 shows a flowchart of a filtering module initiated by a filtering module;
22 ein
Blockdiagramm eines Switches mit einem APS-Mechanismus für den Ausfall externer Verbindungen
zeigt; 22 shows a block diagram of a switch with an APS mechanism for the failure of external connections;
23 ein
schematisches Blockdiagramm eines Switches mit einem Backup-Port
zeigt, der physikalisch mit einem anderen Port auf einer separaten
Karte verbunden ist; 23 shows a schematic block diagram of a switch with a backup port that is physically connected to another port on a separate card;
24 ein
schematisches Blockdiagramm eines Switches mit 1:2-Schutzumschaltung
zeigt; 24 shows a schematic block diagram of a switch with 1: 2 protection switching;
25 ein
schematisches Blockdiagramm eines Switches mit 1:2-Schutzumschaltung
gemäß einer alternativen
Ausführungsform
der Erfindung zeigt; 25 shows a schematic block diagram of a switch with 1: 2 protection switching according to an alternative embodiment of the invention;
26 ein schematisches Blockdiagramm eines Switches
mit 1:1-Schutzumschaltung zeigt; 26 shows a schematic block diagram of a switch with 1: 1 protection switching;
27 ein schematisches Blockdiagramm einer IP-Weiterleitungsschicht
sowie von Layer-2-Protokollen und physikalischen Layer-1-Schnittstellen
zeigt; 27 Figure 12 shows a schematic block diagram of an IP forwarding layer as well as Layer 2 protocols and Layer 1 physical interfaces;
28 ein schematisches Blockdiagramm aus Layer-1-,
Layer-2- und Layer-3-Schnittstellen mit Mehrfach-Portschnittstellen zeigt; 28 shows a schematic block diagram of Layer 1, Layer 2 and Layer 3 interfaces with multiple port interfaces;
29 ein schematisches Blockdiagramm einer generischen
Weiterleitungs-Schnittstelle zeigt, die den Switch aus 1 in
Treiber und Anwendungen unterteilt; 29 a schematic block diagram of a generic forwarding interface showing the switch off 1 divided into drivers and applications;
30 ein schematisches Blockdiagramm eines generischen
Paketformats zeigt; 30 shows a schematic block diagram of a generic packet format;
31 ein Entwurfsschema einer Weiterleitungs-Portadresse zeigt; 31 shows a layout scheme of a forwarding port address;
32 ein Entwurfsschema einer physikalischen Portadresse
zeigt; 32 shows a schematic scheme of a physical port address;
33 ein Entwurfsschema einer Eingangsportinformation
zeigt; 33 Fig. 16 shows a layout scheme of input port information;
34 ein Entwurfsschema einer Ausgangsportinformation
zeigt; 34 Fig. 16 shows a layout diagram of output port information;
35 ein Entwurfsschema Zuordnungen virtueller Adressenports
zeigt und 35 a design schema shows assignments of virtual address ports and
36 ein Entwurfsschema einer generischen Weiterleitungs-Schnittstelle
zeigt, die das Empfangen von Warteschlangen und das Weiterleiten
von Warteschlangen unterstützt. 36 shows a schematic schema of a generic forwarding interface that supports receiving queues and forwarding queues.
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG DETAILED DESCRIPTION OF THE INVENTION
I. ARCHITEKTUR DES MEHRDIENSTNETZWERK-SWITCHESI. ARCHITECTURE OF THE MULTI-NETWORK NETWORK SWITCH
1 zeigt
ein schematisches Blockdiagramm eines (auch als das "Chassis" oder "System" bezeichneten) Mehrdienstnetzwerk-Switches
gemäß einer
Ausführungsform
der Erfindung. Jeder Steckplatz des Switches bedient vorzugsweise
ein einziges Schnittstellenmodul (eine Karte), das als Weiterleitungsmodul
(Forwarding Module, FM) 10 bezeichnet wird. Jedes FM 10 beinhaltet
vorzugsweise die modulinterne Intelligenz, Routenweiterleitungsfunktionen
und Routenverarbeitungs-Informationen für das dezentrale Weiterleiten
von Paketen, was nachstehend näher
beschrieben wird. 1 Figure 12 shows a schematic block diagram of a multi-service network switch (also referred to as the "chassis" or "system") according to an embodiment of the invention. Each slot of the switch preferably operates a single interface module (a card) that serves as a forwarding module (FM). 10 referred to as. Every FM 10 preferably includes the module-internal intelligence, route forwarding functions and route processing information for the decentralized forwarding of packets, which will be described in more detail below.
Ein
FM-Typ, der als Systemsteuerungsmodul (System Control Module, SCM)
bezeichnet wird, dient als Host für einen Routenserver und wirkt
als Kontrollpunkt für
das Netzmanagement. Das SCM 14 führt zudem alle typischen Funktionen
eines FM 10 aus.An FM type, referred to as a System Control Module (SCM), hosts a route server and acts as a control point for network management. The SCM 14 also performs all the typical functions of an FM 10 out.
Der
Switch beinhaltet mindestens zwei SCMs für die Fehlertoleranz, und zwar
ein primäres
SCM und ein sekundäres
SCM. Das primäre
SCM wird beim Starten des Systems ausgewählt und allen anderen FMs 10 bekanntgegeben.
Das primäre
SCM wählt
vorzugsweise das sekundäre
SCM als Backup-Modul aus. Sollte das primäre SCM ausfallen, übernimmt
das sekundäre
SCM dessen Funktion als primäres
SCM, vorzugsweise ohne Verlust von Informationen und ohne Betriebsunterbrechung.The switch includes at least two fault tolerance SCMs, a primary SCM and a secondary SCM. The primary SCM is selected when the system starts and all other FMs 10 announced. The primary SCM preferably selects the secondary SCM as a backup module. Should the primary SCM fail, the secondary SCM assumes its function as the primary SCM, preferably without loss of information and without service interruption.
Jedem
FM 10 können
anwendungsspezifische Tochterkarten zugeordnet sein, die als Personalmodule (Personality
Modules, PMs) 12 bezeichnet werden und als zusätzliche
Leitungsschnittstellen oder Unterstützungshardware dienen. In der
bevorzugten Ausführungsform
sind jedem FM ein oder zwei PMs zugeordnet. Die als Beispiel angegebenen
PMs 12 beinhalten Ethernet-Switch-PMs 12a, Primärmultiplexschnittstellen-PMs 12b,
Digitalmodemserver-PMs 12c und serielle Datenschnittstellen-PMs 12d.
Zusammen ermöglichen
die FMs 10 und die PMs 12 einem ISP die Bereitstellung
einer Vielzahl von Diensten und die Unterstützung einer Vielzahl von Anwendungen
innerhalb ein und derselben Plattform.Every FM 10 You can assign application-specific daughter cards that are called Personality Modules (PMs). 12 and serve as additional line interfaces or support hardware. In the preferred embodiment, each FM is assigned one or two PMs. The PMs given as an example 12 include Ethernet switch PMs 12a , Primary multiplex interface PMs 12b , Digital Modem Server PMs 12c and serial data interface PMs 12d , Together, the FMs 10 and the PMs 12 providing an ISP with a variety of services and supporting a variety of applications within one and the same platform.
Das
Ethernet-Swicth-PM 12a ermöglicht das Herstellen einer
LAN-Verbindung zu einem öffentlichen Netz,
beispielsweise zum Internet. Dieses Modul wird typisch für das Verbinden
von Serverfarmen, Intranets und Web-Servern mit dem Internet verwendet.
Gemäß einer
Ausführungsform
der Erfindung stellt das Ethernet-Switch-PM 12a zwölf 10-Mbit/s-Ethernet-Ports
und zwei 10/100-Mbit/s-Autosensing-Ethernet-Ports/Fast-Ethernet-Ports bereit.The Ethernet Swicth PM 12a allows you to establish a LAN connection to a public network, such as the Internet. This module is typically used to connect server farms, intranets, and web servers to the Internet. According to one embodiment of the invention, the Ethernet switch PM 12a Twelve 10Mbps Ethernet ports and two 10 / 100Mbps Autosensing Ethernet ports / Fast Ethernet ports ready.
Das
Primärmultiplex-Schnittstellen-
(Primary Rate Interface-, PRI-) PM 12b stellt Wählverbindungen zum
Internet bereit. Dieses Modul ist als Software für T1/E1- oder PRI-ISDN-Verbindungen
implementierbar. Das PRI-PM 12b stellt redundante Verbindungen
für eine
automatische Schutzumschaltung auf jedem Port bereit. Dem Port "A" 13 ist die Rolle des aktiven
Primärports
zugewiesen, während
Port "B" 15 als
aktiver Backup-Port arbeitet.The Primary Rate Interface (PRI) PM 12b Provides dialup connections to the Internet. This module can be implemented as software for T1 / E1 or PRI ISDN connections. The PRI-PM 12b Provides redundant connections for automatic protection switching on each port. Port "A" 13 is assigned the role of the active primary port while port "B" 15 works as an active backup port.
Das
Digitalmodemserver-PM 12c stellt Wählzugänge für Modemanrufe bereit. Gemäß einer
Ausführungsform
der Erfindung stellt jedes Digitalmodemserver-PM 12c einen
Pool von 32 Modems zur Verfügung. Das
Digitalmodemserver-PM 12c besitzt vorzugsweise keine physikalischen
Anschlüsse.
Somit werden ankommende Anrufe über
die Backplane zu demjenigen FM 10 geroutet, an welches
das Digitalmodemserver-PM 12c angeschlossen ist. Die verfügbaren Modems
werden in Abhängigkeit
von Ressourcen-Verfügbarkeitskriterien
wie der Zugangsqualität
und der ID des virtuellen Routers auf die ankommenden Anrufe verteilt. Wenn
ein Anruf abgewickelt werden kann, wird er unabhängig vom FM 10, bei
dem der Anruf eingegangen ist, nach dem Zufallsprinzip einem der
verfügbaren
Modems im Modempool zugewiesen.The digital modem server PM 12c Provides dial access for modem calls. According to one embodiment of the invention, each digital modem server PM 12c a pool of 32 modems available. The digital modem server PM 12c preferably has no physical connections. Thus, incoming calls over the backplane become FM 10 to which the digital modem server PM 12c connected. The available modems are distributed to the incoming calls based on resource availability criteria such as the access quality and the ID of the virtual router. If a call can be handled, it will be independent of the FM 10 in which the call came in, randomly assigned to one of the available modems in modem pool.
Das
serielle Datenschnittstellen-PM 12d ermöglicht eine serielle synchrone
Kommunikation. Das serielle Datenschnittstellen-PM 12d unterstützt insgesamt
vier Verbindungen, beispielsweise drei Frame-Relay-Verbindungen
und -eine Ethernet-Verbindung oder vier Frame-Relay-Verbindungen
und keine Ethernet-Verbindung. Die Verbindungsschicht des seriellen
Datenschnittstellen-PMs 12d ist vorzugsweise vom Frame-Relay-Typ
und stellt typisch Verbindungen zu lokalen Routern oder externen
Geräten
her, über
die Verbindungen mit ISPs oder Dienstanbietern hergestellt werden.The serial data interface PM 12d enables serial synchronous communication. The serial data interface PM 12d supports a total of four connections, for example three frame relay connections and one Ethernet connection or four frame relay connections and no Ethernet connection. The connection layer of the serial data interface PMs 12d is preferably frame relay type and typically connects to local routers or external devices that connect to ISPs or service providers.
Zusätzlich zu
den anwendungsspezifischen PMs 12d können auch fest zugewiesene
FMs 10 den ISPs die Möglichkeit
zur Bereitstellung einer Vielzahl von Diensten geben. Fest zugewiesene
FMs 10 sind vorzugsweise Module mit fester Konfiguration,
die über
Verarbeitungsleistung und auf dem Modul fest verdrahtete Funktionen
verfügen.
Beispiele für
fest zugewiesene FMs sind Digitalmodemserver-PMs und WAN-Leitungsschnittstellen-FMs.
Ein WAN-Leitungsschnittstellen-FM stellt dem Switch einen kanalweise
organisierten T1- oder ISDN-Primärmultiplex-Zugang
zur Verfügung.
Ein Digitalmodemserver-PM stellt einen Wählzugang für Modemanrufe bereit. Ein Digitalmodemserver-PM
stellt typisch 32 Modems bereit, kann aber auch durch Hinzufügen eines
Digitalmodemserver-PMs 12c bis zu 64 Modems bereitstellen.In addition to the application specific PMs 12d can also use dedicated FMs 10 give the ISPs the opportunity to provide a variety of services. Fixed FMs 10 are preferably fixed configuration modules that have processing power and functions hard-wired to the module. Examples of dedicated FMs are digital modem server PMs and WAN trunk interface FMs. A WAN trunk interface FM provides the switch with channel-based T1 or ISDN primary rate access. A digital modem server PM provides dial-up access for modem calls. A digital modem server PM typically provides 32 modems, but can also do so by adding a digital modem server PM 12c provide up to 64 modems.
Der
Switch beinhaltet vorzugsweise eine redundante Busarchitektur zur
Verknüpfung
der FMs 10 und der SCMs 14. Diese Busarchitektur
stellt über
die Backplane des Switches vorzugsweise zwei Managementbusse 16 (rechts
und links), zwei im Zeitmultiplex (Time-Division Multiplex, TDM)
arbeitende Busse 18 (rechts und links) und zwei Cell/ATM-Busse 20 (rechts
und links) zur Verfügung.
In einer Ausführungsform
der Erfindung nutzen alle Karten standardmäßig die rechten Management-
und TDM-Busse. Alle Karten in geradzahligen Steckplätzen nutzen
standardmäßig den
linken Cell-Bus, während
alle Karten in ungeradzahligen Steckplätzen standardmäßig den
rechten Cell-Bus nutzen. Durch die redundante Busarchitektur kann
der Datenverkehr automatisch auf den verbleibenden Bus umgeschaltet
werden, so daß ein
ununterbrochener Betrieb gewährleistet
ist. Nachdem der ausgefallene Bus wieder in Betrieb genommen wurde,
wird der Verkehr vorzugsweise automatisch wieder auf den nunmehr
wieder funktionsfähigen
Bus umgeschaltet.The switch preferably includes a redundant bus architecture for linking the FMs 10 and the SCMs 14 , This bus architecture preferably provides two management buses via the backplane of the switch 16 (right and left), two time-division multiplex (TDM) buses 18 (right and left) and two Cell / ATM buses 20 (right and left) available. In one embodiment of the invention, all cards use the right management and TDM buses by default. All cards in even slots use the left cell bus by default, while all cards in odd slots use the right cell bus by default. Due to the redundant bus architecture, the traffic can be automatically switched to the remaining bus, so that uninterrupted operation is ensured. After the failed bus has been put back into operation, the traffic is preferably automatically switched back to the now re-functioning bus.
Die
Managementbusse 16 bewerkstelligen die systeminterne Kommunikation
zur Überwachung
verschiedener Systemkomponenten. So transportieren die Managementbusse
beispielsweise Meldungen für
die Betriebsabläufe
beim Einschalten, für
den Modulstatus sowie für
andere Funktionen des Hardwaremanagements.The management buses 16 manage the system-internal communication for the monitoring of various system components. For example, the management buses carry messages for power-on operations, module status, and other hardware management functions.
Die
TDM-Busse 18 bewerkstelligen die Kommunikation für die Digitalmodemserver-PMs 12c.
Gemäß einer
Ausführungsform
der Erfindung unterstützen
die TDM-Busse 16c über
2000 DS0-Verbindungen
und bewältigen
gemeinsam die auf ihnen liegende Verkehrslast.The TDM buses 18 do the communication for the digital modem server PMs 12c , According to one embodiment of the invention, the TDM buses support 16c Over 2000 DS0 connections and manage the traffic load on them together.
Die
Cell-Busse 20 transportieren neben dem Benutzerverkehr
zwischen den FMs 10 mit Hilfe von Multicast-Schaltungen
auch interne Protokoll- und Steuermeldungen.The cell buses 20 transport in addition to the user traffic between the FMs 10 with the help of multicast circuits also internal protocol and control messages.
Zusätzlich zu
den oben beschriebenen Baugruppen beinhaltet der Switch auch zwei
Taktkarten, und zwar eine rechte oder erste Taktkarte 18a und
eine linke oder zweite Taktkarte 18b, von denen jeder die
Funktion einer aktiven primären
Taktkarte oder einer redundanten Backup-Taktkarte zugewiesen sein
kann. Die rechte Taktkarte 18a überwacht die rechten TDM- und
Cell-Busse, während die
linke Taktkarte 18b die linken TDM- und Cell-Busse überwacht.In addition to the assemblies described above, the switch also includes two clock cards, a right or first clock card 18a and a left or second clock card 18b each of which may be assigned the function of an active primary clock card or a redundant backup clock card. The right clock card 18a monitors the right TDM and Cell buses while the left clock card 18b monitors the left TDM and Cell buses.
Beide
Taktkarten prüfen
in regelmäßigen Intervallen
ihre jeweiligen TDM- und Cell-Busse, ferner den Status von System-Lüftereinschüben und Systemlüftern sowie
das Vorhandensein und den Typ von Stromversorgungen. Anschließend übermitteln
die Taktkarten eine Chassis-Statusmeldung über ihren Managementbus 16 per
Rundsendung (Broadcast) an alle FMs 10.Both clocks periodically check their respective TDM and Cell buses, as well as the status of system fan trays and system fans, and the presence and type of power supplies. The clock cards then transmit a chassis status message via their management bus 16 Broadcasting to all FMs 10 ,
Die
Taktkarten sind vorzugsweise mit mindestens einer Taktsignalquelle
ausgestattet, damit der Switch Wählanrufe
empfangen kann. Das Taktsignal erzwingt vorzugsweise den Erhalt
der Synchronisation zwischen den gesendeten und den empfangenen
Bits. Gemäß einer
Ausführungsform
der Erfindung unterstützt
der Switch bis zu fünf
Referenztaktsignale, ein primäres
Betriebstaktsignal, ein sekundäres
Taktsignal zur Gewährleistung
der Redundanz sowie bis zu drei Signale als Alternativsignale. Der
Switch kann das Referenztaktsignal entweder aus einer externen Quelle
oder aus einem internen Systemtakt ableiten. Wenn das Eingangssignal
von einer Quelle inakzeptabel wird, schaltet die Taktkarte automatisch
auf eine Backup-Taktsignalquelle um. In ähnlicher Weise übernimmt
die andere Karte oder der andere Bus den Betrieb, wenn eine Taktkarte
oder ein TDM-Bus ausfällt.The
Timing cards are preferably with at least one clock signal source
equipped to allow the switch dialing calls
can receive. The clock signal preferably enforces receipt
the synchronization between the sent and the received
Bits. According to one
embodiment
the invention supports
the switch up to five
Reference clock signals, a primary
Operating clock signal, a secondary one
Clock signal for warranty
the redundancy and up to three signals as alternative signals. Of the
Switch can receive the reference clock signal either from an external source
or derived from an internal system clock. When the input signal
If a source becomes unacceptable, the clock card automatically switches
to a backup clock source. In a similar way takes over
the other card or the other bus operation, if a clock card
or a TDM bus fails.
2 zeigt
ein detaillierteres Blockdiagramm eines Weiterleitungsmoduls FM 10 aus 1.
Obwohl 2 unter Bezug auf das FM 10 beschrieben
wird, kann dasselbe Blockdiagramm auch für das SCM 14 gelten,
da das SCM 14 eine Sonderform des FMs 10 ist.
Allerdings kann das SCM 14 zusätzlichen Speicher sowie zusätzliche
Flash-PROMs und Boot-PROMs
beinhalten. Gemäß einer
Ausführungsform
der Erfindung beinhaltet das FM 10 mindestens einen, im
allgemeinen aber zwei RISC-Prozessoren, nämlich einen rechten oder ersten
(und auch als Anwendungs-CPU bezeichneten) Prozessor (RCPU) 22a und
einen linken oder zweiten (und auch als Treiber-CPU bezeichneten)
Prozessor (LCPU) 22b. In einer bevorzugten Ausführungsform
mit zwei CPUs ist die LCPU 22b hauptsächlich für das Empfangen und Senden
von Paketen verantwortlich, während
die RCPU 22a hauptsächlich
für das
Fehlermanagement, die Protokoll-Ver- und -Entkapselung und ähnliche
Aufgaben zuständig
ist. Sowohl die RCPU 22a als auch die LCPU 22b haben über Peripheriekomponenten-Verbindungsbusse
(Peripheral Component Interconnect Buses, PCI-Busse) 28a und 28b Zugriff
auf einen gemeinsam genutzten Speicher 24. 2 shows a more detailed block diagram of a forwarding module FM 10 out 1 , Even though 2 with reference to the FM 10 The same block diagram can also be used for the SCM 14 apply since the SCM 14 a special form of the FM 10 is. However, the SCM 14 additional memory as well as additional Flash PROMs and boot PROMs. According to one embodiment of the invention, the FM includes 10 at least one, but generally two RISC processors, namely a right or first (and also referred to as application CPU) processor (RCPU) 22a and a left or second (and also referred to as a driver CPU) processor (LCPU) 22b , In a preferred embodiment with two CPUs, the LCPU 22b mainly responsible for receiving and sending packets while the RCPU 22a mainly responsible for error management, protocol encapsulation and de-encapsulation and similar tasks. Both the RCPU 22a as well as the LCPU 22b have Peripheral Component Interconnect Buses (PCI buses) 28a and 28b Access to a shared memory 24 ,
Eine
PCI-Brücke 30 verbindet
den rechten PCI- (RPCI-) Bus 28a mit dem linken PCI- (LPCI-)
Bus 28b. Gegenüber
der Brücke 30 ist
vorzugsweise der RPCI-Bus 28a der primäre PCI-Bus und der LPCI-Bus 28b der sekundäre PCI-Bus.A PCI bridge 30 connects the right PCI (RPCI) bus 28a with the left PCI (LPCI) bus 28b , Opposite the bridge 30 is preferably the RPCI bus 28a the primary PCI bus and the LPCI bus 28b the secondary PCI bus.
Jedes
FM 10 beinhaltet außerdem
vorzugsweise einen generischen Modulmanagementblock (Generic Module
Management Block, GMM-Block) 26 zum Austauschen von Meldungen
mit der RCPU 22a über
den Managementbus 16. Gemäß einer Ausführungsform
der Erfindung ist das GMM 26 als intelligenter Mikroprozessor
implementiert. Die Kommunikation zwischen dem GMM 26 und
der RCPU 22a wird über
eine Serie von Registern bewerkstelligt. Auf die Register, die in
einem programmierbaren Logikbauelement implementiert sind, greift
die RCPU 22a über
einen Eingabe-Ausgabe-PCI-Block 40 zu. Gemäß einer
Ausführungsform
der Erfindung stellt das GMM 26 zwei Statusregister (GST0
und GST1) zur Verfügung, über welche
die RCPU 22a Informationen zum Chassis-Status, zum Status
des letzten ausgegebenen Befehls, zum Status der vorangegangenen
und nächsten
Meldungen in den Meldungswarteschlangen und zu ähnlichen Informationen abfragt und
abruft.Every FM 10 also preferably includes a Generic Module Management Block (GMM Block) 26 to exchange messages with the RCPU 22a via the management bus 16 , According to one embodiment of the invention, the GMM 26 implemented as an intelligent microprocessor. The communication between the GMM 26 and the RCPU 22a is accomplished through a series of registers. The RCPU accesses the registers implemented in a programmable logic device 22a via an input-output PCI block 40 to. According to one embodiment of the invention, the GMM 26 two status registers (GST0 and GST1) are available, via which the RCPU 22a Queries and retrieves chassis status information, the status of the last issued command, the status of the previous and next messages in the message queues, and similar information.
Das
GMM 26 empfängt
von anderen GMMs rundgesandte Meldungen sowie Meldungen, die über den Managementbus 16 an
sein FM 10 adressiert sind. Gemäß einer Ausführungsform
der Erfindung empfängt
nur das GMM 26 auf einer Karte, der die Funktion eines
Chassis-Managers zugewiesen ist, rundgesandte Meldungen. Alle anderen
GMMs ignorieren vorzugsweise die rundgesandten Meldungen und empfangen
nur die an die Karte adressierten Meldungen. Eine spezielle Verarbeitung
wird von dem auf dem Chassis-Manager residenten GMM 26 auf
Chassis-Statusmeldungen
angewandt, die in regelmäßigen Intervallen
von den Taktkarten 18a und 18b rundgesandt werden,
wie nachstehend ausführlicher
beschrieben wird.The GMM 26 receives broadcast messages from other GMMs as well as messages via the management bus 16 to his FM 10 are addressed. According to one embodiment of the invention, only the GMM receives 26 on a map assigned the function of a chassis manager, broadcast messages. All other GMMs preferably ignore the broadcasted messages and only receive those the card addressed messages. Special processing is provided by the GMM resident on the chassis manager 26 applied to chassis status messages at regular intervals from the clock cards 18a and 18b be broadcast, as described in more detail below.
Jeder
Karte, sei es nun ein FM 10 oder ein SCM 14, kann
die Funktion des Chassis-Managers zugewiesen werden. Es gibt jedoch
nur einen Chassis-Manager – einen
primären
Chassis-Manager – für das gesamte
System. Sollte der primäre
Chassis-Manager
ausfallen, übernimmt
ein sekundärer
Backup-Chassis-Manager
die Rolle des aktiven Chassis-Managers.Every card, be it an FM 10 or an SCM 14 , the function of the chassis manager can be assigned. However, there is only one chassis manager - a primary chassis manager - for the entire system. If the primary chassis manager fails, a secondary backup chassis manager takes over the role of the active chassis manager.
Die
Auswahl des primären
Chassis-Managers und des sekundären
Chassis-Managers erfolgt vorzugsweise während des Hochfahrens des Systems
nach dem Einschalten. Jede Karte beinhaltet einen Chassis-Management-Switch,
und alle Karten mit eingeschalteten Chassis-Management-Switches
sind Chassis-Manager-Kandidaten.
Diese Kandidaten werden nach dem Einschalten ohne jede Notwendigkeit
zum Senden von Aktivierungsanforderungen hochgefahren. Gemäß einer
Ausführungsform
der Erfindung wird die Karte im niedrigsten Chassissteckplatz mit
eingeschaltetem Chassis-Management-Switch als primärer Chassis-Manager ausgewählt, während die
Karte im zweitniedrigsten Chassissteckplatz mit eingeschaltetem
Chassis-Management-Switch als sekundärer Chassis-Manager ausgewählt wird.
Wenn im System nur eine Karte existiert, wird diese sowohl zum primären Chassis-Manager
als auch zum sekundären
Chassis-Manager. Sobald der primäre
und der sekundäre
Chassis-Manager ausgewählt
sind, beginnen diese Karten auf Aktivierungsanforderungen zu antworten,
die von den übrigen
Karten empfangen werden.The
Selection of the primary
Chassis Managers and Secondary
Chassis managers preferably occur during system startup
after turning on. Each card includes a chassis management switch,
and all cards with chassis management switches turned on
are chassis manager candidates.
These candidates will turn on without any need
started up to send activation requests. According to one
embodiment
The invention is the card in the lowest chassis slot with
switched chassis management switch selected as the primary chassis manager, while the
Card in the second lowest chassis slot with power on
Chassis Management Switch is selected as the secondary chassis manager.
If only one card exists in the system, it becomes both the primary chassis manager
as well as to the secondary
Chassis Manager. Once the primary
and the secondary
Chassis Manager selected
are, these cards begin to respond to activation requests,
those of the rest
Cards are received.
Der
primäre
und der sekundäre
Chassis-Manager kommunizieren mit Hallo-Meldungen über den Cell-Bus 20.
Der primäre
Chassis-Manager steuert die rechten aktiven Management- und Cell-Busse 16a und 20a.
Der sekundäre
Chassis-Manager
steuert die linken im Standby befindlichen Management- und Cell-Busse 16b und 20b.
Stellt der sekundäre
Chassis-Manager
eine Fehlfunktion des primären
Chassis-Managers (aufgrund einer Zeitüberschreitung der Hallo-Meldungen)
fest, so schaltet der sekundäre
Chassis-Manager vorzugsweise auf den rechten Managamentbus 16a um,
setzt den primären
Chassis-Manager
zurück
und wird selbst zum neuen primären
Chassis-Manager.
Der neue primäre
Chassis-Manager wählt
einen neuen sekundären
Chassis-Manager anhand der Steckplatzposition im Chassis aus. Stellt
der primäre
Chassis-Manager eine Fehlfunktion des sekundären Chassis-Managers fest,
so setzt der primäre
Chassis-Manager den sekundären
Chassis-Manager zurück
und wählt
ein neues FM 10 aus, das die Funktion des sekundären Chassis-Managers übernimmt.The primary and secondary chassis managers communicate with hello messages over the cell bus 20 , The primary chassis manager controls the right active management and cell busses 16a and 20a , The secondary chassis manager controls the left standby management and cell busses 16b and 20b , If the secondary chassis manager detects a malfunction of the primary chassis manager (due to a timeout of the hello messages), the secondary chassis manager preferably switches to the right hand bus bus 16a , resets the primary chassis manager and becomes the new primary chassis manager itself. The new primary chassis manager selects a new secondary chassis manager based on the slot location in the chassis. If the primary chassis manager detects a malfunction of the secondary chassis manager, the primary chassis manager resets the secondary chassis manager and selects a new FM 10 which assumes the function of the secondary chassis manager.
Der
Chassis-Manager beinhaltet ein Chassis-Management-Modul (CMM) 34.
Das CMM 34 empfängt und
sendet Chassis-Statusmeldungen über das
GMM 26 und ist für
die Überwachung
und Verwaltung des Systems verantwortlich. Unter anderem ist das
CMM 34 für
das Chassis-Energiemanagement verantwortlich. Wird also ein neues
FM 10 in das System eingebaut, so liest das GMM 26 der
neu eingesetzten Karte ein serielles EEPROM im FM 10 und
den PMs 12 aus und ermittelt so den Energiebedarf der Karte.
Das EEPROM speichert Information über das Modell, die Revision,
die Seriennummer und den Leistungsbedarf der Karte. Das GMM 26 der
neuen Karte übermittelt
den Energiebedarf anschließend
in einer Aktivierungsmeldung per Rundsendung über den Managementbus 16 an
den Chassis-Manager. Das GMM 26 im Chassis-Manager empfängt die
Anforderung und leitet sie an das CMM 34 weiter, um festzustellen,
ob das System genügend
Leistung zur Inbetriebnahme der Karte zur Verfügung stellen kann. Wenn ja,
antwortet das GMM 26 im Chassis-Manager mit einer Modul-Aktivierungsmeldung.The chassis manager includes a chassis management module (CMM) 34 , The CMM 34 Receives and sends chassis status messages via the GMM 26 and is responsible for monitoring and managing the system. Among other things, the CMM 34 responsible for the chassis energy management. So will a new FM 10 built into the system, so reads the GMM 26 the newly inserted card a serial EEPROM in the FM 10 and the PMs 12 and thus determines the energy requirements of the card. The EEPROM stores information about the model, revision, serial number, and power requirements of the card. The GMM 26 The new card then transmits the energy requirement in an activation message via broadcast via the management bus 16 to the chassis manager. The GMM 26 in Chassis Manager receives the request and forwards it to the CMM 34 to determine if the system can provide enough power to power up the card. If so, the GMM answers 26 in the chassis manager with a module activation message.
Das
CMM 34 im Chassis-Manager ist vorzugsweise auch für die Taktkartenüberwachung
verantwortlich. Das CMM 34 im primären Chassis-Manager hört die Chassis-Statusmeldungen
mit, die in regelmäßigen Intervallen
von der rechten Taktkarte über
den rechten Managementbus 16a gesendet werden, während das CMM 34 im
sekundären
Chassis-Manager die Chassis-Statusmeldungen mithört, die in regelmäßigen Intervallen
von der linken Taktkarte über
den linken Managementbus 16a gesendet werden. Die Chassis-Statusmeldungen
beinhalten den Status der Chassis-Stromversorgungen, Lüfter und Temperatur. Das GMM 26 in
jedem Chassis-Manager überwacht
seinen jeweiligen Managementbus auf die Chassis-Statusmeldungen.
Anschließend
informiert das GMM 26 das CMM 34 über jede Änderung
in der Chassis-Statusmeldung. Wenn die Leistung eine begrenzende
Ressource ist, nimmt das CMM 34 Karten außer Betrieb,
beginnend mit den höchsten durchnumerierten
Steckplätzen,
bis die erforderliche Leistungsaufnahme von den noch im System in
Betrieb befindlichen Stromversorgungen gedeckt werden kann.The CMM 34 in the chassis manager is preferably responsible for the clock card monitoring. The CMM 34 In the primary Chassis Manager, the Chassis Status messages stop listening at regular intervals from the right clock card to the right management bus 16a be sent while the CMM 34 In the secondary chassis manager, the chassis status messages are listening in at regular intervals from the left clock card over the left management bus 16a be sent. The chassis status messages include the status of the chassis power supplies, fans, and temperature. The GMM 26 in each chassis manager monitors its respective management bus for the chassis status messages. Subsequently, the GMM informs 26 the CMM 34 about every change in the chassis status message. If performance is a limiting resource, the CMM takes 34 Cards out of service, starting with the highest numbered slots, until the required power consumption can be met by the power supplies still in the system.
Wenn
das GMM 26 auf einem bestimmten Managementbus keine zwei
aufeinanderfolgenden Chassis-Statusmeldungen empfängt, informiert
das GMM sein CMM 34. Das CMM 34 ruft anschließend den
FTAM 36 auf, der auf seinem Managementbus per Rundsendung
eine Testmeldung aussendet. Wenn die Sendung erfolgreich ist oder
wegen Nichtverfügbarkeit
des Ziels fehlschlägt,
wird davon ausgegangen, daß bei
seiner Taktkarte (z.B. der rechten Taktkarte 18a) ein Fehler
aufgetreten ist, und der FTAM 36 erzeugt eine Fehlerbenachrichtigung.
In diesem Fall werden alle Karten wieder auf den Standby-Managementbus
(z.B. den linken Managementbus 16b) verlagert. Wenn die
fehlerhafte Karte wieder in Betrieb ist, werden alle Karten vorzugsweise
wieder auf den ursprünglichen
Managementbus (z.B. den rechten Managementbus 16a) geschaltet.If the GMM 26 GMM will inform its CMM on a particular management bus not receiving two consecutive chassis status messages 34 , The CMM 34 then call the FTAM 36 who broadcasts a test message on his management bus. If the shipment is successful or fails because of unavailability of the target, it is assumed that in his clock card (eg the right clock card 18a ) an error has occurred, and the FTAM 36 generates an error notification. In this case, all cards are put back on the standby management bus (eg the left management bus 16b ) relocated. When the faulty card is in operation again, all cards are preferably returned to the original management bus (eg the right management bus 16a ).
Wenn
die Sendung wegen Nichtverfügbarkeit
des Busses fehlschlägt,
wird davon ausgegangen, daß auf
dem überwachten
Managementbus (z.B. dem rechten Managementbus 16a) ein
Fehler aufgetreten ist, und der FTAM 36 erzeugt eine Fehlerbenachrichtigung.
Der zugehörige
Chassis-Manager verlagert alle Karten auf den Standby-Managementbus
(z.B. den linken Managementbus 16b). Der fehlerhafte Managementbus
wird überwacht,
und nach wieder erfolgter Inbetriebnahme werden alle Karten vorzugsweise
wieder auf diesen Bus verlagert.If the transmission fails due to unavailability of the bus, it is assumed that the monitored management bus (eg the right management bus 16a ) an error has occurred, and the FTAM 36 generates an error notification. The associated chassis manager moves all cards to the standby management bus (eg the left management bus 16b ). The faulty management bus is monitored, and after re-commissioning all cards are preferably relocated to this bus.
Verwaltung
und Überwachung
des Chassis durch das CMM 34 erfolgen in Kombination mit
dem FTAM 36, der auf dem Chassis-Manager läuft. Eine Instanz des FTAM 36 läuft außerdem in
jeder der übrigen
Karten im Chassis. Während
das CMM 34 für
das gesamte Chassis verantwortlich ist, ist der FTAM 3b vorzugsweise für die Erkennung
von Fehlfunktionen und die Behebung einiger der Fehlfunktionen verantwortlich,
die lokal auf der Karte auftreten. Die FTAM 36 bewerkstelligen
unter anderem die lokale Überwachung,
die Fehlfunktionserkennung, die Fehlfunktionsbenachrichtigung, die
Fehlereinkreisung und (wo immer möglich) die Wiederherstellung
des Betriebs bei Fehlfunktionen von Karten und Verbindungen oder
Ports.Management and monitoring of the chassis by the CMM 34 done in combination with the FTAM 36 running on the chassis manager. An instance of the FTAM 36 also runs in each of the remaining cards in the chassis. While the CMM 34 responsible for the entire chassis is the FTAM 3b preferably responsible for detecting malfunctions and resolving some of the malfunctions that occur locally on the card. The FTAM 36 These include local monitoring, malfunction detection, malfunction notification, error detection, and (wherever possible) recovery from malfunctioning of cards and connections or ports.
Anwendungssoftwarekomponenten
sind beim FTAM 36 registriert, der zu überwachende Ereignisse identifiziert.
Wird eine Fehlfunktion erkannt, benachrichtigt der FTAM 36 alle
Anwendungen, die für
diese Ereignisart registriert wurden. Der FTAM 36 und die
Anwendungen ergreifen anschließend
Abhilfemaßnahmen. So
kann sich beispielsweise eine Taktmanager-Anwendung beim FTAM 36 für die Auswahl
externer Taktsignalquellen auf aktiven Verbindungen registrieren
lassen. Eine Anwendung für
eine Liste redundanter Ports kann sich beim FTAM 36 für die Erkennung
fehlerhafter Verbindungen und zum Umschalten auf aktive Backup-Ports
registrieren lassen. IP-Anwendungen können sich beim FTAM 36 zum
Aktualisieren von Weiterleitungstabellen mit Einträgen ausgefallener
Verbindungen oder Ports registrieren lassen.Application software components are in the FTAM 36 registered, which identifies events to be monitored. If a malfunction is detected, the FTAM will notify 36 all applications registered for this event type. The FTAM 36 and the applications then take remedial action. For example, a clock manager application can be used in FTAM 36 for selecting external clock sources on active connections. An application for a list of redundant ports may be in FTAM 36 register for detecting bad connections and switching to active backup ports. IP applications can join the FTAM 36 to register forwarding tables with entries of failed connections or ports.
Jeder
FTAM 36 stellt eine Kartenfehlfunktion über Hallo-Meldungen fest. Jedes FM 20 sendet
in festen Zeitintervallen eine Hallo-Meldung über den Cell-Bus 20 aus.
Wenn eine Karte keine Hallo-Meldungen sendet, kennzeichnen die übrigen Karten
im System diese Karte als ausgefallen. Der FTAM 36 in jeder
Karte aktualisiert daraufhin alle vom Fehlerereignis betroffenen
Tabellen. Das primäre
SCM 14 gibt nach Erkennen der Karten-Fehlfunktion über den
Managementbus an das primäre
Chassis eine Reset-Anforderung zum erneuten Starten der defekten
Karte aus.Every FTAM 36 detects a card malfunction via hello messages. Every FM 20 sends a hello message over the cell bus at fixed time intervals 20 out. If a card does not send hello messages, the remaining cards in the system mark that card as failed. The FTAM 36 In each card, all tables affected by the error event then update. The primary SCM 14 After detecting the card malfunction via the management bus to the primary chassis, it issues a reset request to restart the failed card.
Jeder
FTAM 36 detektiert außerdem
vorzugsweise Verbindungs- bzw. Port-Fehlfunktionen. Verbindungs-
und Port-Treiber überwachen
kontinuierlich den Betriebszustand aller Verbindungen und Ports.
Wird dabei eine Zustandsänderung
festgestellt, so wird eine Verbindungsfehlermeldung per Rundsendung
an den FTAM 36 übermittelt.
Die Hardware- und Software-Mechanismen der automatischen Schutzumschaltung
(Automatic Protection Switching, APS) des Systems gestatten eine
automatische Wiederherstellung des Normalbetriebs sowohl nach Gerätefehlfunktionen
als auch nach Ausfall einer externen Verbindung. So verfügt beispielsweise
jeder Port im Primärmultiplex-Schnittstellen-
(PRI-) PM 12b (1) über zwei Steckverbinder, nämlich einen
Steckverbinder des Ports "A" 13 und
Steckverbinder des Ports "B" 15. Wird
am Port "A" 13 eine interne
Fehlfunktion festgestellt, leitet der APS-Mechanismus des Systems WAN-Verkehr
automatisch über den
Steckverbinder des Ports "B" 15 um.Every FTAM 36 also preferably detects connection or port malfunctions. Connection and port drivers continuously monitor the health of all connections and ports. If a change of state is detected, a connection error message is broadcast to the FTAM 36 transmitted. The system's Automatic Protection Switching (APS) hardware and software mechanisms allow for automatic recovery of normal operation, both after device failure and when an external connection fails. For example, each port in the Primary Multiplex Interface (PRI) PM has 12b ( 1 ) via two connectors, namely a connector of port "A" 13 and connectors of port "B" 15 , Is on port "A" 13 detected an internal malfunction, the APS mechanism of the system automatically routes WAN traffic through the connector of port "B" 15 around.
Wiederum
unter Bezug auf 1 beinhaltet jedes FM 10 weiterhin
einen Verbindungsmanager 46 und einen Ressourcenmanager 38.
Der Verbindungsmanager 46 detektiert beim FM 10 ankommende
Anrufe, und der Ressourcenmanager 38 verwaltet und verteilt
lokale Ressourcen, zu denen unter anderem Digitalmodem- und ISDN-vermittelnde
Ressourcen gehören.
Jede Verbindung zum Switch erfordert einen bestimmten Satz von Hardware-
und Softwareressourcen. So benötigt
beispielsweise ein Frame-Relay-Anruf eine Leitungsschnittstelle,
einen HDLC-Controller, einen Frame-Relay-Protokollstack sowie Frame-Weiterleitungssoftware. Allgemein
sind alle für
eine Verbindung benötigten
Ressourcen beim Eingangs-FM 10 und den ihm zugeordneten
PMs 12 zu finden.Again referring to 1 includes every FM 10 continue a connection manager 46 and a resource manager 38 , The connection manager 46 detected at the FM 10 incoming calls, and the resource manager 38 manages and distributes local resources, including digital modem and ISDN intermediating resources. Each connection to the switch requires a specific set of hardware and software resources. For example, a frame relay call requires a line interface, an HDLC controller, a frame relay protocol stack, and frame forwarding software. Generally, all resources needed for a connection are at the input FM 10 and its associated PMs 12 to find.
Zuweilen
allerdings benötigt
Datenverkehr, der über
eine Karte ins System gelangt, Ressourcen einer anderen Karte. Wenn
der Verbindungsmanager 46 daher einen ankommenden Anruf
detektiert, wird über
den Cell-Bus 20 per Rundsendung eine Ressourcenanforderung
gesendet. Der Ressourcenmanager 38 in den einzelnen Karten
empfängt
die Anforderung und stellt fest, welche Ressourcen benötigt werden.
Wenn die Karte über
die angeforderte Ressource verfügt,
wird sie dem ankommenden Anruf zugewiesen.Sometimes, however, traffic that enters the system through one card may require resources from another card. If the connection manager 46 therefore detects an incoming call is via the cell bus 20 Broadcast sent a resource request. The resource manager 38 in the one individual cards receives the request and determines what resources are needed. If the card has the requested resource, it will be assigned to the incoming call.
Jedes
FM 10 beinhaltet außerdem
einen IP-Weiterleiter 44 zum Weiterleiten von Paketen anhand
von Layer-3-Adressen. Das IP-Weiterleitermodul enthält vorzugsweise
lokale Routinginformationen zum Weiterleiten eines Pakets über eine
rechte oder erste IP-Weiterleitungs-Maschine 42a und eine
linke oder zweite IP-Weiterleitungs-Maschine 42b. Wenn
das FM 10 ein Paket empfängt, leitet es der IP-Weiterleiter 44 weiter, wenn
er die Zieladresse bereits kennt. Andernfalls führt der IP-Weiterleiter 44 einen
Vergleich mit einer zentralen Routingtabelle aus und ruft von dort
die nötigen
Routinginformationen ab.Every FM 10 also includes an IP redirector 44 for forwarding packets based on Layer 3 addresses. The IP router module preferably includes local routing information for forwarding a packet via a right or first IP forwarding engine 42a and a left or second IP forwarding engine 42b , If the FM 10 When it receives a packet, it forwards the IP forwarder 44 continue if he already knows the destination address. Otherwise, the IP forwarder performs 44 a comparison with a central routing table and retrieves from there the necessary routing information.
3 zeigt
ein Beispiel für
ein Flußdiagramm
zum Abwickeln einer Verbindungsanforderung, die beim Switch aus 1 eintrifft.
Das Programm startet, und in Schritt 50 detektiert der
Verbindungsmanager 46 einen ankommenden Anruf bei einem
der physikalischen Ports des FMs 10 (also des empfangenden
FMs). In Schritt 52 informiert der Verbindungsmanager 46 den
Ressourcenmanager 38 im empfangenden FM über den
ankommenden Anruf. Der Ressourcenmanager 38 sucht in Schritt 54 eine
Anruf-Policy-Tabelle nach einem Anrufpolicy-Eintrag ab, welcher
dem ankommenden Anruf entspricht. Der Anrufpolicy-Eintrag beinhaltet
verschiedene Parameter, die vorgeben, wie das Routing des Anrufs
zu erfolgen hat. Dabei können
unterschiedliche Policies angewandt werden, die vom Inlink-Typ des
Anrufs, einer Telefonnummer, einem Domainnamen, einer Quelladresse,
einer Zieladresse oder anderen Bedingungen abhängen. 3 Figure 14 shows an example of a flowchart for handling a connection request made at the switch 1 arrives. The program starts, and in step 50 the connection manager detects 46 an incoming call to one of the physical ports of the FM 10 (ie the receiving FM). In step 52 informs the connection manager 46 the resource manager 38 in the receiving FM over the incoming call. The resource manager 38 look in step 54 a call policy table for a call policy entry corresponding to the incoming call. The call policy entry includes various parameters that dictate how the routing of the call should be made. Different policies can be used, depending on the inlink type of call, phone number, domain name, source address, destination address, or other conditions.
In
den Anrufpolicy-Parametern enthalten sind eine Klasse für die Zugangsqualität (QoA),
eine Klasse für
die Dienstqualität
(QoS), die ID eines virtuellen Routers und die ID eines virtuellen
Privatnetzes, welche dem Anruf zugeordnet sind. QoA ist ein Verfahren
zur Klassifizierung von Benutzern und zur Erteilung eines Zugangs
zum Switch auf der Grundlage eines Vergleichs zwischen ihrer QoA-Klasse
und der aktuellen Ressourcennutzung. Dieses Verfahren gestattet
einen abgestuften Zugang zum Internet, wenn um Ressourcen konkurriert
wird. Jeder QoA-Klasse ist vorzugsweise ein Prozentsatz eines Schwellenwertes
der Ressourcennutzung zugeordnet. Wenn die Ressourcennutzung unter
dem Prozentsatz des Ressourcennutzungs-Schwellenwertes liegt, die
dem der QoA-Klasse
des ankommenden Anrufs zugeordnet ist, wird der Anruf angenommen.
Andernfalls wird der Anruf abgewiesen.In
the call policy parameters include an access quality class (QoA),
a class for
the quality of service
(QoS), the ID of a virtual router and the ID of a virtual router
Private network associated with the call. QoA is a procedure
for the classification of users and the granting of access
to the switch based on a comparison between its QoA class
and the current resource usage. This procedure allows
a graduated access to the Internet when competing for resources
becomes. Each QoA class is preferably a percentage of a threshold
assigned to resource usage. When the resource usage is under
is the percentage of the resource usage threshold that
that of the QoA class
the incoming call is assigned, the call is accepted.
Otherwise the call will be rejected.
QoS
ist ein Verfahren zur Klassifizierung von Benutzern, das die Priorität ermittelt,
mit der Pakete nach Annahme eines Anrufes weiterbefördert werden.
QoS bietet eine bevorzugte Behandlung durch die Abwicklung von Verbindung
anhand ihrer QoS-Klassen. Je höher
die QoS-Klasse ist, die einem Anruf zugeordnet ist, desto höher ist
auch die Priorität,
mit der die zum Anruf gehörenden
Pakete verarbeitet werden.QoS
is a method of classifying users that determines the priority
be forwarded with the packages after accepting a call.
QoS provides preferential treatment by handling connection
based on their QoS classes. The higher
the higher the QoS class that is assigned to a call
also the priority
with the ones belonging to the call
Packages are processed.
Anhand
der ID des virtuellen Routers und der ID eines virtuellen Privatnetzes,
die einem ankommenden Anruf zugeordnet sind, kann der Switch den
Zugang zu Ressourcen bereitstellen, zu deren Nutzung der Benutzer
berechtigt ist. Gemäß einer
Ausführungsform
der Erfindung kann der Switch in mehrere virtuelle Router partitioniert
sein, wobei jeder virtuelle Router über seinen eigenen Satz von
Ressourcen (z.B. IDSN- oder Modemressourcen) und Routingtabellen
verfügt.
Somit funktioniert jeder virtuelle Router vorzugsweise unabhängig und
autark als separater Router. Jeder virtuelle Router kann ferner
zur weiteren Steuerung des Zugriffs auf den Switch in mehrere virtuelle
Privatnetze (VPNs) partitioniert sein. VPNs werden mit einer Filtersoftware eingerichtet,
die Datenverkehr, der an den virtuellen Router gerichtet ist, nach
bestimmten Kriterien wie z.B. der Quelladresse und/oder der Zieladresse
ausfiltert.Based
the ID of the virtual router and the ID of a virtual private network,
which are assigned to an incoming call, the switch can
Provide access to resources for the use of which the user
is entitled. According to one
embodiment
According to the invention, the switch can be partitioned into multiple virtual routers
be, each virtual router has its own set of
Resources (e.g., IDSN or modem resources) and routing tables
features.
Thus, each virtual router preferably works independently and
self-sufficient as a separate router. Each virtual router can also
to further control access to the switch in multiple virtual
Private networks (VPNs) to be partitioned. VPNs are set up with filtering software,
the traffic that is directed to the virtual router, after
certain criteria such as the source address and / or the destination address
filters out.
Nachdem
die QoA-Klasse, die QoS-Klasse, die ID des virtuellen Routers und
die VPN-ID eines Anrufs anhand des Anrufpolicy-Eintrags identifiziert
wurden, übermittelt
der Ressourcenmanager 38 in Schritt 58 per Rundsendung
eine Ressourcenanforderung an die übrigen FMs 10. Wenn
eines der FMs 10 über
eine Ressource verfügt,
die mit der QoA-Klasse und der ID des virtuellen Routers übereinstimmt,
sendet das FM 10 mit der verfügbaren Ressource eine Antwort
an das empfangende FM 10, die veranlaßt, daß der Anruf mit der verfügbaren Ressource
verbunden wird.After the QoA class, QoS class, virtual router ID, and VPN ID of a call are identified by the call policy record, the resource manager submits 38 in step 58 Broadcast a resource request to the remaining FMs 10 , If one of the FMs 10 has a resource that matches the QoA class and the ID of the virtual router sends the FM 10 with the available resource a response to the receiving FM 10 which causes the call to connect to the available resource.
Wenn
der ankommende Anruf angenommen ist, erzeugt das Programm in Schritt 59 ein
Portschnittstellen- (Port InterFace, PIF-) Objekt, von dem das für die Sitzung
zu verwendende Layer-2-Protokoll festgelegt wird. Eine vom Switch
bereitgestellte generische Weiterleitungs-Schnittstelle verknüpft die
Layer-2-Schnittstelle anschließend
dynamisch mit der Layer-1-Schnittstelle des physikalischen Ports.
Auf diese Weise brauchen Layer-2-Protokolle nicht von den physikalischen
Medienports abhängig
gemacht zu werden, auf denen sie arbeiten, sondern können zur
Laufzeit dynamisch festgelegt werden.When the incoming call is accepted, the program generates in step 59 a Port Interface (PIF) object that sets the Layer 2 protocol to use for the session. A generic forwarding interface provided by the switch then dynamically links the Layer 2 interface to the Layer 1 interface of the physical port. In this way, Layer 2 protocols do not need to be made dependent on the physical media ports they work on, but can be set dynamically at runtime.
In
Schritt 60 ruft das Programm den Authentifizierungsserver
des ISPs auf, um den Benutzer zu authentifizieren. Ein typischer
Authentifizierungsserver ist ein RADIUS-Server. Der Authentifizierungsserver
beinhaltet vorzugsweise eine Datenbank aus Benutzern und benutzerspezifischen
Konfigurationsinformationen, aus denen genau hervorgeht, welche
Art von Dienst jedem einzelnen Benutzer zur Verfügung zu stellen ist. Zu den
Dienstkonfigurationsinformationen können der Kompressionstyp, die
QoA-Klasse, die QoS-Klasse und/oder eine VPN-ID gehören, die
dem Benutzer zugeordnet sind und nachstehend ausführlicher
beschrieben werden. Gemäß einer
Ausführungsform
der Erfindung können
die Konfigurationsinformationen im Authentifizierungsserver die
Standard-Konfigurationsinformationen
ersetzen, die von der Anrufpolicy-Datenbank ausgegeben wurden.In step 60 The program calls the authentication server of the ISP to call the user thentifizieren. A typical authentication server is a RADIUS server. The authentication server preferably includes a database of users and user-specific configuration information, which clearly indicates what type of service is to be made available to each individual user. The service configuration information may include the compression type, the QoA class, the QoS class, and / or a VPN ID associated with the user, and described in more detail below. According to an embodiment of the invention, the configuration information in the authentication server may replace the default configuration information output from the call policy database.
Nach
der Authentifizierung des Benutzers können Datenpakete an ihre Zieladressen
weitergeleitet werden wie in Schritt 62 gezeigt. In dieser
Hinsicht stellt der Switch eine einheitliche Schnittstelle zur Verfügung, die
als generische Weiterleitungs-Schnittstelle (Generic Forwarding
Interface, GFI) bezeichnet wird und für die gesamte interne Paketweiterleitung
entweder zwischen Ports auf demselben FM 10 oder über den
Bus zu einem anderen FM 10 im Switch verantwortlich ist.
Insbesondere sorgt die GFI-Software für Transparenz zwischen Anwendungen
und dem Verbindungsprotokoll sowie dem physikalischen Verbindungstreiber,
so daß jede
beliebige physikalische Schnittstelle jedem beliebigen Protokoll
oder jeder beliebigen Anwendung zugeordnet werden kann. Somit arbeiten
alle GFI-Weiterleitungsfunktionen vorzugsweise protokolltransparent.After authenticating the user, data packets can be forwarded to their destination addresses as in step 62 shown. In this regard, the switch provides a unified interface called the Generic Forwarding Interface (GFI) and for all internal packet forwarding either between ports on the same FM 10 or over the bus to another FM 10 is responsible in the switch. In particular, the GFI software provides transparency between applications and the connection protocol as well as the physical connection driver so that any physical interface can be associated with any protocol or application. Thus, all GFI forwarding functions are preferably protocol transparent.
Wenn
ein Paket beim System eintrifft, übersetzt die GFI-Software das Paket
unter Verwendung von GFI-Hilfsprogrammen in ein generisches Format.
Soll ein Paket an einen physikalischen Port übermittelt werden, so ruft
die GFI-Software die Weiterleitungsfunktion des betreffenden Treibers
auf, die dann das Paket übermittelt.
Die Weiterleitungsfunktion des Treibers ist anschließend für das Identifizieren
des physikalischen Ports und das Übergeben des Pakets an das
PIF-Modul verantwortlich, von dem das generische Paket in das treiberspezifische
Format übersetzt
und an den geforderten Port ausgesandt wird.If
When a package arrives at the system, the GFI software translates the package
using GFI utilities in a generic format.
If a packet is to be transmitted to a physical port, it will call
the GFI software is the forwarding feature of the driver in question
which then transmits the packet.
The forwarding function of the driver is then for identifying
of the physical port and passing the packet to the
PIF module responsible, from which the generic package in the driver-specific
Format translated
and sent to the requested port.
Vor
dem Weiterleiten des Datenpakets wird allerdings vorzugsweise eine
Kontrolle durchgeführt,
um festzustellen, ob Filter vorliegen, die auf das Datenpaket anzuwenden
sind. Die Filter ermitteln, ob das Paket weitergeleitet oder ausgelassen
werden soll. Die auf das Datenpaket anzuwendenden Filter werden
anhand der VPN-ID des Datenpakets ausfindig gemacht.In front
however, the forwarding of the data packet is preferably a
Control performed,
to determine if there are any filters that apply to the data packet
are. The filters determine if the packet is forwarded or dropped
shall be. The filters to be applied to the data packet become
Identified by the VPN ID of the data packet.
II. DEZENTRALE VERARBEITUNG
UND PAKETWEITERLEITUNGII. DECENTRALIZED PROCESSING
AND PACKET TRANSMISSION
Eines
der Merkmale des Mehrdienstnetzwerk-Switches aus 1 ist
das IP-Routing (Layer-3-Routing) unter Verwendung einer dezentral
organisierten Verarbeitungs- und Paketweiterleitungs-Architektur.
Der IP-Weiterleiter 44 in jedem FM 10 stellt die
erforderliche Intelligenz für
die Paketweiterleitung und Routenverarbeitung zur Verfügung. Im
Gegensatz zu einem herkömmlichen
Zugangsserver, bei dem ein zentralisierter Prozessor einen Engpaß bildet,
hilft eine dezentral organisierte Weiterleitungs-Architektur, den
einzelnen Blockierungspunkt zu reduzieren oder zu beseitigen und
gestattet es, die Produkte sowohl für die Zahl der angeschlossenen
Schnittstellen als auch die Leistungsfähigkeit der Paketweiterleitung
zu skalieren.One of the features of the multi-service network switch 1 is IP routing (Layer 3 Routing) using a decentralized processing and packet forwarding architecture. The IP forwarder 44 in every FM 10 Provides the intelligence required for packet forwarding and route processing. In contrast to a traditional access server, where a centralized processor bottoms out, a decentralized routing architecture helps to reduce or eliminate the single blocking point and allows products to be linked both to the number of interfaces connected and to the performance of the To scale packet forwarding.
4 zeigt
ein detaillierteres Funktions-Blockdiagramm des IP-Weiterleiters 44 aus 2.
Ein IP-Datenpaket kommt an einem Medienport eines PMs 12 an
und wird durch seinen Medienport-Treiber 118 verarbeited.
Das IP-Datenpaket kann auch von einem Backplane-Treiber 120 empfangen
werden, wenn das Paket beispielsweise von einem anderen FM 10 über den
Cell-Bus 20 weitergeleitet wurde. 4 shows a more detailed functional block diagram of the IP router 44 out 2 , An IP data packet arrives at a media port of a PM 12 and is powered by its media port driver 118 verarbeited. The IP data packet may also be from a backplane driver 120 be received, for example, if the packet from another FM 10 over the cell bus 20 was forwarded.
Wenn
eine Verbindung über
den Medienport hergestellt wird, erzeugt der Switch ein Port-Schnittstellenobjekt
(Port InterFace Object, PIF-Objekt) 122 für den Port.
Das PIF-Objekt 122 legt das für die aktuelle Sitzung zu verwendende
Layer-2-Protokoll
anhand des Verbindungstyps fest, und die GFI-Software 124 verknüpft die
Layer-2-Schnittstelle dynamisch mit der Layer-1-Schnittstelle des
Medienports. Auf diese Weise brauchen Layer-2-Protokolle nicht von
den physikalischen Medienports abhängig gemacht zu werden, auf
denen sie arbeiten, sondern können
zur Laufzeit dynamisch festgelegt werden.When a connection is made through the media port, the switch creates a port interface object (Port InterFace Object, PIF object) 122 for the port. The PIF object 122 sets the Layer 2 protocol to use for the current session based on the connection type, and the GFI software 124 dynamically links the Layer 2 interface to the Layer 1 interface of the media port. In this way, Layer 2 protocols do not need to be made dependent on the physical media ports they work on, but can be set dynamically at runtime.
Das
PIF 122 beinhaltet außerdem
PIF-Strukturen zum Speichern bestimmter Medien- und Paketinformationen
für jeden
Port. PIF-Strukturen werden als zweidimensionale Arrays vorgehalten,
wofür eine
Controllernummer und eine Portnummer als Index verwendet wird.The PIF 122 Also includes PIF structures for storing specific media and packet information for each port. PIF structures are kept as two-dimensional arrays, using a controller number and a port number as an index.
Ein
logischer Port-Identifier (LPI) 128 kommuniziert mit der
PIF 122 und beinhaltet die mit jedem physikalischen Port
verbundenen IP-Parameter. Die IP-Schicht ruft eine LPI-Sendefunktion auf,
wann immer sie ein Paket senden will. Die LPI-Sendefunktion identifiziert
den betreffenden physikalischen Port und übergibt das Paket an das PIF 122,
wo die medienspezifischen Layer-2-Verkapselungs-Header hinzugefügt werden und
das Paket über
den betreffenden Port ausgesandt wird.A logical port identifier (LPI) 128 communicates with the PIF 122 and includes the IP parameters associated with each physical port. The IP layer invokes an LPI send function whenever it wants to send a packet. The LPI send function identifies the physical port concerned and passes the packet to the PIF 122 where the media-specific Layer 2 encapsulation headers are added and the package is sent out via the relevant port.
Wenn
ein Paket vom Medienport-Treiber 120 empfangen wird, wird
das Paket vorzugsweise vom Treiber in ein generisches Format übersetzt
und an die GFI-Software 124 gesendet. GFI 124 erledigt
vorzugsweise die gesamte Paketweiterleitung in einer protokolltransparenten
Schicht, wobei die Details zum Senden und Empfangen von Paketen über unterschiedliche
Schnittstellentypen verborgen werden. GFI 124 ordnet das
Paket ferner anhand des QoS des Pakets in eine Warteschlange in
einer von vier GFI-Puffern ein, die im gemeinsam genutzten Speicher 24 des
Systems (2) resident vorhanden sind.If a package from the media port driver 120 The packet is preferably translated by the driver into a generic format and sent to the GFI software 124 Posted. GFI 124 preferably, handles all packet forwarding in a protocol-transparent layer, hiding the details for sending and receiving packets over different types of interfaces. GFI 124 Further, the packet is queued in one of four GFI buffers, based on the QoS of the packet, in the shared memory 24 of the system ( 2 ) resident are present.
Ein
Paketverarbeitungsmodul 126 fragt die GFI-Puffer nach dem
Paket ab und analysiert das Paket (Parsing), um die PIF- Struktur des Pakets
zu ermitteln. Sobald diese gefunden ist, prüft das Paketverarbeitungsmodul 126 vorzugsweise,
ob das Paket ein Datenpaket ist und ob eine Sitzung eingerichtet
ist und übergibt
das Paket an den IP-Weiterleiter 44. Wenn das Paket geroutet
werden muß,
versucht der IP-Weiterleiter, die Zielinformation aus seinem IP-Cache 102 oder
seiner Weiterleitungstabelle 90 abzurufen. Ist dies erfolglos, so
versucht der IP-Weiterleiter 44, die Information aus einer
Routingtabelle 70 abzurufen, die im SCM 14 gespeichert
ist. Zudem könnte
der IP-Weiterleiter 44 von einer Adressenauflösungs-Protokolltabelle 112 (Address
Resolution Protocol table, ARP-Tabelle) über einen ARP-Funktionsblock 114 oder
mittels einer Management-ARP-Anforderung (MARP-Anforderung) über einen MARP-Funktionsblock 116 weitere
Parameter zur Zieladresse abrufen.A packet processing module 126 queries the GFI buffers for the packet and analyzes the parsing packet to determine the PIF structure of the packet. Once found, the packet processing module checks 126 preferably, whether the packet is a data packet and whether a session is established, and passes the packet to the IP redirector 44 , If the packet needs to be routed, the IP forwarder attempts to retrieve the destination information from its IP cache 102 or his routing table 90 retrieve. If this is unsuccessful, then the IP forwarder tries 44 , the information from a routing table 70 retrieve that in the SCM 14 is stored. In addition, the IP redirector could 44 from an address resolution log table 112 (Address Resolution Protocol table, ARP table) via an ARP function block 114 or by means of a management ARP request (MARP request) via a MARP function block 116 call up further parameters for the destination address.
5 zeigt
ein Entwurfsschema einer Routingtabelle 70 gemäß einer
Ausführungsform
der Erfindung. Die Routingtabelle 70 enthält eine
Liste aller IP-Zieladressen, die von den FMs 10 aus erreichbar
sind, sowie alle bekannten Routen zu jeder dieser Zieladressen.
Die Routingtabelle kann auf der Basis von Standard-Routingprotokollen
erzeugt werden, so z.B. RIP, OSPF, GBP4 oder dergleichen. 5 shows a design scheme of a routing table 70 according to an embodiment of the invention. The routing table 70 contains a list of all IP destination addresses used by the FMs 10 are reachable, as well as all known routes to each of these destinations. The routing table may be generated based on standard routing protocols such as RIP, OSPF, GBP4, or the like.
Gemäß einer
Ausführungsform
der Erfindung beinhaltet die Routingtabelle 70 ein Feld 72 für das Ziel, das
eine konfigurierte IP-Zieladresse identifiziert, an die ein Paket
weitergeleitet werden könnte.
Daneben beinhaltet die Routingtabelle ein Unternetzfeld 74,
das auf die signifikanten Bits der IP-Zieladresse verweist, indem
ein Teil der Adresse entweder verborgen oder angezeigt wird. Die
Zahl "0" gestattet das Anzeigen
der zugehörigen
Bits der IP-Zieladresse, wenn die Zahl "255" die
zugehörigen
Bits der IP-Zieladresse verbirgt. Auf diese Weise läßt sich
ein Bereich von Adressen im Unternetz spezifizieren.According to one embodiment of the invention, the routing table includes 70 a field 72 for the destination, which identifies a configured IP destination address to which a packet could be forwarded. In addition, the routing table includes a subnet field 74 that points to the significant bits of the destination IP address by either hiding or displaying part of the address. The number "0" allows the corresponding bits of the destination IP address to be displayed if the number "255" hides the associated bits of the destination IP address. In this way, a range of addresses in the subnet can be specified.
Die
Routingtabelle 70 beinhaltet ferner ein Next-Hop-Router-Feld 76,
das eine IP-Adresse zu einem Next-Hop-Router angibt. Ein Owner-Feld 78 gibt
an, wie die Route gelernt wurde. Insbesondere gibt "OSPFE" an, daß es sich
bei der Route um eine externe Route handelt, die von einer anderen
Routing-Domain (z.B. RIP)
gelernt wurde. "OSPF1" gibt an, daß die Route
eine bereichsinterne Route ist. "OSPF2" gibt an, daß die Route
eine bereichsübergreifende
Route ist. "LOCAL" gibt an, daß die Route
direkt verbunden ist. "STATIC" gibt an, daß die Route
eine manuell konfigurierte Route ist. "ANWAHLPOOL" gibt an, daß die Route aus einem Wählverbindungspool
zugewiesen wurde.The routing table 70 also includes a next-hop router field 76 that specifies an IP address to a next-hop router. An owner field 78 indicates how the route was learned. In particular, "OSPFE" indicates that the route is an external route learned from another routing domain (eg RIP). "OSPF1" indicates that the route is an in-area route. "OSPF2" indicates that the route is a cross-section route. "LOCAL" indicates that the route is directly connected. "STATIC" indicates that the route is a manually configured route. "DIALING POOL" indicates that the route has been assigned from a dial-up connection pool.
Ein
Kostenfeld 80 gibt die Kosten an, die jeder Route zugeordnet
sind. Die Kosten basieren auf einer Entfernung, die ein Maß für die IP-Zieladresse
ist, welche die angegebene Route nutzt. Im allgemeinen werden die
Kosten aus einem beliebigen geeigneten oder konventionellen Entfernungs-Vektoralgorithmus
berechnet.A cost field 80 indicates the costs associated with each route. The cost is based on a distance that is a measure of the IP destination address using the specified route. In general, the cost is calculated from any suitable or conventional range vector algorithm.
6 zeigt
ein Entwurfsschema einer Weiterleitungstabelle 90 gemäß einer
Ausführungsform
der Erfindung. Die Weiterleitungstabelle 90 ist eine Untermenge
der Routingtabelle 70. Im Gegensatz zur Routingtabelle 70 beinhaltet
die Weiterleitungstabelle 90 allerdings vorzugsweise eine
Liste von IP-Zieladressen und die beste bekannte Route zu jeder
dieser Zieladressen. 6 shows a scheme of a routing table 90 according to an embodiment of the invention. The routing table 90 is a subset of the routing table 70 , Unlike the routing table 70 includes the routing table 90 however, preferably a list of IP destination addresses and the best known route to each of these destination addresses.
Wie
die Routingtabelle 70, so beinhaltet auch die Weiterleitungstabelle 90 ein
Feld 92 für
das Ziel und ein Unternetzfeld 94, die jeweils die IP-Zieladressen
und Unternetzmasken angeben. Ein Next-Hop-Router-Feld 96 gibt
eine IP-Adresse zum Next-Hop-Router an, wenn die Route eine Remote-Route ist.Like the routing table 70 so also includes the routing table 90 a field 92 for the target and a subnet field 94 , which respectively specify the IP destination addresses and subnet masks. A next-hop router field 96 Specifies an IP address to the next-hop router if the route is a remote route.
Ein
Typenfeld 98 gibt einen Portverbindungstyp an. Wenn als
Portverbindungstyp beispielsweise "SPORT" angegeben ist, ist die IP-Zieladresse
ein einzelner Port (Single Port). Wenn als Portverbindungstyp "VLAN" angegeben ist, gehört das Ziel
zu einem virtuellen LAN. Wenn als Typ "DIAL" angegeben
ist, existiert der Zielport im IP-Wähladressenpool.A type field 98 specifies a port connection type. For example, if the port connection type is "SPORT", the destination IP address is a single port. If the port connection type is VLAN, the destination belongs to a virtual LAN. If the type is "DIAL", the destination port exists in the IP dial address pool.
Die
Weiterleitungstabelle beinhaltet außerdem ein Flag-Feld 100,
das die Routentypen beschreibt. Gültige Werte für dieses
Feld sind "S", womit auf eine
Systemschnittstelle hingewiesen wird, bei welcher das Ziel auf der
entfernten Seite einer Switch-Schnittstelle existiert, ferner "D", womit auf eine direkte Schnittstelle hingewiesen
wird, bei welcher das Ziel (entweder auf derselben Karte oder auf
einer anderen Karte) mit dem Switch verbunden ist, des weiteren "R", womit darauf hingewiesen wird, daß sich das
Ziel entfernt auf einem anderen Gerät des Netzes befindet, ebenso "P", womit darauf hingewiesen wird, daß das Ziel
ein Supernet ist, ferner "F", womit darauf hingewiesen
wird, daß das
Ziel eine Standardroute ist, und schließlich "M",
womit darauf hingewiesen wird, daß das Ziel eine Managementschnittstelle
ist.The routing table also includes a flag field 100 that describes the route types. Valid values for this field are "S", which indicates a system interface in which the Destination on the far side of a switch interface exists, further "D", indicating a direct interface in which the destination (either on the same card or on another card) is connected to the switch, further "R" indicating that the target is remotely located on another device of the network, also "P", indicating that the target is a supernet, further "F", indicating that the target is a Default route, and finally "M", indicating that the destination is a management interface.
7 zeigt
ein Entwurfsschema eines IP-Caches 102 gemäß einer
Ausführungsform
der Erfindung. Der IP-Cache 102 ist außerdem in jedem der FMs 10 resident
vorhanden und beinhaltet eine Liste der zuletzt verwendeten IP-Quell-
und – Zieladressenpaare
sowie die Adresse des physikalischen Ports und die Header-Information.
Wenn also im IP-Cache eine Zieladresse existiert, können Pakete
ohne Vergleich mit irgendeiner Routing- oder Weiterleitungstabelle
weitergeleitet werden, was eine Steigerung der Weiterleitungsleistung gestattet. 7 shows a design scheme of an IP cache 102 according to an embodiment of the invention. The IP cache 102 is also in each of the FMs 10 resident and contains a list of the last used IP source and destination address pairs as well as the address of the physical port and the header information. Thus, if a destination address exists in the IP cache, then packets can be forwarded without comparison with any routing or forwarding table, allowing for an increase in the forwarding performance.
Gemäß einer
Ausführungsform
der Erfindung beinhaltet der IP-Cache 102 ein Feld 104 für das Ziel und
ein Feld 106 für
die Quelle, welche die letzten IP-Quell- und -Zieladressen angeben.
Ein Ausgangsport-Feld 108 gibt einen physikalischen Port
an, über
den Daten an die Zieladresse gesendet werden. Ein Header-Feld 100 gibt
eine aus 16 Bit bestehende MAC- Header-Information
zum Weiterleiten des Pakets an die Zieladresse an.According to one embodiment of the invention, the IP cache includes 102 a field 104 for the goal and a field 106 for the source specifying the last IP source and destination addresses. An output port field 108 Specifies a physical port over which data is sent to the destination address. A header field 100 indicates a 16-bit MAC header information for forwarding the packet to the destination address.
8 zeigt
ein Entwurfsschema einer ARP-Tabelle 112 gemäß einer
Ausführungsform
der Erfindung. Die ARP-Tabelle gestattet das Auflösen von
IP-Adressen zu MAC-Adressen und physikalischen Portadressen für lokale
Ziele. Wenn ein Gerät
an das FM 10 angeschlossen ist, löst die IP-Software die MAC-zu-IP-Adressenübersetzung
dynamisch auf und speichert diese Information in der ARP-Tabelle 112 des
FMs 10. 8th shows a schematic of an ARP table 112 according to an embodiment of the invention. The ARP table allows resolving IP addresses to MAC addresses and physical port addresses for local destinations. When a device to the FM 10 is connected, the IP software dynamically resolves the MAC-to-IP address translation and stores this information in the ARP table 112 of the FM 10 ,
Die
ARP-Tabelle 112 beinhaltet ein IP-Adressenfeld 200,
das eine IP-Adresse angibt, welche in eine MAC-Adresse und in eine
physikalische Portadresse zu übersetzen
ist. Ein MAC-Adressenfeld 202 gibt
die MAC-Adresse an, die der IP-Adresse entspricht. Ein Feld 204 für einen
physikalischen Port gibt die Adresse des physikalischen Ports an,
die den IP- und MAC-Adressen
entspricht. Gemäß einer
Ausführungsform
der Erfindung lautet die Portadressenkonvention wie folgt:
device
type.chassis.slot.PeronalityModuleLoacation.link.portThe ARP table 112 includes an IP address field 200 which specifies an IP address to be translated into a MAC address and a physical port address. A MAC address field 202 Specifies the MAC address that corresponds to the IP address. A field 204 for a physical port specifies the physical port address corresponding to the IP and MAC addresses. According to one embodiment of the invention, the port address convention is as follows:
device type.chassis.slot.PeronalityModuleLoacation.link.port
Der
Gerätetyp
(device type) ist eine aus zwei Zeichen bestehende Beschreibung
des Typs des PMs 12, das die Verbindung bereitstellt. Der
Switch unterstützt
vorzugsweise mindestens die folgenden PMs: Primärmultiplex-Schnittstellen-PMs 12b für ISDN (is),
Primärmultiplex-Schnittstellen-PMs 12b für T1 (t1),
Digitalmodem-Server-PMs 12c (mo), Ethernet-Switch-PMs 12a (en)
und serielle Datenschnittstellen-PMs 12d für Frame
Relay (fr).The device type is a two-character description of the type of PM 12 that provides the connection. The switch preferably supports at least the following PMs: Primary Multiplex Interface PMs 12b for ISDN (is), Primary Multiplex Interface PMs 12b for T1 (t1), Digital Modem Server PMs 12c (mo), Ethernet switch PMs 12a (s) and serial data interface PMs 12d for Frame Relay (fr).
Die
Chassisnummer (chassis) ist eine Nummer, die dem Switch zugeordnet
ist. Die Steckplatznummer (slot) gibt den Steckplatz an, in welchen
das FM eingesteckt ist. Die Steckplätze sind der Reihe nach von
oben nach unten durchnumeriert, beginnend bei Steckplatz Nummer
eins. Der Personalmodul-Standort (PersonalityModuleLocation) gibt entweder
ein rechtes PM (Nummer 1) oder ein linkes PM (Nummer 2) an. Die
Verbindung (link) gibt die Zahl der logischen Verbindungen an, die
im Modul konfiguriert sind. Die Portnummer (port) gibt einen Port
im PM an. Gemäß dieser
Verbindung bezeichnet eine physikalische Portadresse En.1.3.1.1.1 eine
Verbindung zu einem Ethernet-Modul in Chassis 1, Steckplatz 3, rechtes
PM, Verbindung 1, physikalischer Port 1.The
Chassis number (chassis) is a number assigned to the switch
is. The slot number indicates the slot in which
the FM is plugged in. The slots are in turn from
Numbered top to bottom, starting at slot number
one. The Personal Module Location (PersonalityModuleLocation) is either
a right PM (number 1) or a left PM (number 2). The
Connection (link) indicates the number of logical connections that
are configured in the module. The port number (port) gives a port
in the PM. According to this
Connection refers to a physical port address En.1.3.1.1.1 a
Connection to an Ethernet module in chassis 1, slot 3, right
PM, connection 1, physical port 1.
Die
ARP-Tabelle 112 beinhaltet außerdem ein Typenfeld 206,
das angibt, daß die
Adresse statisch ist ("S"), wenn die Adresse
in einem Netz statistisch konfiguriert wurde, lokal ("L"), wenn sich die Adresse auf einem direkt
angeschlossenen Netzwerk befindet, dynamisch ("D"),
wenn die Adresse gelernt wurde, entfernt ("R"),
wenn sich die Adresse in einem entfernten Netz befunden hat, vom
Punkt-zu-Punkt-Typ ("P"), wenn die Adresse
auf einer Punkt-zu-Punkt-Verbindung gelernt wurde, ein Router ("T"), wenn die Adresse zu einem Router
gehört,
oder vom Typ Broadcast ("B") ist, wenn die Adresse über ein
Rundesendepaket gelernt wurde.The ARP table 112 also includes a type field 206 indicating that the address is static ("S"), if the address in a network has been statistically configured, locally ("L"), if the address is on a directly connected network, dynamically ("D"), if the address has been learned, ("R") removes, if the address was on a remote network, point-to-point type ("P") if the address is on a point-to-point link a router ("T"), if the address belongs to a router, or broadcast type ("B"), if the address was learned via a broadcast packet.
9 zeigt
ein Flußdiagramm
eines vom IP-Weiterleiter 44 ausgelösten Paketweiterleitungsprozesses.
Wenn ein zu routendes IP-Paket an den IP-Weiterleiter 44 übergeben
wird, stellt das Programm in Schritt 210 fest, ob der IP-Cache 102 die
Zieladresse beinhaltet. Wenn der IP-Cache 102 einen Eintrag
für die
Zieladresse enthält,
wird der MAC-Header vom Header-Feld 110 in das Paket kopiert,
und das Paket wird in Schritt 212 an den physikalischen
Port weitergeleitet, der vom Ausgangsport-Feld 108 angegeben
wird. Der Backplane-Treiber 120 wird verwendet, um das
Paket weiterzuleiten, wenn der physikalische Port auf einer anderen Karte
resident ist. 9 shows a flowchart of one of the IP forwarder 44 triggered packet forwarding process. When an IP packet to be routed to the IP forwarder 44 is passed, the program puts in step 210 determines if the IP cache 102 includes the destination address. If the IP cache 102 contains an entry for the destination address, the MAC header is taken from the header field 110 copied into the package, and the package gets in step 212 forwarded to the physical port, that of the output port field 108 is specified. The backplane driver 120 is used to forward the packet if the physical port is on another Map is resident.
Wenn
der IP-Cache 102 keinen Eintrag für die Zieladresse enthält, stellt
das Programm in Schritt 214 fest, ob die Zieladresse in
der IP-Weiterleitungstabelle 90 enthalten ist. Lautet die
Antwort JA, so ruft das Programm die Route zum Ziel ab und ermittelt,
ob die Route über
einen der Ports auf derselben Karte oder über eine andere Karte geführt wird.
Wird die Route über
einen der Ports auf derselben Karte geführt, kann sie lokal verarbeitet
werden. Entsprechend sucht das Programm in Schritt 216 in
der ARP-Tabelle 112 nach der Zieladresse, wenn sie direkt
angehängt
ist, oder nach dem Next-Hop-Router, der dem Next-Hop-Router-Feld 96 der
Weiterleitungstabelle 90 entnommen wird, sofern es sich
um eine entfernte Route handelt. Wenn entweder die Zieladresse oder
der Next-Hop-Router in der ARP-Tabelle 112 gefunden wird,
wie in Schritt 218 abgefragt wird, so wird das Paket an
die angegebene physikalische Portadresse gesendet und der Eintrag
dem IP-Cache 102 hinzugefügt.If the IP cache 102 does not contain an entry for the destination address, the program puts in step 214 Determines if the destination address is in the IP forwarding table 90 is included. If the answer is yes, the program retrieves the route to the destination and determines whether the route is being routed through one of the ports on the same card or via another card. If the route is routed via one of the ports on the same card, it can be processed locally. Accordingly, the program looks in step 216 in the ARP table 112 after the destination address, if it is attached directly, or after the next hop router, which is the next hop router field 96 the routing table 90 if it is a distant route. If either the destination address or the next-hop router in the ARP table 112 is found, as in step 218 is queried, the packet is sent to the specified physical port address and the entry is sent to the IP cache 102 added.
Liegt
in der ARP-Tabelle kein Eintrag für die Zieladresse oder den
Next-Hop-Router vor, so führt
der Weg zum Ziel nicht über
einen der Ports auf derselben Karte. Daher ruft das Programm in
Schritt 220 ein Management-ARP- (MARP-) Protokoll auf,
um zu ermitteln, ob der Weg zum Ziel über einen Port auf einer anderen
Karte führt.
Dazu stellt das Programm dem IP-Paket
ein MARP-Anforderungspaket voran und verschickt es per Rundsendung über den
Managementbus 16, um festzustellen, ob ein anderes FM 10 über den
Pfad zum Ziel verfügt.
Das FM 10 mit der IP-Zielroute entnimmt das MARP-Paket
und leitet das IP-Paket über
die entsprechende Schnittstelle weiter. Anschließend wird ein MARP-Antwortpaket
zurück
an das FM 10 versandt, von dem das MARP-Paket kam, so daß seine
ARP-Tabelle 112 gemäß Schritt 222 mit
der Portinformation aktualisiert werden kann. Alle folgenden Pakete
können
nun direkt an den Port weitergeleitet werden und brauchen nicht über den
Bus rundgesendet zu werden.If there is no entry in the ARP table for the destination address or the next-hop router, the path to the destination does not pass through one of the ports on the same card. Therefore, the program calls in step 220 a management ARP (MARP) protocol to determine if the path to the destination passes through a port on another card. For this purpose, the program prefaces the IP packet with a MARP request packet and broadcasts it via the management bus 16 to determine if another FM 10 has the path to the destination. The FM 10 with the destination IP route takes the MARP packet and forwards the IP packet via the appropriate interface. Then a MARP response packet is sent back to the FM 10 from which the MARP package came from, leaving its ARP table 112 according to step 222 can be updated with the port information. All the following packages can now be forwarded directly to the port and do not need to be broadcast over the bus.
Ist
beim Schritt 214 die Zieladresse nicht in der Weiterleitungstabelle 90 enthalten,
wird eine Anforderung nach der Route an das SCM 14 gesendet.
In Schritt 224 fragt das Programm, ob die Zieladresse in
der Routingtabelle 70 enthalten ist. Lautet die Antwort
JA, so wird die Route zur Zieladresse abgerufen und in Schritt 226 in
der Weiterleitungstabelle gespeichert. Existieren mehrere Routen
zum selben Ziel, liefert das SCM 14 vorzugsweise die Route
mit den geringsten Kosten. Wenn mehrere Routen zum selben Ziel existieren und
beide Routen dieselben Kosten verursachen, liefert das SCM 14 diejenige
Route, die in der Routingtabelle 70 als erste erscheint.
Anschließend
führt das
Programm einen Vergleich mit der ARP-Tabelle durch oder ruft die
MARP-Anforderung
auf, um das Paket an die Zieladresse weiterzuleiten.Is at the step 214 the destination address is not in the routing table 90 included is a request for the route to the SCM 14 Posted. In step 224 the program asks if the destination address is in the routing table 70 is included. If the answer is yes, the route to the destination address is retrieved and in step 226 stored in the forwarding table. If several routes to the same destination exist, the SCM delivers 14 preferably the route with the least cost. If there are multiple routes to the same destination and both routes cost the same, the SCM will deliver 14 the route that is in the routing table 70 appears first. The program then compares to the ARP table or calls the MARP request to forward the packet to the destination address.
Wenn
die Zieladresse nicht in der Routingtabelle 70 enthalten
ist, liefert das SCM 14 in Schritt 228 eine Meldung,
aus der hervorgeht, daß das
Ziel nicht erreichbar war, und das Paket wird in Schritt 230 fallengelassen.If the destination address is not in the routing table 70 is included, delivers the SCM 14 in step 228 a message stating that the destination was unreachable, and the package will be in step 230 dropped.
III. POLICYBASIERTES ROUTINGIII. POLICY-BASED ROUTING
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit
zum Auswählen eines
Routers anhand bestimmter Eigenschaften einer Verbindungsanforderung.
Solche Eigenschaften sind unter anderem ein ankommender Zugangskanal
oder eine ankommende Zugangsverbindung, eine rufende oder gerufene
Telefonnummer, ein Domainname, eine Quelladresse, eine Zieladresse
und dergleichen. Unter anderem erleichtert dieses Merkmal das Wholesaling
von Wählverbindungen
zu anderen ISPs. So kann beispielsweise der gesamte von einem bestimmten
Verbindungstyp (z.B. einer ISDN-Leitung) empfangene Benutzerverkehr
dem Router zugeführt
werden, der von einem Wholesaling-ISP betrieben wird, welcher dem
Inlink zugewiesen ist. Das policybasierte Routing ermöglicht also
die Auswahl eines Routingpfades innerhalb des Switches, ohne auf
eine separate Routingtabelle Bezug nehmen zu müssen.Another feature of the multi-service network switch off 1 is the ability to select a router based on specific properties of a connection request. Such features include an incoming access channel or inbound access connection, a calling or called telephone number, a domain name, a source address, a destination address, and the like. Among other things, this feature facilitates wholesaling dial-up connections to other ISPs. For example, all user traffic received by a particular type of connection (eg, an ISDN line) may be routed to the router operated by a wholesaling ISP assigned to the inlink. Policy-based routing thus allows selection of a routing path within the switch without having to refer to a separate routing table.
Für das domainbasierte
Routing kann die Login-Information eines Benutzers (z.B. "user@isp1.com") verwendet werden,
um einen ISP auszuwählen
und den Benutzer mit dem Authentifizierungsserver des ISPs zu authentifizieren.
Nach der Authentifizierung werden alle vom Benutzer kommenden Pakete
zu dem Router weitergeleitet, der für die vom ISP betriebene Domain
zugewiesen wurde.For the domain-based
Routing can use the login information of a user (e.g., "user@isp1.com")
to select an ISP
and authenticate the user with the authentication server of the ISP.
After authentication, all packets coming from the user are taken
forwarded to the router responsible for the domain operated by the ISP
was assigned.
Gemäß einer
Ausführungsform
der Erfindung unterhält
der Switch eine Domain-Datenbank mit Parametern, welche die Domain
festlegen, mit welcher der Benutzer zu verbinden ist. 10 zeigt
ein Entwurfsschema einer Domain-Datenbank 380 gemäß einer
Ausführungsform
der Erfindung. Jeder Domain-Datenbank 380 ist ein Domainname 382 vorangestellt,
durch den sie identifiziert wird, und ein Benutzer kann angeben, mit
dieser verbunden zu werden. Die Domain-Datenbank 380 beinhaltet
außerdem
die Adresse 384 eines Next-Hop-Routers, die einen dieser
Domain zugewiesenen Router identifiziert. Pakete, die von dem mit
der Domain verbundenen Benutzer kommen, werden anschließend an
den jeweiligen Router weitergeleitet.According to one embodiment of the invention, the switch maintains a domain database with parameters defining the domain with which the user is to be connected. 10 shows a design schema of a domain database 380 according to an embodiment of the invention. Every domain database 380 is a domain name 382 preceded by identifying it, and a user can specify to be connected to it. The domain database 380 also includes the address 384 a next-hop router that identifies a router assigned to that domain. Packages from that with the Domain connected users come, are then forwarded to the respective router.
Für das quellbasierte
Routing werden Pakete an einen bestimmten Router anhand der Quelladresse des
Pakets weitergeleitet. Somit greift der Benutzer mit einer bestimmten
Quelladresse nur auf die Domain zu, die hinter dem zugewiesenen
Router steht. Gemäß einer
Ausführungsform
der Erfindung sind Routerinformationen für quellbasiertes Routing für jeden
Benutzer im Authentifizierungsserver des ISPs eingerichtet.For the source-based
Routing packets to a specific router based on the source address of the router
Forwarded packet. Thus, the user accesses a particular one
Source address only to the domain that is behind the assigned one
Router stands. According to one
embodiment
The invention is router information for source-based routing for each
User set up in the ISP's authentication server.
Für anrufpolicybasiertes
Routing werden Pakete anhand einer Telefonnummer, einer Verbindung
oder eines Kanals einer Wählverbindung
an einen bestimmten Router weitergeleitet. Gemäß einer Ausführungsform
der Erfindung unterhält
der Switch eine Anrufpolicy-Datenbank mit Anrufprofil-Informationen,
die als Anrufpolicy-Parameter bezeichnet werden und festlegen, wie
eine Wählverbindung
zu behandeln ist. Insbesondere gestatten die Anrufpolicy-Parameter
die Auswahl bestimmter Router, an welche der gesamte Benutzerverkehr
zu richten ist. Die Anrufpolicy-Datenbank kann auf mehrere Arten
konfiguriert werden, vorzugsweise jedoch in Form von mehreren Anrufpolicy-Einträgen, von
denen jeder ein eindeutiges Profil für eine Serie von Benutzern
definiert, die einen Zugang zum System fordern.For call-policy-based
Routing packets are based on a phone number, a connection
or a dial-up channel
forwarded to a specific router. According to one embodiment
the invention maintains
the switch has a call policy database with call profile information,
which are referred to as call policy parameters and determine how
a dial-up connection
to treat. In particular, the call policy parameters allow
the selection of specific routers to which all user traffic
to be addressed. The call policy database can be done in several ways
be configured, but preferably in the form of multiple call policy entries, from
each one a unique profile for a series of users
defined that require access to the system.
11 zeigt
ein Entwurfsschema eines Anrufpolicy-Eintrags 290 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Der Anrufpolicy-Eintrag 290 beinhaltet
einen Suchschlüssel 291 für die Eingabe
des Eintrags. Der Suchschlüssel 291 kann
so ausgelegt werden, daß er
eines von mehreren verschiedenen Merkmalen ist oder eine von mehreren
verschiedenen Kombinationen von Merkmalen ist, die einem ankommenden Anruf
zugeordnet sind. Vorzugsweise ist der Suchschlüssel 291 eine Telefonnummer,
ein Inlink oder ein Kanal innerhalb eines Inlinks (z.B. DS0), auf
welchem der Anruf übergeben
wird, oder eine Kombination aus beiden. Wenn der Suchschlüssel beispielsweise "Called" angibt, wird die
Anrufpolicy auf die angerufene Telefonnummer angewandt. Wenn der
Suchschlüssel "Calling" angibt, wird die
Anrufpolicy auf die anrufende Telefonnummer angewandt. Wenn der
Suchschlüssel "Inlink" ist, wird die Anrufpolicy
auf alle Anrufe angewandt, die über einen
vorgegebenen Inlink empfangen werden. Der spezielle Inlink und/oder
der spezielle Kanal sind in einem Quellverbindungsfeld 292 und/oder
einem Quellkanalfeld 293 angegeben. Die anrufenden oder
angerufenen Nummern sind in einem Telefonnummernfeld 316 angegeben. 11 shows a scheme of a call policy entry 290 according to an embodiment of the present invention. The call policy entry 290 includes a search key 291 for entering the entry. The search key 291 may be arranged to be one of several different features or one of several different combinations of features associated with an incoming call. Preferably, the search key 291 a telephone number, an inlink, or a channel within an in-line (eg, DS0) on which the call is transferred, or a combination of both. For example, if the search key indicates "Called," the call policy is applied to the called telephone number. If the search key indicates "calling", the calling policy is applied to the calling telephone number. If the search key is "inlink", the call policy is applied to all calls received over a given inlink. The special inlink and / or the special channel are in a source connection field 292 and / or a source channel field 293 specified. The calling or called numbers are in a telephone number field 316 specified.
Jeder
Anrufpolicy-Eintrag 290 beinhaltet einen Anruftyp 294,
der einen Typ eines empfangenen Anrufs angibt, und einen Diensttyp 296,
der einen Typ eines vom Anruf angeforderten Dienstes angibt. Gemäß einer Ausführungsform
der Erfindung beinhaltet der Anruftyp 294 ISDN- und Modemanrufe
und der Diensttyp 296 Point-to-Point-Protocol- (PPP-) oder
Endgerätedienste.Each call policy entry 290 includes a call type 294 indicating a type of received call and a service type 296 indicating a type of service requested by the call. According to one embodiment of the invention, the call type includes 294 ISDN and modem calls and the service type 296 Point-to-Point Protocol (PPP) or Terminal Services.
Jeder
Anrufpolicy-Eintrag 290 beinhaltet ferner eine QoA-Klasse 298,
die den Prioritätstyp
angibt, welcher dem Anruf zu geben ist, sowie eine QoS-Klasse 300,
die den Prioritätstyp
angibt, welcher den zu befördernden
Paketen zu geben ist, wenn der Anruf angenommen wurde.Each call policy entry 290 also includes a QoA class 298 indicating the priority type to be given to the call and a QoS class 300 indicating the priority type to be given to the packets to be transported when the call is accepted.
Der
Anrufpolicy-Eintrag 290 beinhaltet außerdem eine ID 302 eines
virtuellen Routers und eine ID 304 eines virtuellen Privatnetzes.
Die ID 302 des virtuellen Routers gibt einen virtuellen
Router an, dem der Anruf zuzuführen
ist. Wie nachstehend noch ausführlicher
erläutert
wird, ist jedem virtuellen Router ein Satz von Ressourcen und Routingprotokollen
zugeordnet, die es dem virtuellen Router gestatten, innerhalb des
Switches als unabhängiger
Router zu wirken. Die ID 304 des virtuellen Privatnetzes
gibt ein virtuelles Privatnetz an, das den Zugang zum virtuellen
Router steuert.The call policy entry 290 also includes an ID 302 a virtual router and an ID 304 a virtual private network. The ID 302 The virtual router specifies a virtual router to which the call is to be delivered. As will be explained in more detail below, each virtual router is assigned a set of resources and routing protocols that allow the virtual router to act as an independent router within the switch. The ID 304 virtual private network specifies a virtual private network that controls access to the virtual router.
Zusätzlich zu
den obigen Merkmalen spezifiziert der Anrufpolicy-Eintrag 290 eine
Authentifizierungsquelle 306 entweder als den Authentifizierungsserver
des ISPs oder als eine vom Switch bereitgestellte lokale Datenbank.
Wenn die Authentifizierungsquelle der Authentifizierungsserver des
ISPs ist, spezifiziert der Anrufpolicy-Eintrag einen primären Authentifizierungsserver 312 und
einen sekundären
Authentifizierungsserver 314, der aktiviert wird, falls
der primäre
ausfällt.In addition to the above features, the call policy entry specifies 290 an authentication source 306 either as the ISP's authentication server or as a local database provided by the switch. If the authentication source is the ISP's authentication server, the call policy entry specifies a primary authentication server 312 and a secondary authentication server 314 which is activated if the primary fails.
Der
Anrufpolicy-Eintrag 290 beinhaltet außerdem eine IP-Adresse eines Domainnamensservers (DNS)
zum Abwickeln des Anrufs. Der Switch unterstützt vorzugsweise eine primäre DNS-Adresse 308 und eine
sekundäre
DNS-Adresse 310, die aktiviert wird, falls die primäre ausfällt.The call policy entry 290 also includes an IP address of a domain name server (DNS) to handle the call. The switch preferably supports a primary DNS address 308 and a secondary DNS address 310 which is activated if the primary fails.
Zum
Auswählen
des richtigen Routers für
die Wählverbindung
beinhaltet der Anrufpolicy-Eintrag 290 eine Domain-ID 311 mit einem
Index auf einen Domaindatenbankeintrag. Der Domaindatenbankeintrag
beinhaltet die Adresse des Routers, der den vom Benutzer kommenden
Verkehr abwickeln soll.To select the correct dial-up router, the call policy entry is included 290 a domain ID 311 with an index on a domain database entry. The domain database entry contains the address of the router that is to handle the traffic coming from the user.
12 zeigt
ein Prozeß-Flußdiagramm
für policybasiertes
Routing gemäß einer
Ausführungsform
der Erfindung. Das Programm startet, und in Schritt 318 detektiert
der Verbindungsmanager 46 einen ankommenden Anruf und informiert
den Ressourcenmanager 38 über das Anstehen eines Anrufs.
In Schritt 320 fragt der Ressourcenmanager 38 von
der Anrufpolicy-Datenbank unter Verwendung eines oder mehrerer der Suchschlüssel 291 den
richtigen Anrufpolicy-Eintrag 290 ab. In Schritt 322 werden
die im Anrufpolicy-Eintrag 290 aufgelisteten Anrufparameter
identifiziert und in Schritt 324 angewandt. Andere Policies
wie z.B. das domainbasierte Routing können bei Eignung ebenfalls
angewandt werden. In Schritt 326 routet das Programm den
Anruf anhand der Policy-Parameter zum richtigen Router. 12 FIG. 12 shows a policy-based routing process flowchart according to an embodiment of the invention Invention. The program starts, and in step 318 the connection manager detects 46 an incoming call and informs the resource manager 38 about queuing a call. In step 320 the resource manager asks 38 from the call policy database using one or more of the search keys 291 the correct call policy entry 290 from. In step 322 are the in the call policy entry 290 listed call parameters and identified in step 324 applied. Other policies, such as domain-based routing, may also be used if appropriate. In step 326 The program routes the call to the correct router based on the policy parameters.
IV. ZUGANGSQUALITÄT IN ZUGANGSSERVERNIV. ACCESS QUALITY IN ACCESS SERVER
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit,
daß er
den abgestuften Zugang zu Systemressourcen einschließlich Anwahlmodem-
und ISDN-Ressourcen
durch Zuweisung von QoA-Klassen zu ankommenden Verbindungsanforderungen
gestattet. Auf diese Weise kann ein ISP, der den Switch nutzt, unterschiedliche
Zugangsdienstklassen anbieten, deren Preise sich voneinander unterscheiden.
Je höher
die QoA-Klasse ist, desto höher
ist die Zugangspriorität
und folglich auch die Wahrscheinlichkeit, eine Verbindung zu bekommen,
wenn die Verfügbarkeit
von Ressourcen im Switch gering ist.Another feature of the multi-service network switch off 1 is the ability to allow tiered access to system resources including dial-up modem and ISDN resources by assigning QoA classes to incoming connection requests. In this way, an ISP using the switch can offer different access classes whose rates are different. The higher the QoA class, the higher the access priority, and therefore the likelihood of connecting if the availability of resources in the switch is low.
Gemäß einer
Ausführungsform
der Erfindung ist die QoA-Klasse
für eine
ankommende Verbindung im Anrufpolicy-Eintrag 290 definiert.
Der Anrufpolicy-Eintrag gibt QoA-Zugangsklassen anhand eines bestimmten Merkmals
des ankommenden Anrufs wie etwa des Inlink-Typs, der Telefonnummer
oder einer ähnlichen
Information an. Wenn eine Verbindung angefordert wird, wird der
Anrufpolicy-Eintrag des Anrufs abgerufen und die QoA-Klasse des Anrufs
identifiziert. Anschließend
wird dem Anruf anhand der identifizierten QoA-Klasse und der aktuellen
Ressourcennutzung eine angeforderte Ressource zugewiesen.According to one embodiment of the invention, the QoA class is for an incoming call in the call policy entry 290 Are defined. The call policy entry indicates QoA access classes based on a particular feature of the incoming call, such as the inlink type, the telephone number, or similar information. When a connection is requested, the call policy entry of the call is retrieved and the call's QoA class is identified. The call is then assigned a requested resource based on the identified QoA class and current resource usage.
Wenn
der Ruthentifizierungsserver des ISPs zum Authentifizieren des Benutzers
verwendet wird, wird eine QoA-Klasse
des Benutzers ferner als Bestandteil der Benutzerkonfigurations-Information
definiert. Die QoA-Klasse im Authentifizierungsserver kann so konfiguriert
werden, daß sie
der QoA-Klasse im Anrufpolicy-Eintrag vorgeht.If
the authentication server of the ISP to authenticate the user
is used, becomes a QoA class
the user also as part of the user configuration information
Are defined. The QoA class in the authentication server can be configured this way
they will
the QoA class in the call policy record.
13 zeigt
ein Entwurfsschema einer QoA-Tabelle 332 gemäß einer
Ausführungsform
der Erfindung. Die QoA-Tabelle 332 beinhaltet eine Standardanzahl
von QoA-Klassen 328 und Zugangsschwellen 330, die
jeder der QoA-Klassen zugeordnet sind. Gemäß einer Ausführungsform
der Erfindung beträgt
die Standardanzahl der QoA-Klassen 328 vier. Die jeder
der QoA-Klassen 328 zugeordnete
Zugangsschwelle 330 gibt vorzugsweise eine Höchstzahl
von Ressourcen an, die in Benutzung sein darf, bevor eine Ressource
der Verbindungsanforderung zugewiesen wird. Wenn die Ressourcennutzung
die Zugangsschwelle 330 entsprechend der QoA-Klasse 328 des
Benutzers überschreitet,
wird die Anforderung zurückgewiesen.
Im Beispiel in 13 hat ein Benutzer mit der
niedrigsten QoA-Klasse (Klasse 1) immer Zugang zu verfügbaren Systemressourcen.
Ein Benutzer mit einer QoA-Klasse von 2 hat Zugang zu verfügbaren Systemressourcen,
bis 75 Prozent dieser Ressourcen in Benutzung sind. An diesem Punkt
haben keine neuen Benutzer mehr die Erlaubnis zum Zugang zu Systemressourcen,
bis weitere Ressourcen verfügbar
werden. Für
einen Benutzer mit einer QoA-Klasse
von 4 werden die Systemressourcen zum begrenzenden Faktor, sobald
die Zugangsschwelle 25 Prozent erreicht. 13 shows a design schema of a QoA table 332 according to an embodiment of the invention. The QoA table 332 includes a standard number of QoA classes 328 and access thresholds 330 that are associated with each of the QoA classes. According to one embodiment of the invention, the standard number of QoA classes is 328 four. The each of the QoA classes 328 assigned access threshold 330 Preferably, specifies a maximum number of resources that may be in use before a resource is assigned to the connection request. If the resource usage is the access threshold 330 according to the QoA class 328 exceeds the user's request will be rejected. In the example in 13 a user with the lowest QoA class (class 1) always has access to available system resources. A user with a QoA class of 2 has access to available system resources until 75 percent of those resources are in use. At this point, new users no longer have permission to access system resources until more resources become available. For a user with a QoA class of 4, system resources become the limiting factor once the access threshold reaches 25 percent.
Gemäß einer
Ausführungsform
der Erfindung reserviert das System die Systemressourcen für andere Verbindungen,
indem es Benutzer mit niedrigen QoA-Klassen abtrennt. Diesbezüglich kontrolliert
der Ressourcenmanager 38 in regelmäßigen Intervallen den Nutzungsgrad
der Systemressourcen (z.B. alle 60 Sekunden). Der Ressourcenmanager 38 vergleicht
die in Benutzung befindlichen Systemressourcen mit der Zugangsschwelle 330,
die der QoA-Klasse jedes eingeloggten Benutzers zugeordnet ist.
Wenn die in Benutzung befindlichen Systemressourcen die Zugangsschwelle 330 eines
Benutzers überschreiten,
wird der Benutzer abgetrennt. Sind mehrere Benutzer mit unterschiedlichen
QoA-Klassen mit dem Internet verbunden, so trennt der Ressourcenmanager 38 die
Benutzer vorzugsweise in absteigender Reihenfolge ab. So werden
beispielsweise Benutzer mit einer QoA-Klasse von 4 zuerst abgetrennt,
dann Benutzer mit einer QoA-Klasse von 3 und so fort, bis genügend Ressourcen
wieder zur Verfügung
stehen, um künftige
Verbindungsanforderungen bedienen zu können.According to one embodiment of the invention, the system reserves the system resources for other connections by disconnecting users with low QoA classes. In this regard, the resource manager controls 38 at regular intervals the degree of utilization of the system resources (eg every 60 seconds). The resource manager 38 compares the system resources in use with the access threshold 330 that is associated with the QoA class of each logged-in user. If the system resources in use are the access threshold 330 of a user, the user is disconnected. If several users with different QoA classes are connected to the Internet, the resource manager disconnects 38 the users preferably in descending order. For example, users with a QoA class of 4 will be disconnected first, then users with a QoA class of 3 and so on, until enough resources are available again to serve future connection requests.
Als
Beispiel sei angenommen, daß drei
Benutzer mit dem Internet verbunden sind. Benutzer 1 hat eine QoA-Klasse
von 1, Benutzer 2 eine QoA-Klasse von 2 und Benutzer 3 hat eine
QoA-Klasse von 3.
Solange der Nutzungsgrad der Systemressourcen 50 Prozent oder weniger
beträgt,
bleiben alle drei Benutzer mit dem Switch verbunden. Sobald der
Nutzungsgrad 70 Prozent erreicht, bleiben nur noch die Benutzer
1 und 2 verbunden. Benutzer 3 wird abgetrennt, und die Ressourcen,
die bis dahin von Benutzer 3 in Anspruch genommen wurden, werden
wieder vom Ressourcenmanager 38 beansprucht. Steigt der
Nutzungsgrad der Systemressourcen auf 80 Prozent oder mehr, so bleibt
nur noch Benutzer 1 mit dem Internet verbunden.For example, assume that three users are connected to the Internet. User 1 has a QoA class of 1, User 2 has a QoA class of 2, and User 3 has a QoA class of 3. As long as the system resource usage is 50 percent or less, all three users remain connected to the switch. Once the utilization reaches 70 percent, only users 1 and 2 remain connected. User 3 is disconnected, and the resources used by User 3 until then were again from the resource manager 38 claimed. If system resource utilization increases to 80 percent or more, only user 1 remains connected to the Internet.
Wenn
mehrere Benutzer mit derselben QoA-Klasse mit dem Internet verbunden
sind, trennt der Ressourcenmanager 38 vorzugsweise die
Benutzer mit derselben Klasse nach dem First- in-first-out-Prinzip ab. Es wird also
derjenige Benutzer zuerst abgetrennt, der am längsten eingeloggt war.If multiple users with the same QoA class are connected to the Internet, the Resource Manager disconnects 38 Preferably, the users with the same class on the first-in-first-out principle from. Thus, the user who was logged in the longest is first disconnected.
V. MODEMPOOL-MANAGEMENT
FÜR WÄHLANWENDUNGENV. MODEMPOOL MANAGEMENT
FOR MONITORING
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit,
ankommenden Verbindungsanforderungen dynamisch Systemressourcen
zuzuweisen. Die Ressourcen sind nicht auf bestimmte Ports festgelegt,
sondern können
von den verschiedenen Karten nach Bedarf gemeinsam genutzt werden.Another feature of the multi-service network switch off 1 is the ability to dynamically allocate system resources to incoming connection requests. The resources are not set to specific ports, but can be shared by the various cards as needed.
14 zeigt
eine Darstellung eines Pfades, über
den eine Verbindung hergestellt werden könnte, wenn Ressourcen gemeinsam
genutzt werden. Im Beispiel in 14 handelt
es sich bei der Verbindung um einen Modemanruf, der als DS0 an einem
Port eines T1-WAN-Leitungsschnittstellen-FMs 380 eintrifft.
Das FM besitzt keine eigenen Modems, so daß der Ressourcenmanager 38 ein
verfügbares
Modem sucht und den DS0 über
den TDM-Bus 18 an das Digitalmodemserver-FM 382 routet.
Nach der Demodulation werden die resultierenden Pakete nach Bedarf
aufbereitet und über
den Cell-Bus 20 an ein Ausgangs-FM 384 weitergeleitet. 14 Figure 10 shows an illustration of a path through which a connection could be established when resources are shared. In the example in 14 If the connection is a modem call that is DS0 to a port of a T1 WAN trunk interface FM 380 arrives. The FM does not have its own modems, so the resource manager 38 an available modem is looking for and DS0 over the TDM bus 18 to the digital modem server FM 382 routes. After demodulation, the resulting packets are prepared as needed and over the cell bus 20 to an output FM 384 forwarded.
Gemäß einer
Ausführungsform
der Erfindung ist der in jedem FM 10 resident vorhandene
Ressourcenmanager 38 verantwortlich für die Zuweisung und Verwaltung
von Systemressourcen. Der Ressourcenmanager führt vorzugsweise eine Tabelle
lokaler Ressourcen und übermittelt
diese Informationen per Rundsendung an alle anderen FMs 10 im
System. Danach besitzt jedes FM 10 eine vollständige Übersicht über sämtliche
Ressourcen, die im Switch verfügbar
oder in Benutzung sind. Der Ressourcenmanager 38 ist außerdem vorzugsweise
verantwortlich für
das Überwachen
des fehlerfreien Betriebs lokaler Ressourcen. So können beispielsweise
mutmaßlich
defekte Modems als nicht verfügbar
gekennzeichnet und außer
Betrieb genommen werden.According to one embodiment of the invention, that is in each FM 10 resident existing resource manager 38 responsible for allocating and managing system resources. The resource manager preferably maintains a table of local resources and broadcasts this information to all other FMs 10 in the system. After that, each FM owns 10 a complete overview of all the resources available or in use on the switch. The resource manager 38 In addition, it is preferably responsible for monitoring the error-free operation of local resources. For example, suspected defective modems may be marked unavailable and taken out of service.
15 zeigt
ein Entwurfsschema einer Modemressourcentabelle 334, die
vom Ressourcenmanager 38 gemäß einer Ausführungsform
der Erfindung geführt
wird. Ähnliche
Tabellen werden außerdem
vorzugsweise für
ISDN- und andere Systemressourcen geführt. 15 shows a design scheme of a modem resource table 334 by the resource manager 38 is guided in accordance with an embodiment of the invention. Similar tables are also preferably maintained for ISDN and other system resources.
Der
Ressourcenmanager 38 verfolgt verfügbare Modemressourcen in der
Modemressourcentabelle 334 sowohl nach QoA-Klassen als
auch nach dem virtuellen Router (VR). Daher beinhaltet die Tabelle 334 ein VR-ID-Feld 336,
das den virtuellen Router angibt, für welchen Modemressourcen verfolgt
werden. Ein Feld 338 für
die maximalen lokalen Ressourcen gibt eine Höchstzahl von Modems an, die
dem VR auf dem FM 10 zugewiesen sind. Ein Wert von Null
in diesem Feld kann darauf hindeuten, daß das FM 10 kein Modemmodul
ist. Ein Feld 340 für
die maximalen globalen Ressourcen gibt eine Höchstzahl von Modems im gesamten
Switch an, die dem VR zugewiesen wurden.The resource manager 38 tracks available modem resources in the modem resource table 334 both for QoA classes and for the virtual router (VR). Therefore, the table includes 334 a VR-ID field 336 indicating the virtual router for which modem resources are being tracked. A field 338 for the maximum local resources specifies a maximum number of modems that the VR on the FM 10 are assigned. A value of zero in this field may indicate that the FM 10 is not a modem module. A field 340 Maximum Global Resources indicates a maximum number of modems in the entire switch that have been assigned to the VR.
Ein
Feld 342 für
die aktuellen lokalen Ressourcen gibt eine aktuelle Zahl von Modems
an, die dem Vr auf dem FM 10 zur Verfügung stehen. Die Differenz
zwischen dieser Zahl und der Zahl aus dem Feld 338 für die maximalen
lokalen Ressourcen gibt die Zahl der Modems an, die vom VR auf dem
FM 10 in Benutzung sind. Ein Feld 344 für die aktuellen
globalen Ressourcen gibt die Zahl der Modems an, die vom VR im gesamten
Switch in Benutzung sind. Die Differenz zwischen dieser Zahl und
der Zahl aus dem Feld 340 für die maximalen globalen Ressourcen
gibt die Zahl der Modems an, die vom VR im gesamtem Switch in Benutzung sind.A field 342 for the current local resources specifies an actual number of modems that the Vr on the FM 10 be available. The difference between this number and the number from the field 338 for the maximum local resources specifies the number of modems that the VR on the FM 10 are in use. A field 344 the current global resources are the number of modems in use by the VR throughout the switch. The difference between this number and the number from the field 340 Maximum Global Resources specifies the number of modems in use by the VR in the entire switch.
Ein
QoA-Feld 346 gibt die vom Switch unterstützten Qoa-Klassen an. Gemäß einer
Ausführungsform der
Erfindung unterstützt
der Switch vier QoA-Klassen, wobei die Klasse 1 der höchsten Priorität entspricht.A QoA field 346 Specifies the switch-supported Qoa classes. According to one embodiment of the invention, the switch supports four QoA classes, with class 1 corresponding to the highest priority.
Ein
Feld 348 für
die lokale QoA gibt die Zahl der Modems an, die im FM 10 für die für den angegebenen VR
aufgelistete QoA-Klasse zur Verfügung
stehen. Im Beispiel in 15 greift ein QoA von 1 auf
den Switch zu, wenn null oder mehr Modems verfügbar sind (100% der Zeit),
während
ein QoA von 2 auf den Switch zugreift, wenn 8 oder mehr Modems verfügbar sind
(75% der Zeit), ein QoA von 3 auf den Switch zugreift, wenn 16 oder
mehr Modems verfügbar
sind (50% der Zeit) und ein QoA von 4 auf den Switch zugreift, wenn
24 oder mehr Modems verfügbar
sind (25% der Zeit).A field 348 for the local QoA, the number of modems that are in the FM 10 available for the listed QoA class for the specified VR. In the example in 15 For example, a QoA of 1 accesses the switch when zero or more modems are available (100% of the time), while a QoA of 2 accesses the switch when 8 or more modems are available (75% of the time), a QoA 3 accesses the switch when 16 or more modems are available (50% of the time) and a QoA of 4 accesses the switch when 24 or more modems are available (25% of the time).
Ein
Feld 350 für
die globale QoA liefert ähnliche
Informationen wie das Feld 348 für die lokale QoA, jedoch für den gesamten
Switch. Somit gibt das Feld 350 für die globale QoA die Zahl
der Modems an, die im gesamten Switch für die für den angegebenen VR aufgelistete
QoA-Klasse zur Verfügung
stehen.A field 350 for the global QoA provides similar information as the field 348 for the local QoA, but for the entire switch. Thus, the field gives 350 For global QoA, the number of modems available throughout the switch for the QoA class listed for the specified VR.
Ein
Feld 352 für
die lokale Akzeptanz gibt anhand der Zahl der verfügbaren lokalen
Ressourcen gemäß den Angaben
im Feld 342 für
die aktuellen lokalen Ressourcen an, ob jede der aufgelisteten QoA-Klassen auf
das FM 10 zugreifen kann. Die gültigen Werte sind vorzugsweise
Ja und Nein. Die Werte Ja und Nein werden dynamisch berechnet, so
daß bei
zunehmender Inanspruchnahme von Ressourcen die Ja-Werte in Nein-Werte
wechseln können,
jedoch mit Ausnahme der QoA-Klasse 1, der der Zugriff stets gestattet
ist.A field 352 for the local acceptance given by the number of available local resources as indicated in the box 342 For the current local resources, check whether each of the listed QoA classes is on the FM 10 can access. The valid values are preferably yes and no. The values Yes and No are calculated dynamically, so that as resources increase, the Yes values can change to No values, with the exception of QoA class 1, which is always allowed access.
Ein
Feld 354 für
die globale Akzeptanz liefert ähnliche
Informationen wie das Feld 352 für die lokale Akzeptanz, jedoch
für den
gesamten Switch. Somit gibt das Feld 354 für die globale
Akzeptanz anhand der Zahl der verfügbaren globalen Ressourcen
gemäß den Angaben
im Feld 344 für
die aktuellen globalen Ressourcen an, ob jedes der aufgelisteten
QoA-Niveaus auf den Switch zugreifen kann.A field 354 for global acceptance provides similar information as the field 352 for local acceptance, but for the entire switch. Thus, the field gives 354 for global acceptance based on the number of available global resources as indicated in the field 344 for the current global resources, whether each of the listed QoA levels can access the switch.
16 zeigt
ein Flußdiagramm
eines Ressourcenzuordnungsprozesses gemäß einer Ausführungsform
der Erfindung. Wenn ein Benutzer in Schritt 356 eine Verbindungsanforderung
auslöst,
detektiert der Verbindungsmanager 46 die ankommende Verbindungsanforderung
in Schritt 358 über
eine der Schnittstellenleitungen und benachrichtigt in Schritt 360 den
Ressourcenmanager 38, der im FM 10, welches die
Anforderung empfängt
(dem empfangenden FM) resident vorhanden ist. In Schritt 362 ruft
der Ressourcenmanager 38 den zugehörigen Anrufpolicy-Eintrag 290 anhand
der Eigenschaften der Verbindungsanforderung aus der Anrufpolicy-Datenbank
ab. Der abgerufene Anrufpolicy-Eintrag beinhaltet unter anderem
den Anruftyp, die QoA-Klasse und die dem Anruf zugeordnete VR-ID. 16 FIG. 12 shows a flowchart of a resource allocation process according to an embodiment of the invention. FIG. When a user in step 356 triggers a connection request, the connection manager detects 46 the incoming connection request in step 358 over one of the interface lines and notified in step 360 the resource manager 38 who in FM 10 receiving the request (the receiving FM) is resident. In step 362 calls the resource manager 38 the associated call policy entry 290 based on the connection request properties from the call policy database. The retrieved call policy entry includes, among other things, the call type, the QoA class, and the VR ID associated with the call.
Je
nach Anruftyp ermittelt der Ressourcenmanager 38 den Typ
der Ressource, die dem Anruf zuzuweisen ist. Handelt es sich beispielsweise
um einen ISDN-Anruf, so werden ihm ISDN-Ressourcen zugewiesen. Ist der Anruf
dagegen ein Modemanruf, so werden ihm Modemressourcen zugewiesen.Depending on the call type, the resource manager determines 38 the type of resource to assign to the call. For example, if it is an ISDN call, it will be assigned ISDN resources. If, on the other hand, the call is a modem call, modem resources are assigned to it.
In
Schritt 364 fragt das Programm ab, ob die angegebene Ressource
lokal im empfangenden FM 10 resident vorhanden ist. Lautet
die Antwort JA, so weist der Ressourcenmanager 38 in Schritt 366 die
angegebene Ressource dem Anruf anhand der angegebenen VR-ID und
der QoA-Klasse zu. In Schritt 368 aktualisiert der Ressourcenmanager 38 seine
lokale Ressourcentabelle 334 unter Angabe der Zuweisung
der angegebenen Ressource. Darüber
hinaus übermittelt
der Ressourcenmanager 38 im empfangenden FM 10 eine
Rundsendung, aus der hervorgeht, daß die angegebene Ressource
zugewiesen wurde, so daß alle
anderen Ressourcenmanager ihre jeweiligen Ressourcentabellen ebenfalls
aktualisieren können.
In Schritt 370 wird der Benutzer – vorzugsweise über den
Authentifizierungsserver des ISPs – authentifiziert und kann
nun mit dem Senden und Empfangen von Datenpaketen beginnen.In step 364 The program asks if the specified resource is local to the receiving FM 10 resident is present. If the answer is yes, the resource manager instructs 38 in step 366 assign the specified resource to the call based on the specified VR ID and QoA class. In step 368 updates the resource manager 38 his local resource table 334 indicating the assignment of the specified resource. In addition, the resource manager submits 38 in the receiving FM 10 a broadcast that indicates that the specified resource has been assigned so that all other resource managers can also update their respective resource tables. In step 370 the user is authenticated, preferably via the authentication server of the ISP, and can now begin to send and receive data packets.
Wenn – nochmals
unter Bezug auf Schritt 364 – die angegebene Ressource
nicht lokal vorhanden ist, übermittelt
der Ressourcenmanager 38 in Schritt 372 per Rundsendung
eine Ressourcenanforderung, welche die QoA-Klasse und die VR-ID
beinhaltet, die dem ankommenden Anruf zugeordnet sind. Die Ressourcenmanager 38 in
den übrigen
FMs 10 empfangen die Anforderung und überprüfen ihre lokalen Ressourcentabellen 334 darauf,
ob eine Ressource für
die angegebene QoA-Klasse und die angegebene VR-ID zur Verfügung steht.
Wenn ja, empfängt
das empfangende FM 10 in Schritt 374 eine Meldung
von jedem einzelnen FMs 10, aus der die Verfügbarkeit
der angeforderten Ressource hervorgeht. Gemäß einer Ausführungsform
der Erfindung wird dem ersten FM 10, das auf die Verbindungsanforderung
antwortet, der Anruf zugeordnet, während die übrigen Antworten ignoriert
werden.If - again with reference to step 364 - The specified resource does not exist locally, the resource manager submits 38 in step 372 Broadcast a resource request that includes the QoA class and the VR-ID associated with the incoming call. The resource manager 38 in the remaining FMs 10 receive the request and check their local resource tables 334 whether a resource is available for the specified QoA class and VR-ID. If so, the receiving FM receives 10 in step 374 a message from each individual FM 10 showing the availability of the requested resource. According to one embodiment of the invention, the first FM 10 that answers the connection request, the call is assigned while the remaining responses are ignored.
Beim
Zuweisen der Ressource zum Anruf übermittelt der Verbindungsmanager 46 des
empfangenden FMs 10, wie Schritt 366 zeigt, per
Rundsendung eine Verbindungsanforderung, um die Ressource mit dem
ersten antwortenden FM 10 zu verbinden. Der Verbindungsmanager 46 im
empfangenden FM 10 antwortet daraufhin mit einer Meldung,
daß der
Anruf verbunden wurde. Gemäß einer
Ausführungsform
der Erfindung weist das antwortende FM 10 ein Modem aus
seinem lokalen Pool zu, wobei es mit dem Modem auf Port 1 beginnt. Der
nächste
Anruf, der vom empfangenden FM 10 übergenommen wird, geht an Port
2, dann an Port 3 und so fort. Wird ein Anruf auf Port 1 oder Port
2 beendet, bevor Port 3 einen Anruf übernimmt, so verbleiben die Ports
1 und 2 unbenutzt, wobei der dritte Anruf weiterhin von Port 3 bedient
wird. Wenn ein Modemport in Benutzung ist und dieser Port der nächste Port
ist, der den Anruf normalerweise beantworten würde, erfolgt die Zuweisung
des Ports fortan zufallsbedingt, so daß jeder folgende Port den Anruf
beantworten kann.When assigning the resource to the call, the connection manager submits 46 the receiving FM 10 like step 366 shows, by broadcast, a connection request to the resource with the first answering FM 10 connect to. The connection manager 46 in the receiving FM 10 will answer with a message that the call has been connected. According to one embodiment of the invention, the answering FM 10 a modem from its local pool, starting with the modem on port 1. The next call, from the receiving FM 10 takes over, goes to port 2, then to port 3 and so on. If a call to port 1 or port 2 terminates before port 3 takes a call, ports 1 and 2 remain unused, with the third call still serviced by port 3. If a modem port is in use and this port is the next port that would normally answer the call, the port will now be randomized so that each subsequent port can answer the call.
Wenn
keine Ressourcen verfügbar
sind, die der spezifizierten QoA-Klasse und der spezifizierten VR-ID
entsprechen, veranlaßt
der Verbindungsmanager 46 im empfangenden FM 10,
daß der
Anruf beendet wird.If no resources are available, those of the specified QoA class and the specified ones VR ID, causes the connection manager 46 in the receiving FM 10 that the call is terminated.
Wenn
ein Anruf verbunden und ihm eine Ressource zugewiesen wurde und
der Anruf beendet werden soll, empfängt die Schnittstellenleitung,
die den Anruf überträgt, eine
Anforderung zum Trennen des Anrufs und informiert den Verbindungsmanager 46.
Wenn dem Anruf eine lokale Ressource vom empfangenden FM 10 zugewiesen
wurde, wird er lokal beendet, und die dem Anruf zugewiesene Ressource
wird an den Pool zurückgegeben.
Alle Ressourcenmanager 38 aktualisieren daraufhin ihre
Ressourcentabellen, die nunmehr angeben, daß die Ressource verfügbar geworden
ist.When a call is connected and assigned a resource and the call is to be terminated, the interface line transmitting the call receives a request to disconnect the call and informs the connection manager 46 , If the call is a local resource from the receiving FM 10 is assigned, it is terminated locally, and the resource assigned to the call is returned to the pool. All resource managers 38 then update their resource tables, which now indicate that the resource has become available.
Wenn
dem Anruf eine Ressource von einer anderen Karte zugewiesen wurde, übermittelt
der Verbindungsmanager 46 im empfangenden FM 10 per
Rundsendung eine Anforderung zum Trennen des Anrufs. Der Verbindungsmanager 46 in
dem FM 10, das die Ressource zugewiesen hat, nimmt daraufhin
das Trennen des Anrufs vor. Der Verbindungsmanager 46 in
dem FM 10, das die Ressource zugewiesen hat, übermittelt
danach per Rundsendung eine Meldung, daß der Anruf getrennt wurde.
Die Ressource wird danach an den freien Pool zurückgegeben, und die Ressourcenmanager
in jedem der FMs 10 aktualisieren ihre Ressourcentabellen,
die nunmehr angeben, daß die
Ressource verfügbar
geworden ist.If the call has a resource assigned from another card, the connection manager submits 46 in the receiving FM 10 Broadcast a request to disconnect the call. The connection manager 46 in the FM 10 that assigned the resource will then disconnect the call. The connection manager 46 in the FM 10 who has assigned the resource will then broadcast a message that the call has been disconnected. The resource is then returned to the free pool and the resource managers in each of the FMs 10 update their resource tables, which now indicate that the resource has become available.
VI. MEHRERE VIRTUELLE
ROUTERVI. MULTIPLE VIRTUAL
ROUTER
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit,
den Switch in mehrere virtuelle Router (VRs) zu partitionieren,
wobei jedem VR einen Satz von Ressourcen (z.B. ISDN- oder Modemressourcen)
und Routingtabellen zugewiesen wird. Somit funktioniert jeder VR
unabhängig
und autark als separater Router.Another feature of the multi-service network switch off 1 is the ability to partition the switch into multiple virtual routers (VRs) with each VR assigned a set of resources (eg, ISDN or modem resources) and routing tables. Thus, each VR works independently and self-sufficient as a separate router.
Das
Systemkonzept zum Ressourcenmanagement ermöglicht das effiziente Bereitstellen
von VRs. Wie oben beschrieben, sind Systemressourcen nicht an einen
bestimmten Steckplatz oder eine bestimmte Schnittstelle gebunden
und können
deshalb flexibel auf die verschiedenen VRs verteilt werden.The
System concept for resource management enables efficient deployment
from VRs. As described above, system resources are not at one
bound to a specific slot or interface
and can
Therefore be distributed flexibly to the different VRs.
Gemäß einer
Ausführungsform
der Erfindung wird beim Booten des Systems ein Standard-Systemrouter
erzeugt. Dieser Router ist vorzugsweise ständig im System präsent, und
alle Ressourcen gehören
zum Systemrouter, bis sie den VRs wieder zugewiesen werden.According to one
embodiment
The invention becomes a standard system router when booting the system
generated. This router is preferably constantly present in the system, and
all resources belong
to the system router until they are reassigned to the VRs.
Ein
Systemadministrator kann neue VRs erzeugen und diesen Ressourcen
zuweisen. Der Systemadministrator kann außerdem Routingkonfigurationen
für die
VRs vornehmen.One
System Administrator can create new VRs and these resources
to assign. The system administrator can also configure routing configurations
for the
Make VRs.
Ein
neuer VR wird vorzugsweise erzeugt, indem ihm ein eindeutiger Name
und eine eindeutige VR-ID zugeordnet werden. Anschließend wird
der neue VR durch Einrichten seiner physikalischen Schnittstellen
und IP-Schnittstellen sowie durch Aktivieren seiner Routingprotokolle
konfiguriert. Nach dem Konfigurieren wird der VR aktiviert und kann
fortan als unabhängiger
Router arbeiten.One
new VR is preferably generated by giving it a unique name
and a unique VR ID. Subsequently, will
the new VR by setting up its physical interfaces
and IP interfaces and by enabling its routing protocols
configured. After configuration, the VR is activated and can
henceforth as an independent
Router work.
Insbesondere
wird ein Teil der für
das System verfügbaren
Ressourcen dem neu erzeugten VR zugewiesen. Solche Ressourcen können Anwahlmodem-,
ISDN-, T1-, PRI-, Ethernet- und/oder Frame-Relay-Ressourcen sein.
Ethernet-Ressourcen werden PMweise partitioniert. Somit verfügt jeder
VR entweder über
das gesamte Ethernet-Switch-PM 12a oder über gar
kein PM. PRI- und T1-Ressourcen werden auf DS0-Ebene partitioniert.
Frame-Relay-Ressourcen
werden auf der Ebene der permanenten virtuellen Leitungen (Permanent
Virtual Circuit, PVCs) partitioniert.In particular, a portion of the resources available to the system are allocated to the newly created VR. Such resources may be dial-up modem, ISDN, T1, PRI, Ethernet, and / or Frame Relay resources. Ethernet resources are partitioned by PM. Thus, each VR has either the entire Ethernet Switch PM 12a or no PM at all. PRI and T1 resources are partitioned at DS0 level. Frame relay resources are partitioned at the level of the permanent virtual circuit (PVCs).
Jedem
VR ist außerdem
eine Anzahl von Modem- und ISDN-Ressourcen
im Anwahlpool zugeordnet. Gemäß einer
Ausführungsform
der Erfindung ist jedem VR ein fester prozentualer Anteil oder eine
feste Anzahl des Pools zugeordnet. Der Ressourcenmanager 38 überwacht
die Nutzung der Ressourcen für
jeden VR für jede
QoA-Klasse. Wenn ein Anruf eingeht, identifiziert der Ressourcenmanager 38 die
VR-ID des ankommenden Anrufs und weist dynamisch die Modem- oder
ISDN-Ressourcen
zu, wenn er innerhalb der Grenzen liegt, die für den VR und die QoA des Benutzers
festgelegt sind.Each VR is also assigned a number of modem and ISDN resources in the dial-up pool. According to one embodiment of the invention, each VR is assigned a fixed percentage or a fixed number of the pool. The resource manager 38 monitors the usage of resources for each VR for each QoA class. When a call comes in, the resource manager identifies 38 the VR ID of the incoming call and dynamically allocate the modem or ISDN resources if it is within the limits set for the user's VR and QoA.
Darüber hinaus
verfügt
jeder VR über
eine Instanz eines IP-Protokoll-Stacks und über seine eigene Routingtabelle 70 für Routingprotokolle
wie z.B. RIP, OSPF, GBP4 und dergleichen. Das SCM 14 führt daher, wie
in 17 veranschaulicht, für jeden VR eine Routingtabelle 70 anhand
der VR-ID. Überdies
verfügt
jeder VR über
seine eigene Weiterleitungstabelle 90 und einen IP-Cache 102 zum
Weiterleiten von IP-Paketen, die ebenfalls anhand der VR-ID geführt werden.In addition, each VR has an instance of an IP protocol stack and its own routing table 70 for routing protocols such as RIP, OSPF, GBP4 and the like. The SCM 14 Therefore, as in 17 illustrates a routing table for each VR 70 based on the VR ID. Moreover, each VR has its own routing table 90 and an IP cache 102 for forwarding IP packets, which are also routed using the VR-ID.
Jeder
VR kann ferner in mehrere virtuelle Privatnetze (VPNs) zum Steuern
des Zugangs zu bestimmten Teilen des VRs partitioniert sein. Die
Zugangskontrolle wird mit einer Filtersoftware bewerkstelligt, die
an den VR gerichteten Verkehr anhand von Kriterien wie z.B. der
Quell- oder Zieladressen filtert.Everyone
VR can also be used in several virtual private networks (VPNs) to control
be partitioned to access certain parts of the VR. The
Access control is accomplished with a filtering software that
traffic directed to the VR based on criteria such as e.g. of the
Source or destination addresses filter.
Gemäß einer
Ausführungsform
der Erfindung bestehen VPNs aus VPN-Sitzungen, VPN-Regeln und VPN-Filtern.
VPN-Sitzungen sind ein Satz von Kriterien, die der Switch mit dem
Verkehr im Netz vergleicht. VPN-Regeln legen fest, wie die Pakete,
die mit der VPN-Sitzung übereinstimmen,
zu verarbeiten sind. VPN-Filter
verknüpfen
VPN-Sitzungen mit VPN-Regeln.According to one
embodiment
In the invention, VPNs consist of VPN sessions, VPN rules, and VPN filters.
VPN sessions are a set of criteria that the switch uses
Traffic in the network compares. VPN rules determine how the packets
that match the VPN session,
to be processed. VPN filter
link
VPN sessions with VPN rules.
18 zeigt
ein Entwurfsschema einer Sitzungstabelle 240 mit verschiedenen
VPN-Sitzungen gemäß einer
Ausführungsform
der Erfindung. Jede VPN-Sitzung in 18 beinhaltet
eine Sitzungs-ID 242, die zum Klassifizieren einer bestimmten
Sitzung dient. Da Sitzungen in numerischer Reihenfolge abgefragt
werden, gibt die Sitzungs-ID 242 vorzugsweise auch die
Reihenfolge an, in der Sitzungen in der Sitzungstabelle 240 mit
Paketen verglichen werden. Beispielsweise wird die Sitzung 1 zuerst
verglichen, dann die Sitzung 2 und so fort. Wenn ein Paket nicht
mit einer der Sitzungen übereinstimmt,
durchläuft
es die Liste bis zur nächsten Sitzung. 18 shows a design scheme of a session table 240 with different VPN sessions according to an embodiment of the invention. Every VPN session in 18 includes a session ID 242 which is used to classify a particular session. Because sessions are queried in numeric order, the session ID returns 242 preferably also the order in which sessions in the session table 240 be compared with packages. For example, Session 1 is compared first, then Session 2 and so on. If a packet does not match any of the sessions, it cycles through the list until the next session.
Jede
Sitzung beinhaltet außerdem
vorzugsweise eine VPN-ID 244, die zum Klassifizieren und
Kategorisieren von Wählverbindungen
dient. So kann beispielsweise eine Gruppe von Benutzern aus den
Mitarbeitern eines Unternehmens mit einer bestimmten VPN-ID 244 bestehen,
denen der Zugang zum Unternehmensnetz wie auch zum Internet gewährt wird,
während
eine zweite Gruppe von Benutzern aus Kunden mit einer anderen VPN-ID 244 bestehen
kann, denen zwar der Zugang zum Internet, nicht aber zum Unternehmensnetz gewährt wird.
In einer Ausführungsform
der Erfindung ist die VPN-ID jedes Benutzers im Authentifizierungsserver
des ISPs konfiguriert.Each session also preferably includes a VPN ID 244 which is used to classify and categorize dial-up connections. For example, a group of users from the employees of a company with a specific VPN ID 244 who are granted access to the corporate network as well as the Internet, while a second group of users are customers with a different VPN ID 244 which is granted access to the internet but not to the corporate network. In one embodiment of the invention, the VPN ID of each user is configured in the ISP's authentication server.
Jede
Sitzung beinhaltet außerdem
ein Paar aus einer IP-Quelladresse 246 und
einer Zieladresse 250, das Paketen entsprechen muß, die im
Netz gesendet und empfangen werden. Eine Quellvergleichsmaske 248 und
eine Zielvergleichsmaske 252 gestatten die Spezifizierung
eines Unternetzes, einer Gruppe von Hosts oder aller Adressen. Auf
diese Weise identifiziert der Switch diejenigen Pakete, die Kandidaten
für den
Filterprozeß sind.Each session also includes a pair from an IP source address 246 and a destination address 250 which must correspond to packets sent and received on the network. A source comparison mask 248 and a destination comparison mask 252 allow the specification of a subnet, a group of hosts or all addresses. In this way, the switch identifies those packets that are candidates for the filtering process.
Beispielsweise
geben eine Sitzungs-ID 242 von "1",
eine VPN-ID 244 von "111", eine Quelladresse 246 von "any", eine Quellvergleichsmaske 248 von "any", eine Zieladresse
von "10.1.0.0" und eine Zielvergleichsmaske 252 von "255.255.0.0" eine VPN-Sitzung "1" für
Benutzer mit einer VPN-ID von "111" (z.B. die Mitarbeiter
eines Unternehmens) an und gestatten, daß diese von jedem beliebigen
Punkt oder jeder beliebigen Quelladresse her kommen und auf jedes
Unternetz im 10.1.0.0-Netz
(z.B. das Unternehmens-LAN) zugreifen können. Andererseits geben eine
Sitzungs-ID 242 von "2", eine VPN-ID 244 von "any", eine Quellvergleichsmaske 248 von "255.255.0.0", eine Zieladresse
von "208.277.214.0" und eine Zielvergleichsmaske 252 von "255.255.255.0" eine VPN-Sitzung "2" an, daß beliebige Benutzer (VPN-ID
von "any") in jedem beliebigen Unternetz
im 10.1.0.0-Netz (z.B. dem Unternehmens-LAN) auf das Netz 207.221.211.0 zugreifen
können
(z.B. den Anwahlpool für
den Zugang zum Internet). In diesen Beispielen werden Pakete mit
jeder einzelnen Sitzung in aufsteigender numerischer Reihenfolge
anhand der Sitzungs-ID verglichen. Wenn daher ein Paket nicht mit der
Sitzungs-ID 242 "1" übereinstimmt, wird es anschließend mit
der Sitzungs-ID "2" verglichen.For example, give a session ID 242 of "1", a VPN ID 244 from "111", a source address 246 from "any", a source comparison mask 248 from "any", a destination address of "10.1.0.0" and a destination comparison mask 252 from "255.255.0.0" a VPN session "1" for users with a VPN ID of "111" (eg the employees of a company) and allow them to come from any point or any source address and to any Subnet in the 10.1.0.0 network (eg the corporate LAN) can access. On the other hand give a session ID 242 of "2", a VPN ID 244 from "any", a source comparison mask 248 of "255.255.0.0", a destination address of "208.277.214.0" and a destination comparison mask 252 of "255.255.255.0" a VPN session "2" indicates that any user (VPN-ID of "any") in any subnet in the 10.1.0.0 network (eg the corporate LAN) on the network 207.221.211.0 access (eg the dial-up pool for access to the Internet). In these examples, packets are compared with each session in ascending numerical order by session ID. Therefore, if a package does not match the session ID 242 " 1 ", it is then compared to the session ID" 2 ".
Nachdem
ein Paket zum Filtern ausgewählt
wurde, legen die VPN-Regeln eine Serie von Bedingungen fest, nach
welchen das Paket zu verarbeiten ist. Die Regel kann etwa festlegen,
daß das
Paket weiterzuleiten oder aber auszulassen ist.After this
a package is selected for filtering
The VPN rules determine a series of conditions
which the package is to be processed. The rule may specify
that this
Forward packet or skip it.
19 zeigt
ein Entwurfsschema einer Regeltabelle 254 mit verschiedenen
VPN-Regeln gemäß einer Ausführungsform
der Erfindung. Jede VPN-Regel beinhaltet eine Regel-ID 256 zur
Identifikation der Bedingungen der Regel. Daneben beinhaltet jede
VPN-Regel eine Regelpriorität 258 zur
Angabe der Reihenfolge, in der die Regeln auf ein Paket anzuwenden
ist, das mit einer bestimmten VPN-Sitzung übereinstimmt. Ein Aktionsfeld 260 gibt
die Aktion an, die von der Regel auf das Paket angewandt werden
soll. Gültige
Aktionen beinhalten vorzugsweise das Weiterleiten oder Auslassen
der Pakete. 19 shows a design schema of a rules table 254 with different VPN rules according to an embodiment of the invention. Each VPN rule includes a rule ID 256 to identify the conditions of the rule. In addition, each VPN rule includes a rule priority 258 to specify the order in which the rules apply to a packet that matches a particular VPN session. An action field 260 specifies the action to be applied by the rule to the package. Valid actions preferably include forwarding or omitting the packets.
Jede
Sitzung beinhaltet ferner ein IP-Protokollfeld 262 und
ein Anwendungsschicht-Protokollfeld 264. Das IP-Protokollfeld gibt
den Namen des zu filternden IP-Protokolls an. Das Anwendungsschicht-Protokollfeld gibt
das Anwendungsschichtprotokoll an, von dem das Paket an das VPN übermittelt
wurde.Each session also includes an IP protocol field 262 and an application layer protocol field 264 , The IP protocol field specifies the name of the IP protocol to be filtered. The application layer protocol field specifies the application layer protocol from which the packet was submitted to the VPN.
Ein
Sitzungszahlfeld 266 gibt die Anzahl der VPN-Sitzungen
an, die die Regeln verwenden. Ein Paketzahlfeld 268 gibt
die Anzahl der Pakete an, die vom Switch weitergeleitet oder ausgelassen
werden.A session number field 266 Specifies the number of VPN sessions that use the rules. A pa ketzahlfeld 268 Specifies the number of packets forwarded or dropped by the switch.
Das
VPN-Filter ist vorzugsweise diejenige Einheit, die eine VPN-Sitzung
mit einer VPN-Regel verknüpft.
Wenn somit ein Paket anhand der Kriterien in der Sitzungstabelle 240 zum
Filtern identifiziert ist, fragt die Software die der Sitzung zugeordnete
Regel aus der Regeltabelle 254 ab, und die Regel legt fest,
ob sich das Paket durch das Netz weiter bewegt.The VPN filter is preferably the entity that associates a VPN session with a VPN rule. Thus, if a package based on the criteria in the session table 240 For filtering, the software asks the rule associated with the session from the rules table 254 and the rule determines whether the packet continues to move through the network.
20 zeigt
ein Entwurfsschema einer Filtertabelle 270 mit verschiedenen
VPN-Filtern gemäß einer Ausführungsform
der Erfindung. Jedes Filter beinhaltet eine Sitzung 272 und
eine mit der Sitzung 272 verknüpfte Regel 274. Die
Sitzung 272 entspricht der Sitzungs-ID 242 in
der Sitzungstabelle 240, und die Regel 274 entspricht
der Regel-ID 256 in der Regeltabelle 254. 20 shows a design scheme of a filter table 270 with various VPN filters according to an embodiment of the invention. Each filter includes a session 272 and one with the session 272 linked rule 274 , The session 272 corresponds to the session ID 242 in the session table 240 , and the rule 274 corresponds to the rule ID 256 in the rules table 254 ,
Wenn
ein Medienport ein Paket empfängt,
stellt er fest, ob dieses zu filtern ist. Falls ja, so wird es an ein
Filtermodul übergeben,
das den entsprechenden Filterungsvorgang durchführt. Gemäß einer Ausführungsform
der Erfindung ist das Filtermodul in jedem der FMs 10 resident
vorhanden.When a media port receives a packet, it determines if it is to be filtered. If so, it is passed to a filter module that performs the corresponding filtering operation. According to one embodiment of the invention, the filter module is in each of the FMs 10 resident present.
21 zeigt
ein Flußdiagramm
eines von einem Filterungsmodul ausgelösten Paketfilterungsprozesses
gemäß einer
Ausführungsform
der Erfindung. Jedes zu filternde Paket beinhaltet eine VPN-ID.
Somit startet das Programm und sucht in Schritt 280 nach
der VPN-ID im Paket. Das Programm durchsucht außerdem die Sitzungstabelle 240 nach
der richtigen VPN-ID 244. Das Programm durchsucht die Sitzungstabelle 240 anhand
der Sitzungs-ID 242 in aufsteigender numerischer Reihenfolge.
Sobald das Programm eine Sitzung gefunden hat, das mit der VPN-ID übereinstimmt,
fragt es in Schritt 282 ab, ob die Quelladresse des Pakets
mit der für
die Sitzung spezifizierten Quelladresse 246 übereinstimmt.
Lautet die Antwort JA, so fragt das Programm in Schritt 284 ab,
ob die Zieladresse des Pakets mit der für die Sitzung spezifizierten
Zieladresse 250 übereinstimmt.
Lautet die Antwort erneut JA, so durchsucht das Programm in Schritt 286 die
Filtertabelle 270 nach der Regel, die zur übereinstimmenden
Sitzung gehört.
In Schritt 288 durchsucht das Programm die Regeltabelle 254,
um die für
die Regel spezifizierten Bedingungen zu ermitteln, und verarbeitet
das Paket gemäß diesen
Bedingungen (d.h. leitet das Paket weiter oder läßt es aus). 21 FIG. 12 shows a flowchart of a filtering module initiated packet filtering process according to one embodiment of the invention. FIG. Each packet to be filtered contains a VPN ID. Thus, the program starts and searches in step 280 after the VPN-ID in the package. The program also searches the session table 240 for the right VPN ID 244 , The program searches the session table 240 based on the session ID 242 in ascending numerical order. Once the program has found a session that matches the VPN ID, ask in step 282 Whether the source address of the packet matches the source address specified for the session 246 matches. If the answer is yes, the program asks in step 284 determines whether the destination address of the packet is the destination address specified for the session 250 matches. If the answer is YES again, then the program will search in step 286 the filter table 270 after the rule that belongs to the matching session. In step 288 the program searches the rule table 254 to determine the conditions specified for the rule, and process the packet according to these conditions (ie forward or omit the packet).
VII. AUTOMATISCHE SCHUTZUMSCHALTUNGVII. AUTOMATIC PROTECTION
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit
zur Schaffung von Fehlertoleranz durch Hardware und Software für die automatische
Schutzumschaltung (Automatic Protection Switching, APS). Die APS
gestattet es, Komponentenfehlfunktionen innerhalb des Switches (z.B.
Fehlfunktionen von Endgeräten)
sowie Fehlfunktionen auf externen Verbindungen einzukreisen und
den Betrieb über Backup-Komponenten
wiederherzustellen. Wenn also eine Abschlußeinheit oder eine externe
Verbindung ausfällt,
wird jedes dieser Elemente ohne Betriebsunterbrechung automatisch
zu einer Backup-Komponente umgeroutet. Es gibt zwei Elemente einer
Verbindung, nämlich
eine externe Verbindung und eine an die externe Verbindung angeschlossene
Abschlußeinheit.
Somit ist die APS vorzugsweise in zwei Bereiche unterteilt, von denen
der eine für
das Einkreisen von Fehlfunktionen und die automatische Wiederherstellung
nach einem Ausfall von Abschlußeinheiten
und der andere für
das Einkreisen von Fehlfunktionen und die automatische Wiederherstellung
nach einem Ausfall von externen Verbindungen zuständig ist.Another feature of the multi-service network switch off 1 is the ability to provide fault tolerance through hardware and automatic protection switching (APS) software. The APS makes it possible to cradle component malfunctions within the switch (eg malfunctions of terminals) as well as malfunctions on external connections and to restore operation via backup components. Thus, if a terminating unit or an external connection fails, each of these elements is automatically re-routed to a backup component without interrupting operations. There are two elements of a connection, namely an external connection and a termination unit connected to the external connection. Thus, the APS is preferably divided into two areas, one responsible for circling malfunctions and the automatic recovery from a failure of termination units and the other for circling malfunctions and automatically recovering from a failure of external connections.
Der
Switch unterstützt
vorzugsweise alle Kombinationen aus primären Komponenten und Backup-Komponenten.
Beispielsweise kann die Backup-Komponente ein Port auf demselben
Modul (Karte), ein anderes Modul innerhalb desselben Einschubs,
ein anderes Modul in einem anderen Einschub, aber im selben Gestell
oder auch ein anderes Modul in einem anderen Einschub und in einem
anderen Gestell sein.Of the
Switch supported
preferably all combinations of primary components and backup components.
For example, the backup component can have a port on it
Module (card), another module within the same slot,
another module in another slot, but in the same rack
or another module in another slot and in one
be different frame.
22 zeigt
ein schematisches Blockdiagramm eines Switches mit einem APS-Mechanismus
für den Ausfall
externer Verbindungen. Der Switch beinhaltet ein primäres Modul 506 und
ein Backup-Modul 508, wobei beim primären Modul eine primäre WAN-Verbindung 502 und
beim Backup-Modul eine Backup-WAN-Verbindung 504 ankommt. Sowohl
das primäre
als auch das Backup-Modul beinhalten eine Überspannungs-Schutzvorrichtung 510, 514 und
eine Leitungsschnittstelleneinheit (Line Interface Unit, LIU)/ einen
Framer 512, 518. Dieselben Daten, die über die
primäre
WAN-Verbindung 502 empfangen werden, werden vorzugsweise
auch über
die sekundäre
WAN-Verbindung 504 empfangen. Wenn die Software Fehler
auf der primären
WAN-Verbindung 502 – beispielsweise Übertragungsfehler – erkennt,
schaltet die APS-Software das Lesen von der primären WAN-Verbindung 502 auf die Backup-WAN-Verbindung 504 um.
Die Umschaltung von der primären
WAN-Verbindung auf die Backup-WAN-Verbindung
verläuft
vorzugsweise verzögerungsfrei
und verursacht keine Unterbrechung der Systemfunktionalität. 22 shows a schematic block diagram of a switch with an APS mechanism for the failure of external connections. The switch includes a primary module 506 and a backup module 508 , where the primary module is a primary WAN connection 502 and a backup WAN connection to the backup module 504 arrives. Both the primary and backup modules include an overvoltage protection device 510 . 514 and a line interface unit (LIU) / framer 512 . 518 , The same data over the primary WAN connection 502 are also preferably received over the secondary WAN link 504 receive. If the software fails on the primary WAN connection 502 For example, if there is a transmission error, the APS software switches reading from the primary WAN connection 502 on the backup WAN connection 504 around. Switching from the primary WAN link to the backup WAN link is preferably instantaneous and does not interrupt the system functionality.
Gemäß einer
Ausführungsform
der Erfindung wird die Backup-WAN-Verbindung 504 aus
einer Liste redundanter Ports (Redundant Ports List, RPL) ausgewählt. Die
Liste redundanter Ports stellt eine benutzerdefinfierte Liste von
Backup-Verbindungen
für jede
Verbindung im System zur Verfügung.
Die Backup-Verbindung kann vom selben Typ wie die primäre Verbindung
oder von einem anderen Typ sein. So könnte beispielsweise eine ISDN-Verbindung
eine T1-Teilverbindung als Backup-Verbindung haben.According to one embodiment of the invention, the backup WAN connection 504 selected from a list of redundant ports (RPL). The list of redundant ports provides a user-defined list of backup connections for each connection in the system. The backup connection can be of the same type as the primary connection or of another type. For example, an ISDN connection could have a T1 sublink as a backup connection.
Der
Switch stellt ferner einen APS-Mechanismus für den Ausfall von Abschlußeinheiten
wie etwa defekte Modems oder defekte Ports zur Verfügung. Gemäß einer
Ausführungsform
der Erfindung gibt es zwei Möglichkeiten
zum Absichern von Abschlußeinheiten.
Eine Möglichkeit
besteht darin, jede Karte mit zwei oder mehr Ports auszustatten,
von denen jeder primäre
Port jeweils durch einen Backup-Port abgesichert wird. Sollte also
ein primärer
Port ausfallen, übernimmt
ein Backup-Port dessen Funktion. Eine weitere Möglichkeit besteht in der Verwendung
von zwei oder mehr Karten, wobei jede primäre Karte durch eine Backup-Karte
abgesichert wird. Sollte also eine Karte ausfallen, übernimmt
eine der anderen Karten deren Funktion und verarbeitet die Daten.Of the
Switch also provides an APS mechanism for the termination of terminators
such as broken modems or broken ports. According to one
embodiment
There are two possibilities of the invention
to secure financial statements.
A possibility
is to provide each card with two or more ports,
each of which is primary
Port is backed up by a backup port. So should
a primary one
Port fail, takes over
a backup port whose function. Another possibility is the use
of two or more cards, with each primary card through a backup card
is secured. So should a card fail, take over
one of the other cards whose function and processes the data.
23 zeigt
ein schematisches Blockdiagramm eines Switches mit einem Backup-Port,
der physikalisch mit einem anderen Port auf einer separaten Karte
verbunden ist. Ein primäres
Modul 501 beinhaltet einen primären Port 503 und einen
Backup-Port 505. Der Backup-Port 505 ist über eine
Backup-Verbindung 511 physikalisch mit einem anderen Port 509 auf
einem Backup-Modul 507 verbunden. Wird am primären Port 503 eine
Fehlfunktion festgestellt, leitet das Relais Verkehr zum Backup-Port 505 um,
der seinerseits den Verkehr zum Port 509 auf dem Backup-Modul 507 umleitet. 23 Figure 12 shows a schematic block diagram of a switch with a backup port that is physically connected to another port on a separate card. A primary module 501 includes a primary port 503 and a backup port 505 , The backup port 505 is via a backup connection 511 physically with a different port 509 on a backup module 507 connected. Will be on the primary port 503 detected a malfunction, the relay forwards traffic to the backup port 505 which, in turn, is the traffic to the port 509 on the backup module 507 redirects.
Gemäß einer
Ausführungsform
der Erfindung wird eine Fehlfunktion am primären Port 503 per Hardware
detektiert, indem die Aktivität
des Ports überwacht
wird. Liegt nach einer programmierten Zeitspanne (z.B. 290 Millisekunden)
keine Aktivität
(z.B. keine Änderung
des Betriebszustands) des Ports vor, so schaltet das Schutzrelais 520 automatisch
auf den Backup-Port 505 um. Die APS-Software hält die Daten
im Backup-Port 505 auf
dem aktuellen Stand des primären
Ports. Erfolgt also eine Umschaltung vom primären Port auf den Backup-Port,
so wird kein Datenverlust eintreten. Befindet sich der Backup-Port auf derselben
Karte, so wird derselbe Speicher verwendet. Befindet sich der Backup-Port
auf einer anderen Karte, so schreibt die APS-Software vorzugsweise
die Daten gleichzeitig an beide Karten.According to one embodiment of the invention, a malfunction on the primary port 503 detected by hardware by monitoring the activity of the port. If there is no activity (eg no change in the operating state) of the port after a programmed period of time (eg 290 milliseconds), then the protective relay switches 520 automatically to the backup port 505 around. The APS software keeps the data in the backup port 505 up to date with the primary port. Thus, if a switch from the primary port to the backup port, so no data loss will occur. If the backup port is on the same card, the same memory will be used. If the backup port is on a different card, the APS software preferably writes the data to both cards at the same time.
Die
APS-Architektur ist vorzugsweise eine 1:n-Architektur, in der jede
Backup-Komponente n primäre Komponenten
unterstützt,
wobei n größer oder
gleich 1 ist. So gibt beispielsweise eine 1:2-Schutzumschaltung an,
daß für jeweils
zwei primäre
Komponenten eine Backup-Komponente existiert. Gemäß einer
Ausführungsform
der Erfindung bietet der Switch die Wahl zwischen einer 1:1-, einer
1:2-, einer 1:3- und einer 1:4-Schutzumschaltung für T1/E1-Verbindungen
sowie die Wahl zwischen einer 1:1- und einer 1:2-Schutzumschaltung für CT3-Verbindungen (E3,
T3 und OC3 kanalisiert). 24 zeigt
ein schematisches Blockdiagramm eines Switches mit 1:2-Schutzumschaltung
gemäß einer
Ausführungsform
der Erfindung. Port Nr. 1 522 ist über die Backup-Verbindung 528 an
den Backup-Port 526 angeschlossen, und Port Nr. 2 524 ist über die
Backup-Verbindung 530 an den Backup-Port angeschlossen.
Bei einer solchen 1:2-Schutzumschaltung kann jede der beiden Betriebsverbindungen
auf die Schutzschaltung umgeschaltet werden.The APS architecture is preferably a one-to-many architecture in which each backup component supports n primary components, where n is greater than or equal to one. For example, a 1: 2 protection switch indicates that there is a backup component for every two primary components. According to one embodiment of the invention, the switch offers a choice of a 1: 1, a 1: 2, a 1: 3 and a 1: 4 protection switching for T1 / E1 connections as well as a choice between a 1: 1 and a 1: 2 protection switch for CT3 connections (channeled E3, T3 and OC3). 24 shows a schematic block diagram of a switch with 1: 2 protection switching according to an embodiment of the invention. Port No. 1 522 is about the backup connection 528 to the backup port 526 connected, and port no. 2 524 is about the backup connection 530 connected to the backup port. With such a 1: 2 protection switching, each of the two operating connections can be switched to the protection circuit.
25 zeigt
ein schematisches Blockdiagramm eines Switches mit 1:2-Schutzumschaltung
gemäß einer
alternativen Ausführungsform
der vorliegenden Erfindung. Port 1 hat eine erste primäre Verbindung 540, und
Port 2 hat eine zweite primäre Verbindung 542.
Statt daß jeder
Port, wie in der Ausführungsform
von 25, über
eine eigene Backup-Verbindung
verfügt,
nutzen die Ports 1 und 2 gemeinsam eine Backup-Verbindung 544. 25 Figure 12 shows a schematic block diagram of a switch with 1: 2 protection switching according to an alternative embodiment of the present invention. port 1 has a first primary connection 540 , and port 2 has a second primary connection 542 , Instead of each port, as in the embodiment of 25 , has its own backup connection, ports 1 and 2 share a backup connection 544 ,
26 zeigt ein Blockdiagramm einer anderen Ausführungsform
mit einer 1:1-Schutzumschaltung. Hier wirkt die externe Verbindung
B 532 als Backup für
die externe Verbindung A 534. Gemäß dieser Ausführungsform
werden die LIU und andere Logikeinheiten über ein Auswahlrelais 536 entweder
auf Port A 538 oder Port B 540 umgeschaltet. Sollte
daher die externe Verbindung B 534 ausfallen, schaltet
das Relais 536 auf Port B 540 um, um Daten von
der externen Verbindung B 532 zu lesen. 26 shows a block diagram of another embodiment with a 1: 1 protection switching. This is where the external connection B works 532 as a backup for the external connection A 534 , According to this embodiment, the LIU and other logic units become via a selection relay 536 either on port A 538 or Port B 540 switched. Therefore, should the external connection B 534 fail, the relay turns off 536 on Port B 540 to get data from the external connection B 532 to read.
VII. MODULARE, UNABHÄNGIGE PROTOKOLLSTACK-ARCHITEKTURVII. MODULAR, INDEPENDENT PROTOCOL STACK ARCHITECTURE
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit
zur Unterstützung eines
IP- Routingprotokolls
und einer Architektur, in welcher die Layer-2-Protokolle unabhängig von den physikalischen
Schnittstellen sind, auf denen sie arbeiten. Im Gegensatz zur bekannten
Switch-Technologie, bei der ein Protokoll beim Kompilieren einem
physikalischen Port fest zugeordnet wird, konfiguriert der Switch
vorzugsweise einen Port mit dem richtigen Protokoll, wenn der Port
aktiviert wird, also dynamisch nach dem Herstellen einer Verbindung,
was es ermöglicht,
daß Switch-Anwendungen
unabhängig
von den physikalischen Ports sind, auf denen sie arbeiten.Another feature of the multi-service network switch off 1 is the ability to support an IP routing protocol and architecture in which the Layer 2 protocols are independent of the physical interfaces on which they operate. In contrast to the well-known switch technology, in which a protocol is assigned to a physical port during compilation, the switch is configured in advance Preferably, a port with the correct protocol when the port is activated, that is, dynamically after establishing a connection, which allows switch applications to be independent of the physical ports on which they operate.
Der
Switch unterstützt
vorzugsweise eine Vielzahl von Schnittstellen von Weitverkehrsnetzen
(Wide Area Networks, WANs) und lokalen Netzwerken (Local Area Networks,
LANs). Zu diesen physikalischen Schnittstellen zählen unter anderem solche vom
Modem-, ISDN-, T1 und Fractional-T1- (T1/FT1-), nicht kanalisierten
T3- (UT3), ATM-OC3-, ATM-DS3- und Ethernet-Typ. Darüber hinaus
unterstützt
der Switch eine Vielzahl von Layer-2-Protokollen wie das Punkt-zu-Punkt-Protokoll (PPP),
PPP over Frame Relay (PPP/FR), PPP over Ethernet (PPOE), das Layer
Two Tunneling Protocol (L2TP), die Layer-2-Weiterleitung (Layer-Two
Forwarding. L2F), RFC 1483 Bridged, RFC 1483 Routed, RFC 1490 Bridged
und RFC 1490.Of the
Switch supported
preferably a plurality of interfaces of wide area networks
(Wide Area Networks, WANs) and local area networks (Local Area Networks,
LANs). These physical interfaces include, but are not limited to, those of
Modem, ISDN, T1 and Fractional T1 (T1 / FT1), non-channelized
T3 (UT3), ATM-OC3, ATM-DS3 and Ethernet type. Furthermore
supports
the Switch has a variety of Layer 2 protocols, such as Point-to-Point Protocol (PPP),
PPP over Frame Relay (PPP / FR), PPP over Ethernet (PPOE), the Layer
Two Tunneling Protocol (L2TP), Layer 2 Forwarding (Layer-Two
Forwarding. L2F), RFC 1483 Bridged, RFC 1483 Routed, RFC 1490 Bridged
and RFC 1490.
Mit
der Flexibilität
zum dynamischen Konfigurieren eines Ports kann ein einziger Port
ein L2TP für
eine Sitzung und ein L2F für
eine andere Sitzung unterstützen.
Darüber
hinaus kann dasselbe Protokoll für
jede Sitzung auf unterschiedlichen Ports betrieben werden. So wird
PPP beispielsweise typisch bei Modems verwendet. Mit der dynamischen
Port-Konfiguration jedoch kann PPP auch über Ethernet-, T1- oder ISDN-Leitungen
betrieben werden, ohne daß man
auf einen einzigen physikalischen Schnittstellentyp beschränkt ist. Überdies
ist der Switch nicht nur in der Lage, unterschiedliche Pakettypen
von unterschiedlichen Medientypen zu verarbeiten, sondern er ist
auch in der Lage, die Pakete an jede Art von Medium weiterzuleiten.
Beispielsweise können
Daten per PPP in den Switch gelangen und ihn per ATM wieder verlassen.With
the flexibility
A single port can be used to dynamically configure a port
an L2TP for
a session and an L2F for
support another session.
About that
In addition, the same protocol for
each session can be operated on different ports. So will
For example, PPP is typically used with modems. With the dynamic
However, port configuration can also use PPP over Ethernet, T1 or ISDN lines
be operated without you
is limited to a single physical interface type. moreover
Not only is the switch capable of delivering different packet types
of different media types to process, but he is
also able to forward the packets to any kind of medium.
For example, you can
Data via PPP into the switch and leave it again via ATM.
Die
dynamische Konfiguration von Ports läßt sich ferner auf eine Vielzahl
von Medien erweitern, so etwa auf Schmalband zur Sprachübertragung,
Breitband oder DSL, um nur einige zu nennen. Ein Port kann außerdem einem
Medium fest zugewiesen werden, beispielsweise T1. Die Software-Architektur
ermöglicht
es, daß Module
für unterschiedliche
Medien in einem Switch miteinander kommunizieren können.The
dynamic configuration of ports can also be on a variety
from media, such as to narrowband for voice transmission,
Broadband or DSL, just to name a few. A port can also be one
Medium, for example T1. The software architecture
allows
it, that modules
for different
Media in a switch can communicate with each other.
27 zeigt ein schematisches Blockdiagramm einer
IP-Weiterleitungsschicht 600 sowie
von Layer-2-Protokollen 602 und physikalischen Layer-1-Schnittstellen 604,
Die dynamische Konfiguration von Ports gestattet es, beispielsweise
PPP mit Modem, ISDN, T1, UT3, ATM DS3 und ATM OC3 zu verknüpfen. Überdies können Layer-2-Protokolle 602 dynamisch
miteinander gekoppelt werden, so daß ein neues Layer-2-Protokoll entsteht.
Das neue Layer-2-Protokoll kann anschließend mit einer Layer-1-Schnittstelle 604 verknüpft werden. 27 shows a schematic block diagram of an IP forwarding layer 600 as well as layer 2 protocols 602 and physical Layer 1 interfaces 604 , The dynamic configuration of ports makes it possible, for example, to link PPP with modem, ISDN, T1, UT3, ATM DS3 and ATM OC3. Moreover, Layer 2 protocols can 602 be dynamically coupled together so that a new Layer 2 protocol is created. The new Layer 2 protocol can then interface with a Layer 1 interface 604 be linked.
Gemäß einer
Ausführungsform
der Erfindung ermöglicht
die Portschnittstelle (Port InterFace, PIF) 122 (4)
das dynamische Verknüpfen
von Layer-2-Protokollen mit Layer-1-Protokollen. Wenn ein Medienport aktiv
wird, erzeugt der Switch ein PIF-Objekt für den Port. Vorzugsweise werden
PIFs von der GFI-Software 124 (4) erzeugt,
die vom Medientreiber 118 ausgelöst wird. Das PIF-Objekt legt
das für
die aktuelle Sitzung zu verwendende Layer-2-Protokoll anhand des
Verbindungstyps fest, und die GFI-Software verknüpft das Layer-2-Protokoll dynamisch
mit der Layer-1-Schnittstelle des Medienports. Die Protokollverknüpfung wird für die Dauer
der Sitzung aufrechterhalten.According to one embodiment of the invention, the port interface (Port InterFace, PIF) allows 122 ( 4 ) dynamically linking layer 2 protocols to layer 1 protocols. When a media port becomes active, the switch creates a PIF object for the port. Preferably, PIFs are from the GFI software 124 ( 4 ) generated by the media driver 118 is triggered. The PIF object sets the Layer 2 protocol to use for the current session by the connection type, and the GFI software dynamically links the Layer 2 protocol to the Media Port Layer 1 interface. Logging is maintained for the duration of the session.
28 zeigt ein schematisches Blockdiagramm aus Layer-1-, Layer-2- und
Layer-3-Schnittstellen mit mehreren PIFs 122, je eine PIF
pro Port. Wenn ein Port aktiviert wird, erzeugt der Medientreiber 118 vorzugsweise
eine PIF-Struktur/ein PIF- Modul,
das spezifische Medien- und Paketformatinformationen für den Port einschließlich Porttyp,
Verkapselung, Statusinformation (z.B. aktiv oder inaktiv) sowie
verschiedene Portnummern (z.B. physikalische Portadresse, Weiterleitungs-Portadresse und Backplane-Portadresse)
speichert. Die PIF verfolgt außerdem
den Status der PIF, meldet Änderungen
an das FTAM, führt
eine Statistik der Ports und speichert einen Zeiger zum gegenwärtig eingewählten Benutzer
für Anwahlports. 28 shows a schematic block diagram of Layer 1, Layer 2 and Layer 3 interfaces with multiple PIFs 122 , one PIF per port. When a port is activated, the media driver generates 118 preferably a PIF structure / PIF module that stores specific media and packet format information for the port, including port type, encapsulation, status information (eg, active or inactive), and various port numbers (eg, physical port address, forwarding port address, and backplane port address). The PIF also tracks the status of the PIF, reports changes to the FTAM, maintains a statistics of the ports, and stores a pointer to the currently dialed in user for dial-up ports.
Gemäß einer
Ausführungsform
der Erfindung werden die PIF-Strukturen
als zweidimensionale Arrays vorgehalten, bei denen die Controllernummer
und die Portnummer als Index verwendet werden. Zum Auffinden einer
bestimmten PIF eines Ports werden sowohl die Controllernummer als
auch die Portnummer innerhalb dieses Controllers verwendet.According to one
embodiment
The invention relates to PIF structures
held as two-dimensional arrays in which the controller number
and the port number can be used as an index. To find one
particular PIF of a port will be both the controller number and
also the port number used within this controller.
Die
PIFs für
alle physikalischen Ports werden vorzugsweise bei der Inbetriebnahme
einer Karte erzeugt. Die PIFs befinden sich anfänglich in einem inaktiven Zustand.
Wenn die Ports aktiv werden, ändert
sich der PIF-Status in einen aktiven Zustand. Für Einwahlports wird die PIF
in einen aktiven Zustand versetzt, sobald sich ein Benutzer über diesen
Port einwählt.
Wenn der Anruf getrennt wird, wird der PIF-Status in einen inaktiven
Zustand gebracht. Die PIF wird vorzugsweise nicht entfernt, weil
in der PIF-Struktur auch die Portstatistik geführt wird und es nützlich ist,
die Portstatistik auch nach dem Trennen eines Benutzers zur Verfügung zu
haben.The
PIFs for
All physical ports are preferably at startup
a card generated. The PIFs are initially in an inactive state.
When the ports become active, changes
the PIF status changes to an active state. For dial-in ports, the PIF
put into an active state as soon as a user talks about it
Port dials.
When the call is disconnected, the PIF status becomes inactive
State brought. The PIF is preferably not removed because
in the PIF structure also the port statistics is kept and it is useful
The port statistics are also available after disconnecting a user
to have.
Eine
Meldung "Port aktiv" wird immer dann
von allen LAN-Karten
an das SCM gesendet, wenn sich der Zustand eines Ports von einem
inaktiven zu einem aktiven Status ändert. Die WAN-Karten senden die
Meldung "Port aktiv" normalerweise nicht
an das SCM. Die Meldung "Port
aktiv" wird vorzugsweise
von einem WAN-Port gesendet, wenn dieser Port dafür konfiguriert
ist, die Routingprotokoll-Aktualisierungsmeldungen wie RIP- und
OSPF-Pakete zu transportieren.A
Message "Port active" is always then
from all LAN cards
sent to the SCM when the state of a port of a
inactive to an active status changes. The WAN cards send the
Normally, the message "Port active" does not work
to the SCM. The message "Port
active "is preferred
sent from a WAN port if this port is configured for that
is the routing protocol update messages such as RIP and
To transport OSPF packets.
Eine
Meldung "Port inaktiv" wird immer dann
an alle Karten im Chassis gesendet, wenn sich der Zustand eines
Ports von einem aktiven zu einem inaktiven Status ändert. Nach
dem Empfang dieser Meldung entfernen die Karten diejenigen Einträge in der
Weiterleitungstabelle und der ARP-Tabelle, die den Port als inaktiv
angeben.A
Message "Port inactive" is always then
sent to all cards in the chassis when the condition of a
Changes ports from an active to an inactive state. To
Upon receipt of this message, the cards remove those entries in the card
Forwarding table and the ARP table, which make the port inactive
specify.
Das
PIF-Modul im SCM ist außerdem
für die
Führung
und Verwaltung der Liste redundanter Ports (Redundant Ports List,
RPL) verantwortlich. Für
jeden der physikalischen Ports kann der Benutzer einen anderen physikalischen
Port als Backup-Port einrichten. Der Backup-Port ist vorzugsweise
nicht Bestandteil irgendeines logischen Port-Identifiers (LPIs).
Der Backup-Port wird verwendet, falls der primäre Port ausfällt. Alle
Pakete werden normalerweise an den primären Port gesendet. Der Backup-Port
wird in einem inaktiven Zustand gehalten. Pakete werden vom Backup-Port
weder gesendet noch empfangen, wenn der primäre Port aktiv ist. Sollte der
primäre
Port ausfallen, gibt das PIF-Modul im SCM den Backup-Port frei,
und fortan werden alle Pakete an den Backup-Port gesendet. Gemäß einer
Ausführungsform
der Erfindung wird der Backup-Port immer dann, wenn der primäre Port
wieder verfügbar
wird, wieder in den inaktiven Zustand gebracht, und alle Pakete werden
wieder an den primären
Port gesendet. Alternativ dazu nutzen die Pakete weiterhin den Backup-Port für den Rest
der Sitzung und schalten nicht auf den primären Port um.The
PIF module in the SCM is also
for the
guide
and Management of the List of Redundant Ports (Redundant Ports List,
RPL). For
Each of the physical ports allows the user a different physical
Set up the port as a backup port. The backup port is preferred
not part of any logical port identifier (LPI).
The backup port is used if the primary port fails. All
Packets are usually sent to the primary port. The backup port
is kept in an inactive state. Packages are from the backup port
neither sent nor received when the primary port is active. Should the
primary
Port fails, the PIF module releases the backup port in the SCM,
and from now on, all packets will be sent to the backup port. According to one
embodiment
The invention will use the backup port whenever the primary port
again available
will be put back in the inactive state, and all packages will be
back to the primary
Port sent. Alternatively, the packages continue to use the backup port for the rest
the session and do not switch to the primary port.
In
einer alternativen Ausführungsform
der Erfindung wird die RPL in dezentraler Weise geführt. Die RPL
wird vom SCM als Teil ihrer Initialisierung auf die einzelnen Karten
verteilt, wenn die Karte in Betrieb genommen wird. Auf jeder der
Karten wird der Backup-Port im inaktiven Zustand gehalten. Sollte
der primäre
Port ausfallen, wird an alle Karten eine RPL-Meldung "Port außer Betrieb " gesendet. Wenn die
Karten die RPL-Meldung "Port außer Betrieb " empfangen, fragt
jede Karte ihre RPL-Tabelle danach ab, ob einer ihrer Ports der Backup-Port ist.
Wenn ja, dann bringt diese Karte den Port in einen aktiven Zustand
und beginnt damit, auf diesem Port Verkehr zu bearbeiten. Außerdem entfernen
alle Karten alle Einträge
in der Weiterleitungstabelle und der ARP-Tabelle, die auf den primären Port
verweisen. Von diesem Zeitpunkt an strömt der gesamte Verkehr zum
Backup-Port. Wenn der primäre
Port wieder verfügbar
wird, wird eine RPL-Meldung "Port
in Betrieb" an alle
Karten gesendet. Diejenige Karte, auf der sich der Backup-Port befindet,
versetzt den Port in einen inaktiven Zustand und sendet eine Meldung "Port außer Betrieb" für den Backup-Port
an alle Karten. Die Meldung "Port
außer
Betrieb" veranlaßt alle
Karten, die Einträge
in der Weiterleitungstabelle und der ARP-Tabelle zu entfernen, die
auf den Backup-Port verweisen. Von diesem Zeitpunkt an wird der
primäre
Port wieder aktiv. Die RPL-Tabelle wird auf allen Karten synchronisiert.
Immer dann, wenn eine Änderung
an der RPL-Tabelle vorgenommen wird, wird sie vom SCM auf alle Karten
verteilt.In
an alternative embodiment
According to the invention, the RPL is guided in a decentralized manner. The RPL
is used by the SCM as part of its initialization on each card
distributed when the card is put into operation. On each of the
Cards, the backup port is kept inactive. Should
the primary
Port fails, an RPL message "Port out of service" is sent to all cards. If the
Cards receive the RPL message "Port out of service" asks
Each card will dedicate its RPL table to whether one of its ports is the backup port.
If so, this card puts the port into an active state
and start working on this port traffic. Also remove
all cards all entries
in the routing table and the ARP table pointing to the primary port
refer. From this point on, all traffic flows to
Backup port. If the primary
Port available again
will be an RPL message "Port
in operation "to all
Sent cards. The card on which the backup port is located,
puts the port in an inactive state and sends a "port out of service" message to the backup port
to all cards. The message "Port
except
Operation "causes all
Cards, the entries
in the forwarding table and the ARP table to remove the
refer to the backup port. From this point on, the
primary
Port active again. The RPL table is synchronized on all maps.
Whenever a change
is made on the RPL table, it is scanned by the SCM on all cards
distributed.
Der
IP-Weiterleiter 44 (4) ist per
Schnittstelle mit dem PIF gekoppelt und sendet und empfängt Pakete
an die bzw. von der PIF über
den logischen Port-Identifier (LPI) 128. Ein logischer
Port-Identifier (LPI) 128 kommuniziert mit der PIF 122 und
beinhaltet die IP-Parameter, die das jeweilige physikalische Port
betreffen. Die IP-Schicht ruft immer dann eine LPI-Funktion auf,
wenn sie ein Paket übermitteln
will. Die LPI-Sendefunktion identifiziert den richtigen physikalischen
Port und übergibt
das Paket an die PIF 122, um den medienspezifischen Layer-2-Verkapselungs-Header
hinzuzufügen
und ihn über
den richtigen Port auszusenden.The IP forwarder 44 ( 4 ) is interfaced with the PIF and sends and receives packets to and from the PIF via the logical port identifier (LPI) 128 , A logical port identifier (LPI) 128 communicates with the PIF 122 and includes the IP parameters that pertain to each physical port. The IP layer invokes an LPI function whenever it wants to transmit a packet. The LPI send function identifies the correct physical port and passes the packet to the PIF 122 to add the media-specific Layer 2 encapsulation header and send it out via the correct port.
Nach
dem Verarbeiten des anfänglichen
Pakets werden die identifizierten Layer-2-Verkapselungs-Header vorzugsweise
in einem IP-Cache-Eintrag gespeichert. Auf diese Weise kann der
IP-Weiterleiter die PIF- und Layer-2-Funktionen bei den nachfolgenden
Paketen umgehen, was den Overhead bei der Paketverarbeitung minimiert.
Somit werden Layer-2-Verkapselungs-Header
für alle
nachfolgenden Pakete dem IP-Cache-Eintrag
entnommen.To
processing the initial one
Packets are preferably the identified Layer 2 encapsulation headers
stored in an IP cache entry. In this way, the
IP forwarder, the PIF and Layer 2 functions in the following
Bypass packets, which minimizes overhead in packet processing.
Thus, Layer 2 encapsulation headers
for all
subsequent packets to the IP cache entry
taken.
IX. GENERISCHE WEITERLEITUNGSSCHNITTSTELLEIX. GENERIC FORWARDING INTERFACE
Ein
weiteres Merkmal des Mehrdienstnetzwerk-Switches aus 1 ist
die Fähigkeit
zur Bereitstellung einer einheitlichen Schnittstelle für die Weiterleitungsfunktionen
zur Maskierung der Details für
das Senden und Empfangen von Paketen über unterschiedliche Schnittstellentypen.
Dies wird vorzugsweise über
die generische Weiterleitungs-Schnittstelle (Generic Forwarding
Interface, GFI) 122 (4) bewerkstelligt,
die es Anwendungen (z.B. dem IP-Weiterleiter, PPP und anderen vom
Switch bereitgestellten Funktionen) ermöglicht, Pakete in einem generischen
Format zu senden und zu empfangen.Another feature of the multi-service network switch off 1 is the ability to provide a unified interface to the forwarding functions to mask the details for sending and receiving packets over different interface types. This is preferably done via the Generic Forwarding Interface (GFI). 122 ( 4 ), which allows applications (eg, the IP forwarder, PPP, and other functions provided by the switch) to send and receive packets in a generic format.
Gemäß einer
Ausführungsform
der Erfindung handhabt die GFI die gesamte interne Paketweiterleitung
entweder zwischen Ports auf demselben FM 10 oder über den
Bus zu anderen FMs 10 im Switch. Die GFI macht vorzugsweise
Weiterleitungsfunktionen transparent, und zwar unabhängig davon,
ob ein Paket zu einer entfernten oder lokalen Karte weitergeleitet
wird. Überdies
sind Weiterleitungsfunktionen unabhängig von den Eingangs- und
Ausgangsports transparent, die für
das Paket verwendet werden. So kann beispielsweise ein Eingangsport
vom Typ "Frame Relay über ISDN" sein, während der
zugehörige
Ausgangsport auf eine Frame-Relay-Leitung geschaltet werden kann,
ohne das IP-Weiterleitermodul 44 (4)
zu durchlaufen.According to one embodiment of the invention, the GFI handles all internal packet routing either between ports on the same FM 10 or over the bus to other FMs 10 in the switch. The GFI preferably makes forwarding functions transparent, regardless of whether a packet is forwarded to a remote or local card. In addition, forwarding functions are transparent regardless of the input and output ports used for the packet. For example, an input port may be of the "frame relay over ISDN" type, while the associated output port may be switched to a frame relay line without the IP relay module 44 ( 4 ) to go through.
Die
GFI 124 sorgt für
Protokolltransparenz, indem der Switch, wie in 29 veranschaulicht, in Treiber 620 und
Anwendungen 610 unterteilt wird. Die Anwendungen 610 sind
zur Laufzeit vorzugsweise mit Treibern 620 verknüpft. Auf
diese Weise können
Anwendungen und Treiber dynamisch gekoppelt und entkoppelt werden,
was für
Flexibilität
des Ports sorgt. Die dynamische Verknüpfung setzt außerdem Speicher-
und Verarbeitungsressourcen frei, die für unbenutzte Protokolle nicht
benötigt
werden.The GFI 124 provides protocol transparency by allowing the switch, as in 29 Illustrates in drivers 620 and applications 610 is divided. The applications 610 are at runtime preferably with drivers 620 connected. In this way, applications and drivers can be dynamically coupled and decoupled, providing port flexibility. The dynamic link also frees up memory and processing resources that are not needed for unused logs.
Anwendungen
und Treiber, die Pakete empfangen und weiterleiten möchten, registrieren
verschiedene Funktionen bei der GFI, zu denen Empfangsfunktionen,
Weiterleitungsfunktionen und/oder Rundabfragefunktionen gehören. Die
Treiber 620 registrieren vorzugsweise ihre Weiterleitungsfunktionen
zum Weiterleiten von Paketen an einen physikalischen Port. Wenn
ein Paket an einen physikalischen Port weitergeleitet werden soll,
ruft die GFI die Weiterleitungsfunktion auf, die vom Treiber des
Ports registriert ist.Applications and drivers that want to receive and forward packets register various features of the GFI, including receive, forward, and / or poll. The drivers 620 preferably register their forwarding functions for forwarding packets to a physical port. When a packet is to be forwarded to a physical port, the GFI calls the forwarding function registered by the driver of the port.
Anwendungen 610 registrieren
vorzugsweise ihre Empfangsfunktionen bei der GFI zum Empfangen und
Verarbeiten ankommender Pakete. Empfängerfunktionen sind zur Bedienung
verschiedener Pakettypen registriert, zu denen unter anderem Pakete
zählen,
die über
Medienports empfangen wurden, ferner weitergeleitete Pakete und
Pakete, die für
bekannte interne Ports bestimmt sind. Eine Protokollverarbeitungs-
oder Weiterleitungsfunktion wie PPP oder IP-Weiterleiter registriert
sich typisch bei der GFI zum Empfangen und Verarbeiten von Paketen,
die über
die Medienports empfangen wurden. Weitergeleitete Pakete werden
von Anwendungen verarbeitet, die Übersetzungs- und Verkapselungsfunktionen
für einen
bestimmten Ausgangsport ausführen.
Empfängerfunktionen
registrieren sich ebenfalls bei der GFI zum Handhaben von Paketen,
die für
bekannte interne Ports bestimmt sind, so z.B. ein Managementkanal,
der zum Austauschen von externen Managementinformationen verwendet
wird.applications 610 preferably register their receive functions with the GFI to receive and process incoming packets. Receiver functions are registered to service various types of packets, including, but not limited to, packets received via media ports, forwarded packets, and packets destined for known internal ports. A protocol processing or forwarding function such as PPP or IP forwarder typically registers with the GFI to receive and process packets received through the media ports. Forwarded packets are processed by applications that perform translation and encapsulation functions for a given output port. Receiver functions also register with the GFI for handling packets destined for known internal ports, such as a management channel used to exchange external management information.
Sowohl
Anwendungen 610 als auch Treiber 620 können bei
der GFI Abfragefunktionen zum periodischen Aufruf registrieren.
Abfragefunktionen werden häufig
verwendet, um die Funktion des Switches zu überprüfen. In einer bevorzugten Ausführungsform der
Erfindung können
zwei Abfragefrequenz-Ebenen spezifiziert werden, nämlich hoch
und niedrig. Vorzugsweise nutzen Vordergrundfunktionen wie etwa
die Paketverarbeitung die hohe Abfragefrequenz, während Hintergrundfunktionen
wie etwa Timerprozesse die Abfrage mit niedriger Frequenz nutzen.
In alternativen Ausführungsformen
der Erfindung können
mehrere Ebenen von Abfragefrequenzen verwendet werden.Both applications 610 as well as drivers 620 can register with the GFI query functions for periodic call. Query functions are often used to verify the function of the switch. In a preferred embodiment of the invention, two interrogation frequency levels can be specified, namely high and low. Preferably, foreground functions such as packet processing use the high polling frequency while background functions such as timer processes use the low frequency polling. In alternative embodiments of the invention, multiple levels of polling frequencies may be used.
Wenn
ein Paket über
einen Medienport beim System eintrifft, wird das Paket von einem
oder mehreren Puffern (GFI-Puffern) im gemeinsam genutzten Speicher 24 empfangen
(2). Der dem Medienport zugeordnete Treiber empfängt das
Paket und übersetzt
es mit GFI-Hilfsprogrammen in ein generisches Format. Der Treiber
erzeugt außerdem
einen GFI-Deskriptor,
der das Paket definiert, und besitzt Zeiger auf Puffer, die zum Paket
gehören.
Anschließend
wird das Paket an das System zur Verarbeitung durch die Anwendungen übergeben.When a package arrives at the system through a media port, the package will become one or more buffers (GFI buffers) in shared memory 24 receive ( 2 ). The driver associated with the media port receives the package and translates it into a generic format using GFI utilities. The driver also creates a GFI descriptor that defines the packet and has pointers to buffers that belong to the packet. The package is then transferred to the system for processing by the applications.
Wenn
ein Paket an einen physikalischen Port gesendet werden soll, ruft
die GFI die Weiterleitungsfunktion des entsprechenden Treibers auf,
um das Paket zu senden. Die Weiterleitungsfunktion des Treibers ist
vorzugsweise für
das Übersetzen
des generischen Pakets in das treiberspezifische Format und das
Aussenden des Pakets über
den geforderten Port verantwortlich.If
a packet is to be sent to a physical port calls
the GFI has the forwarding function of the corresponding driver,
to send the package. The forwarding function of the driver is
preferably for
the translation
the generic package into the driver-specific format and the
Sending the package over
responsible for the requested port.
Alle
Pakete, die in das System gelangen, werden zur Protokolltransparenz
vorzugsweise in ein generisches Paketformat (GPF) konvertiert. 30 zeigt ein schematisches Blockdiagramm eines
GPF 700 gemäß einer
Ausführungsform
der Erfindung. Das GPF 700 beinhaltet vorzugsweise eine
Liste von gemeinsam genutzten Speicherpuffern und einen Deskriptor,
der auf die Puffer zeigt. Der Deskriptor ist in einen allgemeinen Paketdeskriptor
(General Packet Descriptor, GPD) 702 und einen oder mehrere
Pufferdeskriptoren 704 unterteilt. Der GPD beinhaltet vorzugsweise
vier Worte. In einer Ausführungsform
beinhaltet das erste Wort des GPD eine Byte-Gesamtzahl 706 für das Paket
sowie verschiedene Routing-Flags 708. Die Routing-Flags beinhalten
Flags für
Fragmentierung, Multicast, geschaltet und überwacht. In dieser Ausführungsform
ist die Byte-Gesamtzahl die Länge
eines Pakets.All packets entering the system are preferably converted to protocol transparency in a generic packet format (GPF). 30 shows a schematic block diagram of a GPF 700 according to an embodiment of the invention. The GPF 700 preferably includes a list of shared memory buffers and a descriptor pointing to the buffers. The descriptor is in a general packet descriptor (GPD) 702 and one or more buffer descriptors 704 divided. The GPD preferably contains four words. In one embodiment, the first word of the GPD includes a byte total 706 for the package as well as different routing flags 708 , The routing flags include flags for fragmentation, multicast, switched and monitored. In this embodiment, the total byte count is the length of a packet.
Das
zweite Wort definiert einen QoS-Wert 710 und eine VPN-ID 712.
Die VPN-ID identifiziert ein dem Paket zugeordnetes virtuelles Privatnetz.
Der QoS-Wert identifiziert die Prioritätsklasse zur Behandlung des Pakets.
In einer bevorzugten Ausführungsform
der Erfindung stellt die GFI acht QoS-Klassen zur Verfügung. Nachdem
einem Paket ein QoS-Wert zugeordnet wurde, gewährleistet die GFI, daß das Paket
durch das gesamte System hindurch gemäß seinem QoS-Wert bedient wird.
Außerdem
stellt die GFI für
die Pakete gemäß ihren
QoS-Werten Ressourcen
wie die CPU, die Backplane, den Kommunikationskanal und Systempuffer
bereit.The second word defines a QoS value 710 and a VPN ID 712 , The VPN ID identifies a virtual private network associated with the packet. The QoS value identifies the priority class for handling the packet. In a preferred embodiment of the invention, the GFI provides eight QoS classes. After a packet has been assigned a QoS value, the GFI ensures that the packet is serviced throughout the system according to its QoS value. In addition, for the packets, the GFI provides resources such as the CPU, backplane, communication channel, and system buffers according to their QoS values.
Das
dritte Wort spezifiziert eine Ausgangsportinformation 714.
Die Ausgangsportinformation wird vorzugsweise eingetragen, nachdem
die Routinginformation des Pakets durch einen Vergleich im IP-Weiterleitermodul 44 ermittelt
wurde.The third word specifies output port information 714 , The output port information is preferably entered after the routing information of the packet by a comparison in the IP router module 44 was determined.
Das
vierte Wort identifiziert einen Eingangsport 716, der das
Paket empfängt.
Das vierte Wort beinhaltet außerdem
eine Referenzzahl zum Multicasting. Die Referenzzahl wird von Treibern
verwendet, um ein Paket zu verfolgen, das an mehrere Ports übertragen
wird.The fourth word identifies an input port 716 who receives the package. The fourth word also includes a reference number for multicasting. The reference number is used by drivers to keep track of a packet being transmitted to multiple ports.
Der
Puffer-Deskriptor beinhaltet vorzugsweise ein Puffer-Steuerwort und einen
Zeiger zu einem Systempuffer 717. Das Puffer-Steuerwort
beinhaltet Steuerinformationen 718 sowie die Zahl der Datenbytes 720 im
Puffer. Die Steuerinformationen beinhalten Steuer-Flags, die den
Puffertyp definieren.The buffer descriptor preferably includes a buffer control word and a pointer to a system buffer 717 , The buffer control word includes control information 718 as well as the number of data bytes 720 in the buffer. The control information includes control flags that define the buffer type.
Ein
Port-Adressierungsschema, das für
die Eingangsportinformation 716 und die Ausgangsportinformation 714 verwendet
wird, ermöglicht
das Weiterleiten von Paketen an einen beliebigen Ort im Switch.
Das Port-Adressierungsschema ist vorzugsweise hierarchisch aufgebaut
und basiert auf Chassis, Karten, Controllern und Ports. Darüber hinaus
sind Ports in fünf
Kategorien eingeteilt: Lokale Ports, interne Multicast-Ports, interne
Unicast-Ports, externe Multicast-Ports
und Remote-Ports. Gemäß einer
Ausführungsform
der Erfindung stellt die GFI zwei verschiedene Typen von Port-Adressierungsschemen
zur Verfügung,
nämlich
eine Weiterleitungs-Portadresse (Forwarding Port Address, FPA) und
eine physikalische Portadresse (PPA). 31 zeigt
ein Entwurfsschema einer FPA gemäß einer
Ausführungsform
der Erfindung. FPA wird bevorzugt verwendet zur Weiterleitung von
Paketen im Switch. 32 zeigt ein Entwurfsschema
einer PPA gemäß einer Ausführungsform
der Erfindung. Die PPA wird vorzugsweise für externe Verwendung, für administrative
Zwecke und zum Konfigurieren von Ports innerhalb des Switches verwendet.A port addressing scheme used for the input port information 716 and the output port information 714 allows forwarding packets to any location in the switch. The port addressing scheme is preferably hierarchical and based on chassis, cards, controllers, and ports. In addition, ports are divided into five categories: local ports, internal multicast ports, internal unicast ports, external multicast ports, and remote ports. According to one embodiment of the invention, the GFI provides two different types of port addressing schemes, namely a forwarding port address (FPA) and a physical port address (PPA). 31 shows a schematic diagram of an FPA according to an embodiment of the invention. FPA is preferred for routing packets in the switch. 32 shows a schematic diagram of a PPA according to an embodiment of the invention. The PPA is preferably used for external use, for administrative purposes, and for configuring ports within the switch.
Die
GFI stellt vorzugsweise zwei FPA-Typen zur Verfügung, nämlich eine lokale FPA und eine
Backplane-FPA. Die lokale FPA wird verwendet, um Pakete an lokale
Medientreiber zu leiten. Die Backplane-FPA wird verwendet, um Pakete
an entfernte Ports zu leiten.The
GFI preferably provides two FPA types, namely a local FPA and a
Backplane FPA. The local FPA is used to send packets to local
To manage media drivers. The backplane FPA is used to package
to forward to remote ports.
Das
Weiterleiten von Paketen basiert sowohl bei lokalen FPAs als auch
bei Backplane-FPAs auf der Controllernummer. Jede Komponente auf
der Karte verfügt
vorzugsweise über
eine Controllernummer 601. So ist beispielsweise ein Ethernet-Controller für eine Ethernet-Komponente
und ein ISDN-Controller
für eine ISDN-Komponente
vorhanden. Die Controllernummer ist Bestandteil der FPA. Die Controllernummer
gestattet es der GFI, das Paket an den zugehörigen Treiber zu schicken.
Gemäß einer
Ausführungsform
der Erfindung hat die Controllernummer nur lokale Bedeutung. Wenn
auf einer Karte vier Treiber vorhanden sind, sind den vier Treibern
vier Controllernummern zugeordnet, so daß die GFI Pakete an sie schicken
kann.Forwarding of packets is based on the controller number for both local FPAs and backplane FPAs. Each component on the card preferably has a controller number 601 , For example, there is an Ethernet controller for an Ethernet component and an ISDN controller for an ISDN component. The controller number is part of the FPA. The controller number allows the GFI to send the packet to its driver. According to one embodiment of the invention, the controller number has only local meaning. If there are four drivers on a card, four controller numbers are assigned to the four drivers so GFI can send packets to them.
Es
gibt außerdem
einen Controller für
den Backplane-Treiber.
Der Backplane-Treiber verwendet vorzugsweise die Controllernummer
null. Die Backplane ist ein weiterer Treiber, der unter der GFI
läuft.
Backplane-Pakete verlassen den Switch nicht. Sie gehen zu einer
anderen Karte im Switch. Alle Pakete, die zu anderen Karten innerhalb
des Switches weitergeleitet werden sollen, werden an den Backplane-Treiber
gesendet. Wenn ein Paket an eine andere Karte übermittelt werden muß, wird
die Controllernummer geändert,
was es ermöglicht,
das Paket an einen entfernten Port zu senden. Das Schema beinhaltet
Adreßbereiche,
die den Porttyp bestimmen.It
there as well
a controller for
the backplane driver.
The backplane driver preferably uses the controller number
zero. The backplane is another driver that comes under the GFI
running.
Backplane packets do not leave the switch. They go to one
another card in the switch. All packages to other cards within
the switch should be forwarded to the backplane driver
Posted. If a package has to be sent to another card, it will
changed the controller number,
what makes it possible
send the packet to a remote port. The scheme includes
address areas
which determine the port type.
Die
Backplane beinhaltet ebenfalls einen Adreßbereich. Beim Senden eines
Pakets von einer Karte zu einer anderen Karte, wie es etwa geschieht,
wenn ein Paket, das von einem Modem in den Switch gelangt und per
Frame Relay zu einer anderen Karte übertragen wird, wird das Paket
zur Backplane umgeleitet, indem die Controllernummer zu null geändert wird.
Pakete, die an entfernte Ports geleitet werden, werden zum Backplane-Treiber
geleitet. Wenn ein Paket von der anderen Karte empfangen wird, wird
die Controlleradresse auf Frame Relay umgeschaltet.The
Backplane also includes an address area. When sending a
Package from one card to another card, as it happens,
if a packet that gets into the switch from a modem and via
Frame Relay is transferred to another card, the package becomes
redirected to the backplane by changing the controller number to zero.
Packets directed to remote ports become the backplane driver
directed. If a package is received from the other card, will
the controller address switched to frame relay.
Wenn
ein Treiber ein Paket von einem Port empfängt, erzeugt er einen GPD 702 für das Paket.
Dabei erzeugt der Treiber vorzugsweise die Eingangsportinformation 716,
wie 33 veranschaulicht. Die Eingangsportinformation 716 beinhaltet
acht Flag-Bits und 24 Adreßbits.
Die Flag-Bits spezifizieren die Quellkontrollinformation, die es
der empfangenden Anwendung gestattet, die richtigen Routing- und
Verkapselungsfunktionen anzuwenden.When a driver receives a packet from a port, it generates a GPD 702 for the package. there the driver preferably generates the input port information 716 , as 33 illustrated. The input port information 716 includes eight flag bits and 24 address bits. The flag bits specify the source control information that allows the receiving application to apply the proper routing and encapsulation functions.
Die
Ausgangsportinformation 714 wird vorzugsweise aufgebaut,
nachdem die Routinginformation des Pakets vom IP-Weiterleitermodul 44 empfangen
wurde. 34 zeigt ein Entwurfsschema
der Ausgangsportinformation gemäß einer
Ausführungsform
der Erfindung. Die Ausgangsportinformation 714 beinhaltet
acht Flag-Bits und 24 Adreßbits.
Das aus den acht Flag-Bits bestehende Feld wird als Kontrollinformation
verwendet, die von der Anwendung an die Treiber übergeben wird, die für das Übermitteln
des Pakets verantwortlich sind.The output port information 714 is preferably established after the routing information of the packet from the IP router module 44 was received. 34 FIG. 12 is a schematic diagram of the output port information according to an embodiment of the invention. FIG. The output port information 714 includes eight flag bits and 24 address bits. The field consisting of the eight flag bits is used as control information which is passed by the application to the drivers responsible for transmitting the packet.
Die
Ausgangsportinformation ist vorzugsweise so aufgebaut, daß Anwendungen
ein Paket an eine lokale Portadresse (LPA), eine bekannte interne
Multicast-Adresse (WKIM), eine bekannte interne Unicast-Adresse
(WKIU), eine bekannte externe Multicast-Adresse (WKEM), eine dynamische
externe Multicast-Adresse
(DEM) und eine Adresse eines entfernten Ports (RPA) senden können.The
Output port information is preferably constructed such that applications
a packet to a local port address (LPA), a known internal
Multicast Address (WKIM), a known internal unicast address
(WKIU), a known external multicast address (WKEM), a dynamic
external multicast address
(DEM) and an address of a remote port (RPA).
Wenn
ein Paket an einen lokalen Port (also lokal auf der Karte) weitergeleitet
wird, spezifiziert der Ausgangsport die physikalische Portadresse,
wie in 32 veranschaulicht. Lokale
Ports, die für
die anderen Karten sichtbar sind, sind Backplane-Treiber-Ports zugeordnet.
Die Backplane-Treiber-Ports
werden verwendet, um Pakete an entfernte Ports zu leiten. Der Backplane-Treiber
bewerkstelligt eine Zuordnung von Portadressen in den ankommenden
Paketen zu lokalen Portadressen.When a packet is forwarded to a local port (that is, locally on the card), the output port specifies the physical port address, as in 32 illustrated. Local ports that are visible to the other cards are associated with backplane driver ports. The backplane driver ports are used to route packets to remote ports. The backplane driver accomplishes an assignment of port addresses in the incoming packets to local port addresses.
WKIM-Adressen
stellen interne Kommunikationspfade zwischen Anwendungen auf verschiedenen Modulen
bereit. Wenn beispielsweise eine Anwendung, die auf dem ISDN-Modul
läuft,
eine Meldung an den Management-IP-Stack senden will, der auf dem
SCM läuft,
verwendet sie die entsprechende WKIM-Adresse, die dem IP-Stack des
SCMs zugeordnet ist. Falls es mehrere SCMs im System gibt, wird
die Meldung an den Management-IP-Stack
aller SCMs gesendet. Wenn der Benutzer einen bekannten internen
Port innerhalb einer Karte verwenden möchte, ist die WKIU zu verwenden.WKIM addresses
provide internal communication paths between applications on different modules
ready. For example, if an application running on the ISDN module
running,
wants to send a message to the management IP stack on the
SCM is running,
it uses the appropriate WKIM address that matches the IP stack of the
SCMs is assigned. If there are several SCMs in the system, then
the message to the management IP stack
all SCMs sent. If the user has a known internal
If you want to use port within a map, you have to use the WKIU.
Eine
WKEM wird zum Gruppieren mehrerer externer Ports verwendet. Beispielsweise
wird eine WKEM für
eine Anwendung wie z.B. OSPF eingerichtet, die Rundsenden an eine
Liste von Ports erfordert. Über
eine DEM-Fähigkeit
kann der Benutzer Multicast-Gruppen im laufenden Betrieb einrichten
und wieder auflösen.A
WKEM is used to group multiple external ports. For example
becomes a WKEM for
an application such as OSPF set up the broadcast to one
List of ports required. about
a DEM capability
the user can set up multicast groups on the fly
and dissolve again.
Wenn
eine Anwendung auf einer Karte ein Paket an einen externen Port
auf einer anderen Karte aussenden möchte, verwendet sie die RPA,
die diesem Port zugewiesen ist. Bevor ein entfernter Port adressiert werden
kann, erfolgt eine Zuordnung der RPA zu einer physikalischen Portadresse.
Jede Karte im System ist für
die Zuordnung ihrer eigenen Ports zu RPAs verantwortlich. In der
bevorzugten Ausführungsform
der Erfindung führen
Hilfsprogramme in einer Headerdatei die erforderliche Zuordnung
aus.If
an application on a card a package to an external port
on a different card, she uses the RPA,
assigned to this port. Before a remote port is addressed
If an assignment of the RPA to a physical port address occurs.
Every card in the system is for
the assignment of their own ports to RPAs responsible. In the
preferred embodiment
lead the invention
Helper programs in a header file the required mapping
out.
Mit
Ausnahme der lokalen Portadresse sind alle obigen Kategorien von
Adressen vorzugsweise virtuelle Adressen. Eine virtuelle Portadresse
ist einer oder mehreren physikalischen Portadressen zugeordnet.
Die Zuordnungen der virtuellen Portadressen gemäß einer Ausführungsform
der Erfindung sind in 35 veranschaulicht. Vorzugsweise
ist die Controllernummer 0 den virtuellen Adressen zugeordnet. In
einer bevorzugten Ausführungsform
der Erfindung lauten die Backplane-Adreßbereiche wie folgt: With the exception of the local port address, all of the above categories of addresses are preferably virtual addresses. A virtual port address is assigned to one or more physical port addresses. The assignments of the virtual port addresses according to an embodiment of the invention are in 35 illustrated. Preferably, the controller number 0 is assigned to the virtual addresses. In a preferred embodiment of the invention, the backplane address ranges are as follows:
Das
bekannte interne Multicast wird verwendet, um Pakete an die internen
Anwendungen zu leiten, die auf mehreren Karten laufen. Beispiele
hierfür
sind OSPF, RIP und das Anrufprotokoll (call log). Das bekannte externe
Multicast wird verwendet, um Pakete an eine Gruppe von Ports für eine bekannte
Anwendung zu leiten. Beispiele hierfür sind Ports, die von Routingprotokollen
wie OSPF, RIP und BGP4 verwendet werden. Dynamisches Multicast wird
von Anwendungsprotokollen verwendet, die das dynamische Generieren
und Löschen
von Multicast-Gruppen erfordern. Bei einem dynamischen Multicast
können
Gruppenmitglieder dynamisch hinzugefügt und gelöscht werden. IP-Multicast ist
ein Beispiel für
dynamisches Multicast.The
Known internal multicast is used to send packets to the internal ones
Run applications that run on multiple maps. Examples
therefor
are OSPF, RIP and call log. The well-known external
Multicast is used to forward packets to a group of ports for a known one
To direct application. Examples include ports that use routing protocols
as OSPF, RIP and BGP4 are used. Dynamic multicast becomes
used by application logs that generate dynamic
and delete
require multicast groups. For a dynamic multicast
can
Group members are dynamically added and deleted. IP multicast is
an example for
dynamic multicast.
Eine
weitere von der GFI bereitgestellte Funktion ist verteiltes Multicasting.
Um ein Paket an eine Multicast-Gruppe zu senden, wird nur ein Paket
erzeugt. Wenn das Paket an eine Multicast-Gruppe gesendet wird, wird
das Paket zur Backplane gesendet. Anschließend wird das Paket zur Multicast-Gruppe
weiterbefördert. Wenn
die Empfänger
das Paket erhalten, wird dieses in der Empfängerkarte zu den richtigen
Medienports weiterbefördert,
ohne daß es
kopiert zu werden braucht.A
another function provided by the GFI is distributed multicasting.
To send a packet to a multicast group will only be one packet
generated. When the packet is sent to a multicast group, it will
sent the package to the backplane. Then the package becomes the multicast group
conveyed. If
the recipients
receive the package, this is in the receiver card to the right one
Media ports forwarded,
without it
needs to be copied.
Die
GFI sorgt ferner für
Transparenz in der Hardwarekonfiguration. So sind beispielsweise
die Anzahl der CPUs und die DMA-Fähigkeit für die Anwendungen transparent.
Die Speicheranordnung zwischen Plattformen kann von Karte zu Karte
vollständig
unterschiedlich sein. Die GFI macht sie für Anwendungen transparent.
Daher brauchen sich Anwendungen nicht um Treiber und Speicher zu
kümmern.
Die genauen Eigenschaften einer Karte werden zur Laufzeit festgelegt.
Die GFI verlagert die gesamten Datenstrukturen anhand der GFI-Kunfiguration
an die richtigen Positionen. Wenn die GFI aktiviert wird, ruft sie
eine generische Plattformfunktion zum Initialisieren der Plattform
auf. Die generische Plattformfunktion übernimmt die Parameter für eine Plattform.
Die Plattformfunktion stellt fest, um welche Art Karte es sich handelt
und welche Art von Speicher sie darstellt und richtet anschließend entsprechende
Datenstrukturen und Speicher ein. Parameter, die von der Funktion übergeben
werden, legen die Konfiguration des gemeinsamen Speichers und die
Puffergröße fest.
Beispielsweise kann ein Parameter für eine Modempuffergröße von 255
kB an die GFI zurückgegeben werden.
Für jede
Karte gibt es eine Plattformfunktion. Somit ist derselbe Code auf
unterschiedlichen Karten lauffähig.The
GFI also takes care of
Transparency in the hardware configuration. Such are, for example
the number of CPUs and the DMA capability for the applications are transparent.
The storage arrangement between platforms can vary from card to card
Completely
be different. The GFI makes them transparent for applications.
Therefore, applications do not need to be drivers and memory too
To take care of.
The exact properties of a map are set at runtime.
The GFI relocates all data structures based on the GFI configuration
to the right positions. When the GFI is activated, it calls
a generic platform feature to initialize the platform
on. The generic platform function inherits the parameters for a platform.
The platform feature determines what type of map it is
and what kind of memory it represents and then sets up appropriate
Data structures and memory. Parameters passed by the function
be, set the shared memory configuration and the
Buffer size fixed.
For example, a parameter for a modem buffer size of 255
kB be returned to GFI.
For every
Card there is a platform function. Thus, the same code is on
different cards executable.
Die
GFI-Software ist so ausgelegt, daß sie auf unterschiedlichen
Hardwareplattformen lauffähig
ist. So ist die GFI beispielsweise auf allen Personalmodulen wie
auch auf allen generischen Hardwaremodulen (d.h. dem High-Speed
Generic Module, dem Low-Speed Generic Module usw.) lauffähig. Nachdem
ein auf der GFI-Schnittstelle basierender Treiber implementiert
wurde, kann er ohne jede Modifikation von Plattform zu Plattform
verlagert werden. Darüber
hinaus macht die GFI die CPU-Konfiguration des Systems (d.h. eine
CPU oder zwei CPUs) für
die Anwendungen und Treiber transparent. Beim Übergang von einer Einzel-CPU-Konfiguration
zu einer Konfiguration mit mehreren CPUs und umgekehrt sind keine Änderungen
an den Treibern und Anwendungen erforderlich.The
GFI software is designed to work on different
Hardware platforms executable
is. For example, the GFI is on all staff modules like
also on all generic hardware modules (i.e., the high-speed
Generic Module, the Low-Speed Generic Module, etc.). After this
implemented a driver based on the GFI interface
he can, without any modification from platform to platform
be relocated. About that
In addition, the GFI makes the system's CPU configuration (i.e.
CPU or two CPUs) for
the applications and drivers transparent. When transitioning from a single-CPU configuration
to a configuration with multiple CPUs and vice versa are no changes
required at the drivers and applications.
Beim
Verarbeiten von Paketen auf einer Plattform mit einer einzelnen
CPU geht die GFI eine Empfangswarteschlange durch und kontrolliert
den Code, der im Paket-Deskriptor festgelegt ist. Die GFI prüft ferner,
ob eine Anwendung zum Empfangen des Pakets registriert ist. Die
Anwendungen registrieren sich beim Initialisieren bei der GFI. Wenn
eine Anwendung zum Empfangen des Pakets registriert ist, ruft die
GFI die registrierte Anwendung auf und übergibt den Paket-Deskriptor
an die Anwendung.When processing packets on a single CPU platform, the GFI goes through a receive queue and controls the code specified in the packet descriptor. The GFI checks fer whether an application is registered to receive the package. The applications register when initializing at the GFI. When an application is registered to receive the package, the GFI calls the registered application and passes the package descriptor to the application.
Auf
einer Plattform mit mehreren CPUs befindet sich eine Warteschlangen-CPU
und eine Anwendungs-CPU. Die Warteschlangen-CPU bewerkstelligt die
Organisation von Warteschlangen, während die Anwendungs-CPU die
Verarbeitung übernimmt.
Ein Makro übergibt
das Paket anhand der QoS-Klasse, die im Paket-Deskriptor festgelegt
ist, an eine QoS-Warteschlange,
die von der Anwendungs-CPU abzuarbeiten ist. Der GFI-Code macht
die Anzahl der CPUs konfigurationstransparent. Ob die GFI auf einer
CPU oder auf zwei CPUs läuft,
macht für
den Treiber, der die GFI-Empfangsfunktion
aufruft, keinen Unterschied. Die GFI übergibt ein Paket an eine Warteschlange,
wenn sie auf einer Plattform mit zwei CPUs läuft, oder sie ruft die Funktion auf
einer Plattform mit einer einzelnen CPU direkt auf.On
In a multi-CPU platform, there is a queue CPU
and an application CPU. The queuing CPU accomplishes the
Organization of queues while the application CPU the
Processing takes over.
A macro hands over
the package based on the QoS class specified in the package descriptor
is to a QoS queue,
which is to be processed by the application CPU. The GFI code does
the number of CPUs is configuration-transparent. Whether the GFI on one
CPU or running on two CPUs,
makes for
the driver that has the GFI receive function
calls, no difference. The GFI passes a packet to a queue,
if it is running on a platform with two CPUs, or it calls the function
a platform with a single CPU directly on.
Wenn
ein Paket an eine Anwendung übergeben
wird, kann die Anwendung (1) das Paket weiterleiten, (2) das Paket
auslassen oder (3) das Paket halten. Wird die Anwendung aufgerufen,
so liefert sie einen dieser drei Codes an die GFI.If
Passing a package to an application
the application (1) can forward the packet, (2) the packet
omit or (3) keep the package. If the application is called
so she delivers one of these three codes to the GFI.
Eine
Anwendung ist das IP-Weiterleitermodul 44, der das IP-Paket
erhält
und Weiterleitungsentscheidungen bezüglich des Pakets trifft. Nachdem
die Weiterleitungsentscheidung getroffen wurde, legt das IP-Weiterleitermodul
die GFI-Zieladresse
im Paket-Deskriptor fest und gibt einen Weiterleitungscode zurück. Wenn das
IP-Weiterleitermodul feststellt, daß das Paket nicht in Ordnung
ist oder nicht verarbeitet werden kann, liefert es an die GFI einen
Auslassungscode, welcher meldet, daß das Paket auszulassen ist.
Wenn das IP-Weiterleitermodul feststellt, daß das Paket gehalten werden
soll, überträgt das Modul
das Paket später,
weil die Routinginformation noch nicht ermittelt wurde.One application is the IP redirector module 44 who receives the IP packet and makes forwarding decisions regarding the packet. After the forwarding decision is made, the IP router module sets the GFI destination address in the packet descriptor and returns a forwarding code. If the IP router detects that the packet is out of order or can not be processed, it provides the GFI with an ellipse code that indicates that the packet should be skipped. If the IP forwarder module determines that the packet is to be held, the module later transfers the packet because the routing information has not yet been determined.
Wenn
der Weiterleitungscode zurückgegeben
wird und die GFI in einer Betriebsumgebung mit zwei CPUs läuft, übergibt
die GFI das Paket an die Warteschlangen-CPU. Läuft die GFI dagegen in einer
Betriebsumgebung mit einer CPU, so ruft die GFI die Sendefunktion
für die
GFI direkt auf. Die Sendefunktion entscheidet in Abhängigkeit
davon, an welchen Treiber dieses Paket zu gehen hat und richtet
das Paket zum Aussenden an die richtige Sendefunktion.If
the forwarding code returned
and running the GFI in an operating environment with two CPUs passes
the GFI sends the packet to the queuing CPU. In contrast, the GFI runs in one
Operating environment with a CPU, the GFI calls the send function
for the
GFI directly on. The transmission function decides in dependence
of which driver this package has to go to and directs
the package to send to the right send function.
Wenn
die GFI auf einer Plattform mit zwei CPUs läuft, wird automatisch ein Satz
von Warteschlangen eingerichtet, nämlich Empfangs- und Weiterleitungswarteschlangen.
In einer Ausführungsform
der Erfindung sind vier Empfangswarteschlangen und vier Weiterleitungswarteschlangen
vorhanden. Die einzelnen Warteschlange werden verwendet, um zwischen
unterschiedlichen QoS-Klassen zu unterscheiden. Die GFI entnimmt
das Paket aus der Warteschlange, verarbeitet es anhand der QoS,
ruft anschließend
die Sendefunktion auf und stellt das Paket schließlich für die richtige
Treiber-Sendefunktion bereit. Welche Treiber-Sendefunktion aufgerufen
wird, hängt
von der Weiterleitungs-Portadresse im Paket-Deskriptor ab. Die Weiterleitungs-Portadresse
verfügt über eine
Controllernummer, die wiederum den Treiber festlegt, der das Paket
empfangen soll.If
The GFI running on a platform with two CPUs automatically becomes one set
of queues, namely receive and forward queues.
In one embodiment
of the invention are four receive queues and four forward queues
available. The single queue is used to switch between
to differentiate between different QoS classes. The GFI takes off
the packet from the queue, processes it by QoS,
then call
the send function on and finally puts the package for the right one
Driver send function ready. Which driver send function is called
will hang
from the forwarding port address in the packet descriptor. The forwarding port address
has one
Controller number, which in turn sets the driver of the package
should receive.
In
einer alternativen Ausführungsform
der Erfindung unterstützt
die GFI acht Empfangswarteschlangen (Receiving Queues, RQs) und
acht Weiterleitungswarteschlangen (Forwarding Queues, FQs). 36 zeigt ein Entwurfsschema der Empfangswarteschlangen
und Weiterleitungswarteschlangen gemäß einer Ausführungsform
der Erfindung. Wenn der Treiber ein Paket empfängt, verwendet er den dem Paket
zugewiesenen QoS-Wert,
um es in eine der acht RQs einzuordnen. Wenn eine Anwendung in ähnlicher
Weise ein Paket weiterleitet, verwendet sie den dem Paket zugewiesenen
QoS-Wert, um es in eine der acht FQs einzuordnen.In an alternative embodiment of the invention, the GFI supports eight receiving queues (RQs) and eight forwarding queues (FQs). 36 FIG. 12 shows a layout scheme of the receive and forward queues according to one embodiment of the invention. FIG. When the driver receives a packet, it uses the QoS value assigned to the packet to place it in one of the eight RQs. Similarly, when an application forwards a packet, it uses the QoS value assigned to the packet to place it in one of the eight FQs.
Das
oben beschriebene Warteschlangenschema wird vorzugsweise nur für die Konfiguration
mit zwei CPUs verwendet. Wenn die GFI in einer Konfiguration mit
nur einer CPU läuft,
werden die Weiterleitungs- und Empfangswarteschlangen nicht erzeugt
oder verwendet. Die GFI macht dies für ihre Benutzer transparent.The
The queue scheme described above is preferably for configuration only
used with two CPUs. If the GFI in a configuration with
only one CPU is running,
the forwarding and receiving queues are not generated
or used. The GFI makes this transparent to its users.
Die
GFI stellt ferner eine prozessorübergreifende
Kommunikation (Inter-Processor Communication, IPC) bereit. Unter
Verwendung der IPC-Fähigkeit
können
Anwendungen, die auf unterschiedlichen Prozessoren auf derselben
Karte laufen, untereinander Meldungen austauschen. Um Meldungen
per IPC zu empfangen, registriert sich eine Anwendung bei der IPC
mit Hilfe der in gfi-ipc.h enthaltenen Funktionsaufrufe. Die IPC bietet
zwei Betriebsarten, nämlich
den synchronen und den asynchronen Betrieb. Bei Verwendung des synchronen
Betriebs kann eine Anwendung eine Meldung an einen Client senden,
der auf einer anderen CPU läuft,
und auf die Antwort warten. Die IPC stellt den Mechanismus bereit,
nach dem die antwortende Stelle eine Meldung an die anfragende Stelle
sendet, wenn die synchrone Betriebsart verwendet wird. Wenn eine
Anwendung keine explizite Bestätigung
einer Meldung benötigt,
verwendet sie die asynchrone Betriebsart. In diesem Fall ordnet
die IPC die Meldung in eine Warteschlange ein und kehrt unmittelbar
zur Anwendung zurück.The GFI also provides inter-processor communication (IPC). Using IPC capability, applications running on different processors on the same card can exchange messages with each other. To receive messages via IPC, an application registers with the IPC using the function calls contained in gfi-ipc.h. The IPC offers two modes of operation, namely synchronous and asynchronous operation. When using synchronous operation, an application can send a message to a client running on a different CPU and wait for the response. The IPC provides the mechanism by which the responding party sends a message to the requestor when the synchronous mode is used. If an application does not require an explicit acknowledgment of a message, it uses the asynchronous mode. In this Case, the IPC queues the message and returns immediately to the application.
Obwohl
diese Erfindung anhand bestimmter spezifischer Ausführungsformen
beschrieben wurde, werden für
den Fachmann zahlreiche zusätzliche
Modifikationen und Varianten offensichtlich sein. Es sei deshalb
darauf hingewiesen, daß die
vorliegende Erfindung auch auf jede andere als die konkret beschriebene Weise
angewandt werden kann. Somit sollte die vorliegende Ausführungsform
der Erfindung in jeder Hinsicht als illustrativ und nicht einschränkend betrachtet
werden, und der Geltungsbereich der Erfindung ergibt sich aus den
beigefügten
Ansprüchen
und ihren Äquivalenten.Even though
this invention based on certain specific embodiments
has been described for
the expert numerous additional
Modifications and variants are obvious. It is therefore
noted that the
present invention in any other than the concrete manner described
can be applied. Thus, the present embodiment should
The invention is considered in all respects as illustrative and not restrictive
and the scope of the invention will become apparent from the
attached
claims
and their equivalents.