P2P wird Thema auf aktuellem IETF-Meeting in Vancouver sein

December 21st, 2007 Permalink

In dieser Woche hält die IETF das letzte der drei jährlichen Meetings in Vancouver ab. Über 1000 Internet-Ingenieure und -Forscher großer Hardware-Hersteller, aus dem akademischen Bereich und dem freien Markt kommen zusammen, um in den nächsten viereinhalb Tagen über verschiedene technische Themen rund um das Internet zu diskutieren. Für Außenstehende sind die Themen, wie beispielsweise die Erweiterung des DHCP-Mechanismus mit einem Login/Passwort-Aufsatz damit es auch über DSL genutzt werden kann, ziemlich langweilig. Hin und wieder kommt es aber auch vor, daß mal wieder etwas interessantes präsentiert wird. Eines dieser Themen dürfte beispielsweise der Auftritt von Bob Briscoe von der BT (British Telecom) sein, der über Fairness der Bandbreitennutzung in Bezug auf P2P-Networking sprechen wird.

Hintergründe

Der meiste Verkehr im Internet wird über TCP abgewickelt, dem Transmission Control Protocol. Prinzipiell errichtet TCP einen Kanal zwischen den beiden Kommunikationspartnern. Was immer an der einen Seite in diesen Kanal geschoben wird, kommt auf der anderen Seite wieder heraus. TCP stellt darüber hinaus sicher, daß die Daten in der richtigen Reihenfolge eintreffen, wie sie gesendet wurden. Das klappt auch, wenn Teile während der Kommunikation beschädigt wurden oder aus der Reihe gelaufen sind. Desweiteren sendet TCP immer so schnell es kann, also mit maximaler Geschwindigkeit.

Ohne zusätzliche Maßnahmen kann das Netzwerk aber auch verstopfen (TCP nennt das Congestion). Empfangen Router mehr Pakete als sie zum nächsten Router senden können, werden die Pakete eine Weile zwischengespeichert, doch reicht der Speicher nicht mehr aus, muß der Router die Pakete verwerfen. TCP erkennt den Verlust und reagiert mit einer Verringerung der Übertragungsgeschwindigkeit. Teilen sich mehrere Benutzer eine gewisse Bandbreite und tauschen Daten über TCP aus, wird sich die Geschwindigkeit für alle gleichmäßig verringern, so daß sie “fair” behandelt werden.

Die Sache mit der Fairness

Fairness zu garantieren wird schwieriger, wenn einige Anwender interaktive Anwendungen nutzen, wie beispielsweise Web Browsing über HTTP während andere passive Anwendungen für den Transfer großer Datenmengen nutzen (beispielsweise BitTorrent). Die interaktive Anwendung schickt hin und wieder Daten, wartet aber die meiste Zeit auf Benutzeraktionen (z.B. Mausklicks). Die passive Applikation konsumiert die gesamte Laufzeit über so viel Bandbreite wie sie bekommen kann. Auch wenn TCP von seiner Architektur her “fair” ist, wird die passive Applikation über einen gewissen Zeitraum deutlich mehr Bandbreite beanspruchen, als die interaktive.

Briscoe, der einen interessanten Draft dazu entworfen hat, argumentiert daß Fairness mit P2P-Anwendungen nicht mehr gewährleistet ist, denn sie verwenden oftmals zwischen 40 und 100 TCP-Sitzungen während der Laufzeit, während ein Browser mit etwa vier Sitzungen auskommt. Demnach konsumiert so eine P2P-Anwendung nicht nur mehr Bandbreite, weil sie länger unbeaufsichtigt, also nicht interaktiv, sondern weil sie auch mehr gleichzeitige Sitzungen verwenden.

In einer Kalkulation geht Brisco von 80 interaktiven und 20 passiven Anwendern aus, die eine 10 Mbps Leitung gemeinsam nutzen. Innerhalb einer Woche würden die interaktiven Anwender gerade einmal 7,1 MB herunterladen können, während die passiven Nutzer über 3,6 GB erhalten. Dabei treten für die interaktiven Nutzer Spitzen von 10 kbps und ein Durchschnitt von 1 kbps, für die passiven Nutzer allerdings Spitzen und Durchschnitt um die 500 kbps.

Wie sieht diese Berechnung aus?

Brisco trifft folgende Annahmen: Interaktive Anwendunge laufen nur tagsüber, höchstens 16 Stunden am Tag, während die passiven Anwendungen immer laufen und Nachts die gesamte Bandbreite nutzen können. Außerdem wird UDP vernachlässigt und alle Verbindungen weisen die gleiche RTT (Round-Trip Time) auf.

