7. Sommersemester 2010
Anwendungen von Netzwerkcodierung Content distribution, P2P Netzwerke, Microsoft Secure Content Distribution (MSCD) aka Avalanche Netzwerkcodierung für drahtlose Netzwerke / Analoge Netzwerkcodierung Netzwerkcodierung auf der Übertragungsschicht im bidirektionalen Broadcast Kanal Mehrfache Unicast Sitzungen - kann Netzwerkcodierung dort angewendet werden? Fehlerbehaftete Netzwerke Sicherheit 1
2
BitTorrent Lösungen für P2P Netzwerke Überlagerung eine Netzwerkes von Knoten (Peers) Spezielle Knoten: registrar, logger, and seeds. Neue Teilnehmer verbinden sich mit dem registrar und werden mit 4-8 Nachbarn verbunden. (per Zufallsprinzip) Die Teilnehmer merken sich ihre lokale Topologie. Teilnehmer können sich jederzeit verbinden oder abmelden. Damit keine isolierten Knoten entstehen, wird regelmäßig ein Nachbar durch einen neuen ersetzt. Inhaltverbreitung: Datei wird in N Blöcke zerlegt. Jeder Knoten, der einen Block hat, ist potentieller Server. Welcher Block gesendet wird, hängt von der Strategie ab: a) zufälliger am Anfang, b) lokal seltener, c) global seltener. 3
Microsoft Secure Content Distribution Datei wird in N Blöcke zerlegt (1000-2000). Diese Blöcke werden in Segmenten (generations) groupiert. Nur Pakete im selben Segment werden linear kombiniert. 4
Ein Paket der Länge L bits enthält L/m Symbole über F 2 m. Typisch ist L = 1400 8 bits und m ist 8 oder 16. Quelle sendet Linearkombinationen der Original h Datei Packete in einem Segment. Andere Knoten kombinieren rekursiv und gleichförmig zufällig ihre Pakete und senden diese neuen codierten Pakete. Diese Kombination wird durch einen globalen Codierungsvektor der Größe h über F q beschrieben. Segment Tag und Codierungsvektor werden im Paket Header integriert. EinPaketistinnovativfürKnotenv fallsdercodierungsvektornichtinder Hülle der Codierungsvektoren, die an diesem Knoten schon angekommen sind, liegt. Sobald ein Knoten h linear unabhängige Pakete vom selben Segment 5
erhalten hat, kann decodiert werden: Cx i = b i, i = 1,...,L/m, mit x i als unbekannte Quellensymbole, C als Empfangsmatrix mit h linear unabhängigen Vektoren, und b i mit den Symbolen an der Stelle i. 6
Vorteile von Avalanche: Wahrscheinlichkeit innovative Pakete zu erhalten steigt- siehe Beispiel Erhöhung der Zuverlässigkeit und Robustheit Anzahl der Knoten, die den Download beenden konnten, in einem System, in dem der ServernachSendenderkompletten Datei und 5% redundanten Paketen offline geht. Anzahl der Peers insgesamt ist 500. 7
Verbesserung der Download Zeiten / Delay 8
Teilnehmer können das Netz verlassen ohne Performance Einbußen 9
Weitere Vorteile, Nachteile und Probleme Free Riding: tit-for-tat mechanism Knoten hinter Wänden: Avalanche funktioniert auch bei einer großen Anzahl von unerreichbaren Knoten Clustering: Cluster entstehen automatisch; NC ist vorteilhaft, weil dieselben Daten nicht mehrfach redundant über Flaschenhälse in Clustern übertragen werden Passives Topologie Management: Durch NC werden Cluster Informationen ausgetauscht, die für Algorithm verwendet werden, die i) nur Knoten neu verbinden, die zum Aufbrechen der Cluster führen, ii) eine variable Anzahl von Reconnections verwenden, die in Abhängigkeit der Topologie optimiert wird, iii) bei den Knoten initiiert werden und damit skalierbar sind. 10
Herausforderungen: Codier und Decodierkomplexität: O(h 2 ) Operationen in F 2 m zur Linearkombination von Paketen in einem Segment der Größe h; O(m 2 ) binäre Operationen für Multiplikationen und Invertierungen über F 2 m; O(h 3 ) Operationen in F 2 m für Matrixinvertierung mittels Gaußscher Ellimination. Sicherheit: Codierung über mehrere Pakete macht das Netz anfälliger gegen Attacken von arglistigen Knoten. (United States Patent 20060282677) 11
Physical Layer Network Coding Node 1 H 1 Relay H 2 Node 2 The two messages from node one to node two and from node two to node one, respectively, are independent. The channel between node one and the relay is denoted by H 1 and the channel between node two and the relay by H 2. The nodes have individual transmit power constraints P 1 and P 2. The relay has a power constraint P r. The noise power at the three receivers is equal to σ 2. 12
Fig. 4.9 Nodes A and C exchange information via relay B. The network coding approach takes advantage of the natural capability of wireless channels for broadcasting to give benefits in terms of resource utilization. 13