Systeme II

Post on 21-Jan-2016

29 views 0 download

description

Systeme II. Christian Schindelhauer Sommersemester 2006 19. Vorlesung 12.07.2006. Stauvermeidung in TCP Tahoe. x: Anzahl Pakete pro RTT. Jacobson 88: Parameter: cwnd und Slow-Start-Schwellwert (ssthresh=slow start threshold) S = Datensegmentgröße = maximale Segmentgröße - PowerPoint PPT Presentation

transcript

1

Albert-Ludwigs-Universität FreiburgRechnernetze und Telematik

Prof. Dr. Christian Schindelhauer

Systeme II

Christian Schindelhauer

Sommersemester 2006

19. Vorlesung

12.07.2006schindel@informatik.uni-freiburg.de

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 2

Jacobson 88: – Parameter: cwnd und Slow-Start-Schwellwert (ssthresh=slow start

threshold)– S = Datensegmentgröße = maximale Segmentgröße

Verbindungsaufbau:cwnd ← S ssthresh ← 65535

Bei Paketverlust, d.h. Bestätigungsdauer > RTO, – multiplicatively decreasing

cwnd ← S ssthresh ← Werden Segmente bestätigt und cwnd ≤ ssthresh, dann

– slow start:cwnd ← cwnd + S

Werden Segmente bestätigt und cwnd > ssthresh, dann additively increasing

cwnd ← cwnd + S

x ← 1

x ← x +1

y ← max

y ← x/2

x ← 1

x ← 2⋅x, bis x = y

x: Anzahl Pakete pro RTT

Stauvermeidung in TCP Tahoe

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 3

TCP Tahoe

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 4

x ← y + 3

y ← x/2

Fast Retransmit und Fast Recovery

TCP Tahoe [Jacobson 1988]: – Geht nur ein Paket verloren, dann

• Wiederversand Paket + Restfenster• Und gleichzeitig Slow Start

– Fast retransmit• Nach drei Bestätigungen desselben Pakets (triple duplicate

ACK),• sende Paket nochmal, starte mit Slow Start

TCP Reno [Stevens 1994]– Nach Fast retransmit:

• ssthresh ← min(wnd,cwnd)/2• cwnd ← ssthresh + 3 S

– Fast recovery nach Fast retransmit• Erhöhe Paketrate mit jeder weiteren Bestätigung• cwnd ← cwnd + S

– Congestion avoidance: Trifft Bestätigung von P+x ein:• cwnd ← ssthresh

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 5

x ← 1

x ← x +1

x ← x/2

Stauvermeidungsprinzip: AIMD

Kombination von TCP und Fast Recovery verhält sich im wesentlichen wie folgt:

Verbindungsaufbau:

Bei Paketverlust, MD:multiplicative decreasing

Werden Segmente bestätigt, AD: additive increasing

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 6

Beispiel: TCP Reno in Aktion

Slow Start

Additively Increase

Fast RecoveryFast Retransmit

Multiplicatively Decrease

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 7

Durchsatz und Antwortzeit

Klippe:– Hohe Last– Geringer Durchsatz– Praktisch alle Daten gehen verloren

Knie:– Hohe Last– Hoher Durchsatz– Einzelne Daten gehen verloren

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 8

Ein einfaches Datenratenmodell

n Teilnehmer, Rundenmodell– Teilnehmer i hat Datenrate xi(t)

– Anfangsdatenrate x1(0), …, xn(0) gegeben

Feedback nach Runde t: – y(t) = 0, falls – y(t) = 1, falls– wobei K ist Knielast

Jeder Teilnehmer aktualisiert in Runde t+1:

– xi(t+1) = f(xi(t),y(t))

– Increase-Strategie f0(x) = f(x,0)

– Decrease-Strategie f1(x) = f(x,1)

Wir betrachten lineare Funktionen:

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 9

Lineare Datenratenanpassung

Interessante Spezialfälle:– AIAD: Additive Increase

Additive Decrease

– MIMD: Multiplicative Increase/Multiplicative Decrease

– AIMD: Additive IncreaseMultiplicative Decrease

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 10

Konvergenz

Konvergenz unmöglichBestenfalls Oszillation um Optimalwert

– Oszillationsamplitude A– Einschwingzeit T

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 11

Vektordarstellung (I)

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 12

Vektordarstellung (II)

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 13

AIAD Additive Increase/ Additive Decrease

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 14

MIMD: Multiplicative Incr./ Multiplicative

Decrease

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 15

AIMD: Additively Increase/

Multiplicatively Decrease

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 16

TCPZusammenfassung

TCP erzeugt zuverlässigen Byte-Strom– Fehlerkontrolle durch “GoBack-N”

Congestion control– Fensterbasiert– AIMD, Slow start, Congestion Threshold– Flusskontrolle durch Window– Verbindungsaufbau– Algorithmus von Nagle

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 17

TCP fairness & TCP friendliness

TCP – reagiert dynamisch auf die zur Verfügung stehende

Bandweite– Faire Aufteilung der Bandweite

• Im Idealfall: n TCP-Verbindungen erhalten einen Anteil von 1/nZusammenspiel mit anderen Protokollen

– Reaktion hängt von der Last anderer Transportprotokolle ab• z.B. UDP hat keine Congestion Control

– Andere Protokolle können jeder Zeit eingesetzt werden– UDP und andere Protokoll können TCP Verbindungen

unterdrückenSchlussfolgerung

– Transport-Protokolle müssen TCP-kompatibel sein (TCP friendly)

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 18

TCP header

Options (variable)

Data

Checksum

SrcPort DstPort

HdrLen 0 Flags

UrgPtr

AdvertisedWindow

SequenceNum

Acknowledgment

0 4 10 16 31

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 19

Dienste der Transport-Schicht

Verbindungslos oder Verbindungsorientert– Beachte: Sitzungsschicht im ISO/OSI-Protokoll

Verlässlich oder Unverlässlich– Best effort oder Quality of Service– Fehlerkontrolle

Mit oder ohne Congestion ControlMöglichkeit verschiedener Punkt-zu-Punktverbindungen

– Stichwort: DemultiplexenInterationsmodelle

– Byte-Strom, Nachrichten, „Remote Procedure Call“

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 20

UDP

User Datagram Protocol (UDP)– ist ein unzuverlässiges, verbindungsloses Transportprotokoll für

PaketeHauptfunktion:

– Demultiplexing von Paketen aus der VermittlungsschichtZusätzlich (optional):

– Checksum aus UDP Header + Daten

SrcPort DstPort

Checksum Length

Data

0 16 31

UDP header

Albert-Ludwigs-Universität FreiburgInstitut für Informatik

Rechnernetze und TelematikProf. Dr. Christian Schindelhauer

Systeme-II 19. Vorlesung - 21

Remote procedure call – Struktur

Für komplexere Interaktion:– Aufruf einer Funktion auf einen anderen Rechner

Ziel: Transparentes Protokoll für den Aufrufer/Aufgerufenen

Client Server

Request

Reply

Computing

Blocked

Blocked

Blocked

Caller(client)

Clientstub

RPCprotocol

Returnvalue

Arguments

ReplyRequest

Callee(server)

Serverstub

RPCprotocol

Returnvalue

Arguments

ReplyRequest

Network

22

Albert-Ludwigs-Universität FreiburgRechnernetze und Telematik

Prof. Dr. Christian Schindelhauer

Ende der 19. Vorlesung

Systeme IIChristian Schindelhauerschindel@informatik.uni-freiburg.de

Folien teilweise adaptiert aus Vorlesung Computer Networks von Holger Karl Universität Paderborn