\documentclass[10pt,landscape]{article}
\usepackage[ngerman]{babel}
\usepackage{multicol}
\usepackage{calc}
\usepackage{ifthen}
\usepackage[landscape]{geometry}
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{color,graphicx,overpic}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage{algpseudocode}

% This sets page margins to .5 inch if using letter paper, and to 1cm
% if using A4 paper. (This probably isn't strictly necessary.)
% If using another size paper, use default 1cm margins.
\ifthenelse{\lengthtest { \paperwidth = 11in}}
    { \geometry{top=.5in,left=.5in,right=.5in,bottom=.5in} }
    {\ifthenelse{ \lengthtest{ \paperwidth = 297mm}}
        {\geometry{top=1cm,left=1cm,right=1cm,bottom=1cm} }
        {\geometry{top=1cm,left=1cm,right=1cm,bottom=1cm} }
    }

% Turn off header and footer
\pagestyle{empty}

% Redefine section commands to use less space
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
                                {-1ex plus -.5ex minus -.2ex}%
                                {0.5ex plus .2ex}%x
                                {\normalfont\large\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{2}{0mm}%
                                {-1explus -.5ex minus -.2ex}%
                                {0.5ex plus .2ex}%
                                {\normalfont\normalsize\bfseries}}
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0mm}%
                                {-1ex plus -.5ex minus -.2ex}%
                                {1ex plus .2ex}%
                                {\normalfont\small\bfseries}}
\makeatother

% itemize with smaller skips
\newenvironment{tightitemize}
    {\begin{itemize}
    \setlength{\itemsep}{2pt}
    \setlength{\parskip}{0pt}
    \setlength{\parsep}{0pt}}
    {\end{itemize}}


% Define BibTeX command
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}

% Don't print section numbers
\setcounter{secnumdepth}{0}


\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.5ex}

\renewcommand{\lg}{\log_{10}}


\begin{document}
\raggedright
\footnotesize
\begin{multicols*}{4}
% multicol parameters
% These lengths are set only within the two main columns
%\setlength{\columnseprule}{0.25pt}
\setlength{\premulticols}{1pt}
\setlength{\postmulticols}{1pt}
\setlength{\multicolsep}{1pt}
\setlength{\columnsep}{2pt}

\begin{center}
     \section*{KN CheatSheet}
\end{center}
    \subsection{ISO/OSI}
        \begin{tightitemize}
            \item[7] Application
            \item[6] Presenentation
            \item[5] Session
            \item[4] Transport
            \item[3] Network
            \item[2] Data Link
            \item[1] Physical
        \end{tightitemize}
    \subsection{Protokolle}
        \begin{itemize}
            \item http: 80
            \item https: 443
            \item TCP: (oft) 6
            \item ssh: 22
        \end{itemize}
