# Einführung

## Fachthemen
- [OSI](#iso-osi-7-schichtenmodell)-, [Hybrid](#hybrid-referenzmodell) und [TCP/IP-Referenzmodell](#osi-modell-und-tcp-ip-suite)
- [Datenkapselung](#datenkapselung-klausur) / -entkapselung
- [Sockets](#sockets), [Protokollgraph](#der-protokollgraph)
- [Hardwarebausteine](#zusammenfassung-hw-bausteine) bzw. Kopplungselemente
- ICMP, ARP, DHCP und DNS
- Strukturierte Verkabelung
- Kollisions- und Broadcast-Domäne
- Ethernet (IEEE 802.3) mit CSMA/CD
- Wireless LAN (IEEE 802.11) mit CSMA/CA und RTS/CTS
- Subnetting (IPv4), Berechnung kleiner Subnetze
- Routing versus Switching, VLAN, MPLS
- Sockets (Prozess-zu-Prozess-Kommunikation)
- 5er-Tupel (Quell-IP, Quell-Port, Ziel-IP, Ziel-Port, Transportprotokoll)
- Router, Routing Protokolle und Distance Vector Routing
- UDP(Header) und TCP(Header)
- TCP Verbindungsauf- und abbau
- TCP Flusskontrolle und Sliding Window
- TCP Fehlerbehandlung durch Go-Back-N und Selective Repeat
- TCP Slow Start und Congestion Avoidance
- Flow Control versus Congestion Control
- Silly-Window-Problem und Lösungen (Clarke und Nagle)
- Gute Abschätzungen für TCP Timeout (Jacobson/Karels)
- HTTP1.1 und HTTP2 über TLS und TCP
- HTTP3 über (TLS1.3 und QUIC) über UDP

## Wertschöpfung für Anwendungen
![image_557.png](image_557.png)

## Technik der Netze
> Pakete = konvergente Verpackung von Daten

![image_559.png](image_559.png)


## IP Header
### IPv4
![image_605.png](image_605.png)

### IPv6
![image_561.png](image_561.png)

### Vergleich IPv4 IPv6
![image_562.png](image_562.png)

#### IPv6 Header

| Version  | Traffic Class / Flow Label | Payload Length                | Next Header                                             | Hop Limit       |
|----------|----------------------------|-------------------------------|---------------------------------------------------------|-----------------|
| wie IPv4 | Unterstützung von [QoS](#qos-parameter) | Paketlänge ohne Header [Byte] | wie "Protocol" in IPv4 / Typ des 1. Erweiterungsheaders | wie TTL in IPv4 |


## QoS Parameter
### Throughput
- [bytes/s]
- min/max/avg benötigter Durchsatz

### Packet Loss
### Delay
- [ms]
- max tolerierbare Verzögerung
- One-Way-Delay
- Round-Trip-Delay (RTT)

### Jitter (=Delay Variation)
- [ms]
- Welche Fluktuationen in der Verzögerung sind akzeptierbar?

### Availability
- [%]
- Mit welcher Wahrscheinlichkeit ist der Service verfügbar?
  - manchmal "five times 9" = 99,999% der Zeit


## Schichtenmodelle
### Internet
![image_563.png](image_563.png)

### ISO-OSI 7-Schichtenmodell

|                                             |                                 |
|---------------------------------------------|---------------------------------|
| [Anwendung](#7-application-layer)           | ![image_564.png](image_564.png) |
| [Präsentation](#6-presentation-layer)       | ![image_565.png](image_565.png) |
| [Kommunikationssteuerung](#5-session-layer) | ![image_566.png](image_566.png) |
| [Transport](#4-transport-layer)             | ![image_567.png](image_567.png) |
| [Verbindung/Vermittlung](#3-network-layer)  | ![image_568.png](image_568.png) |
| [Sicherung](#2-data-link-layer)             | ![image_569.png](image_569.png) |
| [Bitübertragung](#1-physical-layer)         | ![image_570.png](image_570.png) |

#### Schichten
##### 1. Physical Layer
- **ungesicherte** Verbindung zwischen Systemen
- Übertragung unstrukturierter Bitfolgen über physikalisches Medium
- Physikalischer Anschluss, Umsetzung der Daten in Signale

##### 2. Data Link Layer
- gesicherter Datentransfer zwischen **direkt verbundenen** Dienstnehmern
  - Punkt-zu-Punkt-Übertragung
- Zerlegung des Bitstroms ([1. Schicht](#1-physical-layer)) in Rahmen (_frames_)
- **Fehlererkennung /-behebung**, Bestätigungsrahmen

##### 3. Network Layer
- Logische Adressierung des Zielsystems, Fragmentierung
- Wegewahl (Routing → **Internetworking**), Vermittlung, Staukontrolle

##### 4. Transport Layer
- (fehlerfreier) Datentransfer **von Endpunkt zu Endpunkt**
- bietet Transparenz bzgl. Übertragungs- und Vermittlungstechnik

##### 5. Session Layer
- Ablaufsteuerung und -koordinierung (Synchronisation im weitesten Sinn)
- **Kommunikationsbeziehung als Sitzung**, Dialogsteuerung
- Verbindungsaufbau / -abbau, Durchführung und Flusskontrolle

##### 6. Presentation Layer
- Datendarstellung von Informationen (Syntax, Semantik)
  - _Konvertierung EBCDIC ↔ ASCII_
  - _Entschlüsselung_
- Kommunikation ermöglichen trotz **unterschiedlicher lokaler Datenformate** der Teilnehmer bzw. Endgeräte

##### 7. Application Layer
- macht OSI-Benutzer Dienste verfügbar
- stellt unterschiedliche **Dienste** bereit
  - _Dateitransfer, zuverlässiger Datenaustausch, entfernter Prozduraufruf_
    - _HyperText Transfer Protocol (HTTP) für Webbrowser_

##### (8. User)


#### Darstellungen OSI-Modell
  ![image_572.png](image_572.png)
  
  ![image_573.png](image_573.png)
  
  ![What is the OSI Model.webp](What is the OSI Model.webp)

#### OSI-Modell und TCP/IP-Suite
![image_574.png](image_574.png)

![image_599.png](image_599.png)

### Hybrid-Referenzmodell
#### OSI vs. Hybrid
![image_575.png](image_575.png)

![image_576.png](image_576.png)

![image_598.png](image_598.png)

#### Hybrid-Modell: Schnittstellen
![image_577.png](image_577.png)

##### Treiber
> Schnittstelle zwischen Betriebssystem und Hardware, 
> werden i.d.R. vom Hersteller der Hardware bereitgestellt

##### Sockets
> Schnittstelle zwischen Betriebssystem und Anwendung
- Implementierung als Teil des Kernels oder als separate Bibliothek
- Kombination von IP-Adresse und Port

![image_578.png](image_578.png)

### Horizontale vs. vertikale Kommunikation
**Vertikale Kommunikation**
- Nachricht wird Schicht für Schicht verpackt (Daten-Kapselung)
- Dann Schicht für Schicht wieder entpackt (Daten-Entkapselung)

**Horizontale Kommunikation**
- muss nicht gekapselt werden, Schicht arbeitet mit gleicher Protokollfunktion


## Router vs. Switch
| Features        | Router                 | Switch   |
|-----------------|------------------------|----------|
| Speed           | slower                 | faster   |
| OSI-Layer       | Layer 3                | Layer 2  |
| Addressing used | IP                     | MAC      |
| Broadcast L3    | Blocks                 | Forwards |
| Security        | mehr features → higher | lower    |


## Zusammenfassung HW-Bausteine
- Repeater
  - Regeneriert und verstärkt elektr. Signal
  - keine Bitinterpretation
  - kennt keine Pakete / MAC-Adressen
- Hub
  - Konzentrator für LANs
    - Multiport-Repeater
- Bridge/Switch
  - physikalische Trennung von Netzen
  - Fehler- / Lasttrennung
  - meist Mechanismen zum Filtern
  - rudimentäre Mechanismen zur Wegefindung
    - Routing Bridge
- Router
  - Entkopplung der (Teil-) Netze auf logischer Basis
    - aufgrund von Layer-3-Adressen
      - (IPv4, IPv6)
  - Steuert Verkehr zwischen Netzen
    - Routing
  - Arbeitet Protokollabhängig
- Gateway
  - Umwandlung von Diensten
    - _ISDN-Telefonie auf VoIP_
  - Security-Mechanismen möglich
    - _Firewall, Proxy_

  

## Datenkapselung (Klausur!)
![image_600.png](image_600.png)
### konkretes Beispiel Datenkapselung
![image_601.png](image_601.png)

- **Protokolle sind ineinander geschachtelt**
- Schicht n nimmt Dienste der Schicht n-1 in Anspruch und stellt Schicht n+1 Dienste bereit
- Beispiel TCP-Paket über IP-Netzwerk mit Ethernet:
  - ![image_603.png](image_603.png)
  - ![image_604.png](image_604.png)

## Der Protokollgraph
![image_606.png](image_606.png)
- Struktur einer Eieruhr
- IP als Mittelpunkt
  - gemeinsame Methode zum Austausch zwischen div. Netzwerken
- Unterhalb von IP beliebig viele versch. Technologien
  - _Ethernet, WLAN, Bluetooth, ..._


## Klassifikation von Netzwerken
### Nach Entfernung / Distanz
![image_607.png](image_607.png)
> Schadet nicht je ein Beispiel zu kennen, evtl. Klausur
> ![image_608.png](image_608.png)

### Leitungs- / Paketvermittelt
- Leitungsvermittelt
  - Leitung nur zwischen Sender und Empfänger
- Paketvermittelt
  - Paket mit ganz vielen, muss sich Empfänger selbst suchen

### Drahtgebunden oder Drahtlos