Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

84
Jonietz Rechnernetz e 1 Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

description

Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz. 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, ...) - PowerPoint PPT Presentation

Transcript of Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Page 1: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

1

Rechnernetzeund

Datenübertragung

IFB 2003

Daniel Jonietz

Page 2: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

2Motivation

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

Page 3: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

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

Page 4: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

4Telegrafie

„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

Page 5: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

5Telegrafie

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.

Page 6: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

6Telegrafie

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.

Page 7: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

7Morsen

– 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 --..

1 .----2 ..---3 ...--4 ....-5 .....6 -....7 --...8 ---..9 ----.0 -----

Á  .--.- Ä .-.-É ..-.. Ñ --.--Ö ---. Ü ..--

, --..-- Komma. .-.-.- Punkt? ..--.. Fragezeichen; -.-.- Semikolon: ---... Doppelpunkt/ -..-. Slash- -....- Bindestrich' .----. Apostrophe() -.--.- Klammern_ ..--.- Unterstrich

Page 8: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

8Morsen - Details

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

„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).“

Page 9: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

9Morsen - 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.

Page 10: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

10Topologie

Haben immer einen Sender und einen Empfänger, das System besteht nur aus diesen beiden Teilnehmern: Punkt-zu-Punkt-Verbindung

Sparen uns dadurch– Adressierung (Wer soll die Daten erhalten?)– Suche nach Weg zu Empfänger– Zugriffskontrolle auf Medium (Wer darf gerade senden?)

Aber:– System kann zu anderen Topologien ausgebaut werden!

(Verschiedene Varianten denkbar)

SenderEmpfänger

EmpfängerSender

Page 11: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

11Weitere Topologien

Bus

Ring

SenderEmpfänger

EmpfängerSender

EmpfängerSender

EmpfängerSender

SenderEmpfänger

SenderEmpfänger

SenderEmpfänger

SenderEmpfänger

SenderEmpfänger Sender

Empfänger

SenderEmpfänger

Page 12: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

12Weitere Topologien

Stern

Baum und weitere Mischformen

SenderEmpfänger

SenderEmpfänger

SenderEmpfänger

SenderEmpfänger

SenderEmpfänger Sender

Empfänger

SenderEmpfänger

Zentrum

Page 13: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

13Exkurs

Topologie im LAN (Ethernet)– Physikalisch

Stern bzw. Baum– Logisch:

• bei Einsatz von Hubs:Bus (alles wird an alle gesendet)

• bei Einsatz von Switches: Stern bzw. Baum bzw. Punkt-zu-Punkt (Switch lernt, wer was sendet/empfängt)

Page 14: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

14Teil 1

Morsen:Nachbildung von

Taster und Lampe

Page 15: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

15Hardware - Übersicht

Verwenden eigene Hardware, die wir individuell steuern können.

Breite Palette an Möglichkeiten, mit unterschiedlich hohem Aufwand verbunden

– Fischertechnik-Interfaces– Standard-Ausgänge

• Serielle Schnittstelle

• Parallele Schnittstelle

– USB– Loopback

Page 16: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

16Hardware - Vorbereitung

Parallel Seriell USB Fischertechnik Loopback

VorbereitungWin9x: keineSonst: Install.

- ?Treiber

installieren-

TNetzHw in ... (uParallel) uSeriell uLoopback(uFtNetz)

Hilfssystem WinIO v2.0www.internals.com

RSCOMwww.b-kainka.de

umFishwww.ftcomputing.de

-

Aufwand

Bewertung

mittel niedrig sehr hoch ohne

+ ++ -(wg. Aufwand)

(++)(kein wirkliches Netz)

Kabel Laplink Nullmodem -

Ergänzung LED-Bausatz LED-Bausatz -

„Gefahr“ gegeben klein keineklein

IO-Warriorwww.codemercs.de

Preis, ca. 5,- € 5,- € ? 0,- €100,- €

Bausatz

(uUSB)

klein

?

++

Eigenbau

Page 17: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

17Serielle Schnittstelle

Sehr analog zu unserem Morsekabel:– Ruhezustand auch „Leitung an“, also „LED leuchtet“.

Nullmodemkabel

Page 18: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

18Nullmodem

mit LEDs (schwarz und braun im Stecker getauscht!)

R=220

LED

LED

Pin 5 = Masse

Pin 7

Pin 8

Page 19: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

19Die 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)

Page 20: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

20Vorgehensweise