\section{Security}
    \subsection{Grundlagen}
    \begin{tightitemize}
        \item Confidentiality (Vertraulichkeit, Abhörsicherheit)
        \item Message integrity
        \item Authentication
        \item Access and Availability
    \end{tightitemize}
        \subsubsection{Angriffsmöglichkeiten}
            \begin{tightitemize}
                \item Passiv:
                \begin{tightitemize}
                    \item Abhören
                    \item Verkehr analysieren
                \end{tightitemize}
                \item Aktiv:
                \begin{tightitemize}
                    \item Modifikation
                    \item Wiederholen
                    \item Einfügen/Löschen
                    \item DOS (Denial of Service)
                    \item Identität vortäuschen
                \end{tightitemize}
            \end{tightitemize}
    \subsection{Kryptographie}
    %TODO: some basics about cryptography, add it if you need it
        \subsection{Angriffe}
            \begin{tightitemize}
                \item ciphertext-only
                \item known-plaintext
                \item chosen-plaintext
            \end{tightitemize}
        \subsubsection{Techniken}
            \begin{tightitemize}
                \item Symmetrische Verfahren
                \begin{tightitemize}
                    \item Stromchiffren
                    \item Blockchiffren
                    \begin{tightitemize}
                        \item Problem: großes Codebook\\
                            $\rightarrow$ pseudozufällige Funktionen
                        \item CBC: Cipher Block Chaining
                        \begin{tightitemize}
                            \item Initialisierungsvektor
                        \end{tightitemize}
                        \item AES / DES (Feistelchiffren)
                        \item Idee: 3DES: DES 3x anwenden
                    \end{tightitemize}
                \end{tightitemize}
                \item Asymmetrische Verfahren
                \begin{tightitemize}
                    \item Beispiel: RSA
                    \item rechenaufwendig\\
                        $\rightarrow$ Key mit RSA, dann AES
                \end{tightitemize}
            \end{tightitemize}
    \subsection{Message integrity}
        \begin{tightitemize}
            \item Inhalt
            \begin{tightitemize}
                \item Hash
                \begin{tightitemize}
                    \item mit Shared Secret (Message Authentication Code MAC)
                    \item keine end-point Authentication (könnte replay sein)
                    \item Nonce: number only used once
                \end{tightitemize}
            \end{tightitemize}
            \item Quelle
            \begin{tightitemize}
                \item Signatur
                \begin{tightitemize}
                    \item non-repudiation
                    \item Man-in-the-middle
                    \item Keys müssen bekannt sein
                    \item Keys zertifizieren (CA oder gegenseitig)
                \end{tightitemize}
            \end{tightitemize}
            \item nicht replay
            \item Reihenfolge
        \end{tightitemize}
    \subsection{E-Mail Sicherheit}
        \begin{tightitemize}
            \item Verschlüsseln (symmetrischer und public key) und Signieren (private key)
        \end{tightitemize}
    \subsection{SSL}
        \begin{tightitemize}
            \item benutzt in https
            \item Nachfolger: TLS
            \item bietet: Confidentiality, Authentication and Integrity
        \end{tightitemize}
        \subsubsection{Key features}
            \begin{tightitemize}
                \item Handshake (Authentifizierung und Austausch shared secret)
                \item key derivation
                \begin{tightitemize}
                    \item Verschiedene Keys für MAC und Verschlüsselung (2x2 Keys)
                    \item KDF leitet keys aus master secret ab
                \end{tightitemize}
                \item data transfer
                \begin{tightitemize}
                    \item Data records, jeder eigene MAC
                    \item variable Länge
                    \item sequence numbers in MAC gegen replay und umsortieren
                    \item nonce gegen vollständigen replay
                \end{tightitemize}
                \item Connection closure
                \begin{tightitemize}
                    \item über Typfeld
                    \item Typfeld in MAC enthalten
                    \item vorzeitiger Abbruch wird verhindert
                \end{tightitemize}
            \end{tightitemize}
        \subsubsection{Anmerkungen}
            \begin{tightitemize}
                \item Cipher Suite= Symmetrisches, asymmetrisches und MAC-Verfahren
                \item Negotiation: Cipher Suite festlegen
                \item Server \& Client Nonce um komplettes Playback zu entdecken
                \item Data Record trägt $2^{14}$byte
                \item Daten und MAC werden symmetrisch verschlüsselt
                \item Grafik Folie 1.69 (SSL durch die Layers)
                \item Protokoll aufgeteilt
                \begin{tightitemize}
                    \item Handshake
                    \item Change Cipherspec
                    \item Alert
                    \item Application Data
                    \item Record (tiefere Schicht)
                \item welches wird über Type-Feld signalisiert
                \end{tightitemize}
            \end{tightitemize}
    \subsection{IPsec}
        \begin{tightitemize}
            \item IP verbindungslos, IPsec verbindet Endknoten
            \item häufig in VPNs
            \item tunneling (ganzes IP Paket als payload) und transport (nur IP payload als payload) mode
            \item AH (Authentication Header) Authentication, integrity (auch IP hdr), keine Confidentiality
            \item ESP (Encapsulating Security Payload) auch Confidentiality, integrity nicht für IP hdr
            \item tunneling mit ESP am häufigsten
            \item Security Association (= IPSec Verbindung)
            \begin{tightitemize}
                \item nur unidirektional
                \item Verbindungsaufbau durch sendende Einheit
                \item connection-oriented
            \end{tightitemize}
            \item new IPhdr - ESP hdr - orig IP hdr - orig IP payload - ESP trailer - ESP auth
            \item ESP hdr enthält sequence number
            \item window um Dopplungen zu erkennen
            \item ESP auth ist MAC mit shared secret
            \item Kombination von AH und ESP möglich
            \item Security Policy Database (SPD)
            \begin{tightitemize}
                \item Sender oder Weiterleitung
                \item kann Filtern
                \item ``was passiert mit dem ankommenden Paket''
            \end{tightitemize}
            \item Security Association database (SAD)
            \begin{tightitemize}
                \item Hält Status für alle SAs
                \item lookup während IPSec
            \end{tightitemize}
            \item Internet Key exchange IKE
            \begin{tightitemize}
                \item PSK (preshared secret) oder PKI (public key)
                \item gegenseitige Authentifizierung
            \end{tightitemize}
            \item VPN Concentrator
            \begin{tightitemize}
                \item Vergibt interne IPs
                \item Weiterleitung von externem Verkehr
            \end{tightitemize}
            \item Zusammenfassung Folie 1.92
        \end{tightitemize}
    \subsection{Secure WLAN}
        \begin{tightitemize}
            \item WEP (Wired Equivalent Privacy)
            \item Symmetrisch
            \item Selbst-synchronisierend
            \item Daten und ICV (Hash der Daten) verschlüsselt
            \item IV und KeyID angehängt
            \item Anders bei ICV
            \begin{tightitemize}
                \item kein shared secret (MAC)
                \item kein private key (Signatur)
            \end{tightitemize}
            \item Problem: reuse IV (nur 24bit), entdeckt da unverschlüsselt
            \item Authentifizierung
            \begin{tightitemize}
                \item wird nicht zwingend ausgeführt (AP entscheidet)
                \item EAP: vom client über AP zum Server
            \end{tightitemize}
            \item IEEE 802.1X sind Standard-Protokolle
            \begin{tightitemize}
                \item WPA / WPA2
                \item längere IVs
                \item WEP Hardware nutzbar
            \end{tightitemize}
            \item eduroam: Authentifizierung über Heim-Uni
        \end{tightitemize}
\section{Daten und Signale}
    \subsection{Grundlagen}
        \begin{tightitemize}
            \item Data: analog vs. digital (kontinuierlich vs. diskret)
            \item Signals: zur Übertragung angepasste Daten (analog oder digital)
            \item Elektromagnetische Wellen: tragen Signale
            \item digital nicht zwingend nur 2 Stufen
            \item werden auf Wellen moduliert
            \item Basis: Sinus oder Kombination mehrere
            \begin{tightitemize}
                \item Frequenz $f$
                \item Amplitude $A$
                \item Phase $\varphi$
                \item Wellenlänge $\lambda=c/f$
                \item $c\approx 3\cdot 10^8 m/s$
            \end{tightitemize}
            \item Fourier-transform, Frequenzraum %TODO: Formeln spar ich mir mal, die brauchen wir nicht
            \item Low-, High-, Bandpass-Filter
            \item typische Signale sind nicht periodisch\\
                $\Rightarrow $ unendliche Bandbreite
            \item übertragbare Bandbreite ist endlich \\
                $\Rightarrow$ cut-off-frequencies
            \item benötigte Bandbreite $N/2$ für bitrate $N$ $\rightarrow$ grobe Approximation
        \end{tightitemize}
    \subsection{Formeln}
        \begin{tightitemize}
            \item power $P=V^2$
            \item Dämpfung (attenuation) $dB=10\cdot\lg\frac{P_2}{P_1}$
            \begin{tightitemize}
                \item Falls positiv: Verstärkung (amplification)
            \end{tightitemize}
            \item Power in dB: $dB_m=10\cdot\lg P_m$
            \item Signal-to-Noise ration SNR: $SNR_{dB}=10\cdot\lg\frac{P_{signal}}{P_{noise}}$
            \item Shannon: maximale bit Rate
            \begin{tightitemize}
                \item noisy channel
                \item $N=B\cdot \log_2(1+SNR)$
                \item für große SNR: $N\approx B\cdot\frac{SNR_{dB}}{3}$
            \end{tightitemize}
            \item Nyquist: Anzahl Signal levels
            \begin{tightitemize}
                \item noisless channel
                \item $N=2B\cdot \log_2 L$
                \item $L=2^{\left(\frac{N}{2B}\right)}$
            \end{tightitemize}
            \item Performance Maße (Folie 2.36) (intuitiv)
        \end{tightitemize}
