Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Jonietz Rechnernetze 1 und Datenübertragung IFB 2003 Daniel Jonietz.

Ähnliche Präsentationen


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

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

2 Jonietz Rechnernetze 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 Jonietz Rechnernetze 3 Übersicht Historischer Einstieg: Telegrafie und Morsen –Grundbegriffe Programmtechnische Umsetzung Überblick über vorhandene Möglichkeiten –Teil 1Nachbildung 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 Jonietz Rechnernetze 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 Jonietz Rechnernetze 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 Jonietz Rechnernetze 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 Jonietz Rechnernetze 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 Jonietz Rechnernetze 8 Morsen - 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).

9 Jonietz Rechnernetze 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 Jonietz Rechnernetze 10 Topologie 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) Sender Empfänger Sender

11 Jonietz Rechnernetze 11 Weitere Topologien Bus Ring Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger

12 Jonietz Rechnernetze 12 Weitere Topologien Stern Baum und weitere Mischformen Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Sender Empfänger Zentrum

13 Jonietz Rechnernetze 13 Exkurs 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)

14 Jonietz Rechnernetze 14 Teil 1 Morsen: Nachbildung von Taster und Lampe

15 Jonietz Rechnernetze 15 Hardware - Ü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

16 Jonietz Rechnernetze 16 Hardware - Vorbereitung ParallelSeriellUSBFischertechnikLoopback Vorbereitung Win9x: keine Sonst: Install. -? Treiber installieren - TNetzHw in... (uParallel)uSerielluLoopback(uFtNetz) Hilfssystem WinIO v2.0 RSCOM umFish - Aufwand Bewertung mittelniedrigsehr hochohne (wg. Aufwand) (++) (kein wirkliches Netz) KabelLaplinkNullmodem- ErgänzungLED-Bausatz - Gefahrgegebenkleinkeineklein IO-Warrior Preis, ca.5,- ?0,- 100,- Bausatz (uUSB) klein ? ++ Eigenbau

17 Jonietz Rechnernetze 17 Serielle Schnittstelle Sehr analog zu unserem Morsekabel: –Ruhezustand auch Leitung an, also LED leuchtet. Nullmodemkabel

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

19 Jonietz Rechnernetze 19 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)

20 Jonietz Rechnernetze 20 Vorgehensweise 1.Programmtechnische Nachbildung von Taster und Lampe des Atlantikkabels Übertragen von Bits 2.Übertragung von Bitfolgen 3.Übertragung einzelner Buchstaben Ausblick: Übertragung ganzer Texte

21 Jonietz Rechnernetze 21 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

22 Jonietz Rechnernetze 22 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;

23 Jonietz Rechnernetze 23 Lö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;

24 Jonietz Rechnernetze 24 Teil 2 Übertragen von Bitfolgen

25 Jonietz Rechnernetze 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:

26 Jonietz Rechnernetze 26 Die Klasse TBitFolge Hilfsklasse, die den Datentyp Folge von 8 Bits und Operationen auf diesem kapselt

27 Jonietz Rechnernetze 27 Signalübertragung Brauchen Zuordnung zwischen logischen Signalen und physikalischen Signalen auf dem Medium SignalElektrischOptisch Zwei Level Binärkodierung Drei Level Mehrfachniveaus V 5V Licht aus Licht an V 2,5V 5V Licht aus Licht gedämmt Licht voll an

28 Jonietz Rechnernetze 28 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 high low high low high low

29 Jonietz Rechnernetze 29 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 high low 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.

30 Jonietz Rechnernetze 30 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

31 Jonietz Rechnernetze 31 OOM 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)

32 Jonietz Rechnernetze 32 OOM Ausblick Kommunikator ist in der Lage beliebige Daten zu versenden und zu empfangen

33 Jonietz Rechnernetze 33 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

34 Jonietz Rechnernetze 34 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

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

36 Jonietz Rechnernetze 36 Bitfolgen-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 verwendet hier: Ruhepegel = high also:AB = low

37 Jonietz Rechnernetze 37 Bitfolgen-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 verwendet hier: Ruhepegel = high also:SB = high

38 Jonietz Rechnernetze 38 Übersicht Bitfolge Damit gestaltet sich die Übertragung wie folgt: high low Ruhe Anfangs- begrenzer Stoppbit1. Datenbit2. Datenbit3. Datenbit4. Datenbit5. Datenbit6. Datenbit7. Datenbit8. Datenbit Sender Nutzdaten Overhead

