Top Banner
Informatik 1 Volker Stahl [email protected]
91

Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Aug 22, 2019

Download

Documents

vuongthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Informatik 1 Volker Stahl

[email protected]

Page 2: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Folien und Übungsaufgaben stehen unter http://mitarbeiter.hs-heilbronn.de/~vstahl/informatik1

Page 3: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Inhalt I. Codierung

Zahlensysteme (Dualsystem, Hexadezimalsystem) Zeichensätze (ASCII, UNICODE, …) Grafikformate (Pixelgrafik, Vektorgrafik)

III. Rechnernetze und Internet TCP/IP Protokolle Internet Dienste (Client-Server Architektur) WWW, HTML Kopplung von Netzen

Datenkompression (verlustfrei, verlustbehaftet) Kryptographie (symmetrisch, asymmetrisch, Signatur, Zertifikat...)

II. Datenkompression und Verschlüsselung

Page 4: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Inhalt

Praktische Übungen am Rechner Codierung Kryptographie Rechnernetze, Protokolle HTML, CSS, SVG, JavaScript Internet Dienste

Page 5: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Codierung natürlicher Zahlen

0 1 2 3 4 5 6 7 8 9

10 11 12

0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100

Dezimalsystem zehn Symbole

Dualsystem zwei Symbole

Page 6: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Codierung natürlicher Zahlen

Umrechnung

Page 7: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Alphabet: Endliche Menge von Zeichen (Symbolvorrat)

Beispiele:

Dezimales Alphabet: 0,1,2,3,4,5,6,7,8,9 Binäres Alphabet: 0,1 Hexadezimales Alphabet: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Buchstaben Alphabet: A,B,C,…,Z

Endliche Folgen über einem Alphabet

Beispiele:

4958714 1101110001 1AF8CC3 INFORMATIK

Page 8: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Codierung: Zuordnung der Elemente eines Wertebereichs zu endlichen Folgen über einem Alphabet.

z.B. Codierung der natürlichen Zahlen durch endliche Folgen von Nullen und Einsen (Dualsystem).

Alle Elemente des Wertebereichs bekommen unterschiedliche Codes! Sonst wären die Elemente nach der Codierung nicht mehr unterscheidbar!

Binärcodierung Codierung mit binärem Alphabet.

z.B. Codierung von Nachrichten durch endliche Folgen von Buchstaben.

Page 9: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Nur diskrete Wertebereiche können codiert werden!

alle endlichen Mengen, z.B. Buchstaben natürliche Zahlen, Texte Längenangaben in ganzen Millimetern, …

physikalische Größen (Zeit, Ort, Helligkeit, Wellenlänge, Schalldruck …) reelle Zahlen

Beispiele für diskrete Wertebereiche:

Beispiele für analoge Wertebereiche:

Ausweg: Quantisierung Runden auf diskrete Werte (ganze Millisekunden, ganze Meter, …)

Page 10: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Bitfolgen der Länge n

0 1

00 01 10 11

000 001 010 011 100 101 110 111

n=1: 2 Folgen

n=2: 4 Folgen

n=3: 8 Folgen

1 Bit mehr: doppelt so viele Folgen → 2n Folgen der Länge n

n=0: 1 Folge

Näherung: 210 = 1024 ≈ 1000 = 103

Page 11: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Bitfolgen der Länge n

Wie kann man 240 näherungsweise von Hand berechnen?

Rechneradressen im Internet bestehen aus 4 Byte. Wie viele Rechner kann man damit maximal adressieren?

Die Hardware Adresse (MAC) einer Ethernet Karte besteht aus 6 Byte. Weltweit soll jede Ethernet Karte eine unterschiedliche Adresse haben. Könnte das bald knapp werden?

Aufgabe

Aufgabe

Aufgabe

Wieviele Bitfolgen gibt es, die weniger als n Bit lang sind? Aufgabe

Page 12: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text

Idee: A = 0 B = 1 C = 10 D = 11 E = 100 F = 101 G = 110 …

Problem?

Page 13: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text

Idee: A = 0 B = 1 C = 10 D = 11 E = 100 F = 101 G = 110 …

Problem? Decodierung von 110: Könnte „G“ oder „DA“ oder „BC“ oder auch „BBA“ sein!

Keine eindeutige Decodierung möglich!

Page 14: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text

Einfachste Lösung: Jeder Code soll gleiche Bit Länge haben (Block Code).

A = 00000 B = 00001 C = 00010 D = 00011 E = 00100 F = 00101 G = 00110 …

Decodierung: 00100 00011 00110 E D G

Page 15: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text Schreiber und Leser müssen sich auf eine Codierung einigen: Standards!

Page 16: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text

ASCII (American Standard Code for Information Interchange), 1967

7 Bit Code (128 Zeichen) Groß- und Kleinbuchstaben, Ziffern, Sonderzeichen Zusätzliches 8. Bit zur Fehlererkennung (1 Byte pro Zeichen)