\section{Daten als Signale}
    \begin{tightitemize}
        \item 1 Signalelement für $r$ Datenelemente
        \item Datenrate in bit/s, Signalrate in baud
        \item Synchronisation ist wichtig $\rightarrow$ Selbst-Synchronisierung
    \end{tightitemize}
    \subsection{Line Coding}
        \begin{tightitemize}
            \item erstrebenswert
            \begin{tightitemize}
                \item Gleichstromfreiheit
                \item Fehlererkennung
                \item Selbst-Synchronisierung
                \item geringe Fehlerrate
            \end{tightitemize}
            \item Uni- vs. Polar scheme (Einfach-/Doppelstrom)
            \item NRZ (non-return to zero)
            \begin{tightitemize}
                \item hoher Stromverbrauch
                \item NRZ-L: Level zeigt Daten
                \item NRZ-I: Inversion bei 1
                \item Gleichstromkomponente, keine Selbst-Synchronisierung
            \end{tightitemize}
            \item Polar RZ (return to zero)
            \begin{tightitemize}
                \item Selbst-Synchronisierung möglich durch Rückkehr auf 0 in jedem Takt
            \end{tightitemize}
            \item Manchester
            \begin{tightitemize}
                \item Übergang zur Mitte des Signalelements
                \item M.: abwärts bei 0, aufwärts bei 1
                \item Differential M.: Inversion bei 0 als nächstes Bit
                \item keine Gleichstromkomponente
                \item Selbst-Synchronisierung möglich
                \item doppelte Bandbreite von NRZ
            \end{tightitemize}
            \item Bipolar
            \begin{tightitemize}
                \item 3 levels (+,-,0)
                \item AMI: 0:0, 1: alternierend
                \item Pseudoternary: 1:0, 0: alternierend
            \end{tightitemize}
            \item Multilevel Schemes
            \begin{tightitemize}
                \item $m$B$n$L: m Datenelemente, n Signalelements, $2^m\le L^n$
                \item typisch:
                \begin{tightitemize}
                    \item 2B1Q
                    \item 8B6T
                    \item PAM (Pulse Amplitude Modulation)
                    \begin{tightitemize}
                        \item PAM5: 5 Signal Level
                    \end{tightitemize}
                \end{tightitemize}
            \end{tightitemize}
            \item Multitransition
            \begin{tightitemize}
                \item MLT-3: 3 Level
                \item 0: keine Veränderungen, 1 Ändern (-1,0,1,0,\dots)
                \item geringe Bandbreite durch wenig Veränderungen
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Block Coding}
        \begin{tightitemize}
            \item Ersetze $m$ bit durch $n$ bit: $m$B/$n$B
            \item z.B. 4B/5B
            \item zusätzliche Steuerinformationen übertragbar
            \item höchsten (bspw.) 3 Nullen in Folge $\rightarrow$ Synchronisation
            \item \emph{Anmerkung:} Manchester braucht mehr Bandbreite als 4B/5B mit NRZ-I, hat aber keine Gleichstromkomponente
            \item Beispiel: 8B/10B
            \begin{tightitemize}
                \item Gleiche Effizienz wie 4B/5B
                \item Splitten in 5 und 3 bit Block
                \item disparity check und Invertieren $\rightarrow$ keine Gleichstromkomponente
                \item bessere Synchronisation
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Scrambling}
        \begin{tightitemize}
            \item Idee: längere Nullsequenzen unterbrechen durch Violation und Bipolar
            \item z.B. B8ZS (bipolar 8 zero-substitution)
        \end{tightitemize}
    \subsection{PCM}
        \subsubsection{Auffrischung von Signalen}
            \begin{tightitemize}
                \item Repeater
                    \begin{tightitemize}
                        \item Auffrischung digitaler Signale
                        \item Umwandlung analog-digital-analog
                        \item beliebig oft wiederholbar
                    \end{tightitemize}
                \item Amplifier
                    \begin{tightitemize}
                        \item Auffrischung analoger Signale
                        \item nur beschränkt wiederholbar
                    \end{tightitemize}
            \end{tightitemize}
        \subsubsection{Vorteile digitaler Signale}
            \begin{tightitemize}
                \item robuster gegen Rauschen
                \item Multiplexen in der Zeit möglich
                \item Einfachere Fehlerkorrektur
            \end{tightitemize}
        \subsubsection{PCM}
            \begin{tightitemize}
                \item Sampling - Quantizing - Encoding
                \item Sampling rate mind. $2f_{max}$
                \item für Sprache (4kHz) 8000 Samples/s
                \item PAM: Pulse-amplitude modulation (diskrete Darstellung der Amplitude)
                \item $2^n$ Level, $n$ Anzahl der bits
                \item 7 bis 8 bit bei den meisten Telefonbetreibern
                \item Idee: Ungleichförmige Quantifizierung durch Kompressor und Expander (oder Kompander)
                \item 13-Segement Kennline
                \item Smoothing durch Low-pass Filter
            \end{tightitemize}
        \subsubsection{Delta Modulation}
            \begin{tightitemize}
                \item Zeitschritte, jeweils Entscheidung ob 1 oder 0
                \item höhere Samplingrate nötig
                \item geringerer Quantifizierungsfehler
                \item Smoothing durch Low-pass Filter
            \end{tightitemize}
