From f0760fccc148dab2da6f7888290af336798e0ee8 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Tue, 25 Aug 2020 23:39:14 +0200 Subject: [PATCH] started Telematik 1 Cheatsheet; Chapter 1-5 incl --- Telematik 1 - Cheatsheet.tex | 328 +++++++++++++++++++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 Telematik 1 - Cheatsheet.tex diff --git a/Telematik 1 - Cheatsheet.tex b/Telematik 1 - Cheatsheet.tex new file mode 100644 index 0000000..b0a209f --- /dev/null +++ b/Telematik 1 - Cheatsheet.tex @@ -0,0 +1,328 @@ +\documentclass[10pt,landscape]{article} +\usepackage{multicol} +\usepackage{calc} +\usepackage{ifthen} +\usepackage[landscape]{geometry} +\usepackage{amsmath,amsthm,amsfonts,amssymb} +\usepackage{color,graphicx,overpic} +\usepackage{hyperref} + + +\pdfinfo{ + /Title (Telematik 1 - Cheatsheet) + /Creator (TeX) + /Producer (pdfTeX 1.40.0) + /Author (Robert Jeutter) + /Subject (Telematik 1) + /Keywords (Telematik, ISO/OSI, TCP/IP)} + +% 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 + +% 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} + +%My Environments +\newtheorem{example}[section]{Example} +% ----------------------------------------------------------------------- + +\begin{document} +\raggedright +\footnotesize +\begin{multicols}{3} + + +% 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} + +\section{Physische Verbindungen} +\begin{description} + \item[Simplex] nur ein Nutzer kann immer senden + \item[Half Duplex] beide Nutzer senden abwechselnd (Time Division Duplex) + \item[Full Duplex] beide Nutzer senden gleichzeitig (Frequency/Time Division Duplex) +\end{description} + +\begin{description} + \item[Circuit Switching] + \begin{itemize} + \item einfach + \item einmal aufgesetzt verbleiben die Ressourcen beim Nutzer + \item Circuit muss hergestellt werden, bevor kommuniziert werden kann + \end{itemize} + \item[Packet Switching] + \begin{itemize} + \item Aufteilen von Daten in kleinere Pakete die nach und nach gesendet werden + \item Problem: Informationen zu Sender/Empfänger und Start/Endzeitpunkt eines Pakets müssen mit übermittelt werden + \item Wird deshalb 'Store and Forward' Netzwerk genannt + \end{itemize} +\end{description} + +\section{Multiplexing} +Optionen für die Auswahl des nächsten Hops bei großen Netzwerken: +\begin{description} + \item[Fluten] Sende das Paket an alle Nachbarn + \item[Hot Potato Routing] Sende an einen zufälligen Nachbarn + \item[Routingtabellen] In jedem Switch mit einem Eintrag pro Ziel. Enthält Info über kürzeste Wege +\end{description} + +\section{Serviceprimitive} +\begin{description} + \item[Request (Req)] Anfrage an ein Layer einen Service auzuführen + \item[Indication (Ind)] Ein Layer zeigt seinem Nutzer, dass etwas passiert ist (asynchrone Benachrichtigung) + \item[Response (Res)] Ein Nutzer von höherem Layer beantwortet eine Indication + \item[Confirmation (Conf)] Der ursprüngliche Dienstaufrufer wird über die Beendigung des Servicerequests informiert +\end{description} + +\section{Korrektheitsanforderung} +\begin{description} + \item[Completeness] Alle gesendeten Nachrichten werden irgendwann zugestellt + \item[Correctness] Alle Daten die ankommen, sind auch genau die, die losgeschickt wurden (unverändert, ohne Bitfehler) + \item[Reihenfolgegetreu] Nachrichten und Bytesequenzen kommen in der korrekten Reihenfolge an + \item[Verlässlich] Sicher, Verfügbar, … + \item[Bestätigt] Erhalt von Daten wird dem Sender bestätigt +\end{description} + +\section{Verbindungsorientiert} +Verbindungsorientierte Dienste müssen Primitive Bereitstellen um Verbindungen handhaben zu können: +\begin{description} + \item[CONNECT] Einrichtung der Verbindung + \item[LISTEN] Warten auf Verbindungsanfragen + \item[INCOMING\_CONN] Anzeige eingehender Connectionrequests + \item[ACCEPT] Annahme einer Verbindung + \item[DISCONNECT] Terminierung einer Verbindung +\end{description} + +\section{Layering} +\begin{tabular}{ p{3.5cm} | p{3.5cm} } + Vorteile & Nachteile \\ + \hline + Komplexität verwalten \& beherrschen & Funktionen vl redundant \\ + Änderung der Implementierung transparent & selbe Information für verschiedene Layer nötig \\ + Ideales Netzwerk & Layer n benötigt eventuell Einblick in Layern n+x \\ +\end{tabular} + +\section{Architekturvoraussetzungen} +für das Internet +\begin{description} + \item[Generalität] Unterstütze alle möglichen Sets von Applikationen + \item[Heterogenität] Verbinde alle Arten von Netzwerktechnologien + \item[Robustheit] Wichtiger als Effizienz + \item[Erweiterbarkeit] Wichtiger als Effizienz + \item[Skalierbarkeit] Spätere Entdeckung +\end{description} + +\section{ISO/OSI vs TCP/IP} +\begin{itemize} + \item ISO/OSI: Sehr nützliches Modell, keine existierenden Protokolle + \item TCP/IP: Nicht existentes Modell, sehr nützliche Protokolle + \item Deshalb: ISO/OSI Modell aber TCP/IP Stack +\end{itemize} + +\section{Medium Access Control (MAC)} +Verteilter Algorithmus, der bestimmt, wie Knoten auf ein geteiltes Medium zugreifen + +Kollisionsfreie Protokolle +Limited Contention Protokolle (beschränkt Kollisionsbehaftet) +Kollisionsprotokolle + +\subsection{Carrier Sensing} +\begin{description} + \item[] Höre bevor du redest, und sende nichts, wenn das Medium gerade belegt ist + \item[1-Persistent CSMA] Falls belegt, so warte bis frei und sende dann -> Probleme entstehen, wenn mehrere nach der jetzigen Nachricht senden wollen + \item[Non-Persistent CSMA] Wenn Kanal frei so übertrage, wenn Kanal belegt, so warte eine zufällige Zeit vor dem nächsten Freiheitstest + \item[P-Persistent CSMA] Kombiniert bisherige Ideen + geslottete Zeit, Warte ständig auf freiwerden des Kanals übertrage aber nicht sofort +\end{description} + +\subsection{Collision Detetion - CSMA/CD} +Bei Kollision zweier Pakete geht viel Zeit durch die Beendigung der Übertragung verloren +Abhängig vom physischen Layer können Kollisionen erkann werden +Sollte eine Kollision aufgetreten sein, so warte eine zufällige Zeit k + +\subsection{Bit-Map-Protokoll} ... +\subsection{Limited Contention Protokoll} ... + + +\section{Ports} +UDP SrcPort 67 DstPort 68 +TCP +SMTP +Non-privileg >1023 + + +\section{DHCP} +DHCP Discover an Broadcast (255.255.255.255), Server sendet DHCP Offer zurück mit Payload, DHCP Request (gleich wie Discover) + +DHCP: Discover/Offer/Request/ACK +UDP/TCP: SrcPort \& DstPort +IP: SrcIP \& DstIP +MAC: SrcAddr \& DestAddr +Payload: (optional) + +\section{ARP} +ARP-Request/Response: + ARP: ARP-Request Payload: XXXX + MAC: SrcAddr XXXX DestAddr XXX + +\section{DNS} +A-Records bilden URL auf IP ab + +DNS: DNS Query "A random.org"/ DNS Response "A random.org 123.45.67.890" +UDP/TCP: SrcPort \& DstPort +IP: SrcIP \& DstIP +MAC: SrcAddr \& DestAddr + +\section{Firewall} +aaa + + + + + +\section{Begriffe} +\begin{description} + \item[Broadcast Medium] Nur ein Sender zu jeder Zeit; Zugriffskontrolle (MUX o. Absprache) + \item[Baudrate] beschreibt die Anzahl der Symbole welche innerhalb einer Zeiteinheit übertragen werden + \item[Protokoll] bestimmet das Format, die Reihenfolge von Nachrichten, welche über Netzwerkeinrichtungen versandt und empfangen werden, sowie Aktionen welche bei Übertragung und Erhalt von Nachrichten ausgeführt werden. Protokolle sind Regelsätze, welche beschreiben wie zwei oder mehr entfernte Teile (peers oder protocol entities) eines Layers kooperieren, um den Dienst des gegebenen Layers zu implementieren. Ein Protokoll ist die Implementierung eines Services + \item[Signale] sind die physische Repräsentation von Daten in der Form einer charakteristischen Variation in Zeit oder Ausbreitung… + \item[Delay d] = distance / speed v + \item[Strict Layering] Jedes Layer verwendet nur den Service des darunter liegenden Layers + \item[Hammingdistanz] Anzahl an Stellen an denen sich zwei Frames x und y in binärer Darstellung unterscheiden lösbar mittels (x XOR y). + \item[Fehlerkontrolle vorwärts] Sender sendet redundante Infos so, dass der Empfänger selbst ausbessern kann + \item[Fehlerkontrolle rückwärts] Sender sendet redundante Infos so, dass der Empfänger fehlerhafte Pakete wahrscheinlich erkennt und Pakete in dem Fall nochmal verschickt werden können + \item[Burst Traffic] + \item[Broadcastkanal] Völllig dezentralisiert und so einfach wie möglich mit Rate b/s + \item[Statisches Multiplexing] einzelne Ressource statisch gemultiplext durch feste Sendezeiten und mehrere Frequenzbänder + \item[Polling] Masterknoten läd Slaveknoten zum Übertragen in Reihenfolge ein + \item[Tokenweitergabe] Kontrolltoken wird von einem zum anderen Knoten übertragen + \item[Hub] + \item[Switch] + +\end{description} + +% You can even have references +\rule{0.3\linewidth}{0.25pt} +\scriptsize +\bibliographystyle{abstract} +\bibliography{refFile} +\end{multicols} + +\newpage + + +\section{ISO/OSI} +\begin{tabular}{l | l | l} + PH & Physisches Layer & + Bietet eine bittransparente Schnittstelle zum physischen Medium\\ + &&Spezifiziert mechanische, elektrische, funktionale und prozedurale Mittel um die physische Verbindung zwischen zwei offenen Systemen zu unterstützen.\\ + &&Physische Verbindung impliziert nicht die verbindungsorientierte Operation\\ + &&Verschiedene Übertragungsmedien können genutzt werden, jeweils verschiedene Protokolle sind von Nöten\\ + &&In-sequence Zustellung der Bits ist sichergestellt\\ + &&Fehlererkennung ist manchmal inkludiert\\ \hline + && Zeitliche Synchronisation (Non-Return to Zero Level oder Manchstercodierung)\\ + && Breitband- vs Basisbandübertragung (Amplituden-/Phasen-/Frequenzmodulation ) Bsp: QPSK, 16-QAM \\ + && Digital vs Analog \\ + \hline + L & Link Layer & + Unterstützt Übertragung von service data units (SDU) größer als "word" unter Systemen, welche über einen einzigen physischen Pfad verbunden sind.\\ + &&Essentielle Funktion ist block synchronization\\ + &&Teilweise wird Fehlererkennung oder Fehlerkontrolle zur Verfügung gestellt.\\ + &&Im Fall von Halb-duplex oder multipoint links muss der Zugriff auf das Medium kontrolliert werden und Peersysteme müssen addressiert werden.\\ \hline + && Framing durch Charakterzählen, Flagbitmuster/Bitstuffing oder Codeverletzung \\ + && Fehlererkennung \& -kontrolle (vorwärts/rückwärts) mit Redundanz (Parität), Hemmingdistanz, Cyclic Redundancy Check (CRC)\\ + && Send and Wait (Sliding Window) , Go-Back-N, Selective Reject \\ + && Verbindungsaufbau \\ + && Flusskontrolle \\ + \hline + N & Network Layer & + Erschafft einen logischen Pfad zwischen offenen Systemen, welche verbunden sind mit individuellen, möglicherweise verschiedenen Subnetworks\\ + &&Dieser logische Pfad kann durch mehrere, möglicherweise verschiedene dazwischenliegende Subnetworks gehen\\ + &&Diese Netzwerkebene unterstützt Routing, also müssen sich N-Service Benutzer nicht um den Pfad kümmern\\ + &&Der N-Service ist uniform, unabhängig von der Variation an Subnetwork Technologien, Topologien, QoS und der Organisation\\ + &&Netzwerk Addresse = Endsystem Addresse\\ + \hline + T & Transport Layer & + Unterstützt die Übertragung mit gefordertem QoS, auf wirtschaftliche Weise zwischen (T)-nutzern, unabhängig von der Netzwerkstruktur\\ + &&Verschiedene Klassen von Protokollen mit verschiedenen Funktionalitäten sind festgelegt (connectionoriented / connectionless; reliable / unreliable)\\ + \hline + S & Session Layer & + Unterstützt die Synchronisation des Dialogs und die Verwaltung des Datenaustausches (möglicherweise über mehrere transport layer connections aufspannend)\\ + &&Quarantine Data delivery - Eine ganze Gruppe von übertragenen S-SDUs wird zugestellt auf explizite Anfrage des Senders\\ + &&Interaktionsverwaltung erlaubt ausdrücklich festzulegen, welcher S-User das Recht bekommt zu übertragen\\ + &&Zurücksetzen der Verbindung auf vordefinierte Synchronisationspunkte\\ + \hline + P & Presentation Layer & + Unterstützt die Übersetzung von Daten und Datenstrukturen in einzigartige Repräsentation\\ + &&Ausschließlich die Syntax wird modifiziert um die Semantik beizubehalten\\ + &&Auswahl von einer der allgemein anerkannten Transfersyntax\\ + &&Die lokale Syntax von jedem Endsystem wird in oder von der ausgewählten Transfer Syntax übersetzt\\ + \hline + A & Application Layer & + Unterstützt den direkten Endnutzer durch die Bereitstellung einer Vielzahl an application services\\ + &&Dies kann sein:\\ + &&Genereller Typ (z.B. Entfernte prozedurale Anrufe, Transaktionsdurchführung,...)\\ + &&Spezifischer Typ (z.B. Virtuelles Terminal, Dateiübertragungszugriff und Verwaltung, Arbeitswechsel,...)\\ + &&Ein typisches Beispiel: virtuelles Terminal (Funktionen des reellen Terminals werden in virtuelle Funktionen gemappt)\\ + +\end{tabular} + +\section{TCP/IP} +Jedes Layer nimmt Daten vom darüberliegenden Layer, fügt eine Headereinheit hinzu und erstellt eine neue Dateneinheit und schickt diese an das Layer darunter +\begin{tabular}{l | l} + Internetlayer & Packetswitching, Adressierung, Routing und Forwarding. Insbesondere für hierarchische Netze \\ + \hline + Transportlayer & zuverlässiger Bytestrom: TCP (Transport Control Protokoll) \\ + & unzuverlässiges Datagramm: UDP (User Datagramm Protokoll)\\ +\end{tabular} + + +\section{Formeln} + +Fehlerfreies Send and Wait: S = 1/(1+2a) wobei a = T-prop / T-frame +Fehlerbehaftetes Send and Wait: S = (1-P)/(1+2a) +Fehlerfreies Sliding Window: Sei W die Anzahl an Frames, welche der Sender senden kann, bevor er auf Quittungen warten muss +Normalisierter Durchsatz: S = {1, falls W >= 2a+1, W/(2a+1) sonst} +Selective Reject: S = {1-P, falls W >= 2a+1, (W(1-P))/(2a+1) sonst} +Go-Back-N: S = {(1-P)/(1+2aP), falls W >= 2a+1, (W(1-P))/((2a+1)(1-P+WP)) sonst} + + + +\end{document} \ No newline at end of file