KLAUSUR 2009.Oktober.05 (inkl. Lösungsversuch)

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

KLAUSUR 2009.Oktober.05 (inkl. Lösungsversuch)
Hier die “Lösung” für die Klausur vom Oktober 2009. Keine Garantie auf Richtigkeit.

1. Allgemeine Fragen
a) Timed Wait: Die Seite, die den Verbingungsabbau veranlasst, wartet zum Schluss noch 2 Segmentdauern, um
noch mögliche alte Segmente zu empfangen.
Verwendung: Schutz einer neuen TCP-Verbindung vor möglichen alten Segmenten
b) Leistung / Zugang / Fehler / Sicherheit / Konfiguration
c) Speicher / Bus / Verbindungsnetzwerk
d) - Stationen A, B, C kommunizieren drahtlos
- AB und BC hören sich
- AC hören sich nicht
e) SDP = Session Description Protocol
Aufgabe: Aushandeln von Kodierungsverfahren bei SIP
f) + Die Kontrolle der Prüfsumme erkennt auch Fehler im IP-Header
- Verletzung des Schichtenprinzips auf dem Endsystem
g) FDMA = Frequency Division Multiplex Access
FDMA realisiert feste Kanalaufteilung
weitere Möglichkeiten:
° Zufallszugriffsverfahren (MAC bei Ethernet und WLAN)
° Zyklische Zuteilung (Token Ring, FDDI, USB, Profibus)
h) MPLS = Multiprotocol label switching
MPLS ist ein Beispiel für virtuelle Leitungsvermittlung
MPLS hat die Wurzeln in der ATM-Technologie
Ein Vorteil ist das schnelle Weiterleiten (kein Longest-Prefix-Match)
i) NRZ (Non-Return-To-Zero) / NRZI (Non-Return-To-Zero-Inverted) / Bipolar / Differentielle Manchester-Kodierung /
4B/5B-Kodierung
j) - Instanzen der Schicht n+1 nutzen Dienste der Schicht n

  • Dienst wird zwischen Schichten an Dienstzugangspunkten (Service-Access-Points, SAPs) angeboten,
    dafür werden Service-Data-Units (SDUs) übergeben4
  • Instanzen der Schicht n auf verschiedenen Hosts tauschen Protocol Data Units (PDUs) aus, jede PDU enthält
    einen Kopf (Header)

2. Verzögerungszeiten
a) d_propCG = (0m * s) / ( 2*10^8 m) = 0s
d_propGS = (200 * 10^3 m * s) / (2 * 10^8 m) = 0.001s = 1ms
b) Zeichnung fehlt
c) RTT = 2 * d_propCG + d_queue + 2 * d_propGS =
= 2 * 0s + (1250 * 8 * 1/3 bit * s) / (1 * 10^6 * 2/3 bit) + 2 * 0.001s = 0.007s = 7ms
d) N = O/L = 5000 byte / 1250 byte = 4
d_p = RTT + L/ R_1 + L/R_2 = 7ms + (1250 * 8) / (1 * 10^6) s + (1250 * 8) / (1 * 10^8) s =
= 7ms + 10ms + 0.1 ms = 17.1ms
d_ges = N * d_p = 4 * 17.1ms = 68.4ms
e) d = 2RTT + O/R_2 + L/R_1 + P * (RTT + L/R_1 + L/R_2) - (2^P - 1) * L/R_2 => d(3750 bytes) = 51.3ms

3. Socket-Programmierung

import java.io.*;
import java.net.*;

public class BehaviorImpl extends Behavior {
     void handle(DatagramPacket packet) throws Exception {
          int temperature = decode(packet.getData());
          int mean = mean(temperature);
          if(temperature < mean) {
               byte[] toLog = encode(mean);
               DatagramPacket toSend = new DatagramPacket(toLog, toLog.length(), 
                                                      InetAddress.getByName(SERVER), PORT);
               DatagramSocket sock = new DatagramSocket();
               sock.send(toSend);
               sock.clode();
          }
          if(temperature >= mean) {
               Socket sock = new Socket(SERVER, PORT);
               DataOutputStream stream = new DataOutputStream(sock.getOutputStream());
               stream.writeBytes(ALARM);
               stream.flush();
               stream.close();
               sock.close();
          }
     } //Ende handle()

     byte[] encode(int value) throws Exception {
          return new String("" + value).getBytes();
     } //Ende encode()

} //Ende BehaviorImpl

4.Routingverfahren
siehe hier: https://fsi.informatik.uni-erlangen.de/forum/post/84931 (Aufgabe 1)

Attachment:
klausur-SS09.pdf: https://fsi.cs.fau.de/unb-attachments/post_85008/klausur-SS09.pdf


ist es bei der TCP Variante egal ob man DataOutputStream oder BufferedWriter benutzt?

bei der encode Methode ist das new String aber eigentlich nicht nötig


glaube ja


c) RTT = 2 * d_propCG + d_queueGS + d_queueCG+ 2 * d_propGS = 7ms

die Warteschlangenverzögerung in die andere Richtung fehlt, denke ich mal

aja, könntest du vielleicht die Zeichnung mit hochladen?


für die c): muss man überhaupt warteschlangenverzögerungen mit einrechnen? ist ne dumme frage, weiß ich, aber da man mit einer idealisierten paketgröße von 0 byte rechnen soll, sollten die doch bei der konkreten berechnung wegfallen (ich hab 2 ms raus), oder nicht? in die formel gehört meiner meinung nach schon d_queueCG, aber die andere nicht, weil in der aufgabenstellung steht “dass alle pakete, die über host G zu host S gesendet ewrden, in einer warteschlange zwischengepuffert werden müssen.”


stimmt hast recht d_queueGS fällt weg, man sollte halt die Aufgabenstellung schon richtig lesen :wink:


wie genau kommst du auf diesen teil? ich glaub dir schon, dass du recht hast, aber kannst dus mir vl erklären? den rest hab ich genauso


bin mir bei den Teil selber net wirklich sicher, könnte auch O/R_1. Hab diese Lösung aber in ner mir vorliegenden Lösung so gesehen und deshalb übernommen.


ah ich glaub jetzt hab ichs verstanden, schau mal ob das logisch klingt:
soll das vielleicht das kleine stück sein, um das die linke seite der zeichnung gegenüber der rechten nach unten verschoben ist, also die kurze zeit, die es wegen store-and-forward am ende noch braucht, bis das letzte paket ganz links ankommt? dann würde es genau so stimmen wie du es hast…


bingo ^^