\section{Modulation}
    \subsection{Digital zu analog}
        \subsubsection{Allgemein}
            \begin{tightitemize}
                \item Digitale Daten werden analog verschickt, weil
                \begin{tightitemize}
                    \item digital nicht immer möglich
                    \item Multiplexing sonst nicht möglich
                \end{tightitemize}
                \item hochfrequentes Trägersignal
                \item Empfänger auf Trägersignal eingestellt
                \item Trägersignal wird moduliert
                \begin{tightitemize}
                    \item Frequenz
                    \item Amplitude
                    \item Phase
                \end{tightitemize}
            \end{tightitemize}
        \subsubsection{Verfahren}
            \begin{tightitemize}
                \item ASK (Amplitude Shift Keying)
                \item FSK (Frequency Shift Keying)
                \item PSK (Phase Shift Keying)
                \item QAM (Quadrature Amplitude Modulation)
            \end{tightitemize}
    \subsection{Analog zu analog}
        \begin{tightitemize}
            \item Signal auf richtige Frequenz für Bandpass verschieben
            \item AM: Amplitude Modulation
            \item FM: Frequency Modulation
            \item PM: Phase Modulation
        \end{tightitemize}
\section{Multiplexing und Spreading}
    \subsection{Motivation}
        \begin{tightitemize}
        \item genügend Bandbreite vorhanden
            \item Multiplexing
            \begin{tightitemize}
                \item Duplex
                \item Effizienz
            \end{tightitemize}
            \item Spreading
            \begin{tightitemize}
                \item auch bei gestörtem Teilband kommt meiste Information an
                \item Privacy und antijamming
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Verfahren}
        \begin{tightitemize}
            \item FDM (Frequency Division Multiplexing)
            \begin{tightitemize}
                \item nur auf analogen Signalen
                \item unterschiedliche carriers
                \item u.U. guard bands
                \item Filtern der entsprechenden Frequenz
                \item verwendet in der analogen Hierarchie
                \item optisch: WDM (Wavelength Division Multiplexing)
            \end{tightitemize}
            \item OFDM
            \begin{tightitemize}
                \item beruht auf orthogonalen Frequenzen
                \item Fehlerkorrektur durch mehrere Frequenzbänder
            \end{tightitemize}
            \item Übertragung
            \begin{tightitemize}
                \item Parallel oder seriell
                \item asynchron: gaps zwischen bytes (keine Frames) (Sync auf Byteebene)
                \item synchron: gaps zwischen frames (Sync auf Frameebene)
                \item isochron: keine gaps (vollständig synchronisiert)
            \end{tightitemize}
            \item TDM (Time Division Multiplexing)
            \begin{tightitemize}
                \item nur bei digitalen Signalen möglich
                \item genutzt für Digitale Hierarchie (T-X / E-X)
                \item synchronous: a priori zugewiesene Slots
                \item statistical: Slots nach Bedarf vergeben
                \item (auch) genutzt für Senden über schnellere Leitung
            \end{tightitemize}
            \item Wenn Datenraten nicht zusammenpassen:
            \begin{tightitemize}
                \item Multilevel Multiplexing
                \item Multiple-slot Multiplexing
                \item Pulse stuffing
            \end{tightitemize}
            \item Synchronisation über sync-bit an Frameanfang möglich
            \item Plesiochrone Digitale Hierarchie (PDH), ersetzt durch SDH
            \item Space Division Multiplexing
            \begin{tightitemize}
                \item viele Point-to-Point Verbindungen (z.B. über Crossbar Switch)
                \item Bsp. Frequency reuse in Funkzellen
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Spread Spectrum}
        \begin{tightitemize}
            \item Frequency hopping (FHSS)
            \item Transportiere Signal auf verschiedenen Trägerfrequenzen
        \end{tightitemize}
\section{Transmission media}
    \begin{tightitemize}
        \item ``Layer 0''
        \item elektromagnetische Wellen
        \item (bisher) nur Teile des Spektrums nutzbar
    \end{tightitemize}
    \subsection{Guided media}
    \begin{tightitemize}
        \item Twisted Pair (TP)
        \begin{tightitemize}
            \item 2 Kupferkabel
            \item 1 Signal, 1 Referenz
            \item UTP / STP (un)shielded
            \item dickere Kabel leiten besser
        \end{tightitemize}
        \item Coax
        \begin{tightitemize}
            \item 2 Leiter-, 2 Isolator-Schichten
            \item Mittlere Isolatorschicht trägt Information
            \item höhere Frequenzen aber stärkere Dämpfung als TP
        \end{tightitemize}
        \item Optische Fasern
        \begin{tightitemize}
            \item Multimode step index
            \item Multimode graded index
            \item single mode
            \item relativ starke Dämpfung am Stecker
        \end{tightitemize}
        \item Hohlleiter (tragen Mikrowellen)
    \end{tightitemize}
    \subsection{Unguided media}
        \subsubsection{Spektrum}
            \begin{tightitemize}
                \item Radio: 3kHz - 1GHz
                \item Mikrowellen: 1-300GHz
                \item Infrarot: 300GHz-400THz
                \item Sichtbares Licht: 400-800THz
            \end{tightitemize}
        \subsubsection{Radio propagation}
            \begin{tightitemize}
                \item Ground Propagation (in einer Luftschicht)
                \item Sky Propagation (in Ionosphäre und zurück)
                \item Line-of-sight
            \end{tightitemize}
        \subsubsection{Frequenzbänder}
            \begin{tightitemize}
                \item Bündelfunk (z.B. Polizei): $\sim$ 400MHz
                \item GSM-900 (D-Netz)
                \item GSM-1800 (E-Netz)
                \item UTMS $\sim$ 2Ghz
                \item LTE (0.9,1.8 und 2.6 GHz)
            \end{tightitemize}