1. Programmtechnische Nachbildung von „Taster“ und „Lampe“ des „Atlantikkabels“ Übertragen von Bits

2. Übertragung von Bitfolgen

3. Übertragung einzelner Buchstaben

Ausblick: Übertragung ganzer Texte

Page 21: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

21Nachbildung 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

Page 22: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

22Lösungsvorschlag

In beiden Programmen:– uses

... uSeriell;

– typeTGUI = 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;

Page 23: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

23Lösungsvorschlag

Sender:– 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;

Page 24: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

24Teil 2

Übertragen von Bitfolgen

Page 25: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

25Ü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:

Page 26: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

26Die Klasse TBitFolge

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

Page 27: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

27Signalübertragung

Brauchen Zuordnung zwischen logischen Signalen und physikalischen Signalen auf dem Medium

Signal Elektrisch Optisch

Zwei LevelBinärkodierung

Drei LevelMehrfachniveaus

01

0V5V

Licht ausLicht an

012

0V2,5V5V

Licht ausLicht gedämmt

Licht voll an

0 1 0

0 1 2

Page 28: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

28Kodierung

Gebräuchliche Binärkodierungen:– NRZ-L (No Return to Zero – Level)

log. 0 = lowlog. 1 = high

– NRZ-M (No Return to Zero – Mark) log. 0 = keine Pegeländerunglog. 1 = Pegeländerung

– NRZ-S (No Return to Zero – Space)log. 0 = Pegeländerunglog. 1 = keine Pegeländerung

0 101 0 0 1 0 1 1 0

0 101 0 0 1 0 1 1 0

0 101 0 0 1 0 1 1 0

high

low

high

low

high

low

Page 29: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

29Manchester-Kodierungen

Jede Bit-Zeit wird in zwei Intervalle unterteilt– Manchester-Kodierung

log. 0 = low / highlog. 1 = high / low

– Differentielle Manchester-Kodierunglog. 0 = Pegeländerung im ersten Intervalllog. 1 = keine Pegeländerung im ersten Intervallimmer Pegeländerung im zweiten Intervall

0 1 0 0 1 0 1 1

high

low

0 1 0 0 1 0 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.

Page 30: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

30Manchester-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

0 0 0 0 0 0 0 0

high

low

0 0 0 0 0 0 0 0

Page 31: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

31OOM Sender

die zu versendenden Daten(vorerst auch Bitfolgen)

Die zu verwendende Netzwerkhardware

Der Sender kopiert die Daten bevor er mit dem Senden beginnt

Der Sender muss die Netzhardware kennen(Assoziation)

Page 32: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

32OOM Ausblick

Kommunikator ist in der Lage „beliebige“ Daten zu versenden und zu empfangen

Page 33: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

33Takte - 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

Page 34: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

34Timer 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

Page 35: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

35Aufgabe

Implementiere einen Sender mit Timer, der beginnend mit einem Klick auf den Start-Button alle 500ms tickt und die Sendeleitung abwechselt an- und ausschaltet.

Page 36: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

36Bitfolgen-Begrenzer

Schwierigkeit 1:– 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 verwendethier: Ruhepegel = high also: AB = low

Page 37: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

37Bitfolgen-Begrenzer

Schwierigkeit 2:– 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 verwendethier: Ruhepegel = high also: SB = high

Page 38: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

38Übersicht Bitfolge

Damit gestaltet sich die Übertragung wie folgt:

high

low

Ruh

e

Ruh

e

Anf

angs

-be

gren

zer

Sto

ppbi

t

1. D

aten

bit

2. D

aten

bit

3. D

aten

bit

4. D

aten

bit

5. D

aten

bit

6. D

aten

bit

7. D

aten

bit

8. D

aten

bit

Sender

Nutzdaten

Overhead

Page 39: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

39Sender/Empfänger

Ruh

e

Ruh

e

AB

SB

1. D

aten

bit

2. D

aten

bit

3. D

aten

bit

4. D

aten

bit

5. D

aten

bit

6. D

aten

bit

7. D

aten

bit

8. D

aten

bit

War

te

War

te

AB

SB

1. D

aten

bit

2. D

aten

bit

3. D

aten

bit

4. D

aten

bit

5. D

aten

bit

6. D

aten

bit

7. D

aten

bit

8. D

aten

bit

Sender

Empfänger

regelmäßiges Abtasten

Startbiterkannt

Anfang 1. Datenbit vermutet