Während des Tages kommen und gehen die interaktiven Nutzer und nur eine Verbindung von zehn ist gerade dabei etwas herunterzuladen (Downstream-Faktor: 10%). Außerdem gehen wir davon aus, daß alle (auch die passiven Anwendungen) zunächst die gleiche Anzahl von Sitzungen nutzen. Somit ergibt sich, nachdem alle Sitzungen aufgebaut wurden, 375 kbps für jeden Anwender: 10Mbps / (80 * 10% + 20 * 100%) = 375 kbps.

Soweit so gut. Ausgehend von 2 Sitzungen pro interaktivem User und 100 pro passivem User ergeben sich insgesamt 2016 Sitzungen, von denen nur 16 intarktiven Anwendungen zugeordnet werden können: 10% * 80 = 8 Anwender zu jedem Zeitpunkt * 2 Sitzungen. Die 2000 Sitzungen sind den 20 passiven Nutzern mit je 100 Sitzungen zuzuordnen. TCP stellt sicher, daß die 8 internaktiven Anwender jeweils 2 * 10Mbps / 2016 = 9.9kbps erhalten, während die passiven Anwender ganze 100 * 10Mbps / 2016 = 496kbps erhalten.

Wir können sehen, daß es mit TCP automatisch zu einen Ungleichgewicht kommt. Das wird noch schlimmer, wenn man Flow-Start berücksichtigt, der bei interaktiven Anwendungen natürlich häufiger auftritt als bei den passiven Daueranwendunge.

Mehr Bandbreite? Ja, bitte!

Erhöhr der ISP nun seine verfügbare Bandbreite auf 40 Mbps, steigen die Werte für interaktive Anwendungen auf 40 kbps/1,6 kbps und die passiven Anwendungen steigern den Konsum auf 2 Mbps. Berücksichtigt man die Kosten für Bandbreiten, so ist es für jene, die nur gelegentlich im Web surfen oder Emails schreiben ein schlechtes Geschäft, denn sie zahlen für die Bandbreitenfresser mit. Briscoe sieht deshalb kaum einen Nutzen für ISPs die Bandbreiten weiter zu erhöhen, schließlich würde sie das weniger wettbewerbsfähig machen.

Denken wir nochmal darüber nach: der Durchschnittsanwender bezahlt zu gleichen Teilen die Aufüstungskosten des ISPs, sieht aber nur einen unverhältnismäßigen geringen Nutzen. Unglücklicherweise gibt es keine Preisgestaltung, die zwischen beiden Nutzungsgewohnheiten unterscheidet. Somit werden die Kosten gleichmäßig auf alle Nutzer verteilt, auch wenn viele nur einen geringen Teil der Bandbreite konsumieren. ISPs folgern daraus, daß die meisten interaktiven Nutzer gern mehr Bandbreite nutzen möchten.

Da nun aber die meisten Nutzer weder die Kenntnisse haben noch den Willen, ihren Netzwerkverkehr zu priorisieren, übernehmen das die ISPs. Sie verwenden Deep Packet Inspection, um herauszufinden, welche Applikation welche Bandbreiten nutzt und bremsen den Verkehr entsprechend aus. Das geschieht in der Regel pro Applikation. Comcast hat hier einen ganz eigenen Ansatz gewählt und sendet BitTorrent-Verbindungen ein TCP RST (Reset), welches die Verbindung beendet. Damit ist BitTorrent für Comcast-Kunden kaum nutzbar, was wiederum zu einer Klagewelle führen dürfte (Comcast to face lawsuits over BitTorrent filtering).

Es wäre also im Interesse aller Beteiligten (ja, auch in dem der BitTorrent-Nutzer, schließlich sollen Flat Rates auch möglichst “flat” bleiben), wenn die IETF das TCP-Protokoll so anpassen würde, daß sich BitTorrent-Anwendungen einfach “fairer” verhalten. Zwar sind einige Verbesserungen sicherlich möglich, allerdings ist es fraglich, ob ein Protokoll so etwas wie Fairness implementieren kann. Zusätzlich dürfte es Schwierigkeiten geben, wenn Nutzer selbst dafür sorgen müßten, das Internet weniger “aggressiv” zu nutzen, also nicht mehrere Sitzungen gleichzeitig, denn TCP weiß nicht wie viele Sitzungen gleichzeitig offen sind. Das wissen nur die Applikation und der Anwender.

Kommentieren