\section{Switching (wichtig!)}
    \subsection{Allgemein}
        \begin{tightitemize}
            \item Daten laufen über verschiedene Pfade
            \item Switching sorgt für richtige Weiterleitung
            \item keine explizite Links zwischen Systemen nötig
            \item Taxonomie:
            \begin{tightitemize}
                \item Circuit-switched
                \item packet-switched
                \begin{tightitemize}
                    \item Datagram
                    \item virtual circuit
                \end{tightitemize}
                \item message-switched
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Circuit-switched Netzwerke}
        \begin{tightitemize}
            \item physikalisch verbundene Switches
            \item Links werden durch FDM / TDM in Kanäle unterteilt
            \item bei Bedarf wird Pfad eingerichtet
            \begin{tightitemize}
                \item Setup
                \item Transmission
                \item Tear-down
            \end{tightitemize}
            \item nur ein Kanal pro Verbindung
            \item Switching tables für die Weiterleitung
            \item Switching auf Physical Layer
            \item Daten als Strom nicht in Paketen
            \item end-to-end Adressierung nur für Setup
            \item benutzt in Telefonnetzwerken
            \item Ressourcen werden geblockt (Effizienzproblem)
            \item Delay
            \begin{tightitemize}
                \item Setup: request und ACK
                \item Teardown
                \item evtl. Transmission: Warten auf zugewiesenen Slot
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Datagram Switching}
        \begin{tightitemize}
            \item feste oder variable Paketgröße
            \item Ressourcen bei Bedarf zugeordnet
            \item ``connectionless network'' (nur pro Paket)
            \item switching auf Network Layer
            \item kein Setup oder Teardown
            \item Verlorene Pakete müssen entdeckt und wiederhergestellt werden
            \item Pakete kommen ungeordnet an
            \item Weiterleitung entsprechend Destination adress und Routing Tabelle
            \item kein Setup/Teardown, evtl. Warten
            \item Beispiel: Internet
        \end{tightitemize}
    \subsection{Virtual Circuit}
        \begin{tightitemize}
            \item Kreuzung aus obigen
            \item etwa auf Layer 2
            \item Pakete aber feste Verbindungen
            \item VCI (Lokale Adresse) wird an Switch geändert
            \item request und ACK bauen VC auf
            \item Teardown löscht Einträge
            \item Paket wird vor Weiterleitung vollständig übertragen
        \end{tightitemize}
    \subsection{Message switched}
        \begin{tightitemize}
            \item Zuverlässige Übertragung
            \item kann mit großen Nachrichten umgehen
            \item Ähnlich zu E-Mail
        \end{tightitemize}
    \subsection{Struktur von Circuit Switches}
        \begin{tightitemize}
            \item Crossbar Switch
            \begin{tightitemize}
                \item Zahl der Crosspoints begrenzender Faktor
                \item Viele Crosspoints nicht machbar
                \item kleiner Teil der Crosspoints gleichzeitig genutzt
            \end{tightitemize}
            \item Multistage Switch
            \begin{tightitemize}
                \item Drei Stufen aus Crossbar Switches
                \item Weniger Crosspoints nötig ($2kN+n(N/n)^2$ vs. $N^2$)
                \item Clos' Condition: $k\geq 2n-1$ um blocking zu verhindern
                \item $n\geq\sqrt{\frac{N}{2}}$
                \item Zahl Crosspoints $\geq 4N\left(\sqrt{\frac{N}{2}}-1\right)$
            \end{tightitemize}
            \item TSI Switches (Time Slot Interchange)
            \begin{tightitemize}
                \item Pakete werden verzögert, bis entsprechender Output angesteuert wird (zyklisches Lesen und zyklisches Schreiben)
                \item interessant in Kombination mit TDM
            \end{tightitemize}
            \item Time-Space-Time Switch
        \end{tightitemize}
    \subsection{Packet Switches}
        \begin{tightitemize}
            \item Input port
            \begin{tightitemize}
                \item empfängt und bereitet auf
                \item Queueing
            \end{tightitemize}
            \item Output port
            \begin{tightitemize}
                \item Queueing
                \item Senden
            \end{tightitemize}
            \item Banyan Switch
            \begin{tightitemize}
                \item keine Kollision wenn nicht gleiches Ziel
                \item $\log_2 n$ Stages, $n$ In- / Outputs, $n/2$ Switches pro Stage
                \item Zieladresse im Header enthalten (u.U. über Batcher sortiert)
            \end{tightitemize}
        \end{tightitemize}