Erweiterungen Bit 8 nicht für Fehlererkennung, somit Platz für weitere 128 Zeichen. Latin 1(ISO-8859-1) Zeichen für westeuropäische Sprachen, 1998 Latin 15 (ISO-8859-15) Ähnlich Latin 1, Euro Zeichen ANSI (Windows Code Page 1252, ähnlich Latin 1) DOS Zeichensätze

Problem: Andere Sprachen benötigen andere Sonderzeichen / Codierung! Konsequenz: Inkompatibilität. Codierung im Browser, Editor einstellbar.

Page 17: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text Unicode (Version 1.0.0.: 1991)

Idee: Eine Codierung für alle Zeichen aller Sprachen (> 1 Million Zeichen). Problem: Viele Bit pro Zeichen, Speicherplatz!

Lösung: UTF-8

Gleicher Zeichenvorrat wie Unicode, effizientere Codierung. Idee: Kurze Codes für häufig benutzte Zeichen.

0 x x x x x x x 1 Byte Codes: 128 ASCII Zeichen

1 1 0 x x x x x 1 0 x x x x x x 2 Byte Codes

1 1 1 0 x x x x 1 0 x x x x x x 3 Byte Codes

1 0 x x x x x x

1 1 1 1 0 x x x 1 0 x x x x x x 4 Byte Codes

1 0 x x x x x x 1 0 x x x x x x

Rückwärtskompatibel zu ASCII! Eindeutige Identifikation der Start Bytes, Fehlererkennung. → Beispiel

Page 18: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Binärcodierung von Text

Aufgabe Wieviele Zeichen lassen sich mit UTF-8 codieren?

Aufgabe

Sie haben eine HTML Datei mit einem Editor geschrieben, der UTF-8 Codierung verwendet. Was passiert, wenn Sie sich das Dokument in einem Browser anschauen, der Latin 1 Codierung verwendet? Wie ließe sich das Problem lösen?

1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 Aufgabe

Weshalb kann die Byte Folge nie in einem UTF-8 codierten Dokument auftreten? Kann das Byte in einem UTF-8 codierten Dokument auftreten? Wie kann ein Webbrowser „erraten“ welche Codierung in einem vorliegenden Dokument verwendet wird?

1 1 1 1 1 1 1 1

Page 19: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Grafik Formate

Pixelgrafik

Vektorgrafik

Farbwert zu jedem Bildpunkt (Pixel) speichern Rasterbild Anwendung: z.B. Fotos.

Koordinaten von geometrischen Figuren speichern z.B. Kreis mit Mittelpunkt (50,274) und Radius 84 Anwendung: z.B. Konstruktionszeichnungen.

Page 20: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Pixelgrafik Farbtiefe (Bit pro Pixel)

1 Bit: Schwarz/Weiß 8 Bit: Grauwerte 24 Bit: True Color (je 8 Bit für rot/grün/blau)

Farbpalette (Color Lookup Table CLUT) 256 Farben auswählen (Palette) Im Bild wird die Nummer einer Farbe gespeichert (8 Bit/Pixel).

5

Nummer Farbe 1 2 3 4 5 6 7 8

Pixel

Bild Farbpalette (CLUT)

Page 21: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Pixelgrafik Farben

Menschliches Auge hat Sehzellen für rot, grün und blau (Zapfen).

Jede Farbwahrnehmung kann durch Mischung von rotem, grünem und blauem Licht erzeugt werden.

… obwohl es unendlich viele Wellenlängen für Licht gibt!

Page 22: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Pixelgrafik Bildschirm: additive Farbmischung

Rot + Grün + Blau = Weiß „Licht Strahler“

Papier: subtraktive Farbmischung Rot + Grün + Blau = Schwarz „Licht Filter, Wasserfarben“

Im Drucker Patronen für CMYK (Cyan, Magenta, Yellow, Key = Black)

Jede CMYK Farbe „verschluckt“ eine RGB Farbe: Cyan verschluckt Rot Magenta verschluckt Grün Yellow verschluckt Blau

Tintenmischung: C+M verschluckt R+G → B C+Y verschluckt R+B → G M+Y verschluckt G+B → R

Lichtmischung ist additiv, Stoffmischung subtraktiv!

Page 23: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Pixelgrafik

Aufgabe Wieso braucht man im Drucker neben CMYK noch eine zusätzliche Farbe Schwarz?

Aufgabe Licht besteht aus einer Überlagerung von elektromagnetischen Schwingungen unterschiedlicher Frequenz und Amplitude. Durch eine Überlagerung von rotem, grünen und blauem Licht ließe sich nur ein Linienspektrum (vgl. Dreiklang in der Musik) erzeugen. Warum reicht das für die Grafik aus?

Aufgabe Sie fotografieren einen Sonnenuntergang, bei dem das Sonnenlicht eine Wellenlänge von 630nm hat. Später schauen Sie sich das Bild am Bildschirm an. Sendet der Bildschirm nun auch Licht mit 630nm aus?

