% !TeX encoding = UTF-8 % Die Folien der Vorlesung (RK__*.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}