Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Rechnernetze und Datenübertragung IFB 2006 Daniel Jonietz.

Ähnliche Präsentationen


Präsentation zum Thema: "Rechnernetze und Datenübertragung IFB 2006 Daniel Jonietz."—  Präsentation transkript:

1 Rechnernetze und Datenübertragung IFB 2006 Daniel Jonietz

2 Motivation Isoliert stehende Rechner sollen verbunden werden.
Vorteile: Austausch von Daten Gemeinsame Bearbeitung und Lösung von Problemen Nachteile / Probleme: Welche Daten werden ausgetauscht (Datenschutz, Virenproblem, ...) Wie geschieht die Kommunikation im Detail im Großen gesehen

3 Übersicht Historischer Einstieg: Telegrafie und Morsen
Grundbegriffe Programmtechnische Umsetzung Überblick über vorhandene Möglichkeiten Teil 1 Nachbildung von Taster und Lampe: Übertragen von „An“ und „Aus“ Teil 2 Übertragen von Bitfolgen Teil 3 Übertragen von Zeichen Ausblick Übertragen von Texten: Terminalprogramm Schichtenmodell ISO/OSI Sicherungsschicht Anwendungsschicht im Internet

4 Telegrafie „Transatlantik-Kabel“
Der Taster ist im Ruhezustand geschlossen, die Lampe leuchtet. (So kann eine Unterbrechung der Leitung leichter festgestellt werden) Durch Drücken des Tasters wird die Leitung unterbrochen, die Lampe geht aus. Mit zwei Adern kann nur eine Seite, nämlich diejenige die den Taster hat, senden ® simplex-Betrieb

5 Telegrafie Umbau zum half-duplex-Betrieb:
Es reichen weiterhin zwei Adern aus. Die Partner müssen sich darüber einig werden, wer gerade sendet. Senden beide gleichzeitig, werden die Daten gestört.

6 Telegrafie Umbau zum full-duplex-Betrieb
Wenn beide Seiten gleichzeitig senden (und empfangen) wollen, muss die Schaltung weiter ergänzt werden. Es werden drei Adern benötigt.

7 Morsen Mit dem vorgestellten Aufbau könnte man jetzt seriell Textnachrichten übermitteln. Dazu muss festgelegt werden, wie der Empfänger es interpretieren soll, wenn die Leitung vom Sender unterbrochen wird, also die Lampe ausgeht. Morsecode: A .- B -... C -.-. D -.. E . F ..-. G --. H .... I .. J .--- K -.- L .-.. M -- N -. O --- P .--. Q --.- R .-. S ... T - U ..- V ...- W .-- X -..- Y -.-- Z --.. Á  .--.- Ä .-.- É Ñ Ö ---. Ü ..-- , Komma Punkt ? Fragezeichen ; Semikolon : Doppelpunkt / Slash Bindestrich ' Apostrophe () Klammern _ Unterstrich

8 Morsen - Details Damit ist aber noch nicht alles geklärt:
„If the duration of a dot is taken to be one unit then that of a dash is three units. The space between the components of one character is one unit, between characters is three units and between words seven units. To indicate that a mistake has been made and for the receiver to delete the last word send (eight dots).“ Damit ist aber noch nicht alles geklärt: Was bedeuten die Zeichen . bzw. - ? . „kurz“ – was heißt kurz? - „lang“ – aber wie lang? Wie verhalten wir uns bei Fehlern? Sender sendet versehentlich falsches Zeichen, möchte so etwas wie „Backspace“ verwenden Empfänger kommt nicht mehr mit, weil Sender zu schnell ist ... Übertragungsbeginn und –ende Wie meldet der Sender seinen Mitteilungs- bedarf? Vielleicht hört ihm niemand zu? Wann betrachten wir eine Übertragung als abgeschlossen? Protokolle

9 Morsen - Ergebnis Die Interpretation der Daten ist unabhängig von der Art der Übermittlung Aus den Symbolen . und – kann auf die Nachricht geschlossen werden, egal wie wir die Symbole erhalten haben (Spannungsimpulse, Lichtsignale, Rauchwolken, notierte Zeichen, kurze und lange Holzstöcke, ...) Wir können zwischen Transport-Medium und dem Vorgang des Morsens trennen. Wer morsen kann, kann dies unabhängig vom gerade eingesetzten Medium.

10 Teil 1 Morsen: Nachbildung von Taster und Lampe