39 Jonietz Rechnernetze 39 Sender/Empfänger Ruhe ABSB1. Datenbit2. Datenbit3. Datenbit4. Datenbit5. Datenbit6. Datenbit7. Datenbit8. Datenbit Warte ABSB1. Datenbit2. Datenbit3. Datenbit4. Datenbit5. Datenbit6. Datenbit7. Datenbit8. Datenbit Sender Empfänger regelmäßiges Abtasten Startbit erkannt 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

40 Jonietz Rechnernetze 40 Aufbau von Rahmen ABSB1. Datenbit2. Datenbit3. Datenbit4. Datenbit5. Datenbit6. Datenbit7. Datenbit8. Datenbit high low Rahmen (Frame)

41 Jonietz Rechnernetze 41 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

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

43 Jonietz Rechnernetze 43 Empfangsautomat Analog zum Sender

44 Jonietz Rechnernetze 44 Lö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;

45 Jonietz Rechnernetze 45 Lö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;

46 Jonietz Rechnernetze 46 Lö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;

47 Jonietz Rechnernetze 47 Teil 3 Übertragen von Zeichen

48 Jonietz Rechnernetze 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)

49 Jonietz Rechnernetze 49 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;

50 Jonietz Rechnernetze 50 Ausblick Übertragen von Texten

51 Jonietz Rechnernetze 51 Übertragen von Texten Aufgabe: –Vereinige Sender und Empfänger in einem Kommunikator –Terminalprogramm Prototyp:

52 Jonietz Rechnernetze 52 Texte ü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 –...

53 Jonietz Rechnernetze 53 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.

54 Jonietz Rechnernetze 54 ISO-OSI-Referenzmodell Überblick Anwendungsschicht Application layer Darstellungsschicht Presentation layer Sitzungsschicht Session layer Transportschicht Transport layer Netzwerkschicht Network layer Sicherungsschicht Data link layer Bitübertragungsschicht Physical layer

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

56 Jonietz Rechnernetze 56 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

57 Jonietz Rechnernetze 57 Sicherung 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.

58 Jonietz Rechnernetze 58 Paritä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

59 Jonietz Rechnernetze Hamming-Kodierung Erreicht minimale theoretisch erforderliche Anzahl Prüfbits zur Feststellung von Einzelbitfehlern Verfahren: 0 Nutzdaten Anteil Anteil Neue Nummerierung Anteil Anteil Hamming-Code Bestimme Paritätsbit für diese Bitfolge

60 Jonietz Rechnernetze Hamming-Kodierung Erreicht minimale theoretisch erforderliche Anzahl Prüfbits zur Feststellung von Einzelbitfehlern Verfahren: 1 Nutzdaten Anteil Anteil Neue Nummerierung Anteil Anteil Hamming-Code Bestimme Paritätsbit für diese Bitfolge

61 Jonietz Rechnernetze Hamming-Kodierung Beispiel: Nutzdaten Anteil Anteil Neue Nummerierung Anteil Anteil Hamming-Code Ergänze Paritätsbit für diese Bitfolge auf gerade Bilde log. AND zwischen Datenbit und 2 0 -Bit: 0

62 Jonietz Rechnernetze 62 Hamming-Code

63 Jonietz Rechnernetze 63 Überblick Schichten b1c0a00d e Bitübertragungs- schicht Medium Anwendungs- schicht Sicherungs- schicht i!Hi!H = H = i = ! b1c0a00d e f

64 Jonietz Rechnernetze 64 Zyklische Redundanzkodes Cyclic Redundancy Check CRC –Bitfolgen werden als Polynome mit den Koeffizienten 0 und 1 behandelt –Bitfolge repräsentiert das Polynom P=x 5 +x 4 +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=x 16 +x 12 +x 5 +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, % aller Fehlerbündel mit 18 oder mehr Bits. –mit einfacher Hardware-Schaltung berechenbar!

65 Jonietz Rechnernetze 65 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

66 Jonietz Rechnernetze 66 Anwendungen Internet-Protokolle der Anwendungsschicht

67 Jonietz Rechnernetze 67 Überblick Viele Anwendungs-Protokolle des Internets lassen sich einfach von Hand nachvollziehen. – 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

68 Jonietz Rechnernetze 68 Internet-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)