Messen 1. Datenbit in der Mitte

Anfang 8. Datenbit vermutet

Ende 8. Datenbit vermutet

Messen 8. Datenbit in der Mitte

high

low

high

low

Page 40: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

40Aufbau von Rahmen

AB

SB

1. D

aten

bit

2. D

aten

bit

3. D

aten

bit

4. D

aten

bit

5. D

aten

bit

6. D

aten

bit

7. D

aten

bit

8. D

aten

bit

high

low

0 00 0 101111

Rahmen(Frame)

Page 41: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

41Wahrheit

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

Page 42: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

42Sendeautomat

Es bietet sich an, den Sender mit Hilfe eines Automaten zu modellieren und zu implementieren.

Page 43: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

43Empfangsautomat

Analog zum Sender

Page 44: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

44Lösungsvorschlag

Der Automat type TSenderZustand = ( sWarte, SendeAB, SendeBit1, SendeBit2,

SendeBit3, SendeBit4, SendeBit5, SendeBit6, SendeBit7, SendeBit8, SendeEB );

procedure TSender.TimerTick;begin case zustand of sWarte : begin ... end; SendeAB : begin ... zustand := SendeBit1; end; SendeBit1 : begin ... zustand := SendeBit2; end; SendeBit2 : begin ... zustand := SendeBit3; end; SendeBit3 : begin ... zustand := SendeBit4; end; SendeBit4 : begin ... zustand := SendeBit5; end; SendeBit5 : begin ... zustand := SendeBit6; end; SendeBit6 : begin ... zustand := SendeBit7; end; SendeBit7 : begin ... zustand := SendeBit8; end; SendeBit8 : begin ... zustand := SendeBitEB; end; SendeEB : begin ... zustand := sWarte; end; end;end;

procedure TSender.Sende( Daten : TBitFolge );begin ... zustand := SendeAB;end;

Page 45: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

45Lösungsvorschlag

Der Timer

type TSender = class ( TObject ) ...public ... procedure TimerTick( sender : TObject );end;

constructor TSender.Create;begin ... oTimer := TTimer.Create( nil ); oTimer.Interval := 400; oTimer.Enabled := True; oTimer.OnTimer := TimerTick; ... zustand := sWarte;end;

Page 46: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

46Lösungsvorschlag

Ereignis auslösen TYPE TGUI = CLASS ( TForm )

... procedure ShowMessage;

procedure TGUI.ShowMessage;begin MessageDlg('Übertragung beendet', mtInformation, [mbOk], 0);end;

oSender.OnBitFolgeGesendet := ShowMessage;

TYPE TEreignis = procedure of object;

TYPE TSender = CLASS ( TObject )public OnBitFolgeGesendet : TEreignis;

if Assigned( OnBitFolgeGesendet ) then OnBitFolgeGesendet;

Page 47: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

47Teil 3

Übertragen von Zeichen

Page 48: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

48Ü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)

Page 49: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

49Lösungsvorschlag

Zeichen können schon übertragen werden, nur die Repräsentation muss angepasst werden:

Empfängerprocedure TGUI.Refresh;begin eDaten.Text := oEmpfaenger.getBitFolge.toChar;end;

Senderprocedure TGUI.onbSendeClick(Sender: TObject);begin oDaten.fromChar( eDaten.Text[1] ); oSender.OnBitFolgeGesendet := ShowMessage; oSender.Sende( oDaten );end;

Page 50: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

50Ausblick

Übertragen von Texten

Page 51: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

51Übertragen von Texten

Aufgabe:– Vereinige Sender und Empfänger in einem Kommunikator– Terminalprogramm

Prototyp:

Page 52: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

52Texte übertragen

Idee:– Ü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– ...

Page 53: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

53ISO-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.

Page 54: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

54ISO-OSI-Referenzmodell

Überblick

AnwendungsschichtApplication layer

DarstellungsschichtPresentation layer

SitzungsschichtSession layer

TransportschichtTransport layer

NetzwerkschichtNetwork layer

SicherungsschichtData link layer

BitübertragungsschichtPhysical layer

1

2

3

4

5

6

7

Page 55: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

55ISO-OSI / Wir

Einordnung in ein Schichtenmodell

AnwendungsschichtApplication layer

DarstellungsschichtPresentation layer

SitzungsschichtSession layer

TransportschichtTransport layer

NetzwerkschichtNetwork layer

SicherungsschichtData link layer