11 Serielle Schnittstelle
Sehr analog zu unserem Morsekabel: Ruhezustand auch „Leitung an“, also „LED leuchtet“. Nullmodemkabel

12 Nullmodem mit LEDs (schwarz und braun im Stecker getauscht!)
Pin 5 = Masse R=220W Pin 8 LED Pin 7 LED

13 Die Klasse TNetzHw Eigenschaften
Unterscheidet sich je nach verwendeter Hardware Definiert auch den Datentyp TAnAus mit den Werten An und Aus, der zur Beschreibung des Zustandes von Leitungen verwendet werden kann Schnittstelle und Verhalten aber bei allen Fassungen gleich, dadurch austauschbar! Klassendiagramm (hier für die Klasse TNetzHw in der Unit uSeriell, ausgelegt für die Verbindung per Nullmodem-Kabel)

14 Vorgehensweise Programmtechnische Nachbildung von „Taster“ und „Lampe“ des „Atlantikkabels“ ® Übertragen von Bits Übertragung von Bitfolgen Übertragung einzelner Buchstaben Ausblick: Übertragung ganzer Texte

15 Nachbildung Atlantikkabel
Aufgabe: Lampe (und Leitung) im Ruhezustand an Sender kann ein- und ausschalten Empfänger zeigt aktuellen Zustand der Leitung an Problem Wie wird eine Änderung des Leitungszustandes detektiert? Timer

16 Lösungsvorschlag In beiden Programmen: uses ... uSeriell;
type TGUI = class( TForm ) private oNetzHw : TNetzHw; procedure TGUI.OnCreate(Sender: TObject); begin oNetzHw := TNetzHw.Create; end; procedure TGUI.OnClose(Sender: TObject; var Action: TCloseAction); begin oNetzHw.Free; end;

17 Lösungsvorschlag Sender: Empfänger:
procedure TGUI.bAnClick(Sender: TObject); begin oNetzHw.setSendeLeitung( An ); end; procedure TGUI.bAusClick(Sender: TObject); begin oNetzHw.setSendeLeitung( Aus ); end; Empfänger: procedure TGUI.OnTimerTick(Sender: TObject); begin case oNetzHw.getEmpfangsLeitung of An : sLED.brush.Color := clRed; Aus : sLED.brush.Color := clBlack; end; end;

18 Teil 2 Übertragen von Bitfolgen

19 Übertragen von Bitfolgen
Aufgabe: Der Sender soll eine beliebige Bitfolge automatisch übertragen, indem er entsprechende Signale auf die Leitung legt. Der Empfänger muss den Anfang einer Übertragung detektieren, um dann die Bits mitzubekommen Prototyp:

20 Die Klasse TBitFolge Hilfsklasse, die den Datentyp „Folge von 8 Bits“ und Operationen auf diesem kapselt

21 Signalübertragung Brauchen Zuordnung zwischen logischen Signalen und physikalischen Signalen auf dem Medium Signal Elektrisch Optisch Zwei Level Binärkodierung 1 0V 5V Licht aus Licht an 1 Drei Level Mehrfachniveaus 1 2 0V 2,5V 5V Licht aus Licht gedämmt Licht voll an 1 2

22 Kodierung Gebräuchliche Binärkodierungen:
NRZ-L (No Return to Zero – Level) log. 0 = low log. 1 = high NRZ-M (No Return to Zero – Mark) log. 0 = keine Pegeländerung log. 1 = Pegeländerung NRZ-S (No Return to Zero – Space) log. 0 = Pegeländerung log. 1 = keine Pegeländerung 1 1 1 1 1 high low 1 1 1 1 1 high low 1 1 1 1 1 high low

23 Manchester-Kodierungen
Jede Bit-Zeit wird in zwei Intervalle unterteilt Manchester-Kodierung log. 0 = low / high log. 1 = high / low Differentielle Manchester-Kodierung log. 0 = Pegeländerung im ersten Intervall log. 1 = keine Pegeländerung im ersten Intervall immer Pegeländerung im zweiten Intervall 1 1 1 1 high low low / low und high / high sind zwei illegale Kodierungen, die mit J und K bezeichnet und z.B. in Token-Ring-Netzen zur Kennzeichnung des Anfanges eines neuen Rahmens verwendet werden. 1 1 1 1 high low

