% !TeX encoding = UTF-8
% Die Folien der Vorlesung (RK_<n>_*.pdf) und Übung (Uebung_*.pdf) sind (passwortgeschützt) zu finden unter:
% http://www7.cs.fau.de/de/teaching/rechnerkommunikation-2015s/
% Abzuspeichern in den Utnerordnern „Vorlesung“ und „Uebungen“.
%
% Kompilierreihenfolge: PDFLaTeX - MakeIndex - PDFLaTeX

\input{Header}
\newcommand{\folie}[2][]{\fbox{\includegraphics[page=#1,width=0.75\textwidth]{#2.pdf}}}

\section*{Schichten-Modell}\addcontentsline{toc}{section}{Schichten-Modell}
Ursprünglich (laut OSI) in sieben Schichten geplant:\\
\folie[35]{Vorlesung/RK_1_Einfuehrung}

\section{Physikalische Schicht (Bitübertragungsschicht)}
mechanische, elektrische und prozedurale Eigenschaften zur Übertragung von Bits: Zeitsynchronisation, Kodierung, Modulation, binäre Formate, Modulationsverfahren, ...
\subsection{Leitungskodierung}\index{Kodierung!Leitungs-|textbf}
Ein digitales Signal muss erst in ein analoges konvertiert werden, um übertragen werden zu können.

\folie[4]{Vorlesung/RK_6_PhysikalischeSchicht}

\folie[5]{Vorlesung/RK_6_PhysikalischeSchicht}\index{Kodierung!Manchester-} \index{NRZ(I)}

\folie[6]{Vorlesung/RK_6_PhysikalischeSchicht}
\section{Sicherungsschicht}
Rahmen zwischen benachbarten Geräten, Medienzugriff, Sicherung.
\subsection{Ethernet}\index{Ethernet|textbf}
Sicherungsschicht, kabelgebundene LANs

\subsubsection{Framegröße}\index{Framegröße}\index{Ethernet!Framegröße}
Mindestens 64 Byte (14 Byte Header, 46 Byte Nutzdaten, 4 Byte CRC), damit die Übertragung nicht einseitig beendet wird, bevor das erste Bit am Empfänger angekomment ist. $L/R > 2D$

Muss kleiner sein, als der Backoff, damit CSMA/CD\index{CSMA!CD} (Kollisionserkennung) funktioniert.
\subsubsection{Repeater / Bridge}\index{Repeater}\index{Bridge}
\folie[68]{Vorlesung/RK_5_Sicherungsschicht}

\paragraph{Hub}\index{Hub} Repeater mit vielen Ports, keine Pufferung aber Managementfunktion
\paragraph{Switch}\index{Switch} Bridge mit vielen Ports, Pufferung an jedem Port, Store-and-Forward, voll-duplex

\subsubsection{VLAN}\index{VLAN}
\folie[75]{Vorlesung/RK_5_Sicherungsschicht}

\subsection{Datensicherung}\index{Datensicherung}
\folie[13]{Vorlesung/RK_5_Sicherungsschicht}

\subsubsection{CRC}\index{CRC}
\folie[14]{Vorlesung/RK_5_Sicherungsschicht}\\
Euklidische Division: \glqq XOR-Division\grqq

\folie[15]{Vorlesung/RK_5_Sicherungsschicht}\index{Generatorpolynom}

\folie[16]{Vorlesung/RK_5_Sicherungsschicht}


\subsection{ARP}\index{ARP|textbf}
\folie[9]{Vorlesung/RK_5_Sicherungsschicht}

\subsubsection{MAC-Adresse ermitteln}
\index{MAC-Adresse!ermitteln}
Kann über Broadcast der gesuchten IP an die Geräte des lokalen Ethernet-Netzwerks ermittelt werden. Das gesuchte Gerät antwortet mit eigener MAC-Adresse.

\subsection{Mehrfachzugriff}\index{Mehrfachzugriff}\index{Kanalaufteilung}
\folie[20]{Vorlesung/RK_5_Sicherungsschicht}

\begin{itemize}
\item Frequenzmultiplex\index{Multiplex!Frequenz-}\index{FDMA} (Frequency Division Multiplex Access, FDMA): Geräte verwenden verschiedene Teile des Frequenzspektrums
\item  Zeitmultiplex\index{Multiplex!Zeit-}\index{TDMA} (Time Division Multiplex Access, TDMA): Geräte wechseln sich zeitlich ab  
\end{itemize}

\subsection{CDMA}\index{CDMA|textbf}
\folie[22]{Vorlesung/RK_5_Sicherungsschicht}

\subsection{ALOHA}\index{ALOHA|textbf}
\folie[28]{Vorlesung/RK_5_Sicherungsschicht}

\folie[34]{Vorlesung/RK_5_Sicherungsschicht}\index{Leistungsanalyse!ALOHA}

\subsection{CSMA}\index{CSMA|textbf}
\folie[43]{Vorlesung/RK_5_Sicherungsschicht}
\subsubsection{CSMA/CD}\index{CSMA!CD|textbf} (Collision Detection, z.B. in Ethernet)\\
Wenn Rahmengröße $<=$ Backoff können Sendewiederholungen nicht kollidieren, sofern beide Knoten nicht gleichzeitig aus dem Backoff kommen.

\folie[48]{Vorlesung/RK_5_Sicherungsschicht}

\folie[49]{Vorlesung/RK_5_Sicherungsschicht}
\subsubsection{CSMA/CA} (Collision Avoidance, z.B. bei WLAN\index{WLAN})\index{CSMA!CA}
\begin{itemize}
\item Kollisionserkennung würde 2. Antenne benötigen, die während des Sendens 
empfängt, schwieriger, teurer 
\item 2 Varianten: Basic Access, RTS/CTS-Austausch 
\end{itemize}

\subsection{Schwachstellen}\index{Schwachstellen (Sicherungsschicht)}
\folie[7]{Vorlesung/RK_7_Netzwerksicherheit}

\section{Netzwerk-/Vermittlungsschicht}
Datagramme zwischen Hosts über Router (IP), Weiterleitung, Wegewahl (Routing)

\subsection{Adressierungsarten}\index{Adressierung!Arten}
Laut OSI-Modell in der Vermittlungsschicht.

\subsubsection{Unicast}\index{Unicast}
Nachricht zwischen einem Sender und einem Empfänger.
\paragraph{proaktives Routing}\index{proaktives Unicast-Routung}\index{Routing!Unicast (proaktiv)} Die Informationen über die Netztopologie werden ausgetauscht und aktuell gehalten. Mit Graph-basierten Verfahren werden Pfade zu allen Zielen bestimmt, die bei Sendewunsch genutzt werden.
\subsubsection{Broadcast}\index{Broadcast}
An alle Teilnehmer eines Netzes (z.B. VLAN/Subnetz als Broadcastdomäne).\\
\textbf{limited}: an IP 255.255.255.255, also immer das eigene Subnetz\\
\textbf{directed}: an anderes Subnetz (seit August 1999 per default in Routern deaktiviert wegen DDoS-Gefahr)


\subsubsection{Anycast}\index{Anycast}
Ein Empfänger aus einer Gruppe möglicher Ziele, i.d.R. der nächstgelegene. \\
Für den Client nicht von Unicast unterscheidbar, da der Empfänger durch Routingtabelle im Router ermittelt wird.
\subsubsection{Multicast}\index{Multicast}
Punkt-zu-Mehrpunkt/Gruppenruf: ein Sender, eine Gruppe von Empfängern.
\paragraph{Routing}\index{Routing!Multicast (proaktiv)}
Erweiterung des Unicast-Routings (ebenfalls proaktiv). Router und Links sollen effizient genutzt werden.
\subsubsection{Geocast}\index{Geocast}
Spezielle Form des Multicastings: Adressierung an bestimmten GPS-Koordinaten-Bereich (geometrisch) oder ein Alias (symbolisch).

\subsection{IP}\index{IP|textbf}

\subsubsection{Datagramm-Basierte Paketvermittlung}\index{Datagramm|textbf}\index{Paketvermittlung}
\folie[5]{Vorlesung/RK_4_Netzwerkschicht}

\folie[8]{Vorlesung/RK_4_Netzwerkschicht}
\subsubsection{ICMP}\index{ICMP|textbf}
\folie[29]{Vorlesung/RK_4_Netzwerkschicht}

\folie[30]{Vorlesung/RK_4_Netzwerkschicht}

\subsubsection{DHCP}\index{DHCP|textbf}
\folie[32]{Vorlesung/RK_4_Netzwerkschicht}

\subsubsection{IPv6}\index{IPv6}
\folie[40]{Vorlesung/RK_4_Netzwerkschicht}

\subsubsection{Subnetz}\index{Subnetz}
\folie[21]{Vorlesung/RK_4_Netzwerkschicht}

\subsubsection{CIDR}\index{CIDR}
\folie[23]{Vorlesung/RK_4_Netzwerkschicht}

\paragraph{CIDR-Suffix}\index{CIDR!Suffix} Anzahl der 1en in der Subnetz-Maske\index{Subnetz!Maske} (X in Folie oben).


\vspace{0.2cm} Anzahl IPv4-Adressen\index{IP-Adresse!Anzahl in Subnetz} $2^{(32-\text{Länge der Netzwerkadresse})}$ bzw. $2^{(32-\text{CIDR-Suffix})}$

\subsubsection{NAT}\index{NAT}
\folie[36]{Vorlesung/RK_4_Netzwerkschicht}

\folie[38]{Vorlesung/RK_4_Netzwerkschicht}

\subsection{Routing}\index{Routing|textbf}\index{Domäne}
\folie[56]{Vorlesung/RK_4_Netzwerkschicht}

\folie[56]{Vorlesung/RK_4_Netzwerkschicht}\index{Routing!proaktiv}\index{Routing!reaktiv}
\subsubsection{Dijkstra-Verfahren}\index{Dijkstra-Verfahren}
\begin{enumerate}
\item Beliebigen Knoten aufschreiben
\item Distanz des aktuellen Knotens + Distanz zu Nachbarknoten ($\infty$ wenn nicht erreichbar)
\item Distanz + aktuellen Knoten aufschreiben wenn kleiner als aktuell aufgeschriebene Distanz
\item Knoten mit kleinster Distanz aufschreiben, Zeilen darunter streichen, weiter mit 2.
\end{enumerate}
\folie[73]{Vorlesung/RK_4_Netzwerkschicht}

\section{Transportschicht}
Ende-zu-Ende Transport von Segmenten zwischen Anwendungen (TCP, UDP) 

\subsection{Verzögerungszeiten an einem Knoten}\index{Verzögerungszeiten!an Knoten}
\folie[18]{Uebungen/Uebung_1}



\subsection{Fehlerkontrolle}\index{Fehlerkontrolle}
\folie[16]{Vorlesung/RK_3_Transportschicht}

\subsubsection{Paketverlust}\index{Paketverlust}
Wenn Warteschlange (Puffer) voll, Verlust auf Kanal

\subsubsection{Stop-and-Wait}\index{Stop-and-Wait}
Wartet nach senden auf ACK, sendet erneut, wenn ACK nicht rechtzeitig zurückkommt.\\
\folie[18]{Vorlesung/RK_3_Transportschicht}

\folie[9]{Uebungen/Uebung_4}\index{Sequenznummernraum}

\subsubsection{Go-Back-N}\index{Go-Back-N}
Sender schickt bis zu $n$ Pakete und wartet jeweils auf eine Bestätigung. Kommt eine ACK zu spät an werden dieses und alle folgenden Pakete erneut gesendet.\\
Kumulatives ACK: beinhaltet auch Bestätigungen bis zu $n$ vorheriger Pakete, um ACK-Verlust auszugleichen.\\
\folie[64]{Vorlesung/RK_3_Transportschicht}

\folie[66]{Vorlesung/RK_3_Transportschicht}

\subsubsection{Selective Repeat}\index{Selective Repeat}
\folie[73]{Vorlesung/RK_3_Transportschicht}

\folie[75]{Vorlesung/RK_3_Transportschicht}

\subsection{TCP}\index{TCP|textbf}
\subsubsection{Segmentformat}\index{Segmentformat!TCP}
\folie[108]{Vorlesung/RK_3_Transportschicht}

\folie[109]{Vorlesung/RK_3_Transportschicht}

\subsubsection{Überlastkontrolle}\index{Überlastkontrolle!TCP}
\folie[150]{Vorlesung/RK_3_Transportschicht}\index{Slow Start!TCP}\index{AMID}

\folie[151]{Vorlesung/RK_3_Transportschicht}

\folie[152]{Vorlesung/RK_3_Transportschicht}\index{Slow Start!Beispiel}



\subsubsection{RTT}\index{RTT}
Zeit, um Paket von der Quelle zum Ziel und zurück zu schicken.
\subsubsection{Verzögerung}\index{Verzögerung}~\\
\folie[15]{Uebungen/Uebung_5}
\begin{itemize}
\item L: MSS in Bits (Maximum Segment Size), Default sind 536 Bytes
\item O: Objektgröße in Bits
\item R: Bitrate
\item RTT: round trip time
\item W: Fenstergröße in MSSs
\end{itemize}

\subsubsection{Antwortzeit}\index{Antwortzeit}~\\
\folie[166]{Vorlesung/RK_3_Transportschicht}

\subsubsection{Leistungsanalyse}\index{Leistungsanalyse!TCP}\index{HTTP!Antwortzeiten bei Webseiten}
\folie[16]{Uebungen/Uebung_5}

\subsection{UDP}\index{UDP|textbf}
verbindungslos (Versenden einzelner Datagramme), unzuverlässig

\subsubsection{Segmentformat}\index{Segmentformat!UDP}
\folie[6]{Vorlesung/RK_3_Transportschicht}

\subsubsection{Pseudo-Header}
Wird für Generierung der Checksumme erzeugt, aber nicht übertragen.\\
\vbox{
\begin{itemize}
\item Quell-IP-Adresse (32 bit)
\item Ziel-IP-Adresse (32 bit)\index{IP-Adresse!im UDP-Pseudo-Header}
\item Leerfeld (8 bit)
\item Protokill-ID (17: UDP, 8 bit) 
\item Länge des UDP-Datagramms (16 bit)
\end{itemize}}
Vorteil: 1-Bit-Fehler in IP-Header können erkannt werden\\
Nachteil: Verletzung des Schichtenprinzips
\section{Anwendungsschicht}
Netzwerkanwendungen
\subsection{HTTP}\index{HTTP|textbf}
\folie[13]{Vorlesung/RK_2_Anwendungsschicht}

\folie[15]{Vorlesung/RK_2_Anwendungsschicht}

\subsection{FTP}\index{FTP|textbf}
\folie[32]{Vorlesung/RK_2_Anwendungsschicht}

\subsubsection{Out-of-Band-Control}
\index{Out-of-Band-Control}
Zwei verschiedene Verbindungen für Daten und Kontrollinformationen (ID, Passwort, put/get).
\begin{itemize}
\item TCP Steuerverbindung auf Port 21
\item TCP Datenverbindung auf Port 20
\end{itemize}
Vorteil: kann Befehle auch bei Datenübertragung annehmen.

\subsubsection{Active/Passive Mode}
\index{active mode}\index{passive mode}
\folie[16]{Uebungen/Uebung_3}

Vorteil des passiven Modus: Der Server muss den Client nicht kennen. Die Übertragung funktioniert also auch, wenn der Client hinter Router/Firewall/NAT-Netzwerk/etc. versteckt ist.

\subsection{SMTP}\index{SMTP|textbf}
\folie[34]{Vorlesung/RK_2_Anwendungsschicht}

\folie[35]{Vorlesung/RK_2_Anwendungsschicht}

\subsection{SNMP}\index{SNMP|textbf}
\folie[39]{Vorlesung/RK_2_Anwendungsschicht}

\pagebreak
\section*{Abkürzungen}\addcontentsline{toc}{section}{Abkürzungen}
\begin{description*}
\item[ACK] acknowledgment, positive Bestätigung
\item[ARP] Address Resolution Protocol
\item[AS] Autonome Systeme
\item[ASN.1] Abstract Syntax Notation One
\item[ATM] Asynchronous Transfer Mode
\item[BER] Bit Encoding Rules
\item[BGP] Border Gateway Protocol
\item[CDN] Content Distribution Network
\item[CGI] Common Gateway Interface
\item[CIDR] Classless Inter-Domain Routing
\item[CRC] Cyclic Redundancy Check
\item[CSMA] Carrier Sense Multiple Access \\ /CD = Collision Detection (Ethernet) /CA = Collision Avoidance (WLAN)
\item[CW] Congestion Window (Überlastfenster)
\item[DHCP] Dynamic Host Configuration Protocol
\item[DHT] Distributed Hash Table
\item[DIFS] Distribution Interframe Space
\item[DNS] Domain Name System
\item[ECN] Explicit Congestion Notification
\item[EGP] Exterior Gateway Protokoll
\item[FDDI] Fiber Distributed Data Interface, Multi-Token Ring
\item[FDMA] Frequency Division Multiplex Access, Frequenzmultiplex
\item[FTP] File Transfer Protocol
\item[HOL] Head-of-the-Line
\item[HTTP] Hypertext Transfer Protocol
\item[ICMP] Internet Control Message Protocol
\item[IGP] Interior Gateway Protokolle
\item[LSA] Link-State-Advertisement
\item[LSP] Label-Switched Path
\item[LSR] Label Switched Router
\item[MAC] Media Access Control
\item[MIB] Management Information Base
\item[MPLS] Multiprotocol Label Switching - virtuelle Leitungsvermittlung, schnelles Weiterleiten (ATMs)
\item[MSS] Maximum Segment Size
\item[MTU] Maximum Transmission Unit
\item[NAT] Network Address Translation
\item[OSPF] Open Shortest Path First
\item[PDU] Protocol Data Units
\item[RIP] Routing Information Protocol
\item[RTT] Round Trip Time
\item[SACK] Selective Acknowledgment (TCP)
\item[SAP] Service Access Points
\item[SDP] Session Description Protocol - Aushandeln von Kodierungsverfahren bei SIP
\item[SDU] Service Data Units
\item[SIFS] Short Interframe Space
\item[SMTP] Simple Mail Transfer Protocol
\item[SMI] Structure of Management Information
\item[SNMP] Simple Network Management Protocol
\item[TDMA] Time Division Multiplex Access, Zeitmultiplex
\item[TCP] Transmission Control Protocol
\item[TTL] Time To Live
\item[UDP] User Datagram Protocol
\item[URL] Uniform Resource Locator
\end{description*}
\input{Footer}