08 Mobilität mit TCP/IP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING
Anwendungen Endgeräte Plattformen Anwendungsentwicklung Protokolle und Technologien Application Layer Technologien Transport Layer Network Layer Spezielle Themen: Sicherheit in mobilen Szenarien Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 2
Dienstvermittlung in mobilen Umgebungen Application Übertragung von Daten in heterogenen Systemen Eingeschränkte Fähigkeiten der Endgeräte Transport Network Schlechte Performance von existierenden Transportschichtprotokollen in drahtlosen Szenarien Mobilität im Internet Routing bei mobilen Endgeräten und Ad- hoc-netzwerken Mehrfachzugriff auf gemeinsames Data Link Medium (Luftschnittstelle) Physical Bitübertragung über Luftschnittstelle Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 3
Ende-zu-Ende-Verbindung Pipelined Sende- & Empfangspuffer Vollduplex-Datentransfer Verbindungsorientiert: Zuverlässiger Datenstrom Flußkontrolle Überlastkontrolle Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 4
Seq. # s: Bytestrom Nummer des ersten Bytes in den Daten eines Segments ACKs: Seq # des nächsten erwarteten Bytes der anderen Seite Kumulatives ACK Bsp: Host A 500000Byte Host B, MSS (Maximum Segment Size) =1000 Byte Host A: Paket 1: seq# 0, Paket 2: seq# 1000, Paket 3: seq# 2000,.. Host B: Ack1: seq# 1000, Ack2: seq# 2000, Ack3:seq#3000, 3000, Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 5
Event Ankunft Segment in richtiger Reihenfolge. Alle Daten bis dahin bestätigt, keine Lücken Ankunft eines Segment in richtiger Reihenfolge. Ein weiters Segment wartet bereits auf ACK- Übertr.. Keine Lücken Ankunft eines out-of-order Segments mit höhererh seq. # Lücke erkannt Ankunft eines Segments das Lücke teilweise oder vollständig füllt TCP receiver action delayed ACK. Max 500ms auf nächstes Segment warten. Wenn kein nächstes Segment, ACK senden Sofort einzelnes kumulatives ACK senden um beide Segmente zu bestätigen Senden eines Duplikat - ACK, mit seq. # des nächsten erwarteten Bytes Sofort ACK senden, sofern dieses Segment mit dem unteren Ende der Lücke beginnt Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 6
Retransmission Timeout (RTO): Neuübertragung des verlorenen Pakets und aller nachfolgenden Pakete Initialwert bei Microsoft Windows: 3s Spätere Anpassung durch Messung der RTT (Round Trip Time) Maximale Anzahl Retransmissionen: 5 Bei jeder Retransmission wird der Timeout-Wert verdoppelt. Bei Überschreitung der Maximalanzahl erfolgt Verbindungsabbruch Fast Retransmission: nach standardmäßig 3 gleichen Acks erfolgt eine Neuübertragung ausschließlich des fehlenden Segments Anzahl der Duplikatacks kann vom Systemadministrator geändert werden Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 7
Host A Host B Host A Host B timeout X loss Seq=100 0 timeout Se eq=92 time eout time lost ACK scenario time premature timeout, cumulative ACKs Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 8
Flußkontrolle: Die Quelle sendet zu viele Daten zu schnell für den Empfänger Auswirkung: Verlorene Pakete (Pufferüberlauf im Eingangspuffer des Empfängers) Verzögerungen durch Neuübertragungen Überlastkontrolle: Zu viele Quellen senden zu viele Daten zu schnell für das Netzwerk Auswirkung: Verlorene Pakete (Pufferüberlauf f in den Routern) Lange Verzögerungen (Warteschlangen in Router-Puffern) Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 9
Testen der benutzbaren Bandbreite: Ideal: Senden so schnell wie möglich (Congwin so groß wie möglich) ohne Verlust Vergrößern von Congwin bis Verlust auftritt Bei Verlust: verkleinern von Congwin, dann testen erneut beginnen Zwei Phasen Slow Start Überlastvermeidung Wichtige Variablen: Congwin threshold: Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 10
Slowstart t Algorithmus Host A Host B Initialisierung: Congwin = 1, exponentieller Anstieg von Congwin, bis Paketverlust oder CongWin > threshold. RTT time Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 11
Congestion avoidance Oberhalb threshold: h linearer Anstieg bis Paketverlust. Dannach: Setze threshold auf congwin/2, setze congwin auf 1, Führe Slow Start aus Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 12
Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 13
Transportschicht Application Split-Connection- Verfahren Transport Network Data Link Physical I-TCP/ Mobile-TCP Anpassung der Sicherungs- und Vermittlungsschicht Snoop-Protokoll Fast Retransmission Selektive Quittungen Selective Acknoledgement (SACK) Explicit Loss Notification (ELN) Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 14
TCP geht bei Paketverlust von Stau aus dies ist meist falsch in drahtlosen Netzen, hier herrschen Paketverluste durch Übertragungsfehler vor weiterhin kann die Mobilität zu Paketverlusten führen, wenn ein mobiler Knoten von einem Zugangspunkt (foreign agent) zu einem anderen geht und Pakete noch zum falschen Zugangspunkt unterwegs sind Die Leistung eines unveränderten TCP bricht katastrophal ein! TCP kann aber nicht grundsätzlich grundsätzlich verändert werden, da Interoperabilität mit Festnetzrechnern notwendig TCP-Mechanismen halten im Festnetz das Internet zusammen Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 15
keine Änderung am TCP-Protokoll für Rechner im Festnetz optimiertes TCP-ProtokollProtokoll für Mobilrechner Auftrennung der TCP-Verbindung z.b. am Foreign Agent in 2 TCP-Verbindungen, keine echte Ende-zu-Ende-Semantik mehr Rechner im Festnetz bemerken nichts vom mobilen Teil Mobiles Endgerät (mobile host) Zugangspunkt g (foreign agent) Internet drahtloses TCP normales TCP Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 16
Data Data Ack Ack Data Ack Data Ack Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 17
Error Data Retr. Data Data Ack Error Retr. Data Ack Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 18
X Data Data Timeout X Data Data Ack Timeout Ack Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 19
Vorteile: Nachteile Drahtlose Verbindung: TCP Verlust der TCP-Semantik, kann ersetzt werden durch Basisstation quittiert modifiziertes TCP: empfangene Pakete Pakete erneut versenden ACK an Sender heißt ohne Reduktion der nun nicht mehr, dass Senderate der Empfänger wirklich Neue Funktionalitäten in die Daten erhalten hat der drahtlosen Verbindung, Besondere Verantwortung z. B. Reaktion auf folgende der Basisstation: Ereignisse: Verwaltung zweier Verbindungsabbrüche Teilverbindungen Bewegen des Rechners Zweifacher im Raum (Handover) Verwaltungsaufwand Reduktion der verfügbaren Bandbreite Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 22
Erweiterung von TCP in Basisstation Puffern der zum Mobilrechner gesendeten Daten bei Datenverlust auf der Mobilstrecke (beide Richtungen) direkte Übertragungswiederholung zwischen Basisstation und Mobilrechner ( lokale Übertragungswiederholung) Basisstation hört Datenverkehr ab und erkennt Bestätigungen in beide Richtungen (Filtern der ACKs) TCP muss nur in Basisstation erweitert werden Lokale Übertragungswiederholung Internet Puffern der Daten Ende-zu-Ende-TCP-Verbindung Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 23
Data Ack Data Ack Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 24
X Timeout Data Data Timeout Ack X Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 25
Data Error Dupl. Ack Data X Ack Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 26
NAK c X seq # a seq # b seq # d ack a ack b seq # c Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 27
Datentransfer zum Mobilrechner Basisstation puffert die Daten bis zum ACK des MN, erkennt Paketverluste durch duplizierte ACKs oder time-out schnelle Übertragungswiederholung, unbemerkt vom Festnetz Datentransfer vom Mobilrechner Basisstation erkennt Paketverluste auf dem Weg vom MN anhand der Sequenznummern, sendet daraufhin NACK zum MN MN kann nun sehr schnell erneut übertragen Problem je nach Verschlüsselungsverfahren ist snooping nutzlos Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 28
TCP-Quittungen sind normalerweise kumulativ ACK n bestätigt korrekten und reihefolgerichtigen Empfang bis n treten nun einzelne Lücken im Datenstrom auf, so werden oft unnötigerweise Pakete erneut übertragen Lösung durch selektive Übertragungswiederholung SACK: Selective Acknoledgements ELN: Explicit Loss Notification Vorteil weitaus effizienter wird schon häufig im Festnetz genutzt Nachteil etwas komplexere Empfängersoftware, mehr Speicher benötigt nicht in allen Implementierungen genutzt Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim 29
Application Transport Network Data Link Physical Vermittlungsschicht (Network Layer): Dynamische Vergabe einer IP- Adresse für einen mobilen Rechner im Fremdnetz DHCP Die Vermittlungsschicht des Internets wird für mobile Rechner angepasst: Mobile IP Cellular IP Routing in Ad-Hoc-Netzen 31 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
DHCP stellt mobilem Rechner automatisch passende IP-Adresse zur Verfügung Bietet mobiler Rechner selber Dienste an kann dieser Rechner mit der wechselnden IP- Adresse nicht mehr gefunden werden Lösung: Mobile IP: Mobiler Rechner bekommt eine feste IP-Adresse zugeordnet Rechner ist damit ständig unter dieser festen IP- Adresse auffindbar 32 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Mobile Node (MN) Knoten, der den Ort des Netzanschlusses wechseln kann, ohne seine IP-Adresse ändern zu müssen Home Agent (HA) Einheit im Heimatnetz des MN, typischerweise Router verwaltet Aufenthaltsort des MN, tunnelt IP-Datagramme zur COA Care-of Address (COA) Adresse des für den MN aktuell gültigen Tunnelendpunkt stellt aus Sicht von IP aktuelle Lokation des MN dar kann z.b. via DHCP gewählt werden Foreign Agent (FA) Einheit i im momentanen Fremdnetz des MN, typ. Router weiterleiten der getunnelten Datagramme zum MN, stellt meist auch default-router für den MN dar, stellt COA zur Verfügung Correspondent Node (CN) Kommunikationspartner 33 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
HA MN Router Heimatnetz (physikalisches Heimat Subnetz für MN) CN Internet t Router FA Mobiles Endgerät Fremdnetz (aktuelles physikalisches Subnetz für MN) Endgerät Router 34 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
HA 2 MN Heimatnetz Internet 3 FA Empfänger Fremdnetz CN Sender 1 1. Sender sendet an IP-Adresse von MN, HA fängt Paket ab 2. HA tunnelt Paket an COA, hier FA, durch Kapselung 3. FA leitet das Paket an MN weiter 35 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
HA 1 MN Heimatnetz Internet FA Fremdnetz Sender CN Empfänger 1. Sender sendet ganz normal an IP-Adresse des Empfängers, FA dient als Standard-Router 36 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
HA 2 MN Heimatnetz Internet 1 FA Sender Fremdnetz CN 3 Empfänger 1. MN sendet an FA 2. FA tunnelt Paket an HA durch Kapselung 3. HA leitet das Paket normal an Empfänger weiter 37 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Router akzeptieren oft nur topologisch korrekte Adressen ein durch den FA gekapseltes Paket des MN ist nun topologisch korrekt Reverse Tunneling löst nicht Optimierung der Wege, d.h. Pakete werden normalerweise über den Tunnel zum HA geleitet, falls Tunneln nicht ausgeschaltet ist (u.u. doppeltes Triangular-Routing) Der Standard ist rückwärtskompatibel Erweiterungen können einfach integriert werden und kooperieren mit Implementierungen ohne die Erweiterung Im Agent Advertisement kann Wunsch nach Reverse Tunneling angegeben werden 38 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
originaler IP-Kopforiginale Nutzdaten neuer IP-Kopf neue Nutzdaten äußerer Kopf innerer Kopf originale Nutzdaten 39 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Einkapselung des Pakets, Bsp: Mobile Node (MN) als Empfänger Ver. Ver. IHL TOS Gesamtlänge IP-Identifikation Flags Fragment Offset TTL IP-in-IP IP-Prüfsumme IP-Adresse des HAs Care-of Adresse COA IHL TOS Gesamtlänge IP-Identifikation Flags Fragment Offset TTL Schicht 4-Protokoll IP-Prüfsumme Originale Sender IP-Adresse des CNs IP-Adresse des MNs TCP/UDP/... Nutzlast 40 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Minimale Kapselung (optional) vermeidet die Wiederholung gleicher Felder z.b. TTL, IHL, Version, TOS kann nur bei unfragmentierten Paketen eingesetzt werden, da nun kein Platz mehr für eine Fragmentkennung vorgesehen ist Ver. IHL TOS Gesamtlänge IP-Identifikation Flags Fragment Offset TTL Min. Encap. IP-Prüfsumme IP-Adresse des HAs Schicht-4-Protokoll S Care-of Adresse COA reserviert IP-Prüfsumme IP-Adresse des MNs Originale Sender IP-Adresse (falls S=1) TCP/UDP/... Nutzlast 41 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Agent Advertisement HA und FA senden periodisch e Nachrichten über ihr Vorhandensein MN erkennt, ob er sich im Heimat- oder einem Fremdnetz befindet MN kann eine COA aus den Nachrichten des FA ablesen Registrierung (stets begrenzte Lebensdauer!) MN meldet via FA seinem HA die COA (Registration Request), HA bestätigt via FA an MN (Registration Reply) diese Aktionen sollen durch Authentifizierung abgesichert werden Und sind zeitlich begrenzt und müssen periodisch erneuert werden Deregistrierung Kehrt MN in Heimatnetz zurück deregistriert er sich beim HA Möglichst auch, wenn MN sich aus Fremdnetz entfernt 42 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
MN FA HA MN HA t t 43 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Mobile IP für IPv4 entwickelt, IPv6 erleichtert t aber vieles Sicherheit ist integriert und nicht aufgesetzt, Authentifizierung aller Aktionen wurde von vornherein bedacht COA kann über Autokonfiguration erhalten werden (DHCPv6 wäre ein mögliches Protokoll hierfür) FA wird nicht mehr benötigt, da nun alle Router das sog. Router Advertisement beherrschen, dieses kann nun an Stelle des speziellen Agent Advertisement eingesetzt werden; Adressen sind immer co-located MN kann automatisch Sender über COA benachrichtigen, senden via HA entfällt dann (automatische Wegoptimierung) sanfte Wechsel, d.h. ohne Paketverluste, zwischen verschiedenen Subnetzen werden unterstützt MN sendet dazu seinem vorherigen Router die neue COA der alte Router kapselt nun automatisch alle noch eingehenden Pakete für MN und leitet sie zur neuen COA weiter die Authentizität bleibt dabei stets gewährleistet 44 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Sicherheit Authentifizierung mit FA problematisch, da u.u. nicht unter eigener Kontrolle (fremde Organisation) Og kein Protokoll für die Schlüsselverwaltung und -verteilung im Internet standardisiert Firewalls verhindern typischerweise den Einsatz von Mobile IP, spezielle Konfigurationen sind nötig (z.b. reverseerse tunneling) 45 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Nachteil von Mobile IP: bei jedem Zellenwechsel ist eine neue Registrierung beim HA nötig In zellularen Netzen (häufiger Zellenwechsel) daher ungeeignet Neuer Ansatz: Cellular IP Zweistufiges Netzwerk: 1. Mobile IP Netzerk vermittelt Pakete zu MN nur grob. HA kennt nicht den genauen Standort des MN 2. Genauer Standort des MN nur innerhalb des aktuellen zellulären Netzes bekannt 46 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim
Globales Netzwerk (Mobile IP) Gateway Gateway Basisstation Basisstation Basisstation Basisstation Zugriffs- netzwerk Cellular IP Zugriffs- netzwerk Cellular IP 47 Prof. Dr. M. Föller-Nord, Fakultät Informatik, Hochschule Mannheim