24 Manchester-Kodierungen
Vorteile differentieller Kodierungen: Beteiligte Rechner können sich anhand der übertragenen Signale selbst synchronisieren, da mindestens in der Mitte jedes Intervalles ein Pegelwechsel stattfindet: Differentielle Manchester-Kodierung NRZ-L-Kodierung Nachteil: Doppelte Bandbreite benötigt! high low high low

25 Takte - Timer Jedes zu sendende Bit hat eine feste Länge / Dauer
Timer steuern den Takt, in dem die Bits gesendet und empfangen werden. Der Timer löst in festem Takt ein Ereignis aus, das dann von einer Ereignisbehandlungsroutine bearbeitet wird. Beispiel: Timer „tickt“ alle 100ms und löst dabei das Ereignis TimerTick aus TimerTick verarbeitet dies indem z.B. der Signalpegel der Sendeleitung geändert wird. high low

26 Timer in Delphi Timer in Delphi: Eigentlich graphisches Objekt, aber auch anders einsetzbar: Beim Erzeugen ist normalerweise ein grafisches Objekt (das Formular) als Erzeuger anzugeben, geht aber auch: NIL meinTimer := TTimer.Create( NIL ); Klasse TTimer in Unit ExtCtrls Attribute: enable true/false interval in Millisekunden OnTimer (procedure of object) Löst das Ereignis OnTimer aus und ruft entsprechende Methode zur Bearbeitung auf

27 Bitfolgen-Begrenzer Schwierigkeit 1: Lösung
Der Empfänger kann nur dann den Anfang einer Übertragung bemerken, wenn sich das erste übertragene Signal von dem des Ruhezustands unterscheidet. Lösung Weil das erste Bit im Prinzip ein beliebiges sein kann, muss ein Anfangsbegrenzer AB (Startdelimiter, SD) vorgeschaltet werden. Zur Kennzeichnung des Anfangs der Übertragung wird ein zum Ruhepegel komplementäres Signal verwendet hier: Ruhepegel = low also: AB = high

28 Bitfolgen-Begrenzer Schwierigkeit 2: Lösung:
Nach jeder erfolgten Übertragung muss sichergestellt sein, dass der Ruhepegel auch wieder erreicht wird. Nur dann kann der Empfänger den Übergang Ruhepegel ® Anfangsbegrenzer feststellen. Lösung: Nach der eigentlich zu übertragenden Bitfolge wird ein Stoppbit SB gesendet. Zur Kennzeichnung des Übertragungsendes wird das Signal des Ruhepegels verwendet hier: Ruhepegel = low also: SB = high

29 Übersicht Bitfolge Damit gestaltet sich die Übertragung wie folgt:
Ruhe Sender Ruhe Anfangs- begrenzer 1. Datenbit 2. Datenbit 3. Datenbit 4. Datenbit 5. Datenbit 6. Datenbit 7. Datenbit 8. Datenbit Stoppbit high low Nutzdaten Overhead

30 regelmäßiges Abtasten
Sender/Empfänger Ruhe Sender Ruhe AB 1. Datenbit 2. Datenbit 3. Datenbit 4. Datenbit 5. Datenbit 6. Datenbit 7. Datenbit 8. Datenbit SB high low Warte Empfänger Warte AB 1. Datenbit 2. Datenbit 3. Datenbit 4. Datenbit 5. Datenbit 6. Datenbit 7. Datenbit 8. Datenbit SB high low Startbit erkannt Anfang 1. Datenbit vermutet Messen 1. Datenbit in der Mitte Anfang 8. Datenbit vermutet Messen 8. Datenbit in der Mitte Ende 8. Datenbit vermutet regelmäßiges Abtasten

31 Aufbau von Rahmen Rahmen (Frame) 1 1 1 1 1 1 AB 1. Datenbit
SB high low 1 1 1 1 1 1 Rahmen (Frame)

32 Wahrheit Tatsächlich kann die Hardware Pegeländerungen (Flanken) selbst detektieren. Ein Messen – wie hier durchgeführt – ist nicht nötig. Die zeitlichen Differenzen entfallen. Vgl. differentielle Manchester-Kodierung! Die hier verwendeten Timer haben einen großen Nachteil: Sie können ausbleiben oder mit quasi beliebig großer Verzögerung eintreten! Folge: Plötzliches Auftreten augenscheinlich unerklärlicher Übertragungsfehler Besser: Selbstsynchronisierende Verfahren

33 Teil 3 Übertragen von Zeichen