Page 24: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Pixelgrafik

Kriterien für Formate Transparenz (Überlagern von Bildern, z.B. mit Text) Animation (Bewegte Grafiken) Kompression (verlustfrei / verlustbehaftet) Interlacing (schichtweise Laden)

Standard Formate

JPEG: variable, verlustbehaftete Kompression. GIF: verlustfreie Kompression, Animation, Transparenz PNG: verlustfreie Kompression, variable Transparenz BMP: Windows Standard

Page 25: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

1 611 kB 31 kB

Page 26: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Original Komprimiert

Page 27: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Vektorgrafik

Vorteile im Vergleich zu Pixelgrafik Viel weniger Speicherplatz bei einfachen Zeichnungen Keine Verluste bei Drehen und Skalieren Optimale Qualität in jeder Auflösung (Drucker vs. Bildschirm) Objekte können einzeln bearbeitet werden Meistens einfache ASCII Dateien

Standard Formate

Postscript, PDF Scalable Vector Graphics (SVG) →Beispiel

Page 28: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Datenkompression

Ziele:

Speicherplatz sparen, insbesondere bei Bildern, Filmen, Musik

Bandbreite sparen bei Datenübertragung (Mobilfunk)

Verfahren:

Verlustfrei kein Informationsverlust, somit exakte Dekompression möglich Anwendung: Textdokumente, Programme, …

Verlustbehaftet Informationsverlust, daher keine exakte Dekompression möglich dafür aber wesentlich höherer Kompressionsfaktor Anwendung: Bilder, Musik, …

Page 29: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Beispiel: Verlustfreie Kompression eines Grauwertbildes.

Beobachtung: Benachbarte Pixel haben i.a. ähnliche Grauwerte (außer bei Kanten)

Idee: Speichere nicht den Grauwert eines Pixels sondern die Differenz zum Grauwert des vorherigen Pixels. z.B. 17, 19, 23, 22, 25 → 17, 2, 4, -1, 3

Konsequenz: Viele kleine Zahlen, wenige große Zahlen. Immer noch eine Zahl pro Pixel.

Idee: Codiere häufig auftretende Zahlen durch kurze Bitfolgen und selten auftretende Zahlen durch lange Bitfolgen.

Problem: Wie findet man eine „gute“ Codierung?

Page 30: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Beispiel: Nur 4 verschiedene Symbole A,B,C,D.

Zeichen Häufigkeit

A B C D

20 10 5 1

Standard Codierung:

Code

A B C D

00 01 10 11

2 Bit pro Zeichen, 36 Zeichen, folglich 72 Bit

Bessere Codierung:

Code

A B C D

0 10 110 111

20 mal 1 Bit + 10 mal 2 Bit + 5 mal 3 Bit + 1 mal 3 Bit, folglich nur 58 Bit

Eindeutige Decodierung, Präfix Code

Zeichen

Zeichen

Page 31: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Optimale Codierung: Huffman Codierung

Symbol Häufigkeit

A

6

B

3

C

8

D

2

E 4

Fasse die beiden seltensten Symbole zusammen. Ein Bit erforderlich um diese wieder zu unterscheiden.

Idee:

Page 32: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Optimale Codierung: Huffman Codierung

Symbol Häufigkeit

A

6

B

3

C

8

D

2

E 4

Fasse die beiden seltensten Symbole zusammen. Ein Bit erforderlich um diese wieder zu unterscheiden.

Idee:

B D

0 1

B,D 5

Page 33: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Optimale Codierung: Huffman Codierung

Symbol Häufigkeit

A

6

B

3

C

8

D

2

E 4

Fasse die beiden seltensten Symbole zusammen. Ein Bit erforderlich um diese wieder zu unterscheiden.

Idee:

B,D 5

B,D,E

9

B D E

0 1

1 0

Page 34: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Optimale Codierung: Huffman Codierung

Symbol Häufigkeit

A

6

B

3

C

8

D

2

E 4

Fasse die beiden seltensten Symbole zusammen. Ein Bit erforderlich um diese wieder zu unterscheiden.

Idee:

B,D 5

B,D,E

9

A,C

14

B D A C E

0 1

1 0

0 1

Page 35: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Optimale Codierung: Huffman Codierung

Symbol Häufigkeit

A

6

B

3

C

8

D

2

E 4

Fasse die beiden seltensten Symbole zusammen. Ein Bit erforderlich um diese wieder zu unterscheiden.

Idee:

B,D 5

B,D,E

9

A,C

14

A,B,C,D,E

23

B D A C E

0 1

1 0

0 1

0 1

Page 36: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression Optimale Codierung: Huffman Codierung

B D A C E

0 1

1 0

0 1

0 1

Symbol Häufigkeit

Code

A

6 10

B

3 000

C

8 11

D

2 001

E 4

01

