Vernetzte Systeme Übungsstunde 09.06.2006 Adrian Schüpbach scadrian@student.ethz.ch 09. Juni 2006 Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 1 / 28
Übersicht 1 TCP-Zustandsdiagramm 2 Proxy Server und Warteschlangen 3 Markovprozess und Wetterprognose 4 Birth-Death-Markov-Prozesse Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 2 / 28
Um was geht es? TCP Warteschlangen-Theorie Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 3 / 28
Ziele verstehen, wie eine TCP-Verbindung funktioniert Wissen, wozu Warteschlangentheorie gut ist und einfache Aufgaben lösen können Markov-Prozesse verstehen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 4 / 28
TCP-Zustandsdiagramm gegeben: Kommunikation zwischen HTTP-Client und HTTP-Server in Tabellenform wichtig v.a. Sequenznummern wichtig auch Flags, um Bedeutung der Nachrichten zu erkennen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 5 / 28
TCP-Zustandsdiagramm Aufgabe a) Verbindungsaufbau: 3-Way-Handshake 3 Nachrichten für Verbindungsaufbau nötig Welche 3 Nachrichten gehören zu Verbindungsaufbau? Welche Aufgabe haben die SYN-Nachrichten? Welche Sequenznummern werden ihnen zugeordnet? Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 6 / 28
TCP-Zustandsdiagramm Aufgabe b) Welche Nachrichten gehören zu Verbindungsabbau? Was bedeutet FIN-Bit? Welche Sequenznummern haben FIN-Nachrichten? Tabelle genau anschauen... Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 7 / 28
TCP-Zustandsdiagramm Aufgabe c) TCP-Verbindungs-Zustände können als endlicher Automat aufgefasst werden jeder Zustand entspricht einem Zustand des Protokolls Übergänge durch Befehle der Anwendungsschicht oder durch empfangene TCP-Segmente Ausgaben: Rückgabewerte der Befehle und Senden von TCP-Segmenten Start für Client und Server im Zustand CLOSED Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 8 / 28
TCP-Zustandsdiagramm Aufgabe c) Ziel der Aufgabe: Die Tabelle mit den 12 TCP-Segmenten in Zustandsübergänge übersetzen neue Tabelle für Server und Client Server und Client in separater Tabelle erste Zeile für beide gegeben Server: Server-Eingabe: passive OPEN nächster Zustand gemäss Verbindungszustandsdiagramm: LISTEN Client: Client-Eingabe: active OPEN Ausgabe: send SYN nächster Zustand: SYN SENT restliche Zeilen in Tabelle aufschreiben Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 9 / 28
TCP-Zustandsdiagramm Aufgabe d) Es kann sein, dass Verbindungsabbau über FIN WAIT-1, CLOSING, TIME WAIT geht Unter welchen Umständen ist das möglich? Wie kommt man, wenn man FIN sendet, von FIN WAIT-1 in CLOSING? Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 10 / 28
Proxy Server und Warteschlangen Warteschlangen in Computersystemen und speziell in Netzwerken sind wichtig Es gibt Theorie dahinter... Ziel: vorher schon wissen, ob Netzwerk überlastet sein wird Formeln im Skript 3 zwischen Seite 60 und Seite 88 Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 11 / 28
Proxy Server und Warteschlangen Ausgangslage Mehrere Rechner über einen Router mit Internet verbunden Ankunftsrate λ der Pakete im Router: λ = 99s 1 D.h. 99 Pakete kommen pro Sekunde im Router an Durchsatz µ im Router: µ = 100s 1 D.h. der Router kann 100 Pakete pro Sekunde verarbeiten Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 12 / 28
Proxy Server und Warteschlangen Aufgabe a) Ist das System stabil? D.h. kann Router alle ankommenden Pakete verarbeiten? Skript 3 Seite 67: Wichtig ist die Auslastun ρ Auslastung ρ = λ µ System ist stabil, wenn ρ < 1 wenn λ und ρ bekannt sind, kann man berechnen, ob System stabil ist Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 13 / 28
Proxy Server und Warteschlangen Aufgabe b) Wieviele Pakete sind durchschinttlich im Router? Skript 3 Seite 85: Durchschnittliche Anzahl Kunden/Pakete in der Warteschlange ρ 1 ρ E[N] = Herleitung weiter vorne Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 14 / 28
Proxy Server und Warteschlangen Aufgabe c) Little s Gesetzt (Skript 3 Seite 68): man hat Ankunftsrate λ man hat durchschnittliche Anzahl Kunden/Pakete E[N] in der Warteschlange durchschnittliche Zeit in der Warteschlange: E[N] = λ E[T ] E[T ] = E[N] λ Wieviele Sekunden ist ein Paket durchschnittlich im Router? bekannt: λ, E[N], Little s Gesetz E[T ] ausrechnen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 15 / 28
Proxy Server und Warteschlangen Aufgabe d) Wie gross ist durchschnittliche Zeit, die ein Paket in der Warteschlange im Router ist? aus Aufgabe c) weiss man, wie lange Paket im Router im ganzen ist jetzt nur Warteschlange relevant kürzer Skript 3 Seite 70: E[Q] ist die durchschnittliche Zeit in der Warteschlange E[X ] = E[T ] E[Q] = 1 µ nach E[Q] auflösen E[T ] aus Aufgabe c) bekannt µ bekannt Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 16 / 28
Proxy Server und Warteschlangen Aufgabe e) Neu: Proxy innerhalb des eigenen Netzes Alle Pakete gehen über den Proxy 1 11 der Pakete werden von Proxy beantwortet Restliche Pakete müssen weiterhin über Router ins Internet Wieviele Pakete sind nun durchschnittlich im Router? E[N] (resp. E[N P ]) Durchsatz µ P im Router unverändert Ankunftsrate λ P aber anders: λ P = 10 11 λ Neue Auslastung berechnen E[N P ] berechnen (siehe Aufgabe b)) Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 17 / 28
Proxy Server und Warteschlangen Aufgabe f) Durchschnittliche Zeit E[T P ] im Router mit Proxy? berechnen wie in c) Eingesparter Zeitfaktor? berechnen und kommentieren! Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 18 / 28
Markovprozess und Wetterprognose Markov-Prozess mit Übergangswahrscheinlichkeit 4 Wetterzustände Sonne Regen Schnee Nebel Wetter wechselt nur einmal pro Tag Wetter gibt es schon lange System ist eingependelt (also unabhängig vom Anfangszustand) Wahrscheinlichkeit, dass sich System in einem Zustand befindet, ist nur von Übergangswahrscheinlichkeit abhängig Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 19 / 28
Markovprozess und Wetterprognose Lösungsprinzip Gleichungen für jeden Zustand aufstellen Beispiel: p( Sonne ) = 0.55 p( Sonne )+0.3 p( Regen )+0.33 p( Nebel ) Für die 4 Zustände 4 Gleichungen aufstellen Weitere Gleichung: p( Sonne ) + p( Regen ) + p( Schnee ) + p( Nebel ) = 1 Jetzt Gleichungssystem auflösen und p( Nebel ) ablesen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 20 / 28
Markovprozess und Wetterprognose Lösungstips mit Matlab Aufgabe kann mit Matlab gelöst werden p( Sonne ) usw durch p(i), i = 1..4 ersetzen in Matrixform schreibbar: W p = p ist also: W p = I p (W I ) p = 0 4 i=0 p(i) == 1 als Bedingung in Matrix hineinbringen auflösen lassen und ablesen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 21 / 28
Birth-Death-Markov-Prozesse Zustandsübergänge nur zwischen benachbarten Zuständen möglich Zustände im gleichgewicht Wahrscheinlichlkeit in Zustand zu kommen gleichgross, wie ihn zu verlassen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 22 / 28
Birth-Death-Markov-Prozesse Aufgabe a): Allgemeine Formel beweisen gegeben: allgemeine Formel für Wahrscheinlichkeit, dass man in Zustand i ist diese Formel beweisen beweisen durch Induktion Verankerung: zeigen, dass Formel für p 0 und p 1 gilt p 0 : einsetzen in allgemeine Formel: p 0 = p 0 : stimmt! p 1 : Wahrscheinlichkeit in Zustand 0 zu kommen ist gleichgross, wie Zustand 0 verlassen p 1 µ 1 t = p 0 λ 1 t p 1 =... Induktionsschritt: von p i 1 und p i auf p i+1 schliessen nach p i+1 auflösen und für p i1 und p i Formel=Induktionsannahme einsetzen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 23 / 28
Birth-Death-Markov-Prozesse Aufgabe b) n Fussballspieler gesunde Spieler werden mit Wahrscheinlichkeit µ pro Zeitintervall krank kranke Spieler werden mit Wahrscheinlichkeit λ pro Zeitintervall gesund Birth-Death-Markov-Prozess aufstellen mit Zustandsnummer=Anzahl gesunde Spieler Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 24 / 28
Birth-Death-Markov-Prozesse Aufgabe b) Annahme: k Spieler sind gesund Wahrscheinlichkeit, dass ein Spieler krank wird ausrechnen Resultat vereinfachen durch Approximation gibt approximiert kµt wenn k Spieler gesund sind, sind n-k Spieler krank das Gleiche für gesund werden ausrechnen gibt approximiert (n k)λt Prozess zeichen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 25 / 28
Birth-Death-Markov-Prozesse Aufgabe b) Musterlösung anschauen und versuchen zu verstehen... Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 26 / 28
Birth-Death-Markov-Prozesse Aufgabe c) beide Werte aus b) in Formel aus a) einsetzen mit λ 1 := n λ, λ 2 := (n 1) λ,... und µ 1 := 1 µ, mu 2 := 2 µ,... gibt Formel für p i vereinfachen, dann fehlt noch p 0 Summe aller Wahrscheinlichkeiten==1 (ρ = λ µ ) Summer über alle p i soll ==1 sein nach p 0 auflösen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 27 / 28
Birth-Death-Markov-Prozesse Aufgabe d) Formel aus d) in Maple eintippen und ausrechnen Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 28 / 28