\section{Data Link Control}
    \subsection{Framing}
        \begin{tightitemize}
            \item Bits werden in Frames verpackt
            \item feste oder variable Größe
            \item Frame enthält:
            \begin{tightitemize}
                \item Flag: Start/stop
                \item Header: Adressierung und Kontrolle
                \item Trailer: Redundanz für Fehlererkennung/ -behebung
            \end{tightitemize}
            \item byte-stuffing
            \begin{tightitemize}
                \item special character um Flag zu escapen
                \item vor Senden hinzugefügt, später entfernt
                \item auch ESC muss escaped werden
            \end{tightitemize}
            \item bit-stuffing
            \begin{tightitemize}
                \item füge 0 nach fünf mal 1 ein
            \end{tightitemize}
            \item Flow- und Error-Control
            \begin{tightitemize}
                \item window bei Senden und Empfangen möglich
                \item bei Fehler muss wiederholt werden, eventuell aber nur das betroffene Frame
                \item ACK für Pakete nötig
            \end{tightitemize}
            \item HDLC Frames
            \begin{tightitemize}
                \item Information
                \item Supervisory
                \item Unnumbered
            \end{tightitemize}
            \item PPP (Point-to-Point Protokoll)
            \begin{tightitemize}
                \item grundlegende Fehlererkennung, keine Flow-Control
                \item unterstützt Link Control, Authentication und Network Control Protokolle
                \item ``Multiplexing'', da verschiedene Informationen versandt werden können
                \item PAP und CHAP sind Beispiele für AP in PPP
            \end{tightitemize}
            \item Multilink PPP für parallele Übertragung
        \end{tightitemize}
\section{Multiple Access}
    \subsection{Taxonomie}
        \begin{tightitemize}
            \item Random-access
            \begin{tightitemize}
                \item ALOHA
                \item CSMA (/CD, /CA)
            \end{tightitemize}
            \item Controlled-access
            \begin{tightitemize}
                \item Reservation
                \item Polling
                \item Token Passing
            \end{tightitemize}
            \item Channelization
            \begin{tightitemize}
                \item FDMA
                \item TDMA
                \item CDMA
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Random-access Protokolle}
        \subsubsection{Idee}
            \begin{tightitemize}
                \item Gleichberechtigte Stationen
                \item Protokoll-abhängige Entscheidung: Senden oder nicht?
            \end{tightitemize}
        \subsubsection{ALOHA}
            \begin{tightitemize}
                \item ACK für jede Übermittlung
                \item falls nicht: Warten
                \begin{tightitemize}
                    \item Exponential back-off Algorithm
                    \item $R\times T$, R zufällig, T Übertragungszeit
                    \item Jede Runde kann R größer werden
                \end{tightitemize}
                \item Durchsatz: $G\cdot e^{-2G}$, $G$ durchschnittliche Übermittlungsversuche pro Übertragungszeit
                \item $\exists$ slotted Variante
                \begin{tightitemize}
                    \item $S=G\cdot e^{-G}$, da Kollision nur in einem Slot
                    \item aber: Sync nötig
                \end{tightitemize}
            \end{tightitemize}
        \subsubsection{CSMA}
            \begin{tightitemize}
                \item Carrier Sense Multiple Access
                \item Lauschen vor Senden
                \item durch propagation delay dennoch Kollision möglich
                \item Persitenzmodelle
                \begin{tightitemize}
                    \item persistent
                    \item non-persistent
                    \item p-persistent
                \end{tightitemize}
            \end{tightitemize}
        \subsubsection{CSMA/CD}
            \begin{tightitemize}
                \item CSMA with Collision Detection
                \item Höheres Energielevel bei mehr als einer Übertragung
                \item kein ACK benötigt
                \item fehlgeschlagene Übertragungen werden abgebrochen
                \item Kollision wird weitergeleitet (jamming signal)
                \item minimale Paketgröße ($2\times$ propagation time)
                \item in Ethernet genutzt
            \end{tightitemize}
        \subsubsection{CSMA/CA}
            \begin{tightitemize}
                \item CSMA with Collision Avoidance
                \item IFS (Interframe space)
                \item ermöglicht Priorisierung
                \item ACK messages
                \item zufällig gewählte Anzahl Slots warten
            \end{tightitemize}
    \subsection{Controlled-access Protokolle}
        \subsubsection{Idee}
            \begin{tightitemize}
                \item Stationen entscheiden, wer senden darf
            \end{tightitemize}
        \subsubsection{Resrevation Access}
            \begin{tightitemize}
                \item Reservation frames mit minislots
                \item Stationen melden an, wenn sie senden wollen
                \item alle wissen, wer wann sendet
            \end{tightitemize}
        \subsubsection{Polling Access}
            \begin{tightitemize}
                \item Primäre Station kontrolliert Fluss auf Link
                \item SEL (select) bzw. Poll
            \end{tightitemize}
        \subsubsection{Token Passing}
        \begin{tightitemize}
            \item Stationen haben Adresse
            \item Token wird herumgereicht
            \item nur Token-Habender kann senden
        \end{tightitemize}
    \subsection{Channelization}
        \subsubsection{Idee}
        \begin{tightitemize}
            \item Bandbreite wird geteilt
            \item genutzt in Cellphone Systemen
        \end{tightitemize}
        \subsubsection{FDMA}
            \begin{tightitemize}
                \item Frequency Division Multiple Access
                \item Unterteilung in Bänder mit guard bands
                \item Data Link Layer (FDM auf Physical)
            \end{tightitemize}
        \subsubsection{TDMA}
            \begin{tightitemize}
                \item Time Division Multiple Access
                \item Unterteilung in Zeitslots
                \item Data Link Layer (TDM auf Physical)
            \end{tightitemize}
        \subsubsection{CDMA}
            \begin{tightitemize}
                \item Code Division Multiple Access
                \item Orthogonale Codes ``chips''
                \item Alles parallel übertragen
                \item Generierung orthogonaler Codes
                \begin{tightitemize}
                    \item Walsh tables
                    \item $W_1=\left(+1\right),\ W_{2n}=\begin{pmatrix}
                        W_n & W_n \\ W_n & \overline{W_n}
                    \end{pmatrix}$
                \end{tightitemize}
            \end{tightitemize}