69 Jonietz Rechnernetze 69 Überblick Einordnung in Schichtenarchitektur Internet Transport- schicht Bitübertragungs- schicht SMTP senden POP abholen Benutzer- schicht Anwendungs- schicht

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

71 Jonietz Rechnernetze 71 POP Per POP wird 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

72 Jonietz Rechnernetze 72 Beispiel-Sitzung +OK ready USER jonietz +OK Password required for jonietz. PASS geheim +OK jonietz has 1 visible message (0 hidden) in 567 octets. RETR 1 +OK 567 octets Return-Path: Received: from europa.burg.bildung-rp.de ([ ]) by europa.local... Date: Wed, 19 Mar :46: From: root Message-Id: 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.

73 Jonietz Rechnernetze 73 POP-Verhalten Darstellung als Endlicher Automat AUTH1 AUTH2 TRANS * * * LISTRETR n QUIT USER... STOP PASS... Hier fehlen durch Timeouts hervorgerufene Übergänge. Konzept in Erweiterten Automaten

74 Jonietz Rechnernetze 74 POP in SDL SDL (Specification and Description Language) –Beschreibungssprache für erweiterte Automaten –zur Darstellung von Protokoll-Verhalten AUTH1 QUITUSER... AUTH2 * AUTH1 -ERR+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

75 Jonietz Rechnernetze 75 POP in SDL +OK Mail n holen und ausgeben TRANS QUITRETR n OK? TRANS -ERR * TRANS -ERR nein +OK LIST Liste ermitteln und ausgeben +OK TRANS NOOP TRANS +OK STAT Statistik ausgeben +OK TRANS

76 Jonietz Rechnernetze 76 SMTP Per SMTP wird versendet –vom Benutzer zu Postfach –oder aber auch von Server zu Server SMTP-Server –versteht HELO, MAIL, RCPT, DATA, QUIT –Das Ende einer wird dann als erreicht angesehen, wenn in einer Zeile allein ein einzelner Punkt steht. SMTP-Client –muss von der Sonderbedeutung von. wissen und entsprechend damit umgehen!

77 Jonietz Rechnernetze 77 SMTP in SDL OK prüfen... Start NOOPQUITHELO... Start OK? Hallo gesagt Start ERR OK * Start ERR nein

78 Jonietz Rechnernetze 78 SMTP in SDL (2) OK prüfen... Hallo gesagt NOOPQUITMAIL... Hallo gesagt OK? Absender bekannt Hallo gesagt ERR OK * Hallo gesagt ERR nein

79 Jonietz Rechnernetze 79 SMTP in SDL (3) OK prüfen... Absender bekannt NOOPQUITRCPT... Absender bekannt OK? Adressat bekannt Absender bekannt ERR OK * Absender bekannt ERR nein

80 Jonietz Rechnernetze 80 SMTP in SDL (4) OK prüfen... Adressat bekannt NOOPQUITRCPT... Absender bekannt OK? Adressat bekannt ERR OK * Absender bekannt ERR DATA Empfange Daten OK Adressat bekannt nein

81 Jonietz Rechnernetze 81 SMTP in SDL (5) OK Empfange Daten. OK? Hallo gesagt ? ERR * Text absenden Empfange Daten Merke Text nein

82 Jonietz Rechnernetze 82 Beispiel-Sitzung 220 europa.local ESMTP Sendmail /8.10.2/SuSE Linux ; Wed, 19 Mar :45: HELO europa.burg.bildung-rp.de 250 europa.local Hello [ ], pleased to meet you MAIL FROM: Sender ok RCPT TO: Recipient ok DATA 354 Enter mail, end with "." on a line by itself Hallo, wie gehts? h2JEjwr00711 Message accepted for delivery QUIT europa.local closing connection

83 Jonietz Rechnernetze 83 Umsetzung 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 /03 und 2003/2004 –Unterrichtsreihe im LK Informatik am Hohenstaufen-Gymnasium KL, Stufe /03 Erfahrung: –von unten wesentlich zeit- und materialaufwändiger

84 Jonietz Rechnernetze 84 Literatur 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. ct Heft 12, 1983 –Klotz, G.: Bits im Gänsemarsch. ct Heft 12, 1986 Zur Anwendungsschicht –Diverse RFCs unter


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

Ähnliche Präsentationen


Google-Anzeigen