Insert TCP-UDP explenation
authorratten <ratten@buecherratten.in-berlin.de>
Tue, 26 Dec 2023 10:54:59 +0000 (11:54 +0100)
committerratten <ratten@buecherratten.in-berlin.de>
Tue, 26 Dec 2023 10:54:59 +0000 (11:54 +0100)
IT-Netzwerke_für_Anfänger.pdf [new file with mode: 0644]
IT-Netzwerke_für_Anfänger.tex [new file with mode: 0644]

diff --git a/IT-Netzwerke_für_Anfänger.pdf b/IT-Netzwerke_für_Anfänger.pdf
new file mode 100644 (file)
index 0000000..c29c496
Binary files /dev/null and "b/IT-Netzwerke_f\303\274r_Anf\303\244nger.pdf" differ
diff --git a/IT-Netzwerke_für_Anfänger.tex b/IT-Netzwerke_für_Anfänger.tex
new file mode 100644 (file)
index 0000000..fda35e1
--- /dev/null
@@ -0,0 +1,268 @@
+\documentclass[xcolor={dvipsnames,table},graphicx,parskip,handout]{beamer}
+
+\usepackage[ngerman]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage{bytefield}
+
+\usepackage{textpos}
+\usepackage{pgfpages} %für notizen in Slides
+\usepackage{tcolorbox}%runde colorboxen \usepackage{textpos}
+\usepackage{stmaryrd} % \shortrightarrow
+\usepackage[final]{qrcode}%für qrcodes
+
+\usepackage{hyperref}
+
+%\usepackage{showkeys}
+
+\uselanguage{German}
+\languagepath{German}
+
+
+\mode<handout>{%
+  \setbeameroption{show notes}
+  %\setbeamerfont{note page}{size=\large}
+  %\setbeameroption{show notes on second screen=bottom}
+  \setbeamertemplate{note page}{%
+    \vspace{1cm}
+    weitere Informationen:\\
+    \vskip.25em
+    \nointerlineskip
+        {\Large \insertframetitle}
+        \vskip.25em
+              {\Large\insertframesubtitle}
+              \vskip.25em
+              %\vspace{1cm}\\
+              \insertnote} 
+}
+
+\mode<beamer>{%
+\setbeamerfont{note page}{size=\huge}
+\setbeameroption{show notes on second screen=bottom}
+}
+
+\usetheme[hideothersubsections,left]{Goettingen}
+
+%\definecolor{hellblau}{RGB}{61, 165, 217}
+\definecolor{kuerzung}{RGB}{254, 198, 1}
+\definecolor{orange}{RGB}{234, 155, 23}
+\definecolor{dunkelblau}{RGB}{11, 12, 93}
+\definecolor{gruen}{RGB}{137, 252, 0}
+\definecolor{gruendunkel}{RGB}{172, 210, 237}
+\definecolor{titelblau}{RGB}{21, 59, 80}
+\definecolor{blau}{rgb}{0.7, 0.99, 0.99}
+\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39}
+\definecolor{DarkGreen}{rgb}{0.0, 0.6, 0.0}
+\definecolor{ao}{rgb}{0.12, 0.3, 0.17}
+\definecolor{realRFC}{rgb}{0.1, 0.1, 0.44}
+\definecolor{witzRFC}{rgb}{0.01, 0.75, 0.24}
+\definecolor{prefix}{rgb}{0.5, 0.5, 0.0}
+\definecolor{IID}{rgb}{0.56, 0.0, 1.0}
+\definecolor{CIDR}{rgb}{0.0, 0.29, 0.29}
+
+\graphicspath{{Bilder/}}
+
+\setbeamercovered{transparent}
+\useoutertheme{sidebar}
+\setbeamersize{sidebar width left=0pt}
+
+\useinnertheme{rounded}
+
+%um descripten links auszurichten
+\defbeamertemplate{description item}{align left}{\insertdescriptionitem\hfill}
+\setbeamertemplate{description item}[align left]
+
+%Beispiel Farb Definition
+\setbeamercolor{block title example}{use=example text,fg=example text.fg,bg=example text.fg!20!bg}
+\setbeamercolor{block body example}{parent=normal text,use=block title example,bg=block title example.bg!50!bg}
+%DefintionsBlock Farbspezification
+\setbeamercolor{block title}{use=structure text,fg=blue,bg=example text.fg!20!bg}
+\setbeamercolor{block body}{parent=normal text,use=block title example,bg=block title example.bg!50!bg}
+
+
+\setbeamertemplate{frametitle}[default][center]
+
+\setbeamertemplate{navigation symbols}{}
+\setbeamertemplate{page number in head/foot}[totalframenumber]
+
+% fußzeilen Definition
+\setbeamertemplate{footline}{\vspace*{-20pt} \leavevmode%
+  \hbox{%
+    \hspace{2cm} \colorbox{white}{\color{black}
+      \textcolor{black}{\insertdate} \hspace{1.5cm} \insertinstitute \hspace{0.5cm} \insertshortauthor \hspace{2cm}  \insertframenumber \quad von \inserttotalframenumber \hspace{1cm} }}}
+
+\setbeamertemplate{itemize items}[triangle]
+\setbeamertemplate{page number in foot}[totalframenumber]
+
+\setbeamercolor{titlelike}{fg=white, bg=titelblau}
+
+%  %itemsetting
+\setbeamercolor{item}{fg=blue}%color of bullet
+\setbeamercolor{subitem}{fg=orange}%color of bullet
+
+%inhaltsverzeichniss
+
+\setbeamercolor{section in toc}{fg=blue}%, bg=black}
+\setbeamercolor{subsection in toc}{fg=DarkGreen}
+\setbeamercolor{subsubsection in toc}{fg=teal}
+\setbeamertemplate{sections/subsections in toc}[triangle]
+
+%Background
+\setbeamercolor{background canvas}{bg=white}
+
+\setbeamertemplate{background}{%
+  \includegraphics[height=\paperheight]{Hintergrundbild.png}}
+
+%Titel definition
+\title[IT-Netzwerke]{IT-Netzwerke für Anfänger}
+\author[Bücherratten]{\\\textbf{Bücherratten}\\\texttt{ratten@buecherratten.in-berlin.de}}
+\institute{\textbf{37C3 Haecksen}}
+
+\date{Dezember 2023}
+
+% Titlepage Farben setzen
+\setbeamercolor{date}{fg=titelblau}
+\setbeamercolor{author}{fg=titelblau}
+\setbeamercolor{institute}{fg=titelblau}
+
+%sitebar leer setzten
+\setbeamertemplate{sidebar left}{}
+
+
+\begin{document}
+
+%titlepage ohne sidebar
+\makeatletter
+\begin{frame}[plain]
+  %% \hspace*{-\beamer@sidebarwidth}%
+  %% \advance\textwidth by \beamer@sidebarwidth\relax
+  %% \beamer@sidebarwidth=\z@
+  %% \begin{minipage}{\textwidth}
+  %%   \vspace{1cm}
+    \maketitle
+%  \end{minipage}
+\end{frame}
+\makeatother
+\setbeamertemplate{background}
+
+\begin{frame}[fragile]
+  \frametitle{Wie sehen IP-Pakete aus?}
+  \framesubtitle{IP-Header}                                                                                           
+  So ein IP-Paket is in der Regel 20Byte groß.\\
+  Jedes hat einen Header und der hat folgende Felder:\\
+  \vfill
+  \begin{bytefield}{32}
+    \bitheader{0,4,8,12,16,20,24,28,32} \\
+    \bitbox{4}{\color{green}Version} & \bitbox{4}{\color{red}IHL} & \bitbox{8}{\color{blue}ToS} & \bitbox{16}{\color{blue}Paketlänge}\\
+    \bitbox{16}{\color{red}Kennung} & \bitbox{3}{\color{red}Flags} & \bitbox{13}{\color{red}Fragment-Offset}\\
+    \bitbox{8}{\color{blue}TTL} & \bitbox{8}{\color{blue}Protokoll} & \bitbox{16}{\color{red}Header Checksumme}\\
+    \bitbox{32}{Quell-IP-Adresse}\\
+    \bitbox{32}{Ziel-IP-Adresse}\\
+    \bitbox{32}{\color{red}Optionen/Füllbits}\\
+    \bitbox{32}{\color{red}Daten}\\
+  \end{bytefield}\\
+  \pause
+  \scriptsize{
+    legende:\\   
+ Grün was auch in ipv6 bleibt  Rot was nicht bleibt  Blau was sich ändert}                                            
+\end{frame}                                                                                    
+\begin{frame}[fragile]
+  \frametitle{Wie siehen IP-Pakete aus?}
+  \framesubtitle{IP-Header Erklärung (gekürzt)}
+\begin{tabular}{p{0.2\textwidth}|l|p{0.7\textwidth}}                                                                 
+  Feld & Bit & Beschreibung \\\hline
+  IHL & 4 & IHL = Internet Header Length gibt die Länge des IP-Headers als Vielfaches von 32 Bit an.\\\hline
+  ToS & 8 & ToS = Type of Service legt die Qualität des Dienstes fest. Das Feld unterteilt sich in Priorität von 3 Bit und Eigenschaften für die Übertragung von 5 Bit. \\\hline
+  TTL (Time-to-Live) \textcolor{red}{[Wäsche\-klammern]}& 8 & Mit TTL gibt der Sender die Lebensdauer des Pakets in Sekunden an. Jede Station, die ein IP-Paket weiterleitet, zieht von diesem Wert mindestens 1 ab. Hat der TTL-Wert 0 erreicht, wird das IP-Paket verworfen. TTL-Werte sind zwischen 30 und 64.\\\hline
+Protokoll & 8 & Dieses Feld enthält den Port des übergeordneten Transport-Protokolls (TCP / UDP).\\\hline
+\end{tabular}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{TCP und UDP in IP}
+  \framesubtitle{Packete auspacken}
+  In einem IT-Netzwerk werden ständig Packete ausgepackt, die in Packeten sind:
+  \begin{columns}
+    \begin{column}{0.5\textwidth}
+        \center{\includegraphics[width=\textwidth]{IP-Package.png}}\\      
+    \end{column}
+    \begin{column}{0.5\textwidth}
+      Das hat damit zu tun das Netzwerke in Schichten aufgebaut sind. Das bekannteste ist das OSI-Modell, bestehend aus 7 Schichten. Auf Schicht 3 befinden sich IP-Pakete und darin befinden sich TCP-Pakete oder UDP-Pakete.
+    \end{column}
+  \end{columns}
+  Beim Empfangen eines Paketes muss die unterste Schicht zuerst entpackt werden, darin befindet sich dann das nächste Pakete der darauf folgenden Schicht. Beim versenden von Paketen, läuft der Prozess rückwerts, so das die höheren Schichten ihre Pakete zuerst packen und die darunter liegende, dieses dann in ihr jeweiliges Paket einpackt. Der Teil eines Paketes das den Inhalt trägt wird auch als Payload bezeichnet.
+\end{frame}
+
+\begin{frame}
+  \frametitle{Was ist TCP?}
+  \begin{definition}                                                                                                  
+    Das Transmission Control Protocol (TCP), ist ein verbindungsorientiert arbeitendes Protokoll. Das Protokoll wird beschreiben im RFC 9293 (Update 2022).
+  \end{definition}                                                                                                    
+  \begin{itemize}                                                                                                     
+  \item{Verbindungen werden auf- und abgebaut}
+  \item{Datenübertragung unterliegt Flußkontrolle und Fehlererkennung}
+  \item{Die Verbindung kann gleichberechtigt in beide Richtungen genutzt werden}                                      
+  \end{itemize} 
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Das innere der TCP-Pakete}
+  \framesubtitle{TCP-Header}
+  \begin{bytefield}[bitheight=2.0\baselineskip]{32}
+    \bitheader{0,4,8,12,16,20,24,28,32} \\
+    \bitbox{16}{\color{green}Source Port} & \bitbox{16}{\color{green}Destination Port}\\
+    \bitbox{32}{\color{green}Sequence Number} \\
+    \bitbox{32}{\color{green}Acknowledgement Number} \\
+    \bitbox{4}{\scriptsize Data Offset} & \bitbox{4}{\scriptsize Reserved}&
+    \bitbox{1}{\tiny C\\W\\R\vfill}& \bitbox{1}{\tiny E\\C\\E\vfill }&
+    \bitbox{1}{\tiny U\\R\\G\vfill }& \bitbox{1}{\color{magenta}{\tiny A\\C\\K\vfill }}&
+    \bitbox{1}{\tiny P\\S\\H\vfill }& \bitbox{1}{\color{magenta}{\tiny R\\S\\T\vfill }}&
+    \bitbox{1}{\tiny S\\Y\\N\vfill }& \bitbox{1}{\color{magenta}{\tiny F\\I\\N\vfill }}&
+    \bitbox{16}{(Receive) Window}\\
+    \bitbox{16}{\color{green}Checksum} & \bitbox{16}{Urgent Pointer}\\
+    \bitbox{32}{\color{magenta}Options}\\                                                                             
+  \end{bytefield}
+\end{frame}
+\begin{frame}
+  \frametitle{Der Verbindung über TCP}
+  \framesubtitle{Der Verbindungsaufbau}
+  \begin{tabular}{l p{1cm} p{0.3\textwidth} l p{0.2\textwidth} }
+    \multicolumn{2}{l}{\includegraphics[scale=0.2]{ Bild-male1-Computer.png}}& \multicolumn{2}{r}{\includegraphics[scale=0.2]{Bild-female1-Computer.png}} \\
+    Maus \textbf{$\shortrightarrow$} & SYN & „Darf ich mit dir reden?“ & Spatz & Verbindungs\-aufbau\\
+    \pause                                                                                                           
+    Maus & SYN ACK & „Sicher, was ist?“ \scriptsize{(Wenn Spatz keine Zeit hat schickt er ein RST ACK)} &\textbf{$\shortleftarrow$} Spatz & \\                                                                         
+    \pause
+    Maus \textbf{$\shortrightarrow$} &  ACK, Daten & „Gut ich höre dich, blablabla“ & Spatz & Verbindung Established \\
+  \end{tabular}
+  Das nennt man auch Drei Wege Handshake.\\
+  \end{frame}
+\begin{frame}
+  \frametitle{Was ist UDP?}
+  \begin{definition}
+  Das User Datagram Protocol (UDP) ist ein verbindungsloses Netzwerkprotokoll um Daten zu übertragen. Es wird beschrieben im RFC 3828 (2004 UDP-Lite).
+  \end{definition}
+  Es gilt als:
+  \begin{itemize} 
+  \item{nicht zuverlässig (Pakete in der falschen Reihenfolge sein)}
+  \item{ungesichert (Pakete können verloren gehen)}    
+  \item{ungeschützt (Pakete können verfälscht und mit gelesen werden)}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Das innere der UDP-Pakete}
+  \framesubtitle{UDP-Header}
+  \begin{bytefield}[bitheight=2.0\baselineskip]{32}
+    \bitheader{0,4,8,12,16,20,24,28,32} \\
+    \bitbox{16}{Source Port} & \bitbox{16}{Destination Port}\\
+    \bitbox{16}{Length} & \bitbox{16}{Checksum} \\
+  \end{bytefield}\\
+  Vorteile von UDP:
+  \begin{itemize}
+  \item{schneller da kein Verbinungsaufbau abgewartet werden muss}
+  \item{braucht weniger Netzwerk-Kapazitäten (Brieftauben)}
+  \item{was vor 2sec gesagt wurde ist uninteressant (beim Telefonieren)}
+  \end{itemize}
+\end{frame}
+
+
+\end{document}