BitübertragungsschichtPhysical layer

1

2

3

4

5

6

7

Physikalisches Medium Kabel

Feststellen von ÜbertragungsfehlernAufbau von Rahmen (Rahmenbegrenzer)

Bit (Eins, Null) in TNetzHw, Länge eines BitsRS232 (Stecker, Spannungen)

Page 56: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

56Schichtenarchitekturen

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

Page 57: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

57Sicherung

Motivation:– Bei der Übertragung können Fehler auftreten.– Diese Fehler sollen mindestens festgestellt, am Besten

sogar behoben werden.

Ansatzpunkte:– Paritätsbit PB

• an die Bitfolge anhängen und mitübertragen

• Empfänger kann u.U. feststellen, ob Fehler auftrat

– Prüfsumme FCS (Frame Check Sequence)• Berechnen und an die Bitfolge anhängen bzw. in die Bitfolge

integrieren.

• Empfänger kann je nach verwendetem Verfahren Fehler feststellen und teilweise sogar reparieren.

Page 58: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

58Paritätsbits

Häufig bei serieller Übertragung eingesetzt Grundtypen:

– Gerade Parität (even)es wird auf gerade Anzahl log. Einsen ergänzt

– Ungerade Parität (odd)es wird auf ungerade Anzahl log. Einsen ergänzt

– Null (zero)PB = 0

– Eins (one)PB = 1

– Keine Parität (none)kein Paritätsbit

Page 59: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

59

27 26 25 24 23 22 21 20

Hamming-Kodierung Erreicht minimale theoretisch erforderliche Anzahl

Prüfbits zur Feststellung von Einzelbitfehlern Verfahren:

0 Nutzdaten0 0 0 0 0 0 0

0 0 0 00 0 00

00000001111 23 -Anteil

120

221

321 +20

422

522 +20

622 +21

722 +21 +20

823

923 +20

1023 +21

1123 +21 +20

1223 +22

01010101010 20 -Anteil

Neue Nummerierung

01001100110 21 -Anteil

00011100001 22 -Anteil

Hamming-Code

Bestimme Paritätsbit für diese Bitfolge

Page 60: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

60

27 26 25 24 23 22 21 20

Hamming-Kodierung Erreicht minimale theoretisch erforderliche Anzahl

Prüfbits zur Feststellung von Einzelbitfehlern Verfahren:

1 Nutzdaten1 1 1 1 1 1 1

0 1 1 1 0 1 1 11 1 11

000000001111 23 -Anteil

120

221

321 +20

422

522 +20

622 +21

722 +21 +20

823

923 +20

1023 +21

1123 +21 +20

1223 +22

101010101010 20 -Anteil

Neue Nummerierung

011001100110 21 -Anteil

000011100001 22 -Anteil

Hamming-Code

Bestimme Paritätsbit für diese Bitfolge

Page 61: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

61

27 26 25 24 23 22 21 20

Hamming-Kodierung Beispiel: 10010111

1 Nutzdaten0 0 1 0 1 1 1

0 0 1 1 1 1 0 10 0 11

000000001001 23 -Anteil

120

221

321 +20

422

522 +20

622 +21

722 +21 +20

823

923 +20

1023 +21

1123 +21 +20

1223 +22

101010001000 20 -Anteil

Neue Nummerierung

001001000000 21 -Anteil

000111000001 22 -Anteil

Hamming-Code

Ergänze Paritätsbit für diese Bitfolge auf „gerade“

Bilde log. AND zwischen

Datenbit und 20-Bit: 0

Page 62: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

62Hamming-Code

Page 63: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

63Überblick Schichten

b 1c0a 0 0 d 0 10 0 0001 1 1 e 0 10 1 1000 0 0 1 0 10

Bitü

be

rtra

gu

ng

s-sc

hic

ht

Me

diu

mA

nw

en

du

ng

s-sc

hic

ht

Sic

he

run

gs-

sch

ich

t

i !H

i !H

1 1000 0 0 0

7210 = ‚H‘

1 1010 0 0 1

10510 = ‚i‘

0 0010 0 0 1

3310 = ‚!‘

1 1000 0 0 0 1 1010 0 0 1 0 0010 0 0 1

b 1c0a 0 0 d 1 0 0 0 0 1 1 e 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 f

Page 64: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

64Zyklische Redundanzkodes

Cyclic Redundancy Check CRC– Bitfolgen werden als Polynome mit den Koeffizienten 0 und 1

