Reaktionszeiten in Internet, Intranet und Extranet
Übertragungsgeschwindigkeiten im Web
Anlass
Letzte Woche war ich bei einem Kunden, bei dem eine Web-Anwendung viel zu langsam läuft. Es wurde in einer diesbzüglichen Besprechung festgehalten, dass die maximale Übertragungsrate im Routernetz des Kunden 128 kBit/s beträgt. Die Web-Anwendung besteht aus mehr als 1 MByte JAVA-Code, der jeweils beim Starten vom Server an den Client übermittelt werden muss. Die JAVA-Programmierer hatten den Produkteverantwortlichen und den Verkäufern immer versichert, dass die Reaktionszeit im Intranet sehr gut sei, auch wenn sie auf dem Internet zu wünschen übrig lasse. Im Protokoll der Sitzung fand ich die fragliche Übertragungsrate als "128 KB/sec" angegeben. Da es sich um einen für die Reaktionszeit von Web-Anwendungen äusserst kritischen Wert handelt, nahm ich diese problematische Angabe zum Anlass in einer Mail-Antwort allgemein über Reaktionszeiten im Netz einige Bemerkungen zu machen. Darauf forderten mich verschiedene Empfänger auf, diese Überlegungen zwecks allgemeinerer Verwendung in eine weniger projektbezogene Form zu bringen.
"k" oder "K"?
International standardisiert steht "k" für "Kilo" und bedeutet 1000. Für 1000 Byte müsste man also "kB" schreiben. Da alle anderen "grossen" Abkürzungen (M=Mega, G=Giga) mit Grossbuchstaben geschrieben werden, besteht ein starker Trend zum grossen K. Nicht standardisiert, aber im Computerumfeld gebräuchlich ist "K" für das "binäre Kilo" und bedeutet 1024 (2 hoch 10). Es besteht also ein Unterschied zwischen 128 kB (= 128'000 Byte) und 128 KB (= 131'072 Byte), auch wenn er nur bescheiden ist.
"b" oder "B"?
International standardisiert steht "b" für Bit und "B" für Byte. Der international standardisierte Name für Byte ist "Oktett" (wird besonders im Postumfeld und in Frankreich viel gebraucht) und deutet darauf hin, dass ein Byte aus 8 Bits besteht. Der Unterschied zwischen 128 kb (=128'000 Bit) und 128 KB (= 1'048'576 Bit) ist also ein Faktor 8,192. Bei Performance-Angaben macht dieser Unterschied demnach beinahe einen Faktor 10 aus.
Da Bit und Byte so leicht verwechselt werden, hat man sich etwa an der ETH dazu entschlossen, vom internationalen Standard abweichend, diese Grössen immer auszuschreiben. Statt "kb" also "kBit". Statt "KB" entsprechend "KByte". Diese Notation wird allen dringend empfohlen, die keine üblen Überraschungen mit der Reaktionszeit im Web erleben wollen.
Während Speichermengen immer in Byte angegeben werden, ist es üblich, Übertragungsraten (etwa bei Modems und Netzwerkverbindungen) in Bit/s anzugeben. Nach meinem Verständnis handelt es sich beim im Protokoll erwähnten internen Routernetz um eine Übertragungsgeschwindigkeit von 128 kBit/s und nicht von 128 KByte/s.
Modellrechnung für minimale Übertragungszeiten von 1 MByte
Im internen Netz des Kunden kann also in einer Sekunde doppelt so viel übertragen werden wie über ein ISDN-Modem mit 64 kBit/s, bzw. etwa zweieinhalb mal so viel wie über ein Analogmodem mit 56 kBit/s. Neuere Netze von grossen Konzernen bieten eine Übertragungsrate von 1 MBit/s.
In einem internen LAN (Ethernet) sind die Übertragungsraten deutlich höher (bei 10 MBit/s bzw. bei 100 MBit/s).
Nehmen wir an, die zu übertragende Datenmenge ist 1 MByte. Zunächst berücksichtigen wir nicht, dass normalerweise die maximale Übertragungsrate aus Protokoll- und Softwaregründen nicht realisiert wird, sondern berechnen die minimal mögliche Dauer der Übertragung.
Diese beträgt
im neueren Ethernet (100 MBit/s) 0,08 s,
im traditionellen Ethernet (10 MBit/s) 0,8 s,
mit neuen, teuren Standleitungen (1 MBit/s) 8 s,
mit älteren Standleitungen (128 kBit/s) 1 m 3 s,
mit ISDN (64 kBit/s) 2 m 5 s,
mit neuen Analog-Modems (56 kBit/s) 2 m 23 s,
mit älteren Analog-Modems (28 kBit/s) 4 m 46 s.
Wenn wir also einem Anwender im internen Netz eine maximale Wartezeit von 60 Sekunden zubilligen, haben wir gleichzeitig die Wartezeit im Internet auf zweieinhalb Minuten beschränkt (unter Annahme moderner Modems).
Durchschnittliche Wartezeiten sind grösser als minimale Übertragungszeiten
Bei den oben berechneten Übertragunszeiten für eine Datenmenge von 1 MByte handelt es sich um das absolute Minimum, das aufgrund der technischen Beschränkung des Übertragungsmediums erreichbar ist. In Realität sind die durchschnittlichen Wartezeiten doppelt so gross oder beliebig viel grösser. Das liegt daran, dass zur Übertragung von 1 MByte noch diverse Protokollaustauschschritte nötig sind, welche zur Folge haben, dass Client und Server aufeinander warten, so dass der Kanal nicht die ganze Zeit voll ausgelastet ist.
Ausserdem gibt es einen anderen zentralen Flaschenhals bei Netzanwendungen: die Prozessorleistung des Servers. Heute wird in allen Computerheften der "Thin Client" zelebriert. Das heisst nichts anderes, als dass alle Verarbeitung auf dem Server stattfinden soll. Der Client braucht die Anwendung nur noch im Browser anzuzeigen oder als Applet mit Trickfilmeffekten auszuführen und wird somit zu einem besseren Terminal degradiert. Diese JAVA-Philosophie hat aber zur Folge, dass der beim Server anfallende Leistungsbedarf extrem gross werden kann, wenn nur genügend Clients den Service gleichzeitig benötigen. Wer einmal versucht hat, vom Microsoft Server Software zu beziehen, der stündlich zehntausenden von Requests bombardiert wird, weiss wohl, dass die erzielten Übertragungsraten sehr klein werden können.
Der Server erhält bei dieser Thin-Client-Ideologie nicht nur den grössten Teil der Verarbeitungsleistung zugedacht, sondern er muss sie auch noch tausendfach vervielfältigt ausführen. Währenddessen befinden sich die CPUs auf tausenden von Clientmaschinen im Leerlauf und zeigen langsam den blauen Progress-Balken an. Soviel zur Thin-Client-Euphorie ...
Internet und Intranet, WAN und LAN
Die Behauptung, der Unterschied zwischen Internet und Intranet sei riesengross, hat sich als falsch erwiesen. In Realität ist der Unterschied etwa ein Faktor drei. Der Irrtum beruht auf einer Verwechslung von LAN und WAN. Die Entwickler arbeiten im lokalen Ethernet LAN und erleben die 0,8 Sekunden. Sie behaupten dann, dass die Performance im Intranet super sei. Dabei geht vergessen, dass ein mittelgrosser Betrieb, wie eine Bank viele LANs betreibt.
LAN (Local Area Network) und WAN (Wide Area Network)
Die maximal Kabellänge für ein Ethernet beträgt etwa 1-2 km (oder Km?). Damit sind LANs eigentlich auf einzelne Gebäude beschränkt.
Der eigentliche Witz des Internet-Protokolls (IP ist die Basisschicht von TCP/IP) besteht darin, dass es nicht die Netzwerkkommunikation im LAN regelt, sondern die Kommunikation zwischen den Netzen. Lateinisch "inter" heisst ja "zwischen". Mit Hilfe solcher "Internet"-Protokolle schliessen grosse Firmen ihre Gebäude-LANs zu WANs zusammen. Technisch gesehen werden die LANs mit Standleitungen verbunden, die eben eine Übertragungsrate von 128 kBit/s (manchmal schon von 1MBit/s, oft aber auch nur von 64 kBit/s) erlauben. Diese Übertragungsrate zwischen den lokalen Netzen ist der begrenzende Faktor. Es ist also von Interesse, nur möglichst wenig Verkehr zwischen den Netzen zu haben, da die Leistung nicht gerade berauschend ist.
Internet
Das Internet ist eigentlich nichts weiter als ein WAN, das ursprünglich von der internationalen akademischen Gemeinschaft der Universitäten betrieben wurde. Die ganz grossen Distanzen (Europa-Amerika) werden von einem superschnellen Backbone-Netz überwunden, das heute schon mehrheitlich aus Glasfasern besteht. Technisch kommt als wesentlicher Faktor nur noch hinzu, dass viele Anschlüsse über das Telephonnetz an das Routernetz herangeführt werden. Das Modem zuhause ist somit der begrenzende Faktor.
Nebenbemerkung: Mit Internet bezeichnet man das internationale TCP/IP-Netz mit allen seinen Services (Domain-Name-Service, Time-Service, Filetransfer-Service, E-Mail-Service, Telnet, HTTP, RPC, ...). Jeder Computer mit TCP/IP-Protokoll hat 65'000 mögliche Serviceanschlüsse. Diese können alle im Internet genutzt werden. Im Unterschied dazu bezieht sich die Bezeichnung WWW (World Wide Web) nur auf den einen speziellen Service (mit Nummer 80), der das HyperText Transfer Protocol (HTTP) implementiert. Dieser wird von Web-Servern bedient und von Web-Browsern genutzt.
Extranet
Während das interne Firmen-WAN heutzutage modisch als Intranet bezeichnet wird, hat sich in letzter Zeit als jüngster Sprachspross dieser Familie der Begriff "Extranet" durchgesetzt. Damit sind "externe" Anschlüsse am Intranet gemeint, die über Dial-In (Modem) oder über Standleitungen (allenfalls mit Verschlüsselungshardware) mit diesem verbunden sind. Wenn eine Anwendung auch im Extranet verfügbar sein soll, kann man also mit einer maximalen Übertragunsrate von 64 oder 128 kBit/s rechnen.
Zukunft
Die Zukunft der zwei Flaschenhälse (Standleitungen im Intranet und die "letzte Meile" durch das Telephonnetz) ist unklar.
Die Standleitungen werden wohl durch ATM-Leitungen ersetzt werden. Diese bestehen normalerweise aus Glasfasern, die eine unvorstellbar hohe Übertragungsrate haben (viel schneller als im LAN) dank einem neuen Protokoll (ATM = Asynchronous Transfer Mode).
Diese Technologie steckt in den Kinderschuhen und ist teuer. Grosse Telephonkonzerne verwenden ATM/Glasfaser-Backbones nur für die gebündelte Übertragung riesiger Mengen von Einzelverbindungen etwa von der Ostküste zur Westküste oder über den Atlantik.
Die "letzte Meile" vom Provider zum Heim ist bei 64 kBit/s blockiert. Die Modems werden aus technischen Gründen garantiert nicht schneller werden können. Erst ein Wechsel des Übertragungsmediums (Cable-TV-Leitungen oder Satelliten-Telephonie) wird hier etwas ändern. Die flächendeckende Umstellung oder Einführung eines neuen Netzes dürfte aber weltweit nicht sehr schnell vonstatten gehen. Man halte sich vor Augen, wie langsam das Telephonnetz aufgebaut wurde oder auch nur das Kabelfernsehnetz, welches bei weitem noch nicht so allgemein verfügbar wie das Telephonnetz ist.
Eine Umstellung auf Cable-TV-Verbindungen wird zwar die Übertragungsleistung "downstream" (von der lokalen Cable-TV-Zentrale zum Benutzer) erhöhen. Für den Datenverkehr "upstream" sind diese Netze aber nicht ausgerüstet, und die entsprechenden Übertragungsraten werden eher tiefer liegen als beim Telephonnetz. Falls die Internet-Nutzung vermehrt zur eigentlichen Interaktivität tendiert, ist also mit einer Umstellung auf Cable-TV nicht viel gewonnen.
Zusammenfassung
Wir haben uns daran gewöhnt, dass die Prozessorgeschwindigkeit und die Speichergrösse (Hauptspeicher und Diskkapazität) sich jedes Jahr verdoppeln. Bei der Netzwerkbandbreite ist diese Entwicklung nicht gegeben. Vielmehr müssen wir mit einer relativ beschränkten Übertragungsrate bei stürmisch wachsender Nutzung rechnen. Damit wird die wirklich verfügbare Übertragungsgeschwindigkeit im Netz eher sinken.
LLe, die wir an Web-Applikationen arbeiten, sollten wir diese Tatsache berücksichtigen. Jede Anwendung, die den Anwender heute 20 Minuten warten lässt, bis das erste JAVA-Applet anläuft, wird nicht durch die technologische Entwicklung im Laufe der nächsten paar Jahre automatisch schneller. Jede Anwendung, die über ein Gebäude hinaus verbreitet werden soll, muss mit Übertragungsraten von 128 kBit/s auskommen.
Damit ein ungeduldiger Benutzer wie ich nicht mehr als 30 Sekunden warten muss, dürfen auf eine Anfrage hin nie mehr als 250 kByte übermittelt werden.
Disclaimer
Dieser kurze "Rundschlag" zum Thema Übertragungsraten im Netz ist aus einer konkreten Arbeitssituation aus einer kleinen E-Mail entstanden. Ich habe keinerlei seriöse Abklärungen (etwa über die Intranets grösserer Firmen in der Schweiz oder über den Stand der Netztechnologie heute) vorgenommen, sondern berichte über das Aussehen der Dinge aus meiner beruflichen Perspektive.
Auch meine Zukunftsprognose, wo ich von einer allgemeinen Stagnation bei der Übertragungsgeschwindigkeit ausgehe, ist umstritten. Ich habe mir nicht die Mühe gemacht, meine Behauptungen sauber zu belegen. Ich bin allerdings bereit, auf diesem Gebiet Wetten abzuschliessen. Obwohl der Text etwas professoral geraten ist, sollten sich Leser bewusst sein, dass die verschiedenen Behauptungen nicht wissenschaftlicher belegt sind, als viele anderen Web-Gerüchte. Es liegt in der Verantwortung der Leser, sie zu prüfen.
In der heute so überhitzten Internet-Euphorie gibt es äusserst wenige Menschen, die fähig sind, auszurechnen, wieviele MByte (Videoclips, Audiodaten, Bilder, JAVA-Code) über dieses Medium vernünftigerweise übertragen werden sollen. Die oben angeführten Faustregeln sind aber sicher auch in den nächsten paar Jahren eine realistische Basis.
Man sollte JAVA-Entwickler immer über eine 64 kBit/s Leitung an das LAN anschliessen, damit sie schon beim Entwickeln merken, ob ihre Arbeit für den Anwender zu erträglichen Resultaten führt.
18.5.99 Hartwig Thomas