Page 37: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression

Symbol Häufigkeit

A

5

B

30

C

10

D

1

Aufgabe Berechnen Sie den Huffman Code für folgende Symbolverteilung. Wie viel Speicherplatz ist insgesamt erforderlich? Gibt es mehrere gleich gute Lösungen?

Aufgabe

Weshalb ist folgende Codierung unbrauchbar?

Symbol Code

A

10

B

1

C

0

D

01

Page 38: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Verlustfreie Datenkompression

Aufgabe Kann es ein verlustfreies Kompressionsverfahren geben, das jede Datei verkleinert?

Page 39: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kryptographie

Page 40: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kryptographie

Sender Empfänger Nachricht

Angreifer

Ziele:

Vertraulichkeit Angreifer kann die Nachricht nicht lesen (Flüstern).

Integrität Angreifer kann die Nachricht nicht nicht ändern ohne dass der Empfänger dies merkt (Versiegeln).

Authentizität Von einer Nachricht kann festgestellt werden, wer sie geschrieben hat (Unterschrift).

Nichtabstreitbarkeit Versand und Empfang kann nicht abgestritten werden (Einschreiben).

Unverzichtbare Voraussetzung z.B. für E-Commerce

Page 41: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kryptographie

Ziel: Vertraulichkeit

Sender

Verschlüsselung

Klartext

Entschlüsselung

Empfänger

Klartext verschlüsselte

Nachricht

Probleme:

Algorithmen zur Ver/Entschlüsselung müssen geheim gehalten werden.

Jedes Sender/Empfänger Paar braucht sein eigenes Verschlüsselungsverfahren.

Wie einigen sich Sender und Empfänger auf ein Verfahren ohne dass dies ein Angreifer mitkriegt?

Page 42: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kryptographie Lösung: Verwendung von Schlüsseln

Sender

Verschlüsselung

Klartext

Entschlüsselung

Empfänger

Klartext verschlüsselte

Nachricht

Algorithmen zur Ver/Entschlüsselung öffentlich bekannt.

Jedes Sender/Empfänger Paar muss sich nur noch auf einen gemeinsamen (geheimen) Schlüssel einigen.

Problem: Austausch des Schlüssels ohne dass dies der Angreifer mitkriegt!

Schlüssel Schlüssel

Symmetrische Kryptographie: gleicher Schlüssel zum Ver- und Entschlüsseln. Verfahren z.B. DES, IDEA, AES, RC4, RC5, Blowfish…

Page 43: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kryptographie

Realität (v.a. Internet)

Sender und Empfänger können keinen geheimen Schlüssel austauschen da prinzipiell jede Nachricht abgefangen werden kann.

Ist unter diesen Umständen eine vertrauliche Kommunikation theoretisch überhaupt möglich?

Page 44: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kryptographie Lösung: Asymmetrische Kryptographie (Public Key Verfahren)

Zwei unterschiedliche, zueinander passende Schlüssel: • public key zum Verschlüsseln (öffentlich) • private key zum Entschlüsseln (geheim)

Idee:

Sender Empfänger Erzeuge Schlüsselpaar public key, private key

Veröffentliche public key

Verschlüssele Nachricht mit public key des Empfängers

Sende verschlüsselte Nachricht Entschlüssele Nachricht

mit private key

public key

verschlüsselte Nachricht

1977: RSA Algorithmus

Page 45: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie

Analogie Briefkasten:

Jeder kann etwas in den Briefkasten des Empfängers werfen (verschlüsseln mit public key des Empfängers)

Nur der Empfänger kann seinen Briefkasten öffnen (entschlüsseln mit seinem private key)

Konsequenz: Jeder braucht nur einen Briefkasten (Schlüsselpaar)! Bei n Teilnehmern

n(n-1)/2 Schlüssel bei symmetrischer Kryptographie n Schlüsselpaare bei asymmetrischer Kryptographie

Page 46: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie

Angriffsmöglichkeiten:

Private Key des Empfängers durch Probieren erraten. Schlüssellänge z.B. 1024 Bit 21024 ≈ 10300 Möglichkeiten, vgl. 1080 Atome im Universum

Private Key aus Public Key des Empfängers errechnen. Erfordert Faktorisierung sehr großer Zahlen. Aus Aufwandsgründen praktisch nicht machbar!

Page 47: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie

Integrität und Authentizität Ziel: Verhindern dass Angreifer eine Nachricht unbemerkt verändern kann. Nachweisen dass eine Nachricht von einem bestimmten Autor stammt.

Idee: Autor verschlüsselt die Nachricht mit seinem private key. Jeder kann die Nachricht mit dem public key des Autors entschlüsseln. Beweis dass der Autor die Nachricht verfasst (verschlüsselt) hat.

Autor

Verschlüssele Nachricht N mit private key: N‘

Veröffentliche N und N‘

Erzeuge Schlüsselpaar public key, private key

Veröffentliche public key