34 Übertragen von Zeichen
Aufgabe: Statt Bitfolgen sollen jetzt Zeichen übertragen werden. Prototyp: Idee: Kodiere und Dekodiere die Zeichen irgendwie, z.B. ASCII (leicht, da chr() : int ® char und ord() : char ® int schon existieren)

35 Lösungsvorschlag Zeichen können schon übertragen werden, nur die Repräsentation muss angepasst werden: Empfänger procedure TGUI.Refresh; begin eDaten.Text := oEmpfaenger.getBitFolge.toChar; end; Sender procedure TGUI.onbSendeClick(Sender: TObject); begin oDaten.fromChar( eDaten.Text[1] ); oSender.OnBitFolgeGesendet := ShowMessage; oSender.Sende( oDaten ); end;

36 Ausblick Übertragen von Texten

37 Übertragen von Texten Aufgabe: Prototyp:
Vereinige Sender und Empfänger in einem Kommunikator Terminalprogramm Prototyp:

38 Texte übertragen Idee: Problem: Lösungsansätze
Übertragen den Text einfach zeichenweise! Problem: Können das nächste Zeichen erst dann senden, wenn die Übertragung des vorherigen abgeschlossen ist, da sonst die einzelnen Bits interferieren! Lösungsansätze Sender sagt, wann er fertig mit der Übertragung ist Sender erhält (großen) Puffer, der mit den zu sendenden Daten gefüllt wird ...

39 ISO-OSI-Referenzmodell
ISO: International Organization for Standardisation OSI: Open-System-Interconnection Beschreibt abstraktes, logisch-funktionelles Architekturmodell, das die Datenkommunikation in offenen Systemen beschreibt (heutige Fassung von 1984) Wird in Praxis nirgendwo in Reinform umgesetzt, trotzdem hohe Bedeutung, die gerade in der Referenzhaftigkeit liegt.

40 ISO-OSI-Referenzmodell
Überblick 7 Anwendungsschicht Application layer 6 Darstellungsschicht Presentation layer 5 Sitzungsschicht Session layer 4 Transportschicht Transport layer 3 Netzwerkschicht Network layer 2 Sicherungsschicht Data link layer 1 Bitübertragungsschicht Physical layer

41 ISO-OSI / Wir Einordnung in ein Schichtenmodell Anwendungsschicht 7
Application layer 6 Darstellungsschicht Presentation layer 5 Sitzungsschicht Session layer 4 Transportschicht Transport layer 3 Netzwerkschicht Network layer 2 Sicherungsschicht Data link layer Feststellen von Übertragungsfehlern Aufbau von Rahmen (Rahmenbegrenzer) Bit (Eins, Null) in TNetzHw, Länge eines Bits RS232 (Stecker, Spannungen) 1 Bitübertragungsschicht Physical layer Physikalisches Medium Kabel

42 Schichtenarchitekturen
Vorteile: Saubere Trennung von Zuständigkeiten Klare Schnittstellen Einzelne Schichten können einfach ausgetauscht werden Austausch der Hardware-Schicht: Ohne irgendwelche Änderungen kann z.B. mit Austausch der entsprechenden TNetzHw auch die Hardware ausgetauscht werden! Weitere Schichten können einfach eingeschoben werden Z.B. Sicherungsschicht mit zusätzlicher Fehlerüberprüfung

43 Überblick Schichten Anwendungs- schicht Sicherungs- schicht
! H i ! H 1 7210 = ‚H‘ 1 10510 = ‚i‘ 1 3310 = ‚!‘ 1 1 1 Sicherungs- schicht a b c 1 d 1 1 1 e 1 1 1 1 f Bitübertragungs- schicht a b c 1 d 1 1 1 1 e 1 1 Medium

44 Ausblick In „echten“ Netzen treten weitere Probleme auf, die wir hier durch Einsatz einer Punkt-zu-Punkt-Verbindung vermeiden konnten. Dadurch ist: keine Adressierung notwendig (weder Kennzeichnung des Empfängers noch Angabe des Absenders) keine Leitweg-Suche keine Mechanismen zur Zugriffskontrolle auf das Medium nötig (full-duplex, aber jeweils immer nur ein Sender und ein Empfänger), keine Kollisionen möglich Haben darüberhinaus der Einfachheit halber gespart Positive / Negative Quittungen über eingehende Daten Automatische Neuversendung fehlerhafter Daten


Herunterladen ppt "Rechnernetze und Datenübertragung IFB 2006 Daniel Jonietz."

Ähnliche Präsentationen


Google-Anzeigen