\section{Ethernet}
    \begin{tightitemize}
        \item Länge zwischen 64 byte und 1518 byte
        \item VLAN-Tag mit 4 byte möglich
        \item MAC-Frame enthält LLC-Frame
        \item MAC-Adresse 6 byte
        \begin{tightitemize}
            \item Versand: bytes von links nach rechts, bits pro byte von rechts nach links
            \item unicast gerades /multi- ungerades erstes Byte, broadcast alle F
        \end{tightitemize}
        \item Je höher die Übermittlungsgeschwindigkeit, desto kürzer die maximale Kabellänge
        \item Ethernet: Unterschiedliche Technologien (ähnlicher Header)
        \begin{tightitemize}
            \item 10, 100, 1G, 10G, 40G/100G
        \end{tightitemize}
        \item Ethernet als Bus/Hub/Switch
        \item Bridged Ethernet
        \begin{tightitemize}
            \item durch Bridge Unterteilung in Subdomains
            \item Weniger Kollisionen
        \end{tightitemize}
        \item Switched Ethernet
        \begin{tightitemize}
            \item N-port Bridge
        \end{tightitemize}
        \item Full-Duplex Ethernet
        \begin{tightitemize}
            \item CSMA/CD eigentlich nicht nötig
            \item trotzdem vorhanden, damit kompatibel
        \end{tightitemize}
        \item häufig zusammenlegen zweier Verbindungen mit niedriger Bandbreite zu einer mit höheren
    \end{tightitemize}
\section{Backbone,VLAN}
    \subsection{Connective Devices}
        \begin{tightitemize}
            \item Passive Hub (layer 0)
            \item active hub, Repeater (layer 1)
            \item Bridge, Layer-2-Switch
            \item Router, Layer-3-Switch
            \item Gateway (layer 5-7)
        \end{tightitemize}
        \subsubsection{Hub}
            \begin{tightitemize}
                \item Passive: nur Verlängerung
                \item Aktiv: Repeater, stellt Signal wieder her ($\leftrightarrow$ Amplifier)
            \end{tightitemize}
        \subsubsection{Bridge}
            \begin{tightitemize}
                \item Verbindet verschiedene LANs
                \item Learning Bridges, Spanning Tree protocol
            \end{tightitemize}
        \subsubsection{Router}
            \begin{tightitemize}
                \item Verbindet getrennte IP-Netze
            \end{tightitemize}
        \subsubsection{Gateway}
            \begin{tightitemize}
                \item z.B. Firewall, NAT
            \end{tightitemize}
    \subsection{VLANs}
        \begin{tightitemize}
            \item Software definiert Netz-Zugehörigkeit
            \item Zugehörigkeit möglich über
            \begin{tightitemize}
                \item Port, MAC, IP Adressen
            \end{tightitemize}
            \item leichte Rekonfiguration
            \item Manuell und automatisch möglich
            \item Switches kennen alle VLAN-Teilnehmer und tauschen Wissen aus
        \end{tightitemize}
\section{Optische Medien}
    \begin{tightitemize}
        \item STS,STM (Synchrones Transport Signal/Modul)
        \item SDH / SONET (optische Protokolle)
        \item STS-MUX (Multiplexer)
        \item ADM Add-Drop-Multiplexer (``Weiche'')
        \item Section Layer (Zwischen Regeneratoren)
        \item Line Layer (zwischen Multiplexern)
        \item Path Layer (zwischen MUX und DEMUX)
        \item darunter: Photonic layer
        \item immer 8000 frames/s, möglicherweise größer
        \item Multiplexing, indem bytes hintereinander gepackt werden (interleaving)
        \item 3R: Reamplify, Reshape, Retime
    \end{tightitemize}
    \subsection{Topologien}
        \begin{tightitemize}
            \item Lineare, Ring- oder vermaschte Netze
            \item Uni-/Bidirektionale path/line Switching Ringe
            \item SONET ist heute Kombination von Ringen
        \end{tightitemize}
    \subsection{Automatic Protection Switching}
        \begin{tightitemize}
            \item 1+1, 1:1 oder 1:many
            \item UPSR nutzt 1+1, BLSR 1:1
        \end{tightitemize}
\section{ATM, MPLS, ...}
    \subsection{ATM}
        \begin{tightitemize}
            \item Asynchronous Transfer Mode
            \item Cell wird in VCs (virtual circuits) über VPs (virtual paths) geschickt
            \item path bündelt circuits mit gleichem Weg
            \item VCI/VPI Identifier für einzelnen circuit im path
            \item 53byte, 48 byte payload (KLEIN!)
            \item faires Multiplexing durch gleiche Größe
            \item ATM Adaption Layer (AAL) scheidet in richtige payload-Größe
            \item Konzepte zum verkleinern und vergrößern existieren, auch Aufteilen von Paketen auf mehrere Zellen
        \end{tightitemize}
    \subsection{Frame Relay}
        \begin{tightitemize}
            \item Großteils wie ATM
            \item größere Frames
            \item explizite Congestion Notification
        \end{tightitemize}
    \subsection{MPLS}
        \begin{tightitemize}
            \item Multiprotocol Label Switching
            \item Virtual Circuits über Verbindungslose Infrastruktur
            \item versteckt Infrastruktur
        \end{tightitemize}