Tester

Wenn N = N‘‘ dann wurde N mit dem private key des

Autors verschlüsselt. Da diesen nur der Autor kennt, stammt N garantiert vom Autor.

Entschlüssele N‘ mit public key des Autors: N‘‘

Page 48: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie

Verbesserung: Autor muss nicht die ganze Nachricht verschlüsseln, es genügt ein Hash Wert („Quersumme“, „digitaler Fingerabdruck“). Hash Funktionen z.B. MD5 (128 Bit) oder SHA-1 (160 Bit)

Autor

Verschlüssele Hash Wert n mit private key: n‘ (digitale Signatur)

Veröffentliche N und n‘

Erzeuge Schlüsselpaar public key, private key

Veröffentliche public key

Tester

Wenn n = n‘‘ dann wurde n mit dem private key des

Autors verschlüsselt. Da diesen nur der Autor kennt, stammt N garantiert vom Autor.

Entschlüssele n‘ mit public key des Autors: n‘‘

Berechne Hash Wert von N: n.

Berechne Hash Wert von Nachricht N: n.

Page 49: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie Aufgabe

Software wird im Internet häufig nicht nur auf der Webseite des Herstellers zum Download angeboten sondern auch auf sog. Mirror Sites. Dadurch wird die Netzwerklast auf mehrere Rechner verteilt.

Hierbei könnte der Betreiber einer Mirror Site die Software böswillig ändern. Überlegen Sie sich, wie dies durch Hash Funktionen vermieden werden kann.

Von welchem Server muss der Hash Wert geholt werden – vom Server des Herstellers oder vom Server der Mirror Site?

Produkt P x = Hash(P)

Entwickler Nutzer

Mirror Sites

P

P‘ (Falsch)

P

P P‘

Page 50: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie Angriff auf öffentlichen Schlüssel – aktiver Angriff

Angreifer fälscht den öffentlichen Schlüssel des Empfängers. Dadurch kann er jede Nachricht lesen, die dem Empfänger geschickt wird!

Empfänger Sender

public key des Empfängers

Angreifer

public key des Angreifers

Empfänger Sender Angreifer

Nachricht mit public key des

Angreifers verschlüsselt

Nachricht mit public key des

Empfängers verschlüsselt

Sender und Empfänger merken hiervon gar nichts!

„Man in the middle attack“

Page 51: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie

Lösung: Zertifikate.

Garantie, dass ein öffentlicher Schlüssel tatsächlich von der genannten Person stammt.

Wie kann ich meinen public key zertifizieren lassen?

Gehe mit public key und Personalausweis zu Zertifizierungsbehörde. Diese erstellt ein Dokument, in dem mein Name und mein public key steht und signiert es mit ihrem private key.

Wie kann ich sicher sein, den korrekten public key von Person x zu bekommen?

Verlange Zertifikat von x. Prüfe Signatur mit public key der Zertifizierungsbehörde. Entnehme public key von x aus dem Zertifikat.

Page 52: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Asymmetrische Kryptographie

Problem: Viel zu kompliziert für den Durchschnitts-Surfer!!!

Lösung: Secure Socket Layer (SSL) Verschlüsselung und Prüfung von Zertifikaten geschieht automatisch ohne dass man etwas davon merkt.

HTTPS: HTTP über SSL Webserver authentifiziert sich über ein Zertifikat. Daten werden verschlüsselt übertragen.

Sender

SSL

Empfänger

SSL Klartext Klartext

Verschlüsselt

Page 53: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information
Page 54: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information
Page 55: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Client

Symmetrische Kryptographie verschlüsselt mit K.

Überprüfe Zertifikat, erhalte public key des Servers

Erzeuge Session Key K

Server

Entschlüssle Session Key K mit private key

Sende Zertifikat an Client

Verschlüssle K mit public key des Servers und sende ihn

an den Server

Kryptographie

Zertifikat

Session Key K verschlüsselt mit public key des Servers

Symmetrische Kryptographie verschlüsselt mit K.

Symmetrische Kryptographie

Hybride Verfahren: asymmetrische Kryptographie aufwändig!

Nur der Session Key K für symmetrische Kryptographie wird mit asymmetrischer Kryptographie verschlüsselt. Effizienter da symmetrische Kryptographie weniger Rechenaufwand kostet.

Page 56: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Rechnernetze und

Internet

Page 57: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

1969 ARPANET, Projekt der Advanced Research Projects Agency (ARPA) Paket orientierte Vermittlung Kabel, Funk, Satelliten Verbindungen 1969:4, 1971:15, 1972:37 Rechner,

1973/74 Entwicklung der TCP/IP Protokolle Ziel: Verbindung von heterogenen Netzwerken, nicht nur von einzelnen Rechnern

1982 ARPANET wird auf TCP/IP umgestellt, Gateway zum CSNET.

1969 Betriebssystem UNIX bei AT&T entwickelt

