Beispiel für PTP-Systeme
E-Mail, BitTorrent, Skype, Streaming-Lösungen
Merkmale von PTP-Systemen
Napster
Gnutella 0.4
Gnutella 0.6
Clustering-Koeffizient
Zufallsgraphen
Small world (Graph)
- Gitter, Konten mit 4 Nachbarn + 1 Fernkante vernetzt
Skalenfreie Netze
DHT + Beispiele
Beispiele: Gnutella, CAN, CHORD, Distance Halving und Kademlia
CAN
Chord
Overlay Prinzipielle Schranken
Distance Halving
Gradminimierte Netzwerke: Kontinuierliche Graphen: Distance Halving
- Konstanter Grad, logarithmischer Durchmesser - Routing in O(log n) Schritten, Nachbarschaftsgröße O(1)
Kademlia
BubbleStorm
NAT Eigenschaften / Techniken
Full cone restricted cone Hairpin-Translation Symmetrisch/Asymmetrisch UPnP/Statische Portweiterleitungen
Restricted cone
Ausgehende Anfrage erlaubt nur antwort von gleicher ziel-Adresse
Port restricted cone
Ausgehende Anfrage erlaubt nur antwort von gleicher ziel-adresse und port
Relaying:
viel Datenverkehr, Latenz
Hole-Punching
ermitteln öffentlicher und privater adressen mit rendevouz-punkt
○ Gleichzeitiger verbindungsaufbau über denselben socket (so hoffentlich selbe Portnummer wie vorher)
○ Bei tcp: min. 3 sockets mit demselben port: server, client zu rendevous, client zum peer
○ Voraussetzung: bei selbem internen ip+port auch extern selber port
Hairpin-translation
○ Bei zwei peers hinter demselben nat: doppelte anwendung von NAT (ein und ausgehend)
Symmetrischer nat
Unterschiedliche ports bei gleichem internen ip+port je nach externer ip
§ Lösung dort: Intelligentes raten
Angriffsmöglichkeiten