1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
---
header-includes: |
\usetikzlibrary{decorations.pathreplacing,quotes}
---
## Wiederholung: Der Weg der Information
::: columns
:::: {.column width=50%}
Oma Erna will ihrer Enkelin Amelie, die gerade in Chicago studiert zu Ostern einen Brief schreiben.
**\faIcon{lightbulb} In welche Schichten kann der Transport unterteilt werden?**
\begin{itemize}
\item<2-> Anwendungsschicht
\item<3-> Transportschicht
\item<4-> Vermittlungsschicht
\end{itemize}
::::
:::: {.column width=60%}
{.center height=70%}
::::
:::
\begin{tikzpicture}[overlay, remember picture]
\only<2>{
\node[line width=1pt, draw=red, minimum width=8.2cm, minimum height=0.8cm, anchor=west, xshift=7.5cm, yshift=5.5cm] at (current page.south west) {};
}
\only<3>{
\node[line width=1pt, draw=red, minimum width=8.2cm, minimum height=0.8cm, anchor=west, xshift=7.5cm, yshift=4.45cm] at (current page.south west) {};
}
\only<4>{
\node[line width=1pt, draw=red, minimum width=8.2cm, minimum height=0.8cm, anchor=west, xshift=7.5cm, yshift=3.4cm] at (current page.south west) {};
}
\end{tikzpicture}
## Schichten bei der digitalen Kommunikation - TCP/IP-Modell
{.center height=90%}
## Wiederholung: \only<2->{Adressierung}
**Woher weiß eine Schicht wohin die Daten sollen?**
\pause
\faIcon{lightbulb} Die Daten enthalten eine Adresse (wie bei der Post).
\pause
\begin{itemize}
\item<3-> Anwendungsschicht: \boldred{URL}
\item<4-> Transportschicht: \boldred{port} = 16-bit Nummer zwischen \only<5->{0 und 65535 ($2^{16}-1$)}
\item<6-> Internetschicht: \boldred{IP-Adresse} = ???
\item<7-> Netzzugangsschicht: \boldred{MAC-Adresse} = Geräte spezifische 48-bit Nummern
\end{itemize}
## Wiederholung: IP-Adresse
Eine IP-Adresse des Internet-Protokolls Version 4 besteht aus einer 32-bit Zahl.
\pause
$\Rightarrow$ es existieren nur **$2^{32} -1 = 4294967295$** mögliche Adressen.
\pause
### \faIcon{pencil-alt} Aufbau
Zur besseren Lesbarkeit werden sie oft in 4 Byte-Blöcke unterteilt.
\begin{center}
\begin{tikzpicture}
\node[scale=2.5] {\textcolor{green!70!black}{192.168.0.}\textcolor{red!70}{2}};
\draw[decoration={brace,mirror,raise=7pt},decorate]
(-2,-0.2) -- node[below=8pt] {\textcolor{green!70!black}{Netzanteil}} (1.7,-0.2);
\draw[decoration={brace,mirror,raise=7pt},decorate]
(1.7,-0.2) -- node[below=8pt] {\textcolor{red!70}{Hostanteil}} (2.3,-0.2);
\end{tikzpicture}
\end{center}
* Der \textcolor{green!70!black}{Netzanteil} legt das Netzwerk des Geräts fest
* Der \textcolor{red!70}{Hostanteil} ist eindeutig im LAN.
## \faIcon{desktop} Arbeitsauftrag: Webseitenaufruf \hfill 20 min
Moderne Webbrowser enthalten \textit{Entwicklerwerkzeuge}, mit denen das Abrufen und der Aufbau von Webseiten im Detail analysiert werden kann.
* Analysiere die Kommunikation zwischen Browser und Webserver beim Laden der Seite *[informatikschulbuch.de](informatikschulbuch.de)*.
Verwende die in den Entwicklerwerkzeugen bereitgestellte **Netzwerkanalysefunktion** (eine Anleitung findest du im Space).
* Untersuche das Ergebnis deiner Netzwerkanalyse: Beschreibe, welche **Dateien** beim Abrufen der Webseite übertragen wurden, und welchem Zweck diese vermutlich dienen.
* Durch Anklicken der übertragenen Dateien in der Netzwerkanalyse erhältst du weitere Details zur Übertragung.
Ermittle auf diesem Weg folgende Informationen:
* Wie meldet der Server dem Client, dass er die angefragte Datei liefern kann?
* Wie erkennt der Client, in welchem Format die gelieferte Datei codiert ist?
## \faIcon{pencil-alt} Ablauf einer HTTP-Anfrage
Im Internet und vorallem im **WWW** spielt das Anwendungsprotokoll **HTTP** eine zentrale Rolle.
\pause