1975 BSD UNIX (Uni Berkeley). Setzt sich später an Universitäten durch.

1980 ARPANET besteht aus 66 Rechnern. TCP/IP wird in BSD UNIX implementiert von BBN.

1979 USENET, zunächst UUCP Protokoll über Telefonleitungen, ab Mitte 80er Jahre TCP/IP

Entwicklung des Internets

1981 CSNET für nichtmilitärische Forschungseinrichtungen, TCP/IP.

1982 EUNET, Niederlande, Schweden, Großbritanien, Dänemark. Telefonverbindung mit UUCP, Verbindung über USENET zu ARPANET

Page 58: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

1984 Uni Karlsruhe wird ans CSNET angeschlossen. Gründung des DFN Vereins: B-WiN (1995), G-WiN (2000), X-WiN (2006)

1989 Auflösung des ARPANET

1989 Entwicklung des WWW am CERN, 1993 erster Web Browser NCSA Mosaic

1990 NSF nutzt Internet für kommerzielle Anwendungen Internet wird über Unis hinaus öffentlich zugänglich

1983 MILNET wird vom ARPANET abgespalten Verbindung über Gateways, die nur email durchlassen.

1985 National Science Foundation (NSF) verbindet ihre Superrechner Zentren zum NSFNET. NSFNET wird wichtigster Backbone, an den sich weitere, zunächst isolierte Netze anschließen (BITNET, USENET, FidoNET, SPAN..)

1987 BelWü Netz in Baden-Württemberg , TCP/IP 1989 Anbindung an USA, 2003 Integration in G-WiN

Page 59: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Ziel: Kommunikation von Anwendungen auf unterschiedlichen Rechnern

Komplexes Problem Zerlegen in einfachere Teilprobleme: Schichten

Übertragung von digitalen Signalen in einem Netz: Netzzugangsschicht

Übertragung von Nachrichten zwischen Rechnern in unterschiedlichen Netzen: Internetschicht

Zuverlässige Kommunikation zwischen Prozessen: Transportschicht

Kommunikation von Anwendungen (Web, Mail, Datenbanken, DNS, …): Anwendungsschicht

Jede Schicht löst eine Teilaufgabe und greift dabei auf Dienste der darunterliegenden Schicht zu (Kapselung).

Page 60: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Netz Zugangsschicht Signalverarbeitung Hardware Adressen (6 Byte MAC), Telefon Nummern, … Konfliktauflösung wenn zwei Karten gleichzeitig senden (CSMA/CD) Keine Verbindung zwischen Netzwerken

Netzwerk 1

Netzwerk 2

MAC MAC MAC

MAC MAC Ethernet Standards und Protokolle

Page 61: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle Internet Schicht

Internet Adressen (4 Byte, Netzwerk + Rechner) Weiterleiten von Nachrichten zwischen Netzwerken Wegsuche (Routing)

Gateway/Router

IP IP IP IP

Ethernet

Internet Protocol (IP)

IP

Page 62: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle Transport Schicht

Port Nummern (Briefkästen, 2 Byte) Socket besteht aus IP und Port: Virtuelle Verbindung Quittierung

IP IP IP

Port Port Port Port Port

Socket Socket Transmission Control Protocol (TCP)

Internet Protocol (IP)

Ethernet

http://mitarbeiter.hs-heilbronn.de:80/~vstahl

Page 63: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Anwendungsschicht Legt fest wie Programme ihre Daten in Bytefolgen verpacken.

Socket Socket

Web Browser (Client)

Web Server Port 80

Hypertext Transfer Protocol (HTTP)

Transmission Control Protocol (TCP)

Internet Protocol (IP)

Ethernet

Page 64: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Anwendungsschicht Legt fest wie Programme ihre Daten in Bytefolgen verpacken.

Socket Socket

Mail Client Mail Server Port 25

Simple Mail Transfer Protocol (SMTP)

Transmission Control Protocol (TCP)

Internet Protocol (IP)

Ethernet

Page 65: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Anwendungsschicht Legt fest wie Programme ihre Daten in Bytefolgen verpacken.

Socket Socket

Mail Client IMAP Server Port 143

Internet Message Access Protocol (IMAP)

Transmission Control Protocol (TCP)

Internet Protocol (IP)

Ethernet

Page 66: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Ports, Quittierung

WWW, Mail, … Anwendungsschicht

Transportschicht

Internetschicht

Netz Zugangsschicht

Zugriff auf Netzwerkkarte Abstraktion von Hardware Details

Routing

Zuverlässige Verbindung über Sockets (IP + Portnummer)

Unzuverlässige Nachrichten (Datagramme) zwischen Rechnern im Internet

Zuordnung IP zu Hardware Adresse Physikalische Datenübertragung

Page 67: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Schichtenmodell

Anwendungsschicht (HTTP, SMTP, FTP)

Transportschicht (TCP, UDP)

Internetschicht (IP, ICMP)

