X11-Startseite
Remote X11

EoD: Einleitung

X11 zu entfernten Standorten


Das X11-Protokoll wurde in den 80er Jahren für die Arbeit in gut funktionierenden LANs entwickelt. Erst im Verlauf der 90er Jahre - besonders mit der rasanten Entwicklung des Internets - wurde klar, dass das netzwerktransparente Arbeiten mit X-Applikationen auch über größere Entfernungen wünschenswert ist.
X11 über WANDas nebenstehende Diagramm illustriert die Probleme mit X11 im WAN (Wide Area Network). Zunächst wirkt die im Vergleich zum LAN begrenzte Bandbreite als Bremse. Viel gravierender wirken sich jedoch die großen Latenzzeiten aus, also die Zeit, die ein Datenpaket für die Reise durch das Netzwerk benötigt. Typischerweise liegt diese Zeit im LAN bei ca. 1ms, im WAN aber einige zig oder sogar über 100ms. Zwischen X-Client und -Server sieht das X-Protokol selbst für einfache Zeichenaktionen eine Vielzahl von Datenpaketen vor, die jeweils erst nach einer Anfrage bzw. Bestätigung der Gegenseite gesendet werden. So wird für jede atomare Aktion die Netzstrecke zwei Mal durchlaufen ("Roundtrip"); für n Datenpakete ergibt sich also ein Zeitbedarf von n·x·2 ms.

In der Praxis führt das zu minutenlangen Wartezeiten alleine für den Aufbau eines CDE-, KDE- oder gnome-Desktops über eine typische ADSL-Verbindung. Eine weitere Schwäche des klassischen X11-Protokollls besteht in der großen Anfälligkeit gegenüber Störungen im Netzwerk. Eine kurzzeitige Unterbrechung bedeutet i.d.R. das gewaltsame Ende der gesamten X-Session. Insgesamt ist das produktive Arbeiten mit "normalem" X11 über WAN-Leitungen nicht möglich.

Seit Mitte der 90er Jahre werden Lösungen für dieses Problem entwickelt. Allen gemeinsam ist eine 3-stufige Architektur, bei der zwischen  X-Client und -Server ein Proxy geschaltet wird:
X11-Proxy
Der Proxy ist letztlich ein Dienst, der auf einem separatem Server oder auf der gleiche Maschine wie die X-Applikationen selbst laufen kann. Er setzt X11 auf ein für WAN-Leitungen optimiertes Protokoll um.

Folgende Techniken bieten sich für die Optimierung auf WAN-Leitungen an:
  • möglichst viel Information pro Datenpaket (damit Reduktion der Anzahl der Roundtrips)
  • Datenkompression
  • Client-seitiges Caching (Bitmaps, Fonts)
  • Übertragung von Deltas, z.B. Differenzbildern anstatt kompletter Bitmaps

Ein erster Ansatz war das "Low Bandwidth Protocol" (LBX), das im Dezember 1996 mit X11R6.3 in den offiziellen Standard aufgenommen wurde. Mangels Anklang und nachdem deutlich bessere Lösungen entwickelt wurden, entfernte X.org den Code endgültig mit X11R7.2 (in X11R7.1 war LBX bereits per Default abgeschaltet).
Mittlerweile sind mehrere kommerzielle und Open-Source-Lösungen auf dem Markt. Im X11-Bereich führend ist das Produkt Exceed onDemand des UNIX-Connectivity-Anbieters Hummingbird (heute Teil der Optentext Corporation).
X11-Startseite
     © 2008 Andreas Gottwald
EoD: Einleitung