## \faIcon{pencil-alt} Antwort des HTTP-Servers
Die Antwort des Servers besteht aus einem **Header** gefolgt von den **Nutzdaten**.
\pause

## \faIcon{hands-helping} \faIcon{desktop} Arbeitsauftrag: HTTP \hfill 10min
\let\tightlist\relax
* Recherchiert welche Header **HTTP** gewöhnlich verwendet.
* Recherchiert welche Funktionen neben `GET` **HTTP** unterstützt.
* Entwerft eine **HTTP**-Anfrage an einen Webserver eurer Wahl.
* \faIcon{chalkboard} Präsentiert anschließend eure **HTTP**-Anfrage
\vspace{1cm}
**Tipp:** Das Programm `ncat.jar` im Space kann euch helfen eure Anfrage zu testen.
## HTTP What ?
### \faIcon{lightbulb} Denkauftrag
* Wofür steht das **S** in **HTTPS**?
* Welche Art der Verschlüsselung ist für den Aufruf eines Webseite [geeignet]{.underline}?
\pause
### Denkauftrag - Lösung
* **S** steht für *secure*
* Asymmetrische Verschlüsselung oder Hybride Verschlüsselung
## \faIcon{chalkboard-teacher} HTTPS
Um **Vertraulichkeit** zu gewährleisten findet der Datenaustausch bei **HTTPS**, mittels **HTTP** über eine verschlüsselte Verbindung statt.
\vspace{1cm}
### Datenaustausch

## \faIcon{desktop} Arbeitsauftrag: Zera bist du's? \hfill 5 min
* Begründe wofür bei **HTTPS** Zertifikate zum Einsatz kommen
* Finde heraus wie du Dir im Browser das Zertifikat der aktuellen Verbindung anzeigen lassen kannst.
* Wer hat das Zertifikate für [informatikschulbuch.de](informatikschulbuch.de) ausgestellt und wann?
## Kekse Kekse Kekse
**\faIcon{lightbulb} Was sind eigentlich diese Cookies?**
\pause
\begin{merke}
{\large \faIcon{pencil-alt} \textbf{Cookies}} \\
\textbf{Cookies} sind kleine Textdateien, die vom \beamerpgap{3}{Server} an den \beamerpgap{3}{Client} geschickt werden.
Der Client sendet erhaltene Cookies bei jeder zukünftigen Anfrage erneut an den Server.
\end{merke}
\pause
### Funktionen von Cookies
\pause
>- Speichern von Logins
>- Speichern von Einstellungen
>- Tracken von Nutzerverhalten
## \faIcon{chalkboard-teacher} Cookies beim Login

## \faIcon{desktop} Arbeitsauftrag: HTTP per Hand
Mit dem Programm `ncat.jar` können Zeichenketten via TCP an einen Server gesendet werden.
Wir wollen das Programm verwenden um die Seite **[schule.muhq.space/klasse7](schule.muhq.space/klasse7)** zu testen.
* Recherchiere welcher Port für **HTTP** verwendet wird.
* Formuliere eine gültige **HTTP**-Anfrage für die Webseite.
* Sende deine Anfrage an den Server und interpretiere die Antwort des Servers
* Recherchiere welcher Port für **HTTPS** verwendet wird.
* Formuliere eine gültige **HTTPS**-Anfrage für die Webseite.
* Sende deine Anfrage erneut an den Server (`ncat.jar --tls schule.muhq.space 443`).
|