behandelt– Bitfolge 110001 repräsentiert das Polynom P=x5+x4+1– Berechne Additionen und Subtraktionen ohne Übertrag, d.h.

identisch mit XOR– Sender und Empfänger eingen sich auf Generatorpolynom G– Prüfsumme ist der Rest bei Division P : G– z.B: G=x16+x12+x5+1 (CRC-CCITT)

• Entdeckt alle Einzelbitfehler, alle Doppelbitfehler, alle Bitfehler mit ungerader Bitanzahl, alle Fehlerbündel bis 16 Bits, 99,997% aller 17-Bit-Fehlerbündel, 99.998% aller Fehlerbündel mit 18 oder mehr Bits.

– mit einfacher Hardware-Schaltung berechenbar!

Page 65: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

65Ausblick

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

Page 66: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

66Anwendungen

Internet-Protokolle der Anwendungsschicht

Page 67: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

67Überblick

Viele Anwendungs-Protokolle des Internets lassen sich einfach „von Hand“ nachvollziehen.

– eMail: POP, SMTP (Post Office Protocol, Simple Mail Transport Protocol)

– WWW: HTTP (HyperText Transfer Protocol)

– FTP: FTP (File Transfer Protocol)

– Diese Protokolle definieren u.a. die Sprache, in der Anwendungs-Programm (Client) und Server sich „unterhalten“

Page 68: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

68Internet-Protokolle

„Definition“ per RFC (Request for Comment) – POP: RFC 1939, SMTP: RFC 2821

Häufig de-facto-Standard Verhalten:

– i.d.R. zustandsorientiert (Erweiterter Endlicher Automat)– in der Form „Server muss“, „Server kann“, „Server darf,

wenn auch nicht gerne gesehen“ Format und Vokabular

– Verwendetes Format: ASCII, EBCDIC, Unicode, ... ?– in ABNF (Augmented Backus Naur Form) unter Rückgriff auf

weitere RFCs Relativ alt

– POP erstmals 1982 (!) spezifiziert– Nicht immer effizient (vgl. SMTP: sehr hoher Overhead)

Page 69: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

69Überblick eMail

Einordnung in Schichtenarchitektur

Internet

Transport-schicht

Bitübertragungs-schicht

SMTPsenden

POPabholen

Benutzer-schicht

Anwendungs-schicht

Page 70: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

70Analyse der Protokolle

Treten zur Analyse an Stelle der Anwendung. Hilfsmittel: Terminal-Programm, z.B. PuTTY

Page 71: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

71POP

Per POP wird eMail aus einem Postfach abgeholt. POP-Server

– versteht u.a. folgende Befehle: USER, PASS, LIST, STAT, RETR, DELE, NOOP, RSET, QUIT

– antwortet genau mit +OK oder -ERR und führt den Befehl wenn möglich aus

– manche der Befehle benötigen zusätzliche Argumente

POP-Client– muss die Reihenfolge der Befehle einhalten– auf das entsprechende Format achten (z.B. dass

Postfächer keine Umlaute im Namen führen dürfen)– wissen wie die empfangenen Daten zu interpretieren sind

Page 72: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

72Beispiel-Sitzung

+OK ready <[email protected]>USER jonietz+OK Password required for jonietz.PASS geheim+OK jonietz has 1 visible message (0 hidden) in 567 octets.RETR 1+OK 567 octetsReturn-Path: <root@europa>Received: from europa.burg.bildung-rp.de ([192.168.0.76]) by europa.local ... Date: Wed, 19 Mar 2003 15:46:27 +0100From: root <root@europa>Message-Id: <[email protected]>To: undisclosed-recipients:;X-UIDL: HV#"!jd]!!`_'"!kOM"!

Hallo,wie gehts?

.DELE 1+OK Message 1 has been deleted..QUIT+OK Pop server at europa.local signing off.

Page 73: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

73POP-Verhalten

Darstellung als Endlicher Automat

AUTH1

AUTH2

TRANS

*

*

*

LIST RETR n

QUIT

QUIT

QUIT

US

ER

...

STOPP

AS

S .

..

Hier fehlen durch Timeoutshervorgerufene Übergänge.Konzept in Erweiterten Automaten

Page 74: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

74POP in SDL

SDL (Specification and Description Language)– Beschreibungssprache für erweiterte Automaten – zur Darstellung von Protokoll-Verhalten

AUTH1

QUITUSER ...

AUTH2

*