Netz Zugangsschicht (Ethernet, ARP, PPP) Hardware

Adressen

Internet Adressen

Software außerhalb des Betriebssystems

Software im Betriebssystem

Page 68: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Adressen

Internet Adressen

Rechneradresse (Internet Adresse, IP) besteht aus 4 Byte z.B. 217.79.215.140

Zur einfacheren Lesbarkeit symbolische Rechnernamen z.B. www.bundestag.de

Übersetzung zwischen symbolischen Namen und IP Adressen durch Domain Name Server (DNS).

DNS Client DNS Server

www.bundestag.de

217.79.215.140

Page 69: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Protokolle

Socket Socket

nslookup DNS Client

DNS Server Port 53 DNS Protokoll

Transmission Control Protocol (TCP)

Internet Protocol (IP)

Ethernet

Page 70: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Domain Name Service

DNS Client DNS Server nslookup www.bundestag.de

Kennt „der“ DNS Server alle Rechnernamen im Internet?

.

de uk fr com org

hs-heilbronn fht-esslingen

www mitarbeiter Viele Name Server, die sich untereinander austauschen!

se

r2d2

Top Level Domains

amazon

www

microsoft

www.bundestag.de

217.79.215.140

Page 71: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Internet Adressen

IP besteht aus zwei Teilen: Adresse des Netzwerks in dem der Rechner steht Adresse des Rechners in dem Netzwerk.

Subnet Mask gibt an welche Bits der IP das Netzwerk und welche den Rechner identifizieren

141.7.66.227 Rechneradresse Netzwerkadresse

255.255.255.0

Page 72: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Gateways

Netzwerk 1

Netzwerk 2

Rechnernetze werden über Gateways (Router) verbunden.

Page 73: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Router / Gateways

Rechnernetze werden über Gateways (Router) verbunden.

Netzwerk 1

Netzwerk 2

Gateway/ Router

Gateways sind Rechner, die gleichzeitig zu zwei Netzwerken gehören, d.h. zwei IP‘s und zwei Netzwerkkarten haben.

Gateways übernehmen oft Routing Aufgaben und werden dann Router genannt.

Page 74: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Routing

Jeder Router weiß an welche Netze er direkt angeschlossen ist. Router tauschen diese Information untereinander aus (Routing Tabellen). Ziel: Nachrichten auf schnellstem Weg in das Zielnetzwerk weiterleiten

Quelle

Ziel

Page 75: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Internet Dienste

z.B. email, WWW, FTP, telnet, ssh, ping, news,DNS,…

Client-Server Modell:

Server: Maschine, die einen Dienst anbietet, z.B. Web Server, Mail Server, DNS Server …

Client: Maschine, die einen Dienst in Anspruch nehmen möchte, z.B. Web Browser (IE, Firefox), Mail Client (Outlook, Thunderbird), …

Peer-to-Peer Modell:

Alle beteiligten Maschinen sind gleichberechtigt, d.h. gleichzeitig sowohl Client als auch Server z.B. Tauschbörsen, gnutella…

Page 76: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Internet Dienste Beispiel E-Mail

Mail Client (Sender)

Mail Client (Empfänger)

Mail Server des Empfängers

Mail Server des Senders

SMTP

POP3 oder IMAP

SMTP

Mail Client Software z.B. Thunderbird, Outlook Mail Server Software z.B. Postfix, Sendmail

Simple Mail Transfer Protocol

Post Office Protocol Internet Mail Access Protocol

Page 77: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Dialog: Client schickt mail an Server mit SMTP:

220 zpop.rz.hs-heilbronn.de ESMTP Postfix HELO r2d2.hs-heilbronn.de 250 Hello r2d2.hs-heilbronn.de, I am glad to meet you MAIL FROM:[email protected] 250 Ok RCPT TO:[email protected] 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> From: “Volker Stahl" [email protected] To: Axel Stahl [email protected] Date: Tue, 15 Jan 2008 16:02:43 -0500 Subject: Test message Hallo Axel Viele Grüße, Volker . 250 Ok: queued as 12345 QUIT 221 Bye

Page 78: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Internet Dienste telnet (Port 23), rlogin (Port 513), ssh (secure shell, Port 22):

Text Kommandos an den Server schicken und dort ausführen. Beispiel: ssh –l vstahl mitarbeiter.hs-heilbronn.de password: … ls

ftp (file transfer protocol, Port 21):

Dateien zwischen einem FTP Server und dem eigenen Rechner austauschen (z.B. Webseiten auf einen Webserver hochladen).

ping:

Auf Internet Schicht testen ob eine Maschine erreichbar ist. Beispiel: ping 141.7.1.18 ping mitarbeiter.hs-heilbronn.de

Page 79: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Internet Dienste Beispiel WWW

Web Client/Browser (Internet Explorer, Firefox)

Web Server (Apache HTTP Server, IIS)

HTTP (Hyper Text Transfer Protocol )

