Beschreibung
Verfahren zur Zugangskontrolle zu einem Kommunikationsnetz
Technisches Gebiet
Die Erfindung betrifft ein Verfahren zur Zugangskontrolle zu einem Kommunikationsnetz mit internen Knoten und Zugangsknoten, wobei die Zugangsknoten aus jeweils einem Eingangsknoten und einem Ausgangsknoten bestehen und von angeschlossenen Endgeräten und/oder anderen Netzen Datenpakete zu- und ableiten, wobei die internen Knoten nach Routing-Algorithmen die Datenpakete von einem Eingangsknoten zu einem Ausgangsknoten leiten und wobei die internen Knoten Datenpakete mit einer lastabhängigen Markierung versehen.
Stand der Technik
Zur Erfassung von Überlastungen bzw. Blockierungen im Internet ist es durch Kadangode K. Ramakrishnan, Sally Floyd and David Black, IETF RFC 3168: The Addition of Explicit Congestioή Notification (ECN) to IP, September 2001 bekanntgeworden, denjenigen Datenpakete, welche mindestens einen internen Knoten durchlaufen haben, bei dem eine Überlastung festgestellt wurde, eine Markierung, bestehend aus einem entsprechend gesetzten Bit, hinzuzufügen. Beim
Empfang des Datenpaketes im Ausgangsknoten kann somit festgestellt werden, ob mindestens einer der zur Übertragung dieses Datenpaketes benutzten Knoten und Links hoch belastet oder überlastet ist. Das obengenannte Dokument ist ebenso wie die weiter unten genannten Dokumente der IETF (Internet Engineering Task Force) unter der Adresse http ://www. ietf . org/rfc .html verfügbar.
Bei den bekannten Verfahren zur lastabhängigen Markierung wird unter Last nicht die Rechenlast am Vermittlungsknoten verstanden, sondern die Übertragungslast am ausgehenden Link. Dies beinhaltet die implizite Annahme, dass die Vermittlungskapazität des Vermittlungsknotens immer ausreichend ist und hohe Last oder Überlast nur entsteht, wenn die Summe des Verkehrs für einen bestimmten Ausgangslink dessen Kapazität überschreitet.
Die bekannten Verfahren zur lastabhängigen Markierung können unterschieden werden in
- Warteschlangen-orientiert (hier wird markiert, wenn die Warteschlange bestimmte Füllhöhen überschreitet) ,
- Raten-orientiert (hier wird in Abhängigkeit von der Verkehrsrate markiert) ,
- virtuelle Warteschlangen (hier wird ein virtuelles System mitgeführt, bei dem die Übertragungskapazität kleiner ist als beim realen System; wenn die Warteschlange im virtuellen System bestimmte Füllhöhen überschreitet, wird im realen System markiert) .
Aufgabe der vorliegenden Erfindung ist es, die durch derartige Markierungen erhaltenen Informationen zur Verbesserung der Zugangskontrolle im Internet oder in anderen paketvermittelten Netzen zu nutzen.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, dass die Ausgangsknoten die aus dem Kommunikationsnetz eintreffenden Datenpakete und die darin enthaltenen Markierungen nach Eingangsknoten getrennt zählen und daraus und aus dem jeweiligen Zeitintervall, in dem die Zählung erfolgt ist, Lastberichte bilden und dass aus den Lastberichten Daten für die Zugangskontrolle abgeleitet werden.
Das erfindungsgemäße Verfahren hat den Vorteil, dass aussagekräftige Informationen über den Lastzustand des Kommunikationsnetzes zur Verfügung gestellt und zur Zugangskontrolle benutzt werden, wobei nur eine geringfügige oder gar keine Änderung der internen Knoten bezüglich Hard- oder Software gegenüber der bekannten Explicit-congestion-notification erforderlich ist.
Eine vorteilhafte Ausführungsform der Erfindung besteht darin, dass durch die Zugangskontrolle eine neue Anfrage akzeptiert wird, wenn die gemeldete Last einen vorgegebenen Schwellwert nicht überschreitet, und ansonsten die Anfrage abgelehnt wird.
Bei einer anderen Ausführungsform der Erfindung ist vorgesehen, dass die Lastberichte zu Eingangsknoten übertragen werden und dass in dem den jeweiligen Lastbericht empfangenden Eingangsknoten die Zahl der Datenpakete, die für den den Lastbericht sendenden Ausgangsknoten bestimmt sind, begrenzt wird. Mit dieser Ausführungsform wird eine wirksame Zugangskontrolle ermöglicht, so dass drohende Blockierungen des Kommunikationsnetzes oder Teilen davon rechtzeitig verhindert werden können. Dabei kann es auch vorgesehen sein, dass keine Begrenzung erfolgt, wenn die Zahl der Markierungen bezogen auf die Zahl der Datenpakete einen vorgegebenen niedrigen Schwellwert unterschreitet.
Das zur Zählung verwendete Zeitintervall kann dynamisch den jeweiligen Umständen angepasst werden. Es kann jedoch auch beispielsweise die Zahl der Datenpakete - gegebenenfalls dynamisch - vorgegeben werden, so dass sich das Zeitintervall daraus ergibt.
Eine an sich aus Jonathan Turner: New Directions in Communications, IEEE Communications Magazine, No. 10, Jahrgang 24, Oktober 26 als Token-bucket-regulator (TBR) bekanntgewordene Zugangskontrolle kann mit dem erfindungsgemäßen Verfahren wesentlich verbessert werden.
Dazu ist bei einer Weiterbildung der Erfindung, bei welcher die Zuführung von Datenpaketen in das Kommunikationsnetz in den Eingangsknoten durch einen Token-bucket-regulator (TBR) gesteuert wird, mit den Parametern Bucket-depth, Filling-rate und Peak-rate, und bei welcher die laufende Zahl von Tokens aus der Nummer der vorherigen Tokens, dem Intervall zwischen dem jeweiligen Datenpaket und dem vorangegangenen Datenpaket und einer vorgegebenen Füllrate berechnet wird, vorgesehen, dass bei der Berechnung der laufenden Anzahl von Tokens die Lastberichte berücksichtigt werden.
Eine vorteilhafte Ausgestaltung dieser Weiterbildung besteht darin, dass Datenpakete, die den TBR erfolgreich passieren, mit einer ECT-Markierung versehen werden, während nicht angemeldete Datenpakete oder zuviel gesendete Datenpakete ohne ECT-Markierung weitergeleitet werden.
Diese Ausgestaltung der Weiterbildung ermöglicht für priorisierte Teilnehmer eine Mindestrate dadurch, dass die laufende Zahl von Tokens wie folgt berechnet wird: t = i«sτ + t, wobei t die vorangegangene Zahl von Token ist, i das Intervall zwischen dem jeweiligen und dem vorangegangenen Datenpaket, s eine aus dem Lastbericht
gewonnene Größe und r eine Mindestrate darstellen.
Dabei ist vorzugsweise vorgesehen, dass s = (u-e)/l berechnet wird, wobei 1 die aktuelle Lastschätzung, u ein Schwellwert für die Zugangskontrolle und e ein Sicherheitsabstand ist. Damit wird verhindert, dass für Datenströme nur eine geringe Datenrate bestellt wird, aber dann eine wesentlich höhere Datenrate gesendet wird. Dadurch könnte das Netz ausgelastet werden. Da andere Ein- bzw. Ausgangsknoten solche Last nicht von der Basislast der Datenflüsse unterscheiden können, würden eventuell neue Anforderungen abgelehnt, obwohl die existierenden Datenflüsse eigentlich noch Platz machen könnten.
Es ist sinnvoll, den an den TBR gemeldeten Skalierungswert s kleiner zu setzen als die im Lastbericht enthaltene aktuelle Lastschätzung multipliziert mit dem Schwellwert für die Zugangskontrolle. Ansonsten können elastische Verkehrsströme mit einem geringen Ratenparameter das System davon abhalten, neue Verkehrsströme zu akzeptieren, auch wenn eigentlich noch Ressourcen dafür frei wären.
Bei Anwendung eines Empfänger-initiierten Dienstgüte-Signalisierungsprotokolls, wie beispielsweise durch Robert Braden, Lixia Zhang, Steve Berson, Shai Herzog, and Sugih Ja in. RFC 2205 - Resource Reservation Protocol (RSVP) - Version 1 Functional Specification, Standards Track RFC, September 1997 beschrieben, kann der Lastbericht innerhalb eines eine Reservierung anzeigenden Datenpaketes an den jeweiligen Eingangsknoten übertragen werden.
Sollte ein solches Datenpaket nicht häufig genug zur Verfügung stehen, kann außerdem vorgesehen sein, dass der Lastbericht an den jeweiligen Eingangsknoten in einem eigenen Datenpaket übertragen wird.
Bei bekanntgewordenen Möglichkeiten zur Kontrolle des Verkehrs im Internet (u.a. RSVP), bei welcher nach einer Bedarfsmeldung eines Eingangsknotens an einen Ausgangsknoten und danach vom Ausgangsknoten eine Reservierung einer Datenrate erfolgt, kann das erfindungsgemäße Verfahren derart angewendet werden, dass anhand des Lastberichts die tatsächliche Datenrate geschätzt wird und dass die für die Zugangskontrolle geschätzte Last in Abhängigkeit von der Differenz zwischen der reservierten Datenrate und der geschätzten tatsächlichen Datenrate angepasst wird.
Diese Ausführungsform kann derart ausgebildet sein, dass die geschätzte Last wie folgt berechnet wird:
1 = (m/p) -((a+R)/u), wobei 1 die geschätzte Last, m und p die im Lastbericht enthaltenen Zahlen der Markierungen und Datenpakete, a die laufende Datenratenzuordnung, R die laufende Anforderung und u die aus der Zahl der Bytes und der Zeitintervallinformation gewonnene Benutzungsrate des Lastberichts sind.
Diese Ausführungsform berücksichtigt die neu eintreffende Reservierung und korrigiert die vorhandene Lastschätzung entsprechend nach oben, d.h. schätzt die zukünftige Last unter Einbeziehung der neuen Reservierung ab.
Weiterhin kann reservierte aber nicht ausgenutzte Datenrate mittels kontrollierter Überbuchung berücksichtigt werden. Im Einzelnen kann dabei vorgesehen sein, dass die angepasste geschätzte Last 1* wie folgt berechnet wird: 1* = 1- [α(c-u) +u] /u, wobei 1 die geschätzte Last entlang eines Pfades, c die akkumulierte reservierte Datenrate entlang dieses Pfades und u die tatsächlich gemessene Datenrate ist und wobei o; bestimmt, zu welchem Anteil die nicht ausgenutzte Datenrate (c-u) in die Berechnung einfließt.
So wird beispielsweise bei α=l l*=l-c/u. D. h. die nicht ausgenutzte Datenrate wird voll berücksichtigt. Die Schätzung ist daher sehr pessimistisch. Bei α=0, woraus sich 1*=1 ergibt, wird die nicht ausgenutzte Datenrate überhaupt nicht berücksichtigt, d. h. die Schätzung ist sehr optimistisch. Mit o; können also Annahmen über eine mögliche Überbuchung der Ressourcen codiert werden.
Es ist möglich, dass das Kommunikationsnetz zusätzlich auch Daten durchleitet, die keiner Zugangskontrolle unterworfen sind, wobei allerdings anderweitig garantiert sein muss, dass diese Daten bei CE-Markierungen ihre Datenrate anpassen (so wie klassisches TCP/ECN) oder keine ECT-Markierungen tragen.
Bei den oben erwähnten Verfahren zur Markierung wird in einem ersten Schritt ein Algorithmus angewendet und in einem zweiten Schritt entschieden, ob ein Datenpaket markiert oder verworfen wird (in Abhängigkeit vom ECT-Bit) . Gemäß einer Weiterbildung der Erfindung wird zuerst in Abhängigkeit vom ECT-Bit entschieden, welcher Algorithmus dann angewendet wird, wobei bei gesetztem ECT-Bit ein Raten-orientierter Algorithmus und bei nicht gesetztem ECT-Bit ein Warteschlangen-orientierter Algorithmus angewendet wird.
Diese Weiterbildung ermöglicht eine angemessene Durchleitung von nicht angemeldeten Datenpaketen, wobei diese Datenpakete durch den Warteschlangen-orientierten Algorithmus bei Lasterhöhungen zuerst verworfen werden.
In einer weiteren Fortentwicklung der Erfindung kann der Raten-orientierte Algorithmus die Datenpakete mit einer Markierungsrate versehen, die sich exponentiell aus der aktuellen Auslastung ergibt, z.B. für eine Auslastung X durch m(x) = [exp(k-x)-l] / [exp(k)-l] mit einem Gewichtungsfaktor k. Hierdurch ist es möglich, dass aus dem
Lastzustand des Pfades Rückschlüsse über die Auslastung des am höchsten ausgelasteten Knotens gezogen werden können, auch wenn die Multiplikation der Markierungswahrscheinlichkeiten zurückgerechnet wird.
Bei den derzeit vorhandenen Paketvermittelten Netzen wird zwischen einem Eingangsknoten und einem Ausgangsknoten gleichzeitig nur ein Pfad benutzt. Dabei genügt im Ausgangsknoten die Trennung der Zählwerte nach Eingangsknoten. Es sind jedoch durchaus Routing-Algorithmen möglich, bei denen gleichzeitig mehrere Pfade zwischen einem Eingangsknoten und einem Ausgangsknoten benutzt werden, wozu gemäß einer Weiterbildung der Erfindung vorgesehen ist, dass die Zählung ferner nach Pfaden getrennt erfolgt und dass die Zugangskontrolle pfadweise vorgenommen wird.
Die derzeit im Internet verwendeten Vermittlungsknoten leiten die Datenpakete nach dem Prinzip der Warteschlangen weiter, d. h. an dem Ausgang zum jeweiligen Link werden die zu sendenden Datenpakete über ein FIFO geleitet. Es wurden jedoch bereits Vermittlungsknoten vorgeschlagen, die eine differenzierte Weiterleitung der Datenpakete vornehmen, zum Beispiel das Differentiated-Services-Modell der IETF, bei dem anhand von Feldern im IP-Header zwischen mehreren Verkehrsklassen unterschieden wird. Das erfindungsgemäße Verfahren kann in beiden Fällen angewandt werden, vorzugsweise im zweiten Fall separat pro Verkehrsklasse.
Kurze Beschreibung der Zeichnungen
Ausführungsbeispiele der Erfindung sind in der Zeichnung anhand mehrerer Figuren dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
Fig. 1 Teile eines Kommunikationsnetzes zur Erläuterung des erfindungsgemäßen Verfahrens,
Fig. 2 einen Eingangsknoten und
Fig. 3 einen Ausgangsknoten, jeweils in schematischer Darstellung.
Beschreibung der Ausführungsbeispiele
Figur 1 stellt schematisch das Kommunikationsnetz 1 mit Zugangsknoten 2, 3, 4 (Gateways) und internen Knoten 5, 6, 7, 8, 9 dar. Die Zugangsknoten 2, 3, 4 verbinden das Kommunikationsnetz 1 mit anderen Netzen und Endgeräten und bestehen jeweils aus einem Eingangsknoten 21, 31, 41 (ingress node) und einen Ausgangsknoten 22, 32, 42 (egress node) . Die internen Knoten 5 bis 9 dienen zum Weiterleiten der jeweiligen Datenpakete von einem Eingangsknoten 21, 31, 41 zu einem Ausgangsknoten 22, 32, 42. Welchen Weg dabei jeweils ein Datenpaket nimmt, wird von Routing-Algorithmen bestimmt, die je nach Belastung der einzelnen Knoten veränderbar sind. Die Routing-Algorithmen im einzelnen sind an sich bekannt, und brauchen im Zusammenhang mit der vorliegenden Erfindung nicht näher erläutert zu werden.
Ergibt sich beispielsweise für die internen Knoten 5, 6 ein erhöhtes Verkehrsaufkommen, so werden die von ihnen weitergeleiteten Datenpakete mit einer Markierung M versehen. Solche Markierungen enthalten beispielsweise die Datenpakete, die vom Eingangsknoten 21 über die internen Knoten 5, 6 zum Ausgangsknoten 32 geleitet werden. Sind die internen Knoten 8, 9 sowie deren Verbindungen untereinander und zu den Knoten 21 und 32 überlastet, werden von den vom Eingangsknoten 21 zum Ausgangsknoten 32 zu sendenden Datenpaketen mehr über die internen Knoten 8, 9 geleitet.
Im Eingangsknoten 32 werden in einem vorgegebenen Zeitabschnitt die in den vom Eingangsknoten 21 erhaltenen Datenpaketen enthaltenen Markierungen M gezählt. Zusätzlich werden die Bytes und die Datenpakete gezählt, die in der vorgegebenen Zeit vom Eingangsknoten 21 zum Ausgangsknoten 32 übertragen werden. Die Anzahl der Markierungen geteilt durch die Anzahl der Datenpakete ergibt ein gutes Maß für die Belastung des Kommunikationsnetzes hinsichtlich der Übertragung zwischen dem Eingangsknoten 21 und dem Ausgangsknoten 32.
Fig. 2 zeigt die zur Erläuterung der Erfindung erforderlichen Funktionen eines Eingangsknotens, bei dem bei 10 die Zuführung der zu übertragenden Datenpakete erfolgt, die bei 11 nach ihrer Herkunft und ihrem Ziel klassifiziert werden (classification per flow) . Danach erfolgt bei 12 eine Regelung ihrer Zuführung zu einer Ausgangsschlange 13 (FIFO Output queue) , so dass ein Strom von Datenpaketen 14 den Eingangsknoten verlässt. Die Regelung bei 12 erfolgt nach dem Verfahren der Token-bucket-regulation, wobei den einzelnen jeweils nach Ursprung und Ziel zu jeweils einem Flow zusammengefassten Datenpaketen Tokens zugeordnet werden und bei einer vorgegebenen Zahl von Tokens ein oder mehrere Datenpakete des jeweiligen Flows gesendet werden. In Fig. 2 sind die einzelnen Flows nach ihrem Ziel und ihrem Ursprung indiziert. So bedeutet beispielsweise Flow 1.3, dass diese Datenpakete beispielsweise zum Ausgangsknoten 32 übertragen werden sollen und von einem mit 3 indizierten Ursprung (= Teilnehmer) stammen.
Bei dem bekannten Token-bucket-regulator wird die Anzahl der Tokens tnew durch die Gleichung tnew = i-r + t berechnet, wobei t die vorangegangene Zahl von Tokens ist, i das Intervall zwischen dem jeweils aktuellen und vorangegangenen Datenpaket und r die Füllrate für den jeweiligen
Token-bucket ist.
Durch die Anwendung der Erfindung erhält der Eingangsknoten von denjenigen Ausgangsknoten, denen er ECT-markierte Datenpakete zusendet, Lastberichte. Diese enthalten die Anzahl m der Markierungen M, die Anzahl b der Bytes und die Anzahl p der Datenpakete, die in einem vorgegebenen Zeitintervall jeweils von einem Eingangsknoten empfangen werden. Mit Hilfe der darin enthaltenen Größen b und m wird die jeweilige Anzahl von Tokens tnew wie folgt berechnet: tnew = i- (b/m) «wtb + t.
Darin ist wtp eine Vorgabe, welche die Bereitschaft beschreibt für eine höhere Service-Qualität, das heißt für eine weitgehend verlustfreie Datenübertragung, einen höheren Preis zu zahlen. Dieser ist naturgemäß von dem jeweiligen Teilnehmer abhängig, während b und m aus dem Lastbericht nur von der Netzbelastung zwischen dem jeweiligen Eingangs- und dem jeweiligen Ausgangsknoten abhängen. Bei dem in Fig. 2 dargestellten Beispiel eines Eingangsknotens können daher b und m auf alle mit 1. indizierten Flows angewendet werden. Damit kann im Falle des Eintreffens eines vom vorigen abweichenden Lastberichts der Zufluss der Token durch wenige Rechenoperationen angepasst werden.
Neben der Zugangskontrolle erfolgt in den Eingangsknoten die Kennzeichnung der zu sendenden Datenpakete mit einer ECT-Markierung, die besagt, dass sie für die Explicit-congestion-notification vorgesehen sind und beim Durchlaufen von Knoten mit erhöhtem Lastanfall mit der CE-Markierung zu versehen sind (CE = congestion experience) .
Fig. 3 zeigt die Funktionen eines Ausgangsknotens (22, 32, 42, Fig. 1), soweit sie für das Verständnis der Erfindung erforderlich ist. Dem Ausgangsknoten wird eine Folge 15 von empfangenen Datenpaketen 16 zugeführt . Einige davon
enthalten die CE-Markierung M, andere, welche ungehindert das Kommunikationsnetz 1 (Fig. 1) durchlaufen haben, sind nicht markiert. Außerdem können Datenpakete empfangen werden, welche keine ECT-Markierung aufweisen. Diese werden bei den folgenden Verfahrensschritten nicht berücksichtigt. Bei 17 werden die Datenpakete mit ECT-Markierung per Flow klassifiziert, so dass diejenigen Datenpakete, die von demselben Eingangsknoten stammen, an jeweils einem Peer bei 18 jeweils statistisch erfasst werden. Es wird dabei für ein vorgegebenes Zeitintervall die Zahl m der Markierungen M, die Zahl b der Bytes und die Zahl p der Datenpakete aufsummiert und zu einem Lastbericht zusammengefass . Die einzelnen Datenpakete werden dann zu ihrem jeweils endgültigen Ziel 19 weitergeleitet.