AUTH1

-ERR+OK+OK

+OK

prüfen ...

AUTH2

QUITPASS ...

OK?

TRANS

-ERR

*

AUTH2

-ERR

nein

+OK

Hier wären Timeouts jetzt prinzipiell möglich, SDL bietet entsprechende Möglichkeiten

Page 75: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

75POP in SDL

+OK

Mail n holenund ausgeben

TRANS

QUITRETR n

OK?

TRANS TRANS

-ERR

*

TRANS

-ERR

nein

+OK

LIST

Liste ermittelnund ausgeben

+OK

TRANS

NOOP

TRANS

+OK

STAT

Statistikausgeben

+OK

TRANS

Page 76: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

76SMTP

Per SMTP wird eMail versendet – vom Benutzer zu Postfach– oder aber auch von Server zu Server

SMTP-Server– versteht HELO, MAIL, RCPT, DATA, QUIT – Das Ende einer eMail wird dann als erreicht angesehen,

wenn in einer Zeile allein ein einzelner Punkt steht<CRLF> . <CRLF>

SMTP-Client– muss von der Sonderbedeutung von <CRLF> . <CRLF>

wissen und entsprechend damit umgehen!

Page 77: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

77SMTP in SDL

OK

prüfen ...

Start

NOOPQUITHELO ...

StartOK?

Hallogesagt

Start

ERR

OK

*

Start

ERR

nein

Page 78: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

78SMTP in SDL (2)

OK

prüfen ...

Hallogesagt

NOOPQUITMAIL ...

HallogesagtOK?

Absenderbekannt

Hallogesagt

ERR

OK

*

Hallogesagt

ERR

nein

Page 79: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

79SMTP in SDL (3)

OK

prüfen ...

Absenderbekannt

NOOPQUITRCPT ...

AbsenderbekanntOK?

Adressatbekannt

Absenderbekannt

ERR

OK

*

Absenderbekannt

ERR

nein

Page 80: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

80SMTP in SDL (4)

OK

prüfen ...

Adressatbekannt

NOOPQUITRCPT ...

AbsenderbekanntOK?

Adressatbekannt

ERR

OK

*

Absenderbekannt

ERR

DATA

EmpfangeDaten

OK

Adressatbekannt

nein

Page 81: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

81SMTP in SDL (5)

OK

EmpfangeDaten

.

OK?

Hallogesagt

?

ERR

*

Textabsenden

EmpfangeDaten

Merke Text

nein

Page 82: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

82Beispiel-Sitzung

220 europa.local ESMTP Sendmail 8.10.2/8.10.2/SuSE Linux 8.10.0-0.3; Wed, 19 Mar 2003 15:45:34 +0100

HELO europa.burg.bildung-rp.de

250 europa.local Hello [192.168.0.76], pleased to meet you

MAIL FROM:<root@europa>

250 2.1.0 <root@europa>... Sender ok

RCPT TO:<jonietz@europa>

250 2.1.5 <jonietz@europa>... Recipient ok

DATA

354 Enter mail, end with "." on a line by itself

Hallo,

wie gehts?

.

250 2.0.0 h2JEjwr00711 Message accepted for delivery

QUIT

221 2.0.0 europa.local closing connection

Page 83: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

83Umsetzung im Unterricht

Prinzipiell mindestens zwei Herangehensweisen denkbar:

– „Von oben“: Anwendungsprotokolle– „Von unten“: Übertragungsprotokolle

Beide Wege schon umgesetzt– Unterrichtsreihe im GK Informatik

am Burggymnasium KL, Stufe 13 2002/03 und 2003/2004– Unterrichtsreihe im LK Informatik

am Hohenstaufen-Gymnasium KL, Stufe 11 2002/03

Erfahrung:– „von unten“ wesentlich zeit- und materialaufwändiger

Page 84: Rechnernetze und Datenübertragung IFB 2003 Daniel Jonietz

Jonietz

Rech

nern

etz e

84Literatur

Allgemeines– Tanenbaum, A.: Computer-Netzwerke– Olbrich, A.: Netze, Protokolle, Spezifikationen

Zur seriellen Übertragung– Burkert u.a.: Informatik heute, Band 2– Keller, R.: Bit für Bit. c‘t Heft 12, 1983– Klotz, G.: Bits im Gänsemarsch. c‘t Heft 12, 1986

Zur Anwendungsschicht– Diverse RFCs unter www.faqs.org/rfcs/