http://mitarbeiter.hs-heilbronn.de/~vstahl/informatik1/index.html

Browser schickt die Adresse einer Webseite (URL) an den Server, z.B.

Web Server schickt das angeforderte Dokument an den Client zurück.

Server Name Datei auf dem Server Protokoll

http://mitarbeiter.hs-heilbronn.de:80/~vstahl/informatik1/index.html

Port

Page 80: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Dialog: Web Client schickt Anfrage an Web Server mit HTTP:

GET /~vstahl/informatik1/index.html HTTP/1.1 Host: mitarbeiter.hs-heilbronn.de:80 HTTP/1.1 200 OK Date: Sun, 16 Mar 2008 12:50:11 GMT Server: Apache/2.2.3 (Linux/Unix) Last-Modified: Tue, 11 Mar 2008 19:05:24 GMT Etag: “1d2d5-2c-4c23b600” Accept-Ranges: bytes Content-Length: 552 Content-Type: text/html <html> <body> … </body> </html>

Page 81: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

HTML (Hypertext Markup Language)

<html>

<head>

</head>

<body>

</body>

</html>

Kopf: Titel, Codierung, … (optional)

Rumpf: Eigentlicher Inhalt

Page 82: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

HTML (Hypertext Markup Language)

Text

Überschriften

Hyperlinks

Listen

Bilder

Abschnitte

Page 83: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

CSS (Cascading Style Sheets) Ziel: Mehr Möglichkeiten für das Layout einer HTML Seite (Farbe, Fonts)

<html>

<head>

</head>

<body>

</body>

</html>

<link rel=„stylesheet“ href=„meinstil.css“ type=„text/css“>

Einbinden der CSS Datei „meinstil.css“ ins HTML Dokument:

→ beispiel.html → meinstil.css

Page 84: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kopplung von Rechnernetzen

Page 85: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Rechnernetze

LAN (Local Area Network) Wenige 100 Meter i.a. innerhalb eines Gebäudes

WAN (Wide Area Network) Große Entfernungen (Länder, Kontinente) Verbindet oft lokale Netze Hoher Datendurchsatz

Page 86: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Rechnernetze Ethernet

Hardware Standard 6 Byte MAC Adressen Kollisionserkennung CSMA/CD

Standard Ethernet 10 Mbit/s, Bustopologie (Koaxialkabel) oder Sterntopologie (verdrillte Kabelpaare)

Fast Ethernet 100 Mbit/s Sterntopologie durch Hubs oder Switches Kupfer oder Glasfaser

Gigabit Ethernet 1 Gbit/s, Kupfer oder Glasfaser

10 Gigabit Ethernet 10 Gbit/s, Kupfer oder Glasfaser LAN und WAN

Page 87: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Kopplung von Netzen

Problem: Kabellänge von Ethernet physikalisch begrenzt (i.a.100m). Lösung: Signalverstärker (Repeater).

Repeater/ Hub

Hub: Repeater mit mehreren Anschlüssen (Multi Port)

Page 88: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Problem: Zu viele Kollisionen / Wartezeiten bei hoher Netzwerklast. Lösung: Aufspalten in Kollisionsdomänen

Bridge / Switch

Bridge: Kennt MAC Adressen der Rechner in jedem Netzwerksegment. Liest MAC Zieladresse von Datenpaketen. Leitet Datenpakete ins richtige Netzwerksegment weiter.

Switch: Multiport Bridge Ports können unabhängig voneinander Daten senden/empfangen

gleichzeitig möglich

Kopplung von Netzen

Page 89: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Praxis: Häufig nur ein Rechner pro Port (Port Switches).

Jeder kann mit jedem gleichzeitig kommunizieren

Kopplung von Netzen

Page 90: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

Problem: Verbinden von Netzen mit unterschiedlichen Netzwerk Adressen.

Lösung: Router

Router

Router: Kennt Internet Adressen der angeschlossenen Netze. Liest IP Zieladresse von Datenpaketen. Leitet Datenpakete ins richtige Netzwerk weiter.

ISP

Wireless LAN 192.168.21.xxx

WAN 71.210.182.xxx

Praxis: Kombination von Switch, Router und Modem in einem Gerät

Kopplung von Netzen

Page 91: Informatik 1 - mitarbeiter.hs-heilbronn.demitarbeiter.hs-heilbronn.de/~vstahl/informatik1/Folien/teil1.pdf · Binärcodierung von Text . ASCII (American Standard Code for Information

TCP/IP Modell

Anwendungsschicht

Transportschicht

Internetschicht (IP)

Netz Zugangsschicht (Ethernet, MAC)

Switch, Bridge Verarbeitet MAC Adresse

Hub,Repeater Reiner Signalverstärker

Router Verarbeitet Internet Adresse

Anwendungsschicht

Transportschicht

Internetschicht (IP)

Netz Zugangsschicht (Ethernet, MAC)

Kopplung von Netzen