\section{Quality of Service}
    \subsection{Parameter}
        \begin{tightitemize}
            \item Reliability
            \item Delay
            \item Jitter (variation of delay)
            \item Packet loss
        \end{tightitemize}
    \subsection{Maßnahmen}
        \begin{tightitemize}
            \item Priorisierung von Verkehr
            \item Scheduling
            \begin{tightitemize}
                \item FIFO
                \item Priority
                \item Weighted
            \end{tightitemize}
            \item Buffer management
            \begin{tightitemize}
                \item drop tail
                \item Piority
                \item Active Queue Management (schon vor voller Queue Pakete droppen)
                \item Explicit Congestion Notification (ECN) durch flag im Header
            \end{tightitemize}
            \item Shaping (verringern von bursts)
            \begin{tightitemize}
                \item Policer (drop out-of-profile)
                \item Spacer (buffer out-of-profile, drop wenn buffer voll)
                \begin{tightitemize}
                    \item Leaky Bucket
                    \item Token Bucket
                \end{tightitemize}
            \end{tightitemize}
            \item Admission control (hält sich der Sender an die Begrenzungen)
            \begin{tightitemize}
                \item nur hochprior wenn erlaubt
                \item nur erlaubt wenn genügend Ressourcen
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Integrated Service}
        \begin{tightitemize}
            \item Pfad und Resv Nachrichten
            \item garantierter Delay
            \item Service wie im schwach genutzten Netz
            \item besser skalierend: DiffServ
            \begin{tightitemize}
                \item PHB: Per-hop-behaviour
                \item 3 Klassen
            \end{tightitemize}
        \end{tightitemize}
    \subsection{QoS in ATM}
        \begin{tightitemize}
            \item Constant Bitrate
            \begin{tightitemize}
                \item zeitkritisch
                \item insgesamt geringer
            \end{tightitemize}
            \item Variable Bitrate
            \begin{tightitemize}
                \item toleranter
                \item insgesamt höher
            \end{tightitemize}
        \end{tightitemize}
\section{Software-Defined Networking}
    \subsection{OpenFlow}
        \begin{tightitemize}
            \item Zentraler Controller für OpenFlow Switch
            \item flow tables werden entsprechend angepasst
            \item Switch fragt bei Controller, falls unbekannt
            \item kann Routing, Switching und Firewall Funktion übernehmen
            \item Southbound (zur Infrastruktur) vs. Northbound (zu Anwendungen)
            \item OpenFlow ist Southbound
            \item Flow-Based (Einzelregelung) und Aggregated (Wildcards) möglich
            \item Reactive vs. Proactive
        \end{tightitemize}
    \subsubsection{SDN allgemein}
        \begin{tightitemize}
            \item nicht mehr nur Herstellersoftware
            \item häufigeres updaten möglich
            \item SDN Erlaubt Eingriffe und so Optimierung
            \item NFV ersetzt Spezialhardware durch Server, SDN erlaubt nur mehr Konfiguration
        \end{tightitemize}
\section{WiFi}
    \subsection{Grundlagen}
        \begin{tightitemize}
            \item Hidden Station Problem
            \begin{tightitemize}
                \item Stationen, die sich gegenseitig nicht sehen aber an den gleichen Empfänger schicken
                \item Lösung: Handshaking
                \begin{tightitemize}
                    \item RTS als Anfrage
                    \item CTS als Bestätigung (alle wissen, dass gesendet wird)
                \end{tightitemize}
            \end{tightitemize}
            \item Exposed Station Problem
            \begin{tightitemize}
                \item Station blockiert auch Verkehr, der gesendet werden könnte
            \end{tightitemize}
            \item NAV (Network Allocation Vector): Timer wie lange Kanal besetzt sein wird
            \item InterFrameSpace: Wartezeit vor dem Versuch zu senden; erlaubt Priorisierung
            \item CSMA/CA wird genutzt
            \item DCF (Distributed Coordination Function): für ad-hoc Netze ohne zentralen AP
            \item PCF(Point Coordination Function)
            \begin{tightitemize}
                \item Zentraler AP
                \item polling
                \item DCF-only kann integriert werden
            \end{tightitemize}
            \item Basic Service Sets (BSS)
            \begin{tightitemize}
                \item direkte Kommunikation zwischen Stationen
                \item Ad-hoc oder Infrastructur (mit AP)
            \end{tightitemize}
            \item Extended SS
            \begin{tightitemize}
                \item Verbundene (meist LAN) BSS
                \item Adressierung je nach Ziel
                \begin{tightitemize}
                    \item Quelle, Ziel
                    \item Hops möglich
                \end{tightitemize}
            \end{tightitemize}
            \item 802.11
            \begin{tightitemize}
                \item Diverse Entwicklungsstufen
                \item FHSS: Frequency Hopping Spread Spectrum
                \item DSSS: Direct Sequence Spread Spectrum
                \item OFDM: Orthogonal Frequency-Division Multiplexing
                \item 802.11e für Mulitmedia
                \item nicht-überlappende Kanäle werden benutzt
            \end{tightitemize}
        \end{tightitemize}
    \subsection{Bluetooth}
        \begin{tightitemize}
            \item Geräte verschiedener Funktion verknüpfen
            \item Piconet: bis zu 8 Stationen
            \item ein Primary, andere Secondary
            \item Scatternet: mehrere Piconets
            \item um 2.4GHz
            \item Layers
            \begin{tightitemize}
                \item Radio Layer ($\approx$ Physical Layer)
                \begin{tightitemize}
                    \item FHSS
                    \item FSK-Erweiterung
                \end{tightitemize}
                \item Basband Layer ($\approx$ MAC-Sublayer)
                \begin{tightitemize}
                    \item Zeitslots
                    \item half-duplex
                    \item Primary nutzt gerade Slots und Pollt Secondarys
                \end{tightitemize}
            \end{tightitemize}
            \item SCO (Synchronous Connection oriented)
            \begin{tightitemize}
                \item feste Bandbreite
                \item kein retransmit
                \item für Sprache (64kbit/s)
            \end{tightitemize}
            \item ACL (Asynchronous Connectionless Link)
            \begin{tightitemize}
                \item variable Bandbreite
                \item Retransmit sobald möglich
                \item Nutzung mehrere Slots möglich
            \end{tightitemize}
        \end{tightitemize}
        %chp15 \exists openflow, das ist das wichtigste
        %meistens keine Länge nötig... (ATM z.B. schon, Ethernet c.a. 1500byte)
        %paar portnummern (z.B. http 80)
\end{